一键导入
speckit-workflow
Run the full SDD lifecycle in Zed: specify → plan → tasks → implement (fully autonomous, no gates)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run the full SDD lifecycle in Zed: specify → plan → tasks → implement (fully autonomous, no gates)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | speckit-workflow |
| description | Run the full SDD lifecycle in Zed: specify → plan → tasks → implement (fully autonomous, no gates) |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"Zed","source":"workflow"} |
Run the full Specification-Driven Development lifecycle within Zed without any user interaction. This skill orchestrates the sequential execution of:
/speckit-specify — Create/update the feature specification/speckit-plan — Generate the implementation plan/speckit-tasks — Generate actionable tasks/speckit-implement — Execute the implementationNo review gates. No questions. No stops. If information is missing, search the project codebase for the answer. If truly blocked, make a reasonable default decision and continue.
$ARGUMENTS
Parse the user input for the following:
Required:
Optional (extracted from input if present):
full, cli-only, generator-only, plugins-only, docs-only. Defaults to full.--branch my-feature). If not provided, the speckit-git-feature hook auto-generates one.If no feature description is provided, stop immediately — do not ask the user to clarify. The workflow cannot proceed without a description.
When you encounter any ambiguity or missing information during any step:
grep, find_path, or claude_context_search_code to find existing patterns in the codebase.docs/ and openwiki/ for architecture documentation — these contain high-level system understanding.specs/ directory for similar features to understand conventions.lib/src/ for established patterns.AGENTS.md: Contains project-specific rules and conventions for v5.openwiki/ contains canonical architecture, CLI, domain, presentation, data-layer, testing, integration, and operations documentation. Start with quickstart.md then follow cross-references.specs/ for closely related features — their specs, plans, and tasks.md files document existing patterns..zfa/ memory: The .zfa/ directory contains project memory — plans, runs, decisions, blueprints, manifests, and context.Only if absolutely no information exists in the entire codebase should you make a reasonable default decision and document it. Never formulate a question to the user.
When the feature involves creating or evolving generated architecture code (entities, usecases, repositories, datasources, etc.), follow the canonical v5 workflow:
zfa entity create -n EntityName --field ...
zfa make EntityName --preset=crud --methods=get,getList,create,update,delete --with=vpc --state --di --test
zfa cache adapter EntityName # optional: register Hive adapters if caching needed
zfa build
Hard rules:
zfa make over zfa feature. zfa feature scaffold is only a wrapper over the feature preset.zfa entity create.build_runner directly. Use zfa build.lib/src/domain.zfa. Modify the source templates/generators instead.When implementing features in the Zuraffa framework itself (as opposed to building an app WITH Zuraffa):
lib/src/ — CLI commands, generators, plugins, core types, models, config.zfa make produces for end-users — entities, usecases, repositories, datasources, controllers, views, DI registrations, tests.lib/src/plugins/ — each generates a specific layer (entity, usecase, repository, datasource, controller, etc.).When modifying the framework:
test/ that correspond to the modified layer.zfa build to regenerate any framework-internal generated code.dart analyze to check for compilation errors.flutter test test/path/to/test.dart) targeting the changed area.When the feature affects how generated output looks for end-users, check existing specs (specs/) and the plugin tests in test/plugins/ to understand the expected output format.
Required before any step runs. These checks ensure you understand the architecture and the project is in a healthy state.
First action in every workflow. Classify the task and assess its complexity to determine how much context gathering is needed.
triage skill criteria:
docs/ files, check existing specs for prior art before proceeding.Output the result so downstream steps can adjust:
Triage Result: {Bug Fix | New Feature | Change to Existing Feature} Complexity: {Simple | Complex | Ambiguous}
Depth depends on triage result.
If Simple/Straightforward (regardless of classification):
openwiki/quickstart.md for the high-level picture.If Complex or Ambiguous:
openwiki/quickstart.md, then follow cross-references:
AGENTS.md for v5 contract, hard rules, and conventions.CLI_GUIDE.md for the complete CLI reference.specs/ for similar features — their design decisions, gotchas, and patterns inform your approach.CACHING.md if the feature touches caching or offline sync.docs/v4_vs_v5_comparison.md if the feature involves migration.doc/PLUGIN_API_REFERENCE.md if the feature involves plugin development.doc/MCP_SERVER.md if the feature touches the MCP server.Establish a health baseline before any changes are made.
Check dart analyze for pre-existing errors:
cd /Users/ahmettok/Developer/zuraffa && dart analyze
If pre-existing errors exist, note them in a baseline log so downstream steps can distinguish pre-existing issues from introduced ones.
**Health Baseline**: `dart analyze` shows {N} errors and {M} warnings.
{X} errors are pre-existing (not caused by this workflow).
If no errors, log confirmation and proceed:
**Health Baseline**: ✅ No pre-existing analysis errors — proceeding.
Check zfa build viability (quick check, not a full run):
cd /Users/ahmettok/Developer/zuraffa && dart run build_runner build --delete-conflicting-outputs 2>&1 | tail -20
Note: Only run this if the feature will involve code generation. Otherwise skip.
If the project has pre-existing failures that block the workflow (e.g., dart analyze has errors that make it impossible to validate changes), note them and proceed anyway — partial implementation is better than none.
Before implementation begins, determine which parts of the framework the feature touches:
lib/src/commands/.lib/src/plugins/.lib/src/core/ types affected (Result, Failure, hooks, plan resolution)?lib/src/generator/..zfa.json config or the model layer affected? Check lib/src/models/ and lib/src/config/.lib/src/domain/.lib/src/presentation/.test/ affected?Document the affected modules so implementation steps can be scoped correctly:
Affected Modules: {list of modules} Scope: {scope}
Starting step 1 of 5: Pre-Flight — System context & project health...
Call /speckit-specify with the feature description as arguments.
Starting step 2 of 5: /speckit-specify — Creating specification...
Wait for /speckit-specify to complete before proceeding.
Check project health: After the step completes, run dart analyze (quick check on affected files only).
zfa build).Note: The speckit-specify process includes pre/post hooks (git branching, agent-context update, etc.). Let those hooks run. If a hook presents an optional prompt, skip it silently — this is an autonomous run.
When the spec is done, do NOT present it for review. Do not ask for approval. Immediately proceed to Step 2.
Call /speckit-plan with the feature description as arguments.
Starting step 3 of 5: /speckit-plan — Generating implementation plan...
Wait for /speckit-plan to complete before proceeding.
Check project health: After the step completes, run dart analyze (quick check).
Note: The plan command reads the spec and generates design artifacts. If it encounters options or choices, make the safe/default choice. Look at how existing plans in specs/ are structured if uncertain.
When the plan is done, do NOT present it for review. Immediately proceed to Step 3.
Call /speckit-tasks with the feature description as arguments.
Starting step 4 of 5: /speckit-tasks — Generating task breakdown...
Wait for /speckit-tasks to complete before proceeding.
Call /speckit-implement with the feature description as arguments.
Starting step 5 of 5: /speckit-implement — Executing implementation...
Wait for /speckit-implement to complete.
The implement step reads tasks.md and executes them one by one. If any task has ambiguity:
If the user specified a scope other than full, pass it as context when invoking each step:
cli-only: Only CLI command changes are in scope — skip generator plugin, core type, and presentation changes.generator-only: Only generator pipeline changes are in scope — skip CLI, config, and presentation changes.plugins-only: Only generator plugin changes are in scope — skip CLI, pipeline, and core type changes.docs-only: Only documentation changes are in scope — skip code changes entirely.Include the scope constraint in a note at the start of each /speckit-* invocation:
Scope: {scope} — Adjust implementation accordingly.
When all steps complete successfully, report to the user:
## Workflow Complete
The full SDD lifecycle finished successfully:
| Step | Status |
| ---------- | ------ |
| Pre-Flight | ✅ |
| Specify | ✅ |
| Plan | ✅ |
| Tasks | ✅ |
| Implement | ✅ |
The feature has been fully implemented. See the spec, plan, and tasks for details.
After /speckit-implement completes:
Run zfa build to regenerate any generated code if the feature modified generators, plugins, or entities:
cd /Users/ahmettok/Developer/zuraffa && zfa build
If zfa build fails, check if the failure is due to the changes or pre-existing conditions. Try running dart run build_runner build --delete-conflicting-outputs as fallback.
Run dart analyze to check for compilation errors introduced by the implementation:
cd /Users/ahmettok/Developer/zuraffa && dart analyze
Compare against the baseline from Pre-Flight. Report only new errors introduced by this workflow.
Run focused tests — target the specific area of changes:
# If the feature touches regression-critical paths
flutter test test/regression/docs_command_consistency_test.dart
flutter test test/core/artifact_publisher_test.dart
# If the feature touches a specific plugin
flutter test test/plugins/{plugin_name}_test.dart
# General test run (if time allows, use targeted tests first)
flutter test test/path/to/relevant/test.dart
If diagnostics exist: Make 1-2 focused attempts to fix them. If you can't resolve quickly, leave them and report.
Run /insights: Extract non-obvious key findings from the session and persist them to INSIGHTS.md. This captures gotchas, workarounds, and architecture decisions discovered through trial and error.
Run /docs: Generate or update project documentation in docs/ based on the implementation. Creates architecture diagrams, workflow docs, and component references.
Report results: Tell the user what was implemented, what was tested, any known issues, and what was captured in insights/docs.
Note: /insights and /docs run autonomously — they only write if there's meaningful content to capture. If the session didn't discover any non-obvious insights or architectural changes worth documenting, they'll report back with no changes.