複数の独立したローカル作業を安全性と依存関係を確認して実行計画にまとめ、対応環境では並列化やAppleシリコン向け処理の選択を支援します。
- ビルドやテストの独立した処理を並列化したいとき
- 複数段階の作業計画を安全に実行したいとき
- Appleシリコン向け処理の候補を確認したいとき
OpenSpecの変更計画にあるタスクを確認し、関連資料と進捗を踏まえて実装を進めます。作業ごとに完了状況を更新し、曖昧さや仕様上の問題があれば立ち止まって相談します。
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks. Also use when the user says "openspec apply", "opsx apply", or "openspec implement".
実行スコア 未検証
インストール方法を見るOpenSpecの変更に記録されたタスクを読み、必要な資料や進捗を確認しながら実装を進めます。対象の変更を選び、スキーマ、完了済みタスク、残りの作業を確認してから、指示に記載された関連ファイルを読みます。タスクごとにコードを変更し、完了した作業のチェック欄を更新して、CLIで進捗が反映されたことを確かめます。作業範囲は各タスクの仕様に沿って絞ります。
OpenSpecで管理している変更の実装を始めるときや、中断していた作業を再開するときに使えます。変更名が会話から分からず、候補が複数ある場合は一覧を示して選択を求めます。すべてのタスクが完了している場合は、その状態を伝え、アーカイブ前のレビューや検証を案内します。
add-auth の実装を始めてください」OpenSpec CLIが必要です。OpenSpecを明示的に依頼した場合、プロジェクトの設定が確認できなければ、初期化、登録済みストアの利用、OpenSpecなしでの続行から選ぶまで書き込みを止めます。タスクが曖昧な場合、設計上の問題が見つかった場合、仕様を超える作業が必要な場合も、推測で進めず相談します。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Implement tasks from an OpenSpec change.
Store selection: If the user names a store (a store is a standalone OpenSpec repo registered on this machine) or the work lives in one, run openspec store list --json to discover registered store ids, then pass --store <id> on the commands that read or write specs and changes (new change, status, instructions, list, show, validate, archive, doctor, context, schemas, view). Once selected, treat --store <id> as sticky for the rest of the workflow. Every unscoped example of those commands below is shorthand: before running it, append the flag. For example, run openspec status --change "<name>" --json --store "<id>", not the unscoped form shown below. Other commands do not take the flag. Hints printed by commands already carry the flag; keep it on follow-ups. Without a store, commands act on the nearest local openspec/ root.
Project check: These steps expect a project that already uses OpenSpec. Before the first step that writes anything (new change, archive, sync specs, or authoring an artifact file), confirm the project has a root: run openspec list --json (with --store <id> when a store is selected, since the store is then the root) and read root. A root object means the project is set up. "root": null means it is not - there is no openspec/ directory here, and a write such as openspec new change would create one as a side effect. The command also exits non-zero, which is that answer rather than a broken CLI, so read the JSON instead of retrying or working around it.
One "root": null is not about setup: when a status error message starts with Declared in or Invalid store declaration in and names this project's openspec/config.yaml (or config.yml), the project does use OpenSpec through a store it declares, which this machine cannot resolve (the store is not registered, or the store: line is malformed). Do not treat it as uninitialized and skip the branches below: stop before writing and show the user that error's message and fix.
Otherwise, with no root, what happens next depends on how this workflow was reached:
openspec init), target a store they already have (--store <id>), or continue without OpenSpec for this request. Wait for their answer.In both branches, never create the root as a side effect: do not run openspec init until the user asks for it, do not hand-create openspec/ files, and do not let a command create it.
Input: Optionally specify a change name (e.g., /openspec-apply-change add-auth). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.
Steps
Select the change
If a name is provided, use it. Otherwise:
openspec list --json to get available changes and ask the user to select oneAlways announce: "Using change: <name>" and how to override (e.g., /openspec-apply-change <other>).
Check status to understand the schema
openspec status --change "<name>" --json
Parse the JSON to understand:
schemaName: The workflow being used (e.g., "spec-driven")planningHome, changeRoot, and actionContext: planning scope and edit constraintsGet apply instructions
openspec instructions apply --change "<name>" --json
This returns:
contextFiles: artifact ID -> array of concrete file paths (varies by schema - could be proposal/specs/design/tasks or spec/tests/implementation/docs)context: current required project instruction input from the selected rootoperationGuidance: current advisory guidance for applymissingArtifacts (when present): required artifact ids with no outputHandle states:
state: "blocked": show the message and pause implementation.
missingArtifacts is non-empty: suggest using /openspec-continue-change to create them.state: "all_done": report that all tracked tasks are complete and suggest review or verification as appropriate before archivingTreat context as a required prompt-level input. Read and consider it, and
apply relevant project facts, conventions, and constraints while implementing.
Treat operationGuidance as optional additive advice. Read and consider every
entry, and follow entries that are applicable and compatible with the built-in
workflow.
Keep both fields separate from CLI-returned state, missing artifacts, tasks,
progress, contextFiles, and the built-in instruction. They are not
evidence of task completion, do not replace the built-in instruction, and do
not permit bypassing a blocked state. If context conflicts with the built-in
instruction, an explicit user choice, or a CLI-controlled value, report the
conflict and preserve the controlling value. If guidance is inapplicable or
conflicts with those controlling inputs, do not follow it and explain why.
These are prompt-level behavior contracts, not enforceable checks.
Read context files
Read every file path listed under contextFiles from the apply instructions output.
The files depend on the schema being used:
Do not copy context or operationGuidance verbatim into implementation
files or planning artifacts unless the user separately asks for that content.
Show current progress
Display:
Implement tasks (loop until done or blocked)
For each pending task:
sourcePath and line still matches the task description; if it does not, rerun the apply instructions and use the refreshed locationsourcePath and line: - [ ] → - [x]Pause if:
On completion or pause, show status
Display:
Output During Implementation
## Implementing: <change-name> (schema: <schema-name>)
Working on task 3/7: <task description>
[...implementation happening...]
✓ Task complete
Working on task 4/7: <task description>
[...implementation happening...]
✓ Task complete
Output On Completion
## Implementation Complete
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 7/7 tasks complete ✓
### Completed This Session
- [x] Task 1
- [x] Task 2
...
All tracked tasks are complete. Review or verify the change as appropriate
before archiving. You can archive this change with `/openspec-archive-change`.
Output On Pause (Issue Encountered)
## Implementation Paused
**Change:** <change-name>
**Schema:** <schema-name>
**Progress:** 4/7 tasks complete
### Issue Encountered
<description of the issue>
**Options:**
1. <option 1>
2. <option 2>
3. Other approach
What would you like to do?
Guardrails
- [x] when its specified behavior is fully implemented, not when it is partially done or deferredFluid Workflow Integration
This skill supports the "actions on a change" model:
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
複数の独立したローカル作業を安全性と依存関係を確認して実行計画にまとめ、対応環境では並列化やAppleシリコン向け処理の選択を支援します。
将来の読み手が理由を知りたくなる未決定や暫定対応を、技術的負債として登録し、後から項目ごとに整理できるスキルです。
LangChain、EINO、AutoGen、AgentScope、CrewAI向けのコード雛形やAPI対応、プロジェクト構成を参照し、バージョン確認を踏まえてAIエージェント開発を支援します。
エラーやテスト失敗、画面の異常などを再現して原因を特定し、テストで確認しながら影響を絞った修正を進めるデバッグ用スキルです。
対話を通じてAI Agentの要件整理から設計、ツール定義、コード生成、動作確認まで6段階で進め、実行可能なプロジェクトを作ります。
プロジェクトの範囲拡大や作業の分岐、命名・設計の不整合を読み取り専用で点検し、根拠と深刻度を添えた診断や、続行・分割・一時停止などの判断材料を報告します。