用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ijust/intent-planner --skill intent-export-cc-sdd命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Intent Tree から、今回の変更における判断基準(North Star / Anti-direction / Invariants / Decision Rules)を構築する。Claude が局所最適に逃げるのを防ぐ。実装はしない。
永続データモデルを設計する責務を負う packet に対し、意図(packet)・invariant(compass)・既存スキーマ/migration の三層を read-only で読み、テーブル定義/制約/インデックス/命名を射影元へトレースしながら(射影元に無いものは inferred / unverified 標識)`.intent/db-design/` 配下へ派生出力する射影スキル。出力は設計の叩き台であって要件ではなく、canonical な成果物を一切変更しない。
Intent Planning の入口。リポジトリの課題感・README・既存コード概要から Intent Tree (L0-L4) を構築し、Intent の詰め方モードを推奨・確定する。実装はしない。
基于 SOC 职业分类
正在显示 SKILL.md
| name | intent-export-cc-sdd |
| description | 選んだ packet 1つを、トークンを浪費せず cc-sdd へ渡せる凝縮した下書きに変換する。cc-sdd の本体生成は侵さない。続行指示時に /kiro-spec-init を起動できる。 |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Glob, Grep, AskUserQuestion, Skill, Bash |
| argument-hint | <対象 packet 名(任意)> |
selected に限定し、契約不在時だけ従来の packet + compass を使い、Tree/Compass 全文を cc-sdd へ転記していない.intent/packets/index.md を読み、active packet の候補を提示する。index.md が不在の場合は .intent/packets/active/ 配下の frontmatter から直接候補一覧を構成して継続し、index の再生成を促す。.intent/packets/ 自体が不在(または active/ が空)なら「先に /intent-packets を実行」を案内して停止する。.intent/packets/active/ 配下)のみを読む(全 packet ファイルの丸読みをしない)。state: parked(保留=今はやらない)の packet は候補列挙から外す(parked は export の対象にしない)。引数で明示的に parked packet を指定されたときだけ、「これは保留中の packet です。export を続けますか」を確認する(確認なしに parked を export しない)。depends_on に state: parked の packet が含まれるなら、「依存先が保留中(<packet 名>)」を1行 warn する(止めない・誤検知前提。依存先が保留のまま先に進むのが妥当な場合もあるため export は続行する)。state が draft の場合、AskUserQuestion で「active 化して export を続行するか」を確認し、利用者が承認したら frontmatter の state を active へ更新して index.md を再生成してから続行する(確認なしに draft のまま export しない。export が canonical を書き換えるのはこの active 化に限る)。discovery/<スラッグ>-<rand>/mode.md(A34・discover が出力した発行名を引き継ぐ)→ 無ければ単一 .intent/mode.local.md(legacy)→ 無ければ旧 .intent/mode.md の順で mode 状態を読む(CONTRACT.md の read fallback 規約)。無ければ standard 既定で続行し告知する。.intent/mode.md の ## Enforcement(ユーザー管理) セクションから enforcement の値を確認する。off・未記載・不正値(mode.md 不在を含む)なら本検査を行わず、現行どおり Step 2 へ続行する。node .intent/scripts/intent-check.mjs を実行し(読み取り専用スクリプト。ファイルの作成・変更・削除を行わない)、stdout に従う。block= のみを正とする(再導出・独自解釈をしない)。警告の要否は result=stale または pending>0 で決める。result=not-applicable のときも判定行の pending= の値をそのまま使う。block=yes のとき: 根拠(pending の packet 名・経過コミット数/閾値。intent-check の2行目以降の人間可読行をそのまま引用する)を提示して export を停止し、/intent-writeback の実行を案内する。続けて AskUserQuestion で「それでも export を続行するか」を確認し、利用者が明示的に続行を指示したときのみ、警告を提示したうえで export を実行する(誤検知時の逃げ道)。result=stale または pending>0)のとき: 同じ根拠を警告として提示し、停止せず続行する。.intent/deltas.md の pending な Delta エントリ(- Status: pending を持つもの)を Read/Grep で確認し、その結果を pending として上と同じ分岐に入る。.intent/mode.md の ## Drift-watch(ユーザー管理) セクションから drift-watch の値を確認する。on でないとき(off・未記載・不正値・セクション不在・mode.md 不在を含む)は本照合を行わず、現行どおり Step 1.7 へ続行する(現行動作とバイト等価)。on のときのみ、rules/drift-export-check.md を読み、適用する。対象 packet の design/tasks ヒント × compass(North Star / Anti-direction / Invariants)の照合・抵触の名指し提示・drift-log への stage: export エントリの append・outcome の利用者判定での確定は、すべて rule の手順に委ねる(ここに手順を複製しない)。rules/export-questions.md を読み、適用する。.kiro/ ディレクトリの有無を read-only で観測する(Read/Glob。intent-check.mjs 等の機械検査に寄せない)。.kiro/ が不在のとき: cc-sdd(kiro)が導入されていない可能性を warn する。「cc-sdd 前提(.kiro/)が見当たらない。cc-sdd を導入するか、読める成果物が目的なら format 軸の射影(読める Spec への出口)も選べる」と案内する(出口の選び方は rules/export-route.md の出口判定レーンに従う。本 SKILL から他 export/射影スキルのコマンド名は名指ししない)。下書き生成は止めない(Step 2 以降へ続行する)。.kiro/ が存在するとき: 何も出さず Step 2 へ続行する(従来どおり・warn 無し)。.kiro/ を後から入れる経路を潰さない)。出口の妥当性は rules/export-route.md(出口判定レーン)の規約に沿う。.intent/packets/plan.md の「Walking Skeleton」セクションを read-only で読み、早期提示: の記録行があるかを確認する。記録が無ければ「利用者にまだ途中経過を見せていないようです。実装前に見せられる中間物(動く骨格・Tree の俯瞰・工程計画)があれば見せることを検討してください」と一言 warn する(intent-packets の walking-skeleton 手順5 と対になる)。次の環境では黙る(warn を出さない): .intent/mode.md の designer-questions が on でない/plan.md に「Walking Skeleton」節が無い/plan.md 自体が無い(器が無いところで警告しない=後方互換・誤検知より沈黙)。この照合も warn のみ・export を停止しない。rules/map-cc-sdd.md を読み、適用する。.intent/execution-contract.md があれば JIT で読み、対象 packet と関係する判断から共通選別結果を一度だけ作る。cc-sdd 固有規則はその結果の selected だけを配置し、候補抽出や pull | exclude | confirm の意味を独自に定義しない。.intent/execution-contract.md がなければ selection_status: legacy-not-applied とし、従来どおり対象 packet ファイル1つ(Safety / Invariants の packet 固有 invariant を含む)+ .intent/intent-compass.md のプロジェクト普遍 Invariants/Anti-directionを入力にして続行する。新方式を適用済みとは表示しない。.intent/cc-sdd/<スラッグ>/ 配下に書く。スラッグの導出と衝突時の扱いは rules/map-cc-sdd.md の「出力レイアウト」節に従う。.intent/cc-sdd/<スラッグ>/requirements.md に凝縮 Project Description(cc-sdd 投入本文)を書く。.intent/cc-sdd/<スラッグ>/design.md に design ヒント(箇条書き)、.intent/cc-sdd/<スラッグ>/tasks.md に「Intent 由来の制約」セクション + tasks チェック項目を書く。.intent/cc-sdd/<スラッグ>/constraint-selection.md に書く。3下書きと同じrunで全置換し、片方だけ更新できないrunを成功扱いにしない。.intent/export-log/<packet-slug>.md へ書く(CONTRACT「append-only 記録の分割・archive 規約」に従う)。<packet-slug> は packet 名から既存スラッグ規則(intent-packets/rules/packet-format.md)で導出する(新採番・連番を作らない)。ファイルには scaffold と同じテーブルヘッダ(| packet | exported_at | commit |)+ | <packet 名> | <export 日時(ISO 8601 UTC)> | <コミットハッシュ> | の1行を書く(既存ファイルがあれば行を追記し、過去の行は消さない)。コミットハッシュは Bash で git rev-parse --short HEAD(読み取り専用)で取得し、取れない場合は -。.intent/export-log/ ディレクトリが無ければ作る。.intent/export-log.md を生成 active ミラーとして再生成する: .intent/export-log/*.md の全データ行を exported_at 昇順に連結し、scaffold と同じヘッダ + 全行で上書きする(分割ファイルが正本・ミラーは派生で手編集しない)。これにより単一ファイルを読む既存経路(status / validate / writeback / intent-check)が壊れない。読み手横断追随が完結する後続スライス(wire)でミラーは fold される。.intent/cc-sdd/<スラッグ>/requirements.md のパスを示し、「このまま cc-sdd に渡してよいか」を確認する。.intent/cc-sdd/<スラッグ>/requirements.md の本文を読み、その本文を引数として /kiro-spec-init を起動する(Skill を使う。利用者にコピペを強制しない)。requirements.md だけを渡す。内部記録の constraint-selection.md は渡さず、design/tasks ヒントの既存の段階別手渡しも維持する。/kiro-spec-init が feature 名を生成したら、その直後に同じフローで、Step 3 で書いた分割ファイル .intent/export-log/<packet-slug>.md の表の下へ - feature: <feature 名>(<記録日 YYYY-MM-DD>) の1行を追記する(既存のテーブル行・過去の行を書き換えない=append-only)。これにより packet と生成 spec の対応を後から確認できる(下流 spec に packet 名が残る保証は無いため)。同じ feature 名が既に記録済みなら追記しない(再 export の重複防止。feature 名が変わったときは新しい行を足し、過去の行は消さない)。feature 名を取得できないとき(利用者がこのセッションで /kiro-spec-init まで進めない・起動に失敗した等)は何も書かず、警告も出さない(fail-open。export の成否に影響させない)。書くのは feature 名(識別子)と日付だけで、機微な内容・生々しい詳細は書かない(コミット履歴の Intent trailer と同じ規律)。テーブル行でないこの追記行は既存の読み手(status / validate / writeback / intent-check)とミラー再生成には不可視であり、既存の3列スキーマを変えない。/kiro-spec-init 用の改行最小化コピーブロックも併記する(主ではない)。/kiro-spec-init の起動まで。その後の requirements → design → tasks は cc-sdd の3フェーズ承認に従い、各フェーズで利用者の続行指示を待つ。自動で突き進まない。.intent/cc-sdd/<スラッグ>/design.md の本文を、tasks フェーズへ進むときは tasks.md の本文を、あわせて渡してください」。cc-sdd 側のスキルはこれらのヒントファイルを自分では読まないため、渡さなければ design/tasks フェーズへ intent 由来の制約は届かない。手渡しの実行は利用者に委ね、渡されなくても何も止めない(gate にしない)。.kiro/steering/ が未整備でも、この下書き(Project Description)が意図・制約の文脈を供給します。cc-sdd 側が『プロジェクト文脈(steering)が無い』旨を警告することがありますが、それは steering が空のとき機械的に出る定型です」。steering の新設は促さない(必要な制約は intent が下書きで都度供給する既存方針のまま)。/intent-writeback で canonical へ戻すことを一行添える。実装後の学びを packet ファイルへ Evidence 直書きして済ませず、必ず writeback(delta 経由)を通す。これは「実装前の起草(compass/packets が canonical を直接書く)」と「実装後の逆抽出(writeback で delta 経由)」のフェーズ境界を利用者に明示するための案内。.intent/cc-sdd/<スラッグ>/{requirements, design, tasks}.md の更新案.intent/cc-sdd/<スラッグ>/constraint-selection.md の再生成案(下流へ渡さない内部記録).intent/export-log.md への export 記録1行(追記)/kiro-spec-init まで進んだ場合の feature 名による対応記録1行(分割ファイルの表の下へ追記・DR121。進まなかった場合は省略)state 更新と .intent/packets/index.md の再生成(該当なしの場合は省略)[export まで] Question の確認結果(提示した問いと利用者判断。該当なしの場合は省略)/kiro-spec-init 用コピーブロック(フォールバック・従)/intent-writeback で canonical へ。packet への Evidence 直書きで済ませない)利用者へ向けた報告(進捗・完了・確認事項の提示。ターン末尾の要約を含む)を出す直前に、次を点検する(INV105・DR208)。対象は利用者向けの報告文だけで、内部の記録(.intent/ 配下の canonical・ログ)の書き方には適用しない。
.intent/packets/ が不在(または active/ が空)なら停止して /intent-packets を案内する。active/ 配下から直接候補を構成して継続し、index の再生成を促す。state 更新 + index.md 再生成)のみで、利用者の承認を得たときに限る。intent-tree / intent-compass / packet 本文は書き換えない。block=yes のとき、または実行不可フォールバックで gate かつ pending を検出したときのみで、いずれの場合も利用者の明示続行で実行できる。/kiro-spec-init 以降の cc-sdd フェーズを自動起動しない。