بنقرة واحدة
workflows-plan
Transform feature descriptions into well-structured specs and executable PRDs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Transform feature descriptions into well-structured specs and executable PRDs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | workflows-plan |
| description | Transform feature descriptions into well-structured specs and executable PRDs |
When this skill needs user questions, todo/progress tracking, subagents, or another skill, use the active runtime equivalents in RUNTIME_TOOLS.md.
Adhere to the Builder Ethos (ETHOS.md): Boil the Lake, Search Before Building, User Sovereignty.
Note: The current year is 2026. Use this when dating plans and searching for recent documentation.
Transform feature descriptions, bug reports, or improvement ideas into:
<feature_description> $ARGUMENTS </feature_description>
If the feature description above is empty, ask the user: "What would you like to plan? Please describe the feature, bug fix, or improvement you have in mind."
Do not proceed until you have a clear feature description from the user.
Check for existing plan folder or brainstorm first:
Before asking questions, look for existing plan folders that match this feature:
ls -la docs/plans/*/brainstorm.md 2>/dev/null
ls -la docs/plans/*/spec.md 2>/dev/null
Relevance criteria: A brainstorm is relevant if:
If a relevant brainstorm exists:
shaping: true in frontmatter, R table, shapes, fit checkIf shaping format detected:
If standard brainstorm format:
If multiple brainstorms could match: Use structured user-question tool to ask which brainstorm to use, or whether to proceed without one.
If no brainstorm found (or not relevant), run idea refinement:
Refine the idea through collaborative dialogue using the structured user-question tool; making sure to interview me relentlessly until we reach a shared understanding - walk down each branch of the design tree, resolving dependencies between decisions one-by-one.
Gather signals for research decision. During refinement, note:
Skip option: If the feature description is already detailed, offer: "Your description is clear. Should I proceed with research, or would you like to refine it further?"
You MUST run this agent to gather local context. Do not skip:
repo-research-analyst with prompt (feature_description)What to look for:
These findings inform the next step.
Based on signals from Step 0 and findings from Step 1, decide on external research.
High-risk topics → always research. Security, payments, external APIs, data privacy. The cost of missing something is too high. This takes precedence over speed signals.
Strong local context → skip external research. Codebase has good patterns, project instructions have guidance, user knows what they want. External research adds little value.
Uncertainty or unfamiliar territory → research. User is exploring, codebase has no examples, new technology. External perspective is valuable.
Announce the decision and proceed. Brief explanation, then continue. User can redirect if needed.
Examples:
Only run if Step 1.5 indicates external research is valuable.
Run these agents in parallel:
best-practices-researcher with prompt (feature_description)framework-docs-researcher with prompt (feature_description)After all research steps complete, consolidate findings:
src/services/exampleService.ts:42)Briefly summarize findings to the user and ask if anything looks off or missing before proceeding to planning.
Use the structured user-question tool to determine how comprehensive the spec should be. This decision affects how much work goes into subsequent steps.
Question: "What level of detail do you want for this spec?"
Options:
Default recommendation: STANDARD unless the feature is trivially small (MINIMAL) or involves major architecture, multiple system layers, or complex integrations (COMPREHENSIVE).
If user picks COMPREHENSIVE: The planning steps below still run, but Step 4 will trigger an extended collaborative decision-making process that produces 5 spec documents instead of a single spec.md.
Ticket & Branch:
First, extract or ask for the ticket number:
https://yourorg.atlassian.net/browse/PROJ-1222)PROJ-1222)Branch Naming Convention:
Format: [ticket-number]-[description-kebab-case]
Examples:
PROJ-1222-user-authenticationPROJ-1456-fix-checkout-race-conditionPROJ-890-refactor-api-clientIf no ticket: use type/description-kebab-case (e.g., feat/user-authentication, fix/checkout-race-condition)
Folder & Title:
feat: Add user authentication, fix: Cart total calculation)YYYY-MM-DD-<type>-<descriptive-kebab-name>
feat: Add User Authentication → 2026-01-21-feat-user-authentication/Create Branch:
[ticket]-[kebab-description] (e.g., PROJ-1222-user-authentication)git branch --list [branch-name]git checkout -b [branch-name]Stakeholder Analysis:
Content Planning:
After planning the structure, run SpecFlow Analyzer to validate and refine the feature specification:
spec-flow-analyzer with prompt (feature_description, research_findings)SpecFlow Analyzer Output:
Gate: Run when a shaping-format brainstorm exists (detected by shaping: true frontmatter and a selected shape).
When breadboarding:
/breadboarding skill as methodology referenceSlicing:
After breadboarding, slice into vertical increments (V1-V9 max):
| # | Slice | Mechanism | Demo |
|---|---|---|---|
| V1 | [name] | [part refs] | "[demo statement]" |
| V2 | [name] | [part refs] | "[demo statement]" |
Each slice must have:
Add breadboard tables + slice summary as a section in spec.md.
Gate: Run after Step 3.5 produces breadboard tables.
/breadboard-reflection skill as methodology referenceIf changes are made, re-render the breadboard tables and update the slice summary before proceeding.
Use the detail level chosen in Step 1.7. Simpler is mostly better.
Best for: Simple bugs, small improvements, clear features
Includes:
Structure:
---
title: [Title]
type: [feat|fix|refactor]
date: YYYY-MM-DD
---
# [Title]
## Problem
[Brief problem/feature description]
## Solution
[High-level approach]
## Acceptance Criteria
- [ ] Core requirement 1
- [ ] Core requirement 2
## Context
[Any critical information]
## References
- Similar pattern: `src/example.ts:42`
- Documentation: [relevant_docs_url]
Best for: Most features, complex bugs, team collaboration
Includes everything from MINIMAL plus:
Structure:
---
title: [Title]
type: [feat|fix|refactor]
date: YYYY-MM-DD
---
# [Title]
## Overview
[Comprehensive description]
## Problem Statement
[Why this matters, what pain it solves]
## Proposed Solution
[High-level approach with rationale]
## Technical Considerations
- Architecture impacts
- Performance implications
- Security considerations
## Acceptance Criteria
- [ ] Detailed requirement 1
- [ ] Detailed requirement 2
- [ ] Testing requirements
## Success Metrics
[How we measure success]
## Dependencies & Risks
[What could block or complicate this]
## References
- Similar pattern: `src/services/example.ts:42`
- Best practices: [documentation_url]
- Related PR: #[pr_number]
Best for: Major features, architectural changes, complex integrations spanning backend + frontend
Produces 5 documents instead of a single spec.md:
Decision Cascade Model:
Every decision falls into one of three categories:
Decision Queue (ask in dependency order, skip what codebase already answers):
Before asking questions: Summarize conventions found in codebase, decisions already answered by existing patterns, decisions that don't apply, and roughly how many questions remain.
After each decision: Record it for ADR, derive cascading details immediately, confirm cascades briefly: "Got it — [choice]. That means I'll [cascade 1], [cascade 2]. Moving on to [next]."
After all decisions: Confirm full set of choices, then write all 5 docs + a consolidating spec.md.
Consolidating spec.md (COMPREHENSIVE only):
In addition to the 5 detailed docs, always produce a spec.md that serves as the entry point. This is what downstream tools (workflows-plan-review, workflows-deepen-plan, workflows:work) read first.
---
title: [Title]
type: comprehensive
date: YYYY-MM-DD
documents:
- adr.md
- backend.md
- dtos.md
- ui-design.md
- frontend.md
---
# [Title]
## Overview
[2-3 paragraph summary of the feature — problem, solution, key decisions]
## Key Architectural Decisions
[Consolidated from adr.md — the 3-5 most important decisions with rationale]
## API Surface
[Consolidated from backend.md + dtos.md — endpoints, key types, data flow]
## UI Approach
[Consolidated from ui-design.md + frontend.md — screens, states, interaction model]
## Acceptance Criteria
[Consolidated from all docs — the complete testable checklist]
## Technical Considerations
[Cross-cutting concerns: security, performance, deployment, risks]
## Detailed Documents
- [adr.md](adr.md) — Full architecture decision record
- [backend.md](backend.md) — Backend tech spec
- [dtos.md](dtos.md) — DTO contract spec
- [ui-design.md](ui-design.md) — UI design tech spec
- [frontend.md](frontend.md) — Frontend tech spec
This is NOT a thin index — it must contain enough substance that someone reading only spec.md understands the full plan. The 5 detailed docs are the deep-dive reference.
Cross-reference before finalizing:
Content Quality:
file:line format (e.g., src/auth/login.ts:42)Markdown Best Practices:
<details> sections for verbose contentExample code block with file reference:
```typescript
// src/services/userService.ts:42
function processUser(user: User): void {
// Implementation here
}
```
Collapsible section for verbose content:
<details>
<summary>Full error stacktrace</summary>
```
Error details here...
```
</details>
After writing spec.md, you MUST generate prd.json with executable story breakdown.
Story Source Selection:
If breadboard slices exist (from Step 3.5), use them to generate stories:
If no breadboard (simple shapes or non-shaping brainstorm), extract stories from spec as usual.
Story Extraction Rules:
Category Assignment:
Each story must have exactly one category:
functional - Core feature behaviorui - User interface components and stylingintegration - External systems, APIs, third-party servicesedge-case - Error handling, boundary conditionsperformance - Optimization, caching, efficiencyPRD Schema:
{
"title": "feature-name",
"ticket": "PROJ-1222",
"branch": "PROJ-1222-feature-name",
"spec_path": "docs/plans/YYYY-MM-DD-<type>-<name>/spec.md",
"created_at": "2026-01-30T12:00:00Z",
"stories": [
{
"id": 1,
"title": "User can create account",
"category": "functional",
"skills": [],
"validation_agents": [],
"depends_on": [],
"acceptance_criteria": [
"Given signup form, when valid data submitted, account is created",
"Given signup form, when email exists, error message displays"
],
"status": "pending",
"priority": 10,
"completed_at": null,
"commit": null,
"review_findings": []
},
{
"id": 2,
"title": "Account creation shows success feedback",
"category": "ui",
"skills": [],
"validation_agents": [],
"depends_on": [1],
"acceptance_criteria": [
"Given successful creation, when complete, success toast appears",
"Given successful creation, when complete, user redirected to dashboard"
],
"status": "pending",
"priority": 20,
"completed_at": null,
"commit": null,
"review_findings": []
}
],
"log": []
}
Note: skills and validation_agents are initially empty. Run /workflows-deepen-plan to:
~/.agents/skills/ and pluginsField Reference:
| Field | Type | Description |
|---|---|---|
ticket | string|null | Ticket number (e.g., PROJ-1222), null if none |
branch | string | Git branch name: [ticket]-[description] or type/description |
id | number | Unique integer, starts at 1 |
title | string | Single action, imperative, no "and" |
category | string | One of: functional, ui, integration, edge-case, performance |
skills | array | Slash command skills for implementation (populated by /workflows-deepen-plan) |
validation_agents | array | Review agents to run after implementation (populated by /workflows-deepen-plan) |
depends_on | array | Story IDs that must complete first |
acceptance_criteria | array | Given/When/Then statements (min 1) |
status | string | One of: pending, in_progress, blocked, completed |
priority | number | Unique, spaced by 10 (10, 20, 30...) |
completed_at | null|string | ISO8601 timestamp when completed |
commit | null|string | Commit SHA that completed the story |
review_findings | array | Findings from validation_agents or /workflows-review |
Log Entry Shape (populated during /workflows-work):
{
"timestamp": "2026-01-30T14:30:00Z",
"story_id": 1,
"action": "status_change",
"from": "pending",
"to": "in_progress",
"agent": "active-agent"
}
Review Finding Shape (populated by validation_agents or /workflows-review):
{
"severity": "P1",
"category": "security",
"agent": "security-sentinel",
"finding": "SQL injection risk in user input",
"file": "src/api/users.ts:42",
"suggestion": "Use parameterized queries",
"status": "resolved",
"resolved_at": "2026-01-30T15:00:00Z"
}
Finding status values:
logged - Finding recorded, not yet addressedresolved - Finding fixedwontfix - Intentionally not fixing (with justification)PRD Generation Checklist:
ticket field set (or null if no ticket)branch field matches created branch nameNo non-trivial flow goes undiagrammed. Use ASCII art inline while thinking through flows, then produce Mermaid diagrams for the final spec.md.
Produce all that apply:
Use skill: beautiful-mermaid to render final diagrams as SVG/PNG when needed.
Drawing forces thinking. If you can't diagram it, you don't understand it yet.
Pre-write Checklist:
Folder: docs/plans/YYYY-MM-DD-<type>-<descriptive-name>/
Contents (MINIMAL / STANDARD):
docs/plans/2026-01-30-feat-user-authentication/
brainstorm.md # optional, if created via /workflows-brainstorm
spec.md # human-readable plan
prd.json # machine-executable stories
Contents (COMPREHENSIVE):
docs/plans/2026-01-30-feat-user-authentication/
brainstorm.md # optional, if created via /workflows-brainstorm
spec.md # consolidating overview (entry point for downstream tools)
adr.md # architecture decision record
backend.md # backend tech spec
dtos.md # DTO contract spec (shared + feature-specific types)
ui-design.md # UI design tech spec
frontend.md # frontend tech spec
prd.json # machine-executable stories
Examples:
docs/plans/2026-01-15-feat-user-authentication/docs/plans/2026-02-03-fix-checkout-race-condition/docs/plans/2026-03-10-refactor-api-client-extraction/Invalid:
docs/plans/2026-01-15-feat-thing/ (not descriptive)docs/plans/2026-01-15-feat-new-feature/ (too vague)docs/plans/feat-user-auth/ (missing date prefix)After writing spec(s) and prd.json, use the structured user-question tool:
Question: "Plan ready at docs/plans/YYYY-MM-DD-<type>-<name>/. What would you like to do next?"
Options:
/workflows-deepen-plan - Enhance spec with parallel research agents/workflows-plan-review - Independent plan review/workflows-work - Begin implementing stories locally/workflows-work on remote - Begin in the configured remote agent runtime (background)Based on selection:
open docs/plans/<folder>/spec.md. For COMPREHENSIVE: list all 5 docs and open the one user picks./workflows-deepen-plan → Call /workflows-deepen-plan with spec path/workflows-plan-review → Call /workflows-plan-review with folder path. Iterative review loop: review the plan, the active agent revises, repeat until approved./workflows-work → Call /workflows-work with folder path/workflows-work on remote → Run /workflows-work docs/plans/<folder>/ &Note: If running with ultrathink enabled, automatically run /workflows-deepen-plan after creation.
Loop back to options after Simplify until user selects /workflows-work.
NEVER CODE! Just research and write the plan.
Generate clean, minimal technical SVG diagrams in a consistent Cloudflare-inspired style. Use when creating architecture diagrams, flow diagrams, or component diagrams for blog posts and documentation.
Guides creation and improvement of best-practice agent skills following the open format specification. Covers frontmatter, directory structure, progressive disclosure, reference files, rules folders, degrees of freedom, content patterns, executable scripts, MCP tool references, evaluations, cross-model testing, and a ten-dimension audit protocol for existing skills. Use when creating a new skill, authoring SKILL.md, setting up a rules-based audit skill, structuring a skill bundle, writing scripts inside a skill, evaluating a skill, improving or rewriting an existing skill, or asking "how to write a skill", "improve this skill", "audit my skill", or "review this SKILL.md".
Diagnoses Erivault application behavior across product docs, repo code, Cloudflare, Neon Postgres, queues, Durable Objects, R2 assets, AI Gateway, media workflows, browser, and mobile capture state. Use when investigating Erivault bugs, asking "what happened", checking logs, verifying deploys, debugging capture evidence, or designing testable diagnostics.
Design a new product module's full screen set in the Erivault `erivault-web` Paper file, reusing the established design system (tokens, shell, components) and grounded in the module's ADR + implementation plan. Covers researching the existing system, extracting authoritative tokens, planning the state×role×platform matrix, building screens via duplicate-and-adapt, and tying into existing surfaces. Use when designing a new module or surface (tenancies, inspections, renewals, capture, packs...) in Paper, extending the erivault-web design file, building all states/roles for a feature on web and mobile, or when the user says "design the X module", "design a new flow", "design X in the Paper board", "add the screens for X", or "make it consistent with our design system".
View and edit cmux settings in ~/.config/cmux/cmux.json. Use when the user wants to change cmux preferences (appearance, sidebar, notifications, automation, browser, shortcuts), set a value by JSON path, validate the file, open it in an editor, or look up which keys cmux recognizes. Triggers on '/cmux-settings', 'change cmux setting', 'set <something> in cmux', 'cmux config', 'cmux.json', or 'rebind a cmux shortcut'.
Perform exhaustive code reviews using multi-agent analysis and dynamic skill discovery