본문으로 건너뛰기
cccskills
무료GitHub에 공개

forge-research

Phase 1 of the Forge pipeline. Gather real context from the codebase, answer everything the code can answer through exploration, then grill the user one question at a time (with a recommended answer) for only what code cannot answer, and write a research document. Use when starting /forge-research or the research step of /forgemaster, or when the user wants a research-first investigation before planning a feature.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md6.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

forge-research

Phase 1 of 4 in the Forge pipeline (research → plan → implement → ship). The goal is a plans/research/<slug>.md document grounded in real code, with every open question that the codebase cannot answer resolved by the user.

Hard rule: never ask the user something the code, knowledge files, or git history can answer. Explore first, ask last. See [[grill-me]] for the interview discipline this phase reuses.

When to Use

  • The user runs /forge-research <feature> or /forgemaster enters its research phase.
  • A feature is described but the implementation surface, constraints, or decisions are unclear.
  • The next useful step is reducing ambiguity, not coding or planning yet.

Inputs

  • Free-text feature description, a bd show <id> task, or a spec file path.
  • Optional <slug> (kebab-case). If absent, derive one from the feature title and reuse it for every downstream phase artifact.
  • Optional --smith <name>: the configured smith the run is recorded as built by. Add it to the forge:phase-gate call in step 6; the phase gate refuses a name that is not configured. It does not change the model of the session doing the work (.claude/workflows/forge.md, --smith).

Process

1. Establish the target

State the feature in one or two sentences. If it is already clear from context, do not ask the user to restate it. Pick the <slug> now and announce it — all later phases key off it.

2. Explore what code can answer (mandatory, before any question)

Load knowledge first, then read real code. Be exhaustive enough to write accurate file paths.

cat knowledge/_shared.yaml
cat knowledge/repos/<repo>.yaml 2>/dev/null || echo "no knowledge file for <repo>"   # for each affected repo
bd show <id> 2>/dev/null               # if a task id was given

A repo has a knowledge/repos/<repo>.yaml only after /add-repo or /sync-knowledge has been run for it; the directory is empty in a fresh checkout, and the harness itself has none. When there is no file, do not generate one here: read the repo's README, its manifest (package.json or the like) and its AGENTS.md/CLAUDE.md if it has them, say in the research document that no knowledge file existed, and carry on with the code read below.

Then use Glob/Grep/Read (read-only) to map:

  • Entry points and the data flow into the affected area.
  • Existing code to reuse (hooks, types, components, utilities) — search before assuming new.
  • Integration points: what this feature depends on, and what depends on it.
  • Existing tests and how this area is currently verified.

Record each discovered fact. If exploration answers a question you were about to ask, write the answer down instead of asking it.

3. Separate the unknowns

Sort every open item into two buckets:

  • Answerable by code/docs → resolve it yourself now; cite the file/line.
  • Not answerable by code → product intent, scope boundaries, UX choices, external systems, priorities, acceptance thresholds. These become user questions.

4. Grill the user — one question at a time

For each unanswerable item, ask exactly one question per turn, hardest-blocking branch first. Every question carries a recommended answer and a one-line reason (the [[grill-me]] format):

Shared understanding so far:
- Confirmed (from code): <fact + file:line>
- Open: <the gap this question closes>

Question:
<one question>

Recommended answer:
<your recommendation>

Why:
<brief rationale + consequence>

Explain before you ask. If the decision rests on a mechanism the user may not have in their head — a tradeoff, how a tool behaves, or why the code forces the choice — open with one or two plain-language sentences that explain what's going on and why it matters, then give the options. A question the user can't parse wastes the turn (and the tokens). Lead with the "why", not the menu. If the user says they don't understand, stop and explain the mechanism in plain terms before re-asking.

Prefer AskUserQuestion when the choice is a small closed set. Stop asking when the remaining uncertainty is explicitly accepted or the user says to proceed.

5. Write the research document

Write to plans/research/<slug>.md (create the folder if needed):

# Research: <slug> — <feature title>
Generated: <date>
Repo: <repo>
Phase: research (1/4)

## Goal
<what the user wants and why, 2–3 sentences>

## What the Code Says (answered by exploration)
- <fact> — `path/to/file.ts:NN`
- Existing code to reuse: `...` — <how it helps>
- Integration points: <upstream / downstream>
- Current test coverage of this area: <summary>

## Decisions Resolved with the User
| Question | Decision | Rationale |
|----------|----------|-----------|
| <q> | <answer> | <why> |

## Constraints & Non-Goals
- Constraint: <...>
- Non-goal: <explicitly out of scope>

## Open Risks / Assumptions Carried Forward
- <risk or accepted assumption>

## Recommended Scope for Planning
<one paragraph: the shape of the feature the plan phase should design>

6. Hand off

Update the forge state and report:

bun run forge:phase-gate research --slug <slug> --write --bead <task-id>

<task-id> is the issue this run was started from, when that is a task, a bug or a chore: it ties the run's ledger events, and later its quality gate, to that issue. Omit --bead when the run was started from free text, a feature or an epic: no task exists until the plan phase creates one, and a feature or an epic is named only by the ship write (pass it as --epic <id> here: that groups the run and is never used for its correlation). See .claude/workflows/forge.md, Which bead a phase names.

Then tell the user: research is complete at plans/research/<slug>.md, and the next phase is /forge-plan <slug> (or /forgemaster will offer to continue). Do not start planning in this phase — planning is [[forge-plan]].

Exit Criteria

  • plans/research/<slug>.md exists with all sections filled.
  • Every "Decisions Resolved" row came from the user, not guessed.
  • No question was asked that the code already answered.
  • Forge state advanced to research complete.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

add-bead

무료

Capture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

add-repo

무료

Register a new sub-repo in the knowledge base.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

Add focused Bun unit tests for mission-critical behavior and edge cases — not blanket coverage.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

ask

무료

Answer questions about the codebase from knowledge files. Use when the user runs /ask or asks a domain/knowledge question about the repos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

Meta-skill for creating Agent Forge skills under .claude/skills/ with SKILL.md, optional references/ and scripts/, and Bun scaffolds. Use when the user wants to add or author a skill, scaffold a new skill folder, or align skill docs with harness conventions (JSON script output, Beads for tasks).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

Choose Beads issue priority (P0–P4, numeric, or named) from urgency, impact, and risk when creating or triaging work.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

jupes/agent-forge-harness22026년 10월 19일 업데이트

jupes의 스킬 모두 보기

이 스킬의 문제 신고