ralph-specum-research
The ralph-specum-research skill coordinates the research phase of the Ralph Specum specification framework by delegating analysis work to a research-analyst sub-agent. It resolves the active specification, gathers context from progress files and related specs, conducts a brainstorming interview, and directs the sub-agent to generate a research.md document identifying code patterns, constraints, risks, and verification strategies. Use this skill only when explicitly requested to run Ralph Specum's research phase.
git clone --depth 1 https://github.com/tzachbon/smart-ralph /tmp/ralph-specum-research && cp -r /tmp/ralph-specum-research/plugins/ralph-specum-codex/skills/ralph-specum-research ~/.claude/skills/ralph-specum-researchSKILL.md
# Ralph Specum Research You are a **coordinator, not a researcher** -- delegate ALL work to a `research-analyst` sub-agent. Derive `RALPH_CODEX_PLUGIN_ROOT` from this loaded skill by resolving two parent directories from the `SKILL.md` directory. Never derive it from the project working directory. ## Contract - Resolve the active spec by explicit path, exact name, or `.current-spec` - Respect `.claude/ralph-specum.local.md` when present - Default specs root is `./specs` - Keep the canonical Ralph file names - Merge state fields only ## Action 1. Resolve the active spec. If none exists, stop and tell the user to start a spec first. 2. Read the goal, `.progress.md`, current state, indexed codebase context, related specs, and epic context when present. 3. Run `phase_gate.py mode` through `"$RALPH_CODEX_PLUGIN_ROOT/scripts/phase_gate.py"` with `STATE` and exact `--quick`, exact `--interactive`, or no flag. Reject both, `-q`, variants, and natural-language substitutes. 4. Run skill discovery pass 1 when the state lacks an applicable revision. Select explicitly named skills and record harness-shadowed duplicates. 5. Load `"$RALPH_CODEX_PLUGIN_ROOT/skills/interview-framework-codex/SKILL.md"`, its required algorithm and domain-modeling references, and all selected domain contracts in both interactive and quick mode. In interactive mode, use its focused brainstorming method for critical evidence scope, decision thresholds, and material unknowns. Inspect source availability, code facts, and existing patterns instead of asking. 6. In interactive mode, require explicit `approve and delegate`; in exact quick mode, record `bypassed_quick`. In both modes, run `phase_gate.py check-delegation` with the current loaded-manifest identity before creating the child. 7. **Delegate** research generation to a `research-analyst` sub-agent. Pass the absolute gate helper path, state path, full identity tuple, unique teammate dispatch identity, verbatim skill manifest, goal, context, and interview results. The sub-agent reloads and records the manifest, passes `check-agent-write` with that unique identity, and writes `research.md`. Do NOT write research.md yourself. 8. Read the sub-agent's output and validate it exists. 9. Merge state with `phase: "research"` and `awaitingApproval: true` (or `false` when exact `--quick` is active). 10. Update `.progress.md` with the research summary, blockers, learnings, next step, skill discovery, and verification tooling notes when relevant. 11. If spec commits are enabled, commit only the spec artifacts. 12. In normal mode, when the user selects `continue to prototype`, treat `research.md` as approved and route to `$ralph-specum-prototype --suggested --return-phase requirements` with the same resolved base path. Let that skill own prototype behavior and its return handoff. ### Stop Behavior - **Without `--quick`**: STOP HERE. Display the walkthrough summary and approval prompt. Do NOT continue to requirements. Wait for the user to explicitly approve and request the next phase. - **With exact `--quick`**: Record the quick bypass and continue directly into requirements. Do not request a prototype from research; quick mode has one post-requirements request only. ## Output Shape The result should identify existing code patterns, external references, constraints, related specs, risks, verification tooling, and a clear recommendation for the next phase. ## Response Handoff - After writing `research.md`, name `research.md` and summarize the research briefly. - When normalized `quickMode` is false, end with exactly one explicit choice prompt: - `approve current artifact` - `request changes` - `continue to requirements` - `continue to prototype` - Treat `continue to requirements` as approval of `research.md`. - Treat `continue to prototype` as approval of `research.md` and route through `$ralph-specum-prototype` with `returnPhase: requirements`. - With exact `--quick`, do not show this prompt; continue directly to requirements after the gates succeed. - During artifact review, `apply the changes` immediately delegates already-recorded feedback through a new unique dispatch, redisplays the artifact, and stays at this approval gate. Ask one focused change question only when no feedback is pending. Control-only `continue`, `proceed`, and `go ahead` approve nothing.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
This skill should be used when the user asks to "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", mentions "${CLAUDE_PLUGIN_ROOT} with MCP", or discusses MCP server types (SSE, stdio, HTTP, WebSocket). Provides comprehensive guidance for integrating Model Context Protocol servers into Claude Code plugins for external tool and service integration.
This skill should be used when the user asks about "plugin settings", "store plugin configuration", "user-configurable plugin", ".local.md files", "plugin state files", "read YAML frontmatter", "per-project plugin settings", or wants to make plugin behavior configurable. Documents the .claude/plugin-name.local.md pattern for storing plugin-specific configuration with YAML frontmatter and markdown content.
This skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
Generate a custom checklist for the current feature based on user requirements.