بنقرة واحدة
feature
Feature planning orchestrator (discovery -> idea -> ux -> design -> workstream tree)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Feature planning orchestrator (discovery -> idea -> ux -> design -> workstream tree)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Execute ONE executable leaf workstream with TDD, guard enforcement, and ws-verdict output
Multi-agent quality review (QA + Security + DevOps + SRE + TechLead + Documentation + PromptOps)
Execute ONE executable leaf workstream with TDD, guard enforcement, and ws-verdict output
Multi-agent quality review (QA + Security + DevOps + SRE + TechLead + Documentation + PromptOps)
Software architect for system boundaries, design patterns, and integration tradeoffs.
Beads task tracker integration for SDP workflows.
| name | feature |
| description | Feature planning orchestrator (discovery -> idea -> ux -> design -> workstream tree) |
| version | 9.0.0 |
| depends_on | @discovery v1 |
| changes | [{"v9":"Added --design-only (alias for --quick, explicit naming)"},{"v8":"Full product discovery flow with @discovery, @ux, impact analysis"},"Added --quick (skip @discovery), --infra (skip @ux)",{"Step 3.5":"Impact analysis after @design"}] |
| examples | ["@feature 'Add user authentication' --default # Full interactive pipeline","@feature 'Add user authentication' --quick # Skip to @design only, 0 questions","@feature 'Add user authentication' --design-only # Same as --quick, explicit name","@feature 'Add payment processing' --auto # Non-interactive, from roadmap/plan docs"] |
Orchestrate product discovery, requirements, UX research, and workstream design.
Phase 0: This skill targets Go projects (e.g. go build/go test in acceptance criteria). Language-agnostic expansion is planned.
Key Principle: User must explicitly choose the mode. No hidden context detection. Same input + same mode = identical output.
| Mode | When to use | Steps | Questions |
|---|---|---|---|
--default (or no flag) | New/exploratory feature. Full interactive discovery. | 0, 1, 2, 2.5, 3, 3.5, 4 | Interactive (3-5 questions) |
--quick / --design-only | User knows what they want, just needs workstreams. | 3 only | 0 questions - goes directly to @design |
--auto | Feature already described in roadmap/plan. Non-interactive. | 0, 3, 4 only | 0 questions - reads from docs/ROADMAP.md |
Deterministic: Each mode produces identical behavior given identical input. No context sniffing, no heuristics, no "smart defaults."
--default: Always asks the same questions in the same order--quick / --design-only: Always skips to @design with zero questions--auto: Always reads from roadmap/plan docs, never asks questionsFor features already defined in docs/ROADMAP.md:
rg "F0\d\d" docs/ROADMAP.md -A 10No questions asked. Read from docs only.
For each deliverable, create workstream files using this format:
---
ws_id: 00-FFF-SS
feature_id: FFFF
status: open
priority: P1
size: M
depends_on: []
ws_kind: leaf|aggregate
parent_ws_id: null|00-FFF-SS
dispatch_lifecycle: active
---
# 00-FFF-SS: Feature Name — Step Description
## Goal
One paragraph: what this workstream does and why.
## Scope Files
- path/to/file/or/dir (exact files or directory prefixes)
- ...
## Beads
- primary: sdplab-XXXX # leaf only
- finding: sdplab-YYYY # optional
## Acceptance Criteria
- [ ] Specific, testable criterion 1
- [ ] Specific, testable criterion 2
- [ ] go build ./... passes
- [ ] go test ./... passes
Rules:
aggregate = container, no primary issueleaf = executable, may have one primary issueparent_ws_id links leaf to aggregate (max 1 nesting layer)For each leaf workstream:
bd create --title="WS FFF-SS: Short title" --type=task
Update .beads-sdp-mapping.jsonl:
{"sdp_id":"00-FFF-SS","beads_id":"sdp_dev-XXXX","updated_at":"2026-..."}
Output: feature ID, workstream count, file names, Beads IDs, ready-to-run command (@build 00-FFF-01 or @oneshot F0FF).
For users who know what they want and just need workstreams. Zero questions, deterministic.
Steps: Run @design directly, produce workstream files, skip roadmap/UX/impact analysis.
When to use: Clear feature description, no product research needed, immediate workstreams required.
Standard mode for new/exploratory features. Full discovery with interactive questions.
Use @discovery "feature description" or manually: extract keywords, rg docs for overlap, present Overlap Report (HIGH/MEDIUM), gate on user resolution.
Problem, Users, Success. Gate: if vague (<200 words), ask clarification. Use @discovery output if available.
@idea "..." --spec docs/drafts/discovery-{slug}.md (use @discovery output if Step 0 ran)
Auto-trigger when @idea output has user-facing keywords (ui, user, interface, dashboard, form) and lacks infra (K8s, CRD, CLI-only).
@design {task_id} — workstream files in docs/workstreams/backlog/ using Workstream file format above.
Read scope files, grep/rg for conflicts. Categorize: FILE CONFLICT, DATA BOUNDARY, DEPENDENCY CHAIN, PRIORITY SHIFT. Present report, user acknowledges.
Check discovery brief, idea spec, ux output, workstreams exist, direct execution targets are leaf workstreams.
User sees: feature description → workstreams created → ready to build. Workstream files, scope declarations, beads IDs are plumbing.
Before creating workstream files and docs, emit a write plan:
--dry-run — Emit write plan only. Do NOT create, modify, or delete any file.--yes — Skip confirmation prompt. Execute immediately. Intended for CI/non-interactive.--yes)..sdp/log/events.jsonl (sanitize file paths before logging: strip newlines, ensure valid JSON escaping):
{"spec_version":"v1.0","event_id":"<uuid>","timestamp":"<ISO-8601>","source":{"system":"sdp-lab","component":"feature"},"event_type":"decision.made","payload":{"decision_type":"write_plan","plan":[{"path":"...","action":"CREATE|MODIFY|DELETE","reason":"..."}]},"context":{"feature_id":"<F-id if known>","workstream_id":"<ws-id if applicable>"}}
Include context fields only when the ID is known at plan time. Omit unavailable fields rather than inventing placeholders.
Note: Phase 1 uses prompt-level write boundaries (CLI out of scope). Aligns with
schema/contracts/orchestration-event.schema.jsonviaevent_type: "decision.made". Phase 2 CLI will emit natively.
Output format:
WRITE PLAN for @feature <feature-id>:
CREATE: path/to/new/file — <reason>
MODIFY: path/to/existing/file — <reason>
DELETE: path/to/removed/file — <reason>
Proceed? [y/n]
Write-plan flags:
--dry-run: Show plan → STOP--yes: Show plan → Execute immediately (no prompt)Note:
--dry-runand--yesare orthogonal to skill mode flags (--default,--quick,--auto). They can be combined with any mode (e.g.@feature "X" --quick --dry-run).
When all workstreams are created and verified, output:
@feature complete. Feature {ID}: {count} workstreams created.
Aggregate: 00-{FFF}-00
Leaves: 00-{FFF}-01 .. 00-{FFF}-{NN}
Next: @build 00-{FFF}-01 or @oneshot F{XX}
| Symptom | Fix |
|---|---|
| Skill produces no output | Run @init first to scaffold project structure; then re-run @feature |
| "checkpoint not found" | Run sdp-orchestrate --feature <ID> to create initial checkpoint |
| "workstream files missing" | Run sdp-orchestrate --index to verify, then @feature to regenerate |
| Skill hangs / no progress | Check .sdp/log/events.jsonl for last event; use sdp reset --feature <ID> if stuck |
| Review loop exceeds 3 rounds | Use @review --override "reason", @review --partial, or @review --escalate |
| --design-only produces no workstreams | Run @init to scaffold project structure, then re-run with --design-only |
@discovery — Product discovery gate | @idea — Requirements | @ux — UX research | @design — Workstream planning | @build — Execute leaf workstream | @oneshot — Execute all ready leaf workstreams