kimchi:clarify
This command should be used to extract complete understanding of a feature idea through structured clarification questions. First stage of the Kimchi planning pipeline. Produces .kimchi/CONTEXT.md.
Best use case
kimchi:clarify is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This command should be used to extract complete understanding of a feature idea through structured clarification questions. First stage of the Kimchi planning pipeline. Produces .kimchi/CONTEXT.md.
Teams using kimchi:clarify should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/clarify/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How kimchi:clarify Compares
| Feature / Agent | kimchi:clarify | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This command should be used to extract complete understanding of a feature idea through structured clarification questions. First stage of the Kimchi planning pipeline. Produces .kimchi/CONTEXT.md.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Kimchi Clarify <command_purpose> Extract complete understanding of a feature idea through structured, iterative clarification questions. Output a CONTEXT.md that captures all decisions so downstream stages never need to ask the user again. </command_purpose> ## Input Feature idea from `$ARGUMENTS`. If empty, ask: "What feature or change would you like to plan?" ## Process ### 1. Parse the Initial Idea Analyze the idea for: - **Domain**: What area of the system does this touch? - **Scope**: How big does this feel? (single feature, multi-feature, architectural) - **Implied requirements**: What's obviously needed even if not stated? - **Ambiguities**: What could be interpreted multiple ways? ### 2. Generate Clarification Questions Ask questions in focused batches (3-5 at a time) using the AskUserQuestion tool. Draw from these categories but only ask what's relevant: **Functional Questions:** - "When you say [X], do you mean [interpretation A] or [interpretation B]?" - "What should happen when [edge case]?" - "Who can perform this action? (all users / admins / specific roles)" - "Should this be sync or async? What are the latency expectations?" **Data Questions:** - "What's the maximum [size/count/length] we should support?" - "What formats are acceptable? What should be rejected?" - "Where does this data come from? Where does it go?" - "What validation rules apply?" **Integration Questions:** - "How does this interact with [existing feature X]?" - "Are there existing patterns in the codebase for this?" - "What external services/APIs are involved?" **Constraint Questions:** - "What's the expected load? (requests/sec, concurrent users)" - "Are there security considerations? (auth, audit, encryption)" - "What's the error budget? (can it fail silently? must it retry?)" **Scope Questions:** - "Is [implied feature Y] part of this, or separate/later?" - "What's the minimum viable version vs. nice-to-have?" ### 3. Question Strategy - Ask specific questions that get actionable answers, not vague "tell me more" - Follow the thread — if an answer reveals new complexity, ask about it - Challenge vagueness — make abstract concrete with specific examples - Maximum 15 questions total before wrapping up - If user says "done", "that's enough", "let's move on" — stop asking - After each batch, assess: "Do I have enough to write CONTEXT.md?" If yes, stop. ### 4. Write CONTEXT.md Create `.kimchi/` directory if it doesn't exist, then write `.kimchi/CONTEXT.md`: ```markdown # Feature: [Feature Name] **Gathered:** [today's date] **Status:** Ready for requirements extraction <domain> ## Feature Boundary [Clear statement of what this feature delivers. The scope anchor.] </domain> <decisions> ## Implementation Decisions ### [Area 1 discussed] - [Specific decision made] - [Another decision] ### [Area 2 discussed] - [Specific decision made] ### Claude's Discretion [Areas where user said "you decide" or didn't express preference — Claude has flexibility here] </decisions> <specifics> ## Specific Ideas [Any "I want it like X" references, particular behaviors, interaction patterns mentioned] [If none: "No specific requirements — open to standard approaches"] </specifics> <deferred> ## Deferred Ideas [Ideas that came up but belong in future work. Captured so they're not lost.] [If none: "None — discussion stayed within feature scope"] </deferred> ``` ### 5. Confirm Show the user a summary of CONTEXT.md and ask: "Does this capture your intent? Anything to add or correct?" If corrections needed, update CONTEXT.md and confirm again. Report: "Clarification complete. Saved to .kimchi/CONTEXT.md" Suggest: "Run `/kimchi:requirements` to extract and categorize requirements." ## Key Principles - **Decisions, not descriptions**: Capture "card-based layout, not timeline" not "modern and clean" - **Concrete, not vague**: "Max 5MB file size" not "reasonable file size" - **Explicit scope**: What's IN and what's OUT, both documented - **Claude's Discretion**: Where the user doesn't care, say so — gives downstream agents flexibility
Related Skills
kimchi:verification-before-completion
Use when about to claim work is complete, fixed, or passing — before committing or creating PRs. Evidence before assertions, always.
kimchi:validate
This command should be used to validate bead YAML files for standalone executability. Runs 4 validators (context completeness, deliverables clarity, test specification, isolation) and enriches failing beads. Eighth stage of the Kimchi planning pipeline.
kimchi:tdd
Use when implementing any feature, bugfix, or behavior change — before writing implementation code. Enforces RED-GREEN-REFACTOR cycle.
kimchi:systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior — before proposing fixes. Enforces 4-phase root cause analysis.
kimchi:status
This command should be used to check the current state of the Kimchi planning pipeline, including which stages have completed, what artifacts exist, and bead validation status.
kimchi:simplicity-enforcement
Use when designing solutions, implementing features, or considering abstractions. Enforces YAGNI, minimal code, and preferring duplication over wrong abstraction.
kimchi:review
This command should be used to run multi-persona review of the implementation plan. Five specialized personas critique the plan for scope creep, complexity, premature optimization, and test coverage. Fifth stage of the Kimchi planning pipeline. Produces .kimchi/PLAN-REVIEWED.md.
kimchi:reset
This command should be used to clear the Kimchi working directory (.kimchi/) and start fresh. Preserves .beads/ directory. Use when starting a new planning session or recovering from a bad state.
kimchi:research
This command should be used to investigate codebase patterns, frameworks, and existing implementations before planning. Third stage of the Kimchi planning pipeline. Produces .kimchi/RESEARCH.md.
kimchi:requirements
This command should be used to extract and categorize requirements from CONTEXT.md into v1 (must have), v2 (next iteration), and out of scope. Second stage of the Kimchi planning pipeline. Produces .kimchi/REQUIREMENTS.md.
kimchi:refine
This command should be used to iteratively improve the plan until quality threshold is reached or diminishing returns detected. Sixth stage of the Kimchi planning pipeline. Produces .kimchi/PLAN-DRAFT.md.
kimchi:plan
This command should be used to run the Kimchi planning pipeline through refinement, transforming a vague idea into a draft plan ready for cross-model analysis. Orchestrates 6 stages: clarify, requirements, research, generate, review, refine. Use --full-auto to also run beads + validate after manual revise/synthesize.