add-bead
FreeCapture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.
The English summary is being prepared. Showing the original description.
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.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
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.
/forge-research <feature> or /forgemaster enters its research phase.bd show <id> task, or a spec file path.<slug> (kebab-case). If absent, derive one from the feature title and reuse it for
every downstream phase artifact.--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).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.
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:
Record each discovered fact. If exploration answers a question you were about to ask, write the answer down instead of asking it.
Sort every open item into two buckets:
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.
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>
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]].
plans/research/<slug>.md exists with all sections filled.research complete.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Capture free-text work as a tracked Beads issue. Use when the user runs /add-bead or wants to quickly file a Beads issue.
The English summary is being prepared. Showing the original description.
Register a new sub-repo in the knowledge base.
The English summary is being prepared. Showing the original description.
Add focused Bun unit tests for mission-critical behavior and edge cases — not blanket coverage.
The English summary is being prepared. Showing the original description.
Answer questions about the codebase from knowledge files. Use when the user runs /ask or asks a domain/knowledge question about the repos.
The English summary is being prepared. Showing the original description.
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).
The English summary is being prepared. Showing the original description.
Choose Beads issue priority (P0–P4, numeric, or named) from urgency, impact, and risk when creating or triaging work.
The English summary is being prepared. Showing the original description.