skills/workflow-research-process/SKILL.md
--- name: workflow-research-process user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs) --- # Research Process Act as **research partner** with broad expertise spanning technical, product, business, and market domains. Your role is learning, exploration, and discovery. ## Purpose in the Workflow First phase i
npx skillsauth add leeovery/claude-technical-workflows workflow-research-processInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Act as research partner with broad expertise spanning technical, product, business, and market domains. Your role is learning, exploration, and discovery.
First phase in the pipeline — explore feasibility (technical, business, market), validate assumptions, and document findings before discussion begins.
epic, feature, or cross-cutting. Determines session behaviour — only epic sessions offer topic-splitting on convergence; feature and cross-cutting use the single-topic sessionFollow these steps EXACTLY as written. Do not skip steps or combine them.
CRITICAL: This guidance is mandatory.
*_gate_mode: auto value in the manifest, set by the user's explicit a/auto choice at a prior gate.**STOP.** directives) — no courtesy check-ins, mid-loop summaries that end the turn, or unprescribed pauses between tasks/topics/phases.Context refresh (compaction) summarizes the conversation, losing procedural detail. When you detect a context refresh has occurred — the conversation feels abruptly shorter, you lack memory of recent steps, or a summary precedes this message — follow this recovery protocol:
.workflows/{work_unit}/research/. These are the working documents this skill creates. Their content is your source of truth for progress..workflows/.cache/{work_unit}/research/ for any files with status: pending or status: read in their frontmatter. These are background agent results that may need surfacing or have been partially processed.git status and git log --oneline -10 to see recent commits. Commit messages follow a conventional pattern that reveals what was completed.Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
Output the next fenced block as a code block:
── Resume Detection ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking for existing research on this topic. If found,
> you can pick up where you left off or start fresh.
Check if the research file exists at the handoff's Output path.
→ Proceed to Step 1.
Read the file.
Output the next fenced block as markdown (not a code block):
Found existing research for **{topic:(titlecase)}**.
· · · · · · · · · · · ·
- **`c`/`continue`** — Pick up where you left off
- **`r`/`restart`** — Delete the research file and start fresh
· · · · · · · · · · · ·
STOP. Wait for user response.
continue→ Proceed to Step 2.
restartresearch({work_unit}): restart research→ Proceed to Step 1.
Output the next fenced block as a code block:
── Initialize Research ──────────────────────────
Output the next fenced block as markdown (not a code block):
> Creating the research file and seeding it with initial
> context from the handoff.
Load initialize-research.md and follow its instructions as written.
→ Proceed to Step 2.
Output the next fenced block as a code block:
── File Strategy ────────────────────────────────
Output the next fenced block as markdown (not a code block):
> Confirming where the research file lives — one topic,
> one file.
Load file-strategy.md and follow its instructions as written.
→ Proceed to Step 3.
Output the next fenced block as a code block:
── Research Guidelines ──────────────────────────
Output the next fenced block as markdown (not a code block):
> Loading the guidelines that shape how research is
> conducted and documented.
Load research-guidelines.md and follow its instructions as written.
→ Proceed to Step 4.
Output the next fenced block as a code block:
── Knowledge Usage ──────────────────────────────
Output the next fenced block as markdown (not a code block):
> Loading the usage guide for the knowledge base so
> proactive querying is available throughout the phase.
Load knowledge-usage.md and follow its instructions as written.
→ Proceed to Step 5.
Output the next fenced block as a code block:
── Contextual Query ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking the knowledge base for prior work that relates
> to this research topic before the session begins.
Load contextual-query.md and follow its instructions as written.
→ Proceed to Step 6.
Output the next fenced block as a code block:
── Research Session ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Starting the research session. This is open-ended exploration
> — follow threads, surface options, and document findings.
> No decisions needed at this stage.
Load route-session.md and follow its instructions as written.
Knowledge-base nudge — if a thread feels familiar, or you're about to re-tread ground that might have been covered in another work unit, run a quick query before proceeding. See knowledge-usage.md.
tools
--- name: workflow-discovery user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(git status), Bash(git add), Bash(git commit), Bash(cp), Bash(mkdir -p .workflows/), Bash(mv .workflows/.inbox/) --- # Discovery The universal first phase. Shape the work the user is bringing — confirm what kind of work it is,
tools
--- name: workflow-continue-quickfix user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-quickfix/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress quick-fix. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file
tools
--- name: workflow-continue-feature user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-feature/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress feature. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file expl
tools
--- name: workflow-continue-epic user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-epic/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(node .claude/skills/workflow-legacy-research-split/scripts/detect.cjs), Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs) --- Continue an in-progress epic. Shows full phase-by-phase state and routes to