Use when a feature needs a spec before coding — conversational spec engineering that produces a ready-for-dev tech spec through understand, investigate, generate, and review phases
Conversational spec engineering flow. Produces a ready-for-dev tech spec from a feature description through four phases: understand, investigate, generate, review.
Style: Be direct and implementation-focused — ask code-anchored questions, scan fast, capture actionable specs without bureaucracy.
If {ticket_id} is set and beads is active, the ticket becomes the spec artifact. No local files are created — all content is written directly to beads fields and sub-tickets.
{ticket_id} is set (non-empty). If not, set {beads_active} to false.which bd. If not found, warn user ("beads not installed, proceeding without ticket tracking"), set {beads_active} to false.bd commands, verify you are within the project directory containing .beads/. If session context provides a beads project root, cd to it.bd show {ticket_id} --json. If the ticket doesn't exist, warn and set {beads_active} to false.metadata JSON for read-merge-write operations..meld/tech-spec-wip.md (local file flow)design, notes, acceptance_criteria) + create sub-tickets for implementation tasksEvery metadata update must:
bd show {ticket_id} --json → extract .metadatabd update {ticket_id} --metadata '{...}'At skill start, create all tasks below using TaskCreate (with subject and activeForm from this table). As each step begins, mark it in_progress via TaskUpdate. When complete, mark it completed.
| # | subject | activeForm | blockedBy | |---|---------|------------|-----------| | 1 | Check for existing WIP spec | Checking for existing WIP spec | — | | 2 | Understand requirement from user | Understanding requirement | 1 | | 3 | Run orient scan of codebase | Running orient scan | 2 | | 4 | Ask informed clarification questions | Asking informed questions | 3 | | 5 | Capture core understanding | Capturing core understanding | 4 | | 6 | Write spec overview | Writing spec overview | 5 | | 7 | Run deep code investigation | Running deep code investigation | 6 | | 8 | Confirm technical context with user | Confirming technical context | 7 | | 9 | Write technical context | Writing technical context | 8 | | 10 | Generate implementation tasks | Generating implementation tasks | 9 | | 11 | Generate acceptance criteria | Generating acceptance criteria | 10 | | 12 | Verify ready-for-dev standard | Verifying ready-for-dev standard | 11 | | 13 | Run human review gate | Running human review gate | 12 |
If {beads_active}: Check metadata.meld_step on the ticket. If set, offer to resume from that phase. Skip local file check.
Otherwise: Check if .meld/tech-spec-wip.md exists:
stepsCompleted frontmatter, resume from next incomplete phasetech-spec-wip-archived-{date}.md, proceed fresh{beads_active} and ticket has a title and description, use them as initial context: "I see ticket {ticket_id} — '{title}'. Let me use that as our starting point." Skip the open-ended question.Fast scan for context — not a deep investigation:
project-context.md if it existsBased on the orient scan, ask specific, code-anchored questions:
Synthesize and confirm with user:
avatar-upload)If {beads_active}:
bd update {ticket_id} --status in_progressbd update {ticket_id} --design "**Problem:** {problem_statement}\n\n**Solution:** {solution}\n\n**Scope:**\nIn: {in_scope}\nOut: {out_of_scope}"{"meld_phase": "spec", "meld_step": "understand", "spec_slug": "{slug}"}bd comment {ticket_id} "MELD quick-spec Phase 1 (Understand) complete — core understanding captured"Otherwise: Create .meld/tech-spec-wip.md using the tech-spec template from meld:meld-artifact-templates:
status: 'in-progress', stepsCompleted: [1]Build on the orient scan — now go deep:
Identify relevant files:
Document patterns:
Map files to modify:
Present findings and ask: "Here's what I found — anything I'm missing?"
If {beads_active}:
bd update {ticket_id} --notes "**Technical Context:**\n\n**Files to modify:**\n{full_list_with_areas}\n\n**Codebase Patterns:**\n{detailed_patterns}\n\n**Dependencies:**\n{deps}\n\n**Tech Stack:** {stack}\n\n**Test Patterns:** {test_patterns}"{"meld_step": "investigate"}bd comment {ticket_id} "MELD quick-spec Phase 2 (Investigate) complete — {file_count} files mapped"Otherwise:
stepsCompleted: [1, 2]tech_stack, files_to_modify, code_patterns, test_patternsREQUIRED SUB-SKILL: Follow meld:meld-spec-engineering for task format and quality rules.
If {beads_active}: Create a sub-ticket for each task:
bd create --parent {ticket_id} "Task N: {description}" \
--notes "File: {file_path}\nAction: {action}\nNotes: {details}"
Store sub-ticket IDs in metadata for Quick-Dev to consume.
Otherwise: Create discrete, actionable tasks ordered by dependency (lowest-level first):
- [ ] Task N: {description}
- File: {specific file path}
- Action: {what to change/create}
- Notes: {implementation details, edge cases}
REQUIRED SUB-SKILL: Follow meld:meld-spec-engineering for AC format and coverage requirements.
Write Given/When/Then criteria covering:
If {beads_active}:
bd update {ticket_id} --acceptance-criteria "{all_given_when_then}"{"meld_step": "generate", "spec_status": "review"}bd comment {ticket_id} "MELD quick-spec Phase 3 (Generate) complete — {task_count} sub-tickets, {ac_count} acceptance criteria"Otherwise:
status: 'review', stepsCompleted: [1, 2, 3]Before proceeding, the spec MUST pass ALL criteria:
Summary with: title, task count, AC count, file count. Full spec available for review.
meld:meld-adversarial-review for quality checkIf {beads_active}:
{"meld_step": "review", "spec_status": "ready-for-dev"}bd comment {ticket_id} "MELD quick-spec Phase 4 (Review) complete — spec finalized as ready-for-dev. Start implementation with /quick-dev {ticket_id}"/quick-dev {ticket_id}."Otherwise:
status: 'ready-for-dev', stepsCompleted: [1, 2, 3, 4]tech-spec-wip.md → tech-spec-{slug}.md/quick-dev using this spec."Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer