用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/jumppad-labs/spektacular --skill spek-implement命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | spek-implement |
| description | Execute an approved Plan to implement the feature. |
Version check first. Before running any other command, run
go run . version check.
- On
status: "match", continue with the skill and produce no version-related output.- On
"mismatch"or"missing", the installed Spektacular files are out of date: relay the response'sactionmessage to the user, ask them to re-rungo run . init <agent>, and wait for their decision before continuing.- Never modify or re-install any installed files yourself — refreshing the installation is always an explicit, user-initiated re-run of init.
STOP. Read this before running any command below. A single successful CLI call — including the very first
implement new— is NOT task completion. It is not a milestone to report back to the user. It is one step out of many in a workflow that you must keep driving, turn after turn, without stopping, until the CLI itself tells you the workflow is finished. If you find yourself about to say "successfully completed" or summarize results after callingimplement neworimplement gotoeven once, you are wrong — go back and read theinstructionfield you just received, do what it says, and callgotoagain.
This skill drives a multi-step interactive workflow that executes an approved plan held in the plan store, producing working code, tests, and a changelog. The workflow is owned by the go run . CLI, not by you — the CLI is the state machine and you are the executor, and the CLI (not the filesystem) is how you reach every plan document.
On each turn, the CLI returns JSON containing an instruction field. That instruction describes exactly one step (e.g. analyze, implement a phase, verify, update changelog, write the test plan, …). You must:
instruction carefully.goto command named at the bottom of the instruction to advance the state machine.instruction from the new JSON response and repeat.This is a loop. Do not stop after the first step. Keep looping — step → goto → next instruction → step — until a returned instruction tells you the workflow is finished. Only then should you report completion to the user.
Concretely: do not stop after implement new. That command only starts the workflow — it returns the first instruction, not a finished implementation. Seeing a clean JSON response with no error is not a signal to stop; it is the signal to keep going. Reporting success, summarizing "implementation initialized," or handing control back to the user at this point is the single most common way this skill is executed incorrectly — do not do it.
The CLI owns the plan documents — plan.md, context.md, and research.md. Never read or write them with the Write, Edit, or Read tools — those bypass Spektacular and the configured plan directory. All plan document access goes through go run . plan file:
go run . plan file read <name>/<doc>.md — read a plan document from the plan store.go run . plan file write <name>/<doc>.md --from <source-path> — write a plan document into the plan store from a source file on disk. Stage the body under .spektacular/tmp/ first, then rm the scratch file after a successful write.go run . plan file list — list plans in the plan store.This includes the edits the implement workflow makes to plan.md — ticking phase checkboxes and appending changelog entries. Read the document with plan file read, apply the change, and commit it with plan file write. Never edit a plan document in place with the Edit tool. Path arguments are plan-directory-relative document paths (e.g. my-feature/plan.md).
Cross-repo implementation. When the plan attributes work to registered member repos, carry each part of the work out in its attributed repo's resolved root (
go run . repo listreports resolved paths), and follow the workflow's changelog instructions to write the central record plus one derived entry per affected repo viago run . changelog file write ... --repo <name>.
Ask the user which plan to implement before proceeding. To enumerate the available plans, run go run . plan file list — the CLI's list is the source of truth for what counts as a plan. Do not use ls, find, or the Read tool against .spektacular/plans/ to discover plans; those bypass Spektacular's configured plan directory and may show entries the CLI does not consider valid. You don't need to look for an in-progress workflow yourself — the CLI detects and reports one for you (see below).
The plan must already exist in the plan store — confirm with go run . plan file list. If it does not, stop and tell the user to run go run . plan first.
Start the implement workflow by running:
go run . implement new --data '{"name": "<plan_name>"}'
If a workflow was interrupted and is still in progress, this command does not start a fresh one. Instead it returns a resume report — a JSON object with "resumable": true plus the in-progress workflow's kind, name, and current_step, and an instruction field — and changes nothing on disk. When you get a resume report:
First check the report's kind. If it is not implement, a different workflow (a spec or plan run) is in progress — you cannot resume it from the implement skill, and the CLI will refuse to. Do not run an implement goto. Instead follow the report's instruction: tell the user a <kind> workflow is in progress and let them choose — continue it with that workflow's skill (go run . <kind> goto), or discard it and start the implement run with go run . implement new --force. Only proceed with the steps below when the report's kind is implement.
Ask the user whether to resume the in-progress implement run or start a new one. (The report's instruction field restates both options.)
To resume, first read .spektacular/context.md — the git-tracked working-context file the previous session left behind — to recover its learnings and the answers you gave to the user's questions, then run the resume command using the report's current_step:
go run . implement goto --data '{"step":"<current_step>"}'
To start fresh (discarding the in-progress workflow — it remains recoverable via git), re-run with --force:
go run . implement new --force --data '{"name": "<plan_name>"}'
Otherwise the command returns the first instruction and a fresh workflow has started. From that point on, follow the loop above: do what the instruction says, then call go run . implement goto --data '{"step":"<next_step>"}' to get the next one. Do not invent step names — every instruction tells you the exact goto command to run next.