skills/gather/SKILL.md
Research the problem, make decisions, and build the implementation plan. Two approval gates, one command.
npx skillsauth add gregrossdev/gig gig:gatherInstall 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.
Read .gig/STATE.md and display:
Version: {version} | Iteration: {iteration} | Status: {status}
If status is "GATHERED" or later, warn: "Gathering already complete for current iteration. Running /gig:gather will start a new round. Continue?"
Check if .gig/ exists in the current project root.
If NOT present:
Say: "No gig context found. Run /gig:init first." STOP.
If present:
.gig/STATE.md for current position..gig/DECISIONS.md for existing decisions..gig/ARCHITECTURE.md for structural context..gig/ROADMAP.md for milestone context..gig/ISSUES.md for open issues from prior iterations..gig/SPEC.md if it exists — this is the spec for the current milestone..gig/DESIGN.md if it exists — design mockups and decisions from brainstorming..gig/DEBT.md if it exists — structural debt from prior iterations.If .gig/SPEC.md exists and has content beyond the template: Use it as the foundation for decisions. Every decision should trace to a requirement in the spec.
If .gig/SPEC.md does not exist or is empty: Print: "No spec found. Define stories and requirements when creating the milestone with /gig:milestone." Then proceed as normal.
If .gig/DESIGN.md exists and has content: Use it as design context for decisions. Reference design mockups when making UI-related decisions. Link decisions to design screens where applicable.
If .gig/DESIGN.md does not exist: Proceed normally. Design is optional.
If .gig/DEBT.md exists and has entries: Note outstanding debt items. Surface them in Step 2 if relevant to the iteration goal.
Use the current milestone's goal from .gig/ROADMAP.md as context.
If user provided args: Use the args as the iteration goal. Skip to "After intent is set".
If user did NOT provide args: Use the milestone description as the default goal. If the milestone description is too broad, ask: "What aspect of this milestone do you want to work on?"
If the user already stated their goal (same message or prior context), skip and proceed.
If there are open issues from .gig/ISSUES.md (deferred from prior iterations), surface them:
"Open issues from prior iterations: {list}. Want to address any of these?"
If .gig/DEBT.md has OPEN or TRACKED entries and the iteration goal involves refactoring or structural work, surface relevant debt items:
"Outstanding technical debt: {list DEBT IDs and titles}. Want to include any of these in the refactor scope?"
Do NOT ask follow-up questions — Claude researches and decides in Steps 3-4.
Before launching deep research, assess whether this is a docs/config iteration:
Indicators (any match triggers lightweight mode):
If lightweight mode detected: Say: "Docs/config iteration — using lightweight research path."
If the user says "do full research": Override and run the standard path. If work turns out to involve code changes: Escalate to the full path mid-gather.
Before making ANY decisions, research thoroughly:
Launch 2 Explore agents in parallel (Agent tool, subagent_type "Explore"). Pick the 2 most relevant profiles for the iteration goal:
.gig/ARCHITECTURE.md, package/config files, iteration goal..gig/ISSUES.md, iteration goal..gig/ROADMAP.md, .gig/BACKLOG.md, .gig/SPEC.md, iteration goal.All agents also receive working memory from .gig/STATE.md.
Hard cap: 2 parallel agents maximum. 3+ concurrent agents can hang during initialization. If all 3 profiles are needed, run 2 first, then the third sequentially.
If the goal involves external libraries or APIs, add WebSearch calls in the same parallel block as the agents.
Synthesize findings from all agents before proceeding to Step 3a. Identify unknowns, ambiguities, and areas with multiple valid approaches.
Do NOT skip this step. Do NOT guess. Decision quality depends on thorough research. Exception: docs/config iterations use the lightweight path from Step 2b instead.
After research completes, append an architecture assessment to .gig/ARCHITECTURE.md under the ## Audit Log section:
### Iteration {N} — {date}
{2-3 line assessment of structural health based on research findings: patterns observed, consistency with ARCHITECTURE.md, any concerns or drift}
This builds a running record of architectural observations across iterations.
After research and before presenting decisions, generate Mermaid diagrams to model the system:
.gig/design/ directory if it doesn't exist. If existing .mmd files are present, read them — these are living diagrams that evolve across iterations. Update and extend them based on research findings rather than replacing them..gig/design/architecture.mmd) — system components and relationships.gig/design/data-flow.mmd) — how data moves through the system.gig/design/sequence.mmd) — key interaction sequences.gig/design/er.mmd) — data models and relationships.gig/DESIGN.md exists, reference design mockups in the diagrams where UI components interact with the system.These diagrams inform decisions in Step 4 and are referenced in the plan.
Ask yourself every question that needs answering. For each, make a decision. Organize into a single batch of 3-7 decisions.
Per decision:
D-{batch}.{num} (e.g., D-1.1, D-1.2).gig/design/{filename}".If more than 7 decisions are needed, split into multiple batches and present sequentially.
Update .gig/STATE.md:
GATHERING.Do NOT write to DECISIONS.md yet. Present decisions in chat only.
If a spec exists: Include **Spec:** v{X.Y} (read from the SPEC.md version header) when presenting the decision batch.
Present the following table in full. Do not abbreviate, inline, or collapse into prose.
| ID | REQ | Decision | Choice | Rationale (1-line) | |----|-----|----------|--------|-------------------|
If no spec exists, omit the REQ column.
Then say:
Does this batch look good?
- Approve — reply "approve" or "looks good" to lock these in.
- Redline — reference by ID (e.g., "D-1.3: use X instead").
- Ask questions — about any decision before committing.
STOP. Do not create a plan. Do not write code. Wait for approval.
Once approved (with or without redlines), write all decisions to .gig/DECISIONS.md directly as ACTIVE entries:
## {TODAY'S DATE} — {Domain}: {Question}
**Decision:** {What was decided}
**Rationale:** {Why — reference research findings}
**Alternatives considered:** {What else was viable and why rejected}
**Status:** ACTIVE
**ID:** D-{batch}.{num}
**Spec:** v{X.Y}
For redlined decisions: write only the user's final choice as ACTIVE. Do not write the original proposal.
Update .gig/STATE.md:
Say: "Decisions locked. Building the plan..."
After decisions are locked, call EnterPlanMode to design the iteration plan. In plan mode, Claude explores the codebase and designs the batch breakdown — no writes to .gig/ files yet.
Read the current milestone version from .gig/ROADMAP.md (e.g., v0.7.0). The MINOR (M) is the milestone number.
Look at the Iterations table in .gig/ROADMAP.md for the current milestone:
1 → version 0.{M}.10.{M}.{P+1}Version follows: MINOR = milestone number, PATCH = iteration within milestone.
0.7.10.7.20.7.3Derive iteration name from the decisions context. Branch format: feature/v0.{M}-{kebab-case-milestone-name}.
Using ACTIVE decisions as requirements, break work into batches. Each batch is a small, coherent unit:
For each batch:
### Batch {M}.{P}.{B} — {Title}
**Delegation:** {team | subagent | in-session}
**Decisions:** {Decision IDs this implements, e.g., D-1.1, D-2.3}
**Type:** {feature | refactor}
**Spec:** v{X.Y}
**Files:** {files to create or modify}
**Work:** {What to do}
**Test criteria:** {specific verification — command, file check, behavior}
**Acceptance:** {What "done" looks like}
Where {M} = milestone number, {P} = iteration within milestone, {B} = batch within iteration. Versions in the table use the full 0.{M}.{P} format (batches don't get their own version — the iteration version covers all batches in it).
Default type is feature. Set to refactor when the iteration goal is structural work or driven by DEBT.md items.
Delegation defaults:
team — Independent batches with no dependency between them. This is the default for implementation. When 2+ batches have no dependency chain, mark them all as team so they execute in parallel via worktrees.subagent — Research/exploration feeding other tasks.in-session — Sequential, needs shared context or depends on another batch.Hard rule: Every implementation batch MUST have test criteria.
Tag dependencies explicitly: "Depends on Batch X.Y".
Present the following plan in full with the batch table. Do not abbreviate or collapse into prose.
Then call ExitPlanMode for user approval.
Do not write any .gig/ files while in plan mode. Wait for approval.
Once the user approves the plan (exits plan mode):
Step 9 — Write the Plan
Write the iteration to .gig/PLAN.md, replacing the "Active Iteration" section:
## Active Iteration
### Iteration {P} — {Name} (v0.{M}.{P})
> {One-paragraph goal derived from decisions}
**Decisions:** {list all ACTIVE decision IDs this iteration implements}
**Type:** {feature | refactor}
**Spec:** v{X.Y}
| Batch | Version | Title | Delegation | Status |
|-------|---------|-------|------------|--------|
| {M}.{P}.1 | `0.{M}.{P}` | {title} | {mode} | pending |
| {M}.{P}.2 | `0.{M}.{P}` | {title} | {mode} | pending |
| ... | ... | ... | ... | ... |
{Full batch details from Step 8}
**Iteration Acceptance Criteria:**
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] ...
Where {M} = milestone number (MINOR), {P} = iteration (PATCH). All batches in the same iteration share the same version 0.{M}.{P}. Example: milestone 7, iteration 3 → all batches are v0.7.3.
Step 10 — Update State & Roadmap
Update .gig/STATE.md:
0.{M}.{P} (milestone.iteration)GATHEREDUpdate .gig/ROADMAP.md iterations table:
| {P} | {Name} | v0.{M}.{P} | planned |tools
Show current state and suggest the ONE next action to take.
testing
Deep-dive a topic using subagents. Feeds findings into decisions or working memory.
testing
Create milestones with spec elicitation, complete milestones, manage ROADMAP.md, tag releases.
tools
Create structured lesson plans for learning new concepts or following courses.