packages/shared/assets/system-skills/spec-elicitation/SKILL.md
This skill should be used when a new project session starts and the user expresses what they want to build, asks to "start a project", "spec this out", "help me plan", or describes a feature/tool/system they want to create. Guides structured intent capture through goal, constraints, architecture, acceptance criteria, tasks, and non-goals.
npx skillsauth add gannonh/kata-cloud-agents spec-elicitationInstall 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.
Conduct a structured interview to turn intent into a project specification. Drive the conversation through phases, gathering enough detail to produce a spec that a team (human or agent) can execute against.
Every message sent during elicitation MUST follow this structure exactly:
[1-2 sentence acknowledgment of previous answer, if any]
[Single question as a heading or bold text]
1. [Option A] — [brief description]
2. [Option B] — [brief description]
3. [Option C] — [brief description]
4. Something else (describe)
**Recommended: [N] ([Option])** — [1-sentence rationale]
WRONG — two questions in one message:
What's the primary use case?
1. Data pipelines
2. One-off conversions
3. Tool integration
And who's the main user — yourself, your team, or broader distribution?
WRONG — sub-questions under main question:
What problem does this solve? For example:
- Do you need to convert CSV data for a web app?
- Are you processing exports from another system?
- Is this for personal automation?
WRONG — choices without recommendation:
Which approach?
1. CLI tool
2. Library
3. Web service
RIGHT:
What's the primary use case?
1. Data processing pipelines — automating recurring workflows
2. One-off developer conversions — quick ad-hoc transforms
3. Integration layer — bridging two systems via format conversion
4. Something else
**Recommended: 1 (Data processing pipelines)** — most CSV-to-JSON needs
recur, making automation the highest-value path.
Work through these phases in order. Adapt depth to the project. Skip phases
that don't apply. Consult references/guidance.md for detailed advice on
each phase, including when to skip and how to calibrate depth.
Before producing the spec:
Structure is flexible. Two requirements:
Keep the spec concise. Consult references/guidance.md for target lengths.
After outputting the spec in chat:
plans/spec.md in the session directory using the
Write tool.SubmitPlan with the path to the written file.SubmitPlan presents the spec to the user with an accept/reject UI. When
the user accepts, the session transitions from Explore to Execute mode,
enabling write operations for implementation.
Consult the references/ directory for calibration examples and extended
guidance:
guidance.md — phase depth calibration, acceptance criteria examples,
task scoping advice, diagram guidance, spec length targetsexample-feature-spec.md — sample spec for a feature buildexample-investigation.md — sample spec for a bug investigationtools
Push current branch changes to origin and create or update the corresponding pull request (with the correct base branch); use when asked to push, publish updates, or create pull request.
development
Pull latest origin/<base-branch> into the current local branch and resolve merge conflicts (aka update-branch). Use when Codex needs to sync a feature branch with origin, perform a merge-based update (not rebase), and guide conflict resolution best practices.
tools
Use Symphony's `linear_graphql` client tool for raw Linear GraphQL operations such as comment editing and upload flows.
testing
Land a PR by monitoring conflicts, resolving them, waiting for checks, and squash-merging when green; use when asked to land, merge, or shepherd a PR to completion.