[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDQVB043MH6SC4680RWJZM":3,"skill-same:01M6MDQVB043MH6SC4680RWJZM":50},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":21,"publishedAt":24,"linkOnly":25,"markdownContent":26,"markdownBody":27,"frontMatter":28,"refName":29,"commitSha":30,"skillDirectory":31,"forksCount":32,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M6MDQVB043MH6SC4680RWJZM","xddp-07-code",null,"tsuna44\u002FXddpSettings","tsuna44","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F84987382?v=4","01M6JWX5PY45PD3W2131F7VMF4","01M6JWX5VFK80TQBJJY8SHAE4N",1,"MIT","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-07-code\u002FSKILL.md",[16],{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[22,23],"code","xddp 07 code","2026-11-10 10:12:30",false,"---\nname: xddp-07-code\ndescription: XDDP フェーズ4: 変更設計書に基づいてコーディングを実施し、静的検証を行う。「コーディングして」「実装して」などで起動する。\nargument-hint: \"[CR番号]\"\n---\n\nYou are orchestrating **XDDP Step 07 (process steps 7-8) — Coding + Static Verification**.\n\n> Code written in this step runs in production. Faithfulness to the CHD and attention to every edge case are non-negotiable. Orchestrate with discipline — a deviation here becomes a production incident.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional)\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`.\nLet `TODAY` = today's date.\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nDOCS_DIR, REPOS_MAP, REPOS_KEYS, IS_MULTI, DEVELOPMENT_MODE, VCS_TYPE, VCS_BRANCH_PREFIX,\nVCS_COMMIT_ON_STEP, VCS_AUTO_BRANCH, VCS_BASE_BRANCH, VERIFY_LINT_COMMAND, VERIFY_LINT_COMMAND_OVERRIDES,\nVERIFY_BUILD_COMMAND, VERIFY_BUILD_COMMAND_OVERRIDES, VERIFY_TYPECHECK_COMMAND,\nVERIFY_TYPECHECK_COMMAND_OVERRIDES, VERIFY_TOOL_TIMEOUT_SEC.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Resolve Affected Repos\" with:\n  REPOS_KEYS: {REPOS_KEYS}, IS_MULTI: {IS_MULTI}, CR_PATH: {CR_PATH}, FILTER_BY_SPO: false\n→ let `AFFECTED_REPOS`.\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Resolve HAS_CROSS\" with:\n  IS_MULTI: {IS_MULTI}, ARTIFACT_PATH: {CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md\n→ let `HAS_CROSS`.\n（本工程は直前工程＝design の cross CHD の有無で cross 処理要否を判断する）\n\n## Step -1: VCS Branch Setup\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fresolve-vcs-target-repos.md`, apply \"## Resolve VCS Target Repos\" with:\n  REPO_CANDIDATES: {AFFECTED_REPOS}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `VCS_TARGET_REPOS`.\n（`AFFECTED_REPOS` は `FILTER_BY_SPO: false` のとき全リポジトリと同一になるため、VCS の副作用対象には\n使わない。詳細は `xddp-common\u002FSKILL.md`「## Resolve VCS Target Repos」参照）\n\nFor each `{repo}` in `VCS_TARGET_REPOS`:\n\n1. If `VCS_TYPE` is `none`: skip this repo.\n\n2. If `VCS_TYPE` is `auto`:\n   Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py detect --repo {REPOS_MAP[repo]} --vcs-type auto`\n   → let `REPO_VCS_TYPE`.\n\n3. If `VCS_TYPE` is `git`:\n   Let `REPO_VCS_TYPE` = `VCS_TYPE`.\n\n   （`VCS_TYPE` が `auto`\u002F`git`\u002F`none` 以外の値になることはない——`## Load Config` で読み込み時に\n   一元的に `none` へ正規化・警告済みのため。この Step -1 では `auto`\u002F`git`\u002F`none` の3値のみを\n   想定すればよい）\n\n4. If `VCS_AUTO_BRANCH` is `true` and `REPO_VCS_TYPE` is not `none`:\n   Let `BRANCH_NAME` = `{VCS_BRANCH_PREFIX}{CR}`.\n   Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py branch {BRANCH_NAME} --repo {REPOS_MAP[repo]} --vcs-type {REPO_VCS_TYPE} --base-ref {VCS_BASE_BRANCH} --ignore-path {WORKSPACE_ROOT}\u002F{XDDP_DIR} --ignore-path {WORKSPACE_ROOT}\u002F{DOCS_DIR}`\n   If exit code ≠ 0: report the error and stop.\n   （`--base-ref {VCS_BASE_BRANCH}` は新規ブランチ作成時のみ使用され、既存ブランチへの切替時は\n   無視される。`--ignore-path` は dirty 判定の除外指定。`{XDDP_DIR}`・`{DOCS_DIR}` を当該リポジトリ内に\n   置く構成では、工程1〜6 が生成した XDDP 成果物で必ず dirty になり工程7が冒頭で停止してしまうため、\n   これらのディレクトリを判定対象から外す。両ディレクトリがリポジトリ外にある一般的な構成では\n   スクリプト側で無視されるため従来と同一の判定になる）\n   If exit code = 0: Tell the user `\"✅ 作業ブランチ \\`{BRANCH_NAME}\\` に切り替えました\"`。\n\n**設計メモ（`{REPO_VCS_TYPE}` と `{VCS_TYPE}` の使い分け）:** 以降のコミット・status・revert 呼び出しは、\nStep -1 で解決済みの `{REPO_VCS_TYPE}` ではなく生設定値 `{VCS_TYPE}` を渡す（意図的な選択）。\n`{REPO_VCS_TYPE}` は Step -1 実行時点の一時変数であり、`\u002Fxddp-07-code {CR}` が設計エラー差し戻し後に\n再実行される（Step -1 から再度実行される）運用を考えると、後続ステップで `{VCS_TYPE}` を毎回\n`resolve_vcs_type()` に渡して再解決する方が、遠く離れたステップ間で一時変数を引き回すよりも状態管理が\n単純で取り違えの余地がない（`resolve_vcs_type()` の再解決コストは `.git` 存在確認1回のみで軽微）。\n\n## Step 0: Determine Implementation Order and Check for Circular Dependencies\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-rules\u002Fxddp.coding.rules.md` to get `CODING_RULES`.\n\nIf `HAS_CROSS`:\n  Read `{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md` and extract the \"実装依存関係\" table.\n\n  **Circular dependency check:**\n  Build a directed graph from the 実装依存関係 table (提供リポジトリ → 消費リポジトリ edges).\n  Detect cycles using DFS or topological sort. If a cycle is found (e.g., repo-a → repo-b → repo-a):\n  > ⛔ 循環依存が検出されました: {検出したパス（例: repo-a → repo-b → repo-a）}\n  > `{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md` の「実装依存関係」テーブルを見直してください。\n  Stop and wait for user to fix the cross\u002FCHD.\n\n  If no cycle: determine `IMPL_ORDER` by topological sort of the dependency graph.\n  (Provider repos come before their consumers. E.g., if repo-a provides POST \u002Fjobs consumed by repo-b → implement repo-a first.)\n\nElse:\n  `IMPL_ORDER` = `AFFECTED_REPOS` in REPOS: definition order.\n\n## Step 0.5: Mark In-Progress\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ? 進行中, DETAIL_STEP: `Step A: コーディング中`\nIf `IS_MULTI`, append per-repo progress table for step 7:\n```markdown\n## 工程7 コーディング進捗（リポジトリ別）\n| リポジトリ | 状態 | 完了日 |\n|---|---|---|\n{for each repo in IMPL_ORDER: | {repo} | ⏳ 未着手 | - |}\n{if HAS_CROSS: | cross\u002F検証 | ⏳ 未着手 | - |}\n```\n\n## Step A-Pre: Load Coding Quality Rules and Project Memory\n\n`CODING_RULES` is already loaded in Step 0（repo非依存のためここでの再読み取りは不要）。\n`RULEBOOK_CONTEXT` は repo 依存のため Step 0 では読み込んでいない。Step A・Step B それぞれの\n`For each {repo}` ループ内で `## Load Steering Context` を呼び出し、repo ごとに取得する。\n\nLet `CODE_AGENT_SHARED` =\n  CR_NUMBER: {CR}\n  TODAY: {TODAY}\n  CODING_RULES: {pass CODING_RULES content as-is}\n  ADDITIONAL_REFS: {CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md (pass if exists — interface contract reference)\n（`{repo}` に依存しないため、Step A・Step B の両独立ループからこの1箇所の定義をそのまま参照できる）\n\n## Step A: Implement Code Changes (in dependency order)\n\nFor each `{repo}` in `IMPL_ORDER` (sequentially — do not parallelise to respect implementation order):\n\nUpdate per-repo progress table: `| {repo} | ? 進行中 | - |`\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fload-steering-context.md`, apply \"## Load Steering Context\" with:\n  XDDP_DIR: {XDDP_DIR}\n  REPO_NAME: {repo}\n→ let `RULEBOOK_CONTEXT`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n  CR_PATH: {CR_PATH}, REPO_NAME: {repo}, CR: {CR}\n→ let `CHD_CONTENT_FILES`.\n\n**Agent tool** `subagent_type=xddp-coder-agent`:\n```\nREPO_NAME: {repo}\nREPO_PATH: {REPOS_MAP[repo]}\nCHD_FILES: {CHD_CONTENT_FILES}\nOUTPUT_MEMO: {CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md\n{CODE_AGENT_SHARED を展開}\nRULEBOOK_CONTEXT: {RULEBOOK_CONTEXT}\n```\n\nWait for completion. If the agent reports CHD Before\u002FAfter discrepancies, relay to the user.\n\nUpdate per-repo progress table: `| {repo} | ✅ 完了 | {TODAY} |`\n\n## Step B: Static Verification (per repo)\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ? 進行中, DETAIL_STEP: `Step B: 静的検証・コードレビュー中`\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 進行中, DETAIL_STEP: `Step B: 静的検証・コードレビュー中`\n\nFor each `{repo}` in `IMPL_ORDER`:\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fload-steering-context.md`, apply \"## Load Steering Context\" with:\n  XDDP_DIR: {XDDP_DIR}\n  REPO_NAME: {repo}\n→ let `RULEBOOK_CONTEXT`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n  CR_PATH: {CR_PATH}, REPO_NAME: {repo}, CR: {CR}\n→ let `CHD_CONTENT_FILES`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Frun-verification-tools.md`, apply \"## Run Verification Tools\" with:\n  REPO_NAME: {repo}, REPO_PATH: {REPOS_MAP[repo]}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `TOOL_RESULTS_FILE`, `TOOL_ALL_PASS`, `TOOL_USAGE_ERROR`, `TOOL_USAGE_ERROR_DETAIL`.\n（`{repo}` ごとの実行結果を後続 Step C の判定に使うため、辞書 `TOOL_ALL_PASS_BY_REPO[repo]`・\n`TOOL_USAGE_ERROR_BY_REPO[repo]`・`TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]` に記録する）\n\n**Agent tool** `subagent_type=xddp-verifier-agent`:\n```\nREPO_NAME: {repo}\nCHD_FILES: {CHD_CONTENT_FILES}\nCRS_FILE: {CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md\nCODING_MEMO: {CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md\nTOOL_RESULTS_FILE: {TOOL_RESULTS_FILE}（空文字列の場合は省略）\nTOOL_USAGE_ERROR_DETAIL: {TOOL_USAGE_ERROR_DETAIL}（空文字列の場合は省略。`TOOL_RESULTS_FILE` とは\n  相互排他のため両方が同時に渡ることはない。使用法エラー時に Section J が「➖ 未設定」という事実と\n  異なるラベルを記録することを防ぐ）\nOUTPUT_FILE: {CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-{repo}.md\n{CODE_AGENT_SHARED を展開}\nRULEBOOK_CONTEXT: {RULEBOOK_CONTEXT}\n```\n\nRead the verification report.\n\n## Step B-cross: Cross-repo Interface Verification (only when HAS_CROSS = true)\n\nAfter all per-repo verification is complete, verify that the cross\u002FCHD interface commitments were honoured.\n\nUpdate per-repo progress table: `| cross\u002F検証 | ? 進行中 | - |`\n\n**Agent tool** `subagent_type=xddp-verifier-agent`\n（`CODE_AGENT_SHARED` は使用しない。設計根拠: docs\u002Fadr\u002FADR-0003-verify-cross-agent-params.md）:\n```\nCR_NUMBER: {CR}\nREPO_NAME: cross\nCHD_FILES: [{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md]\nCRS_FILE: {CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md\nCODING_MEMOS: [{CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md for each repo in IMPL_ORDER]\nOUTPUT_FILE: {CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-cross.md\nTODAY: {TODAY}\nVERIFICATION_TASK: |\n  Verify that the cross\u002FCHD \"インタフェース変更サマリ\" is fully implemented:\n  - \"新規追加\": confirm the interface was added in the provider repo's CODING memo\n  - \"変更\": confirm the change matches the CODING memo\n  - \"削除\": confirm the deletion was carried out\n  For each mismatch, flag as NG with details.\n```\n\nRead the verification report. If NG items exist:\n> ⚠️ クロスリポジトリ インタフェース検証NG: `{CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-cross.md` を確認してください。\n> 実装とインタフェース変更サマリの不一致があります。実装を修正するか、cross\u002FCHD を更新してください。\n\nUpdate per-repo progress table: `| cross\u002F検証 | ✅ 完了 | {TODAY} |` (even if NG — NG is handled above)\n\n## Step C: Handle Verification Result\n\nまず、対象 repo 全件（Step B が `For each {repo} in IMPL_ORDER` でループした repo 全件）について\n`TOOL_USAGE_ERROR_BY_REPO` を確認し終える（1件目で判定を打ち切らない）。`true` の repo が1件でも\nあれば、該当する repo **全件**分のエラー内容を1回のブロックにまとめて案内し、Step C 全体\n（後続の `TOOL_ALL_PASS_BY_REPO` チェック・既存の実装バグ／設計エラー分類のいずれも含む）を\nその時点で打ち切る（他 repo に真の検証失敗が同時にあっても、その判定には進まない——設定不備・\nスクリプト自体の異常を先に解消しないと判定結果自体を信頼できないため）。使用法エラーがあった repo は\n「実装バグ」「設計エラー」いずれの既存NG分類にも当てはめない（この分岐では `TOOLRUN-{CR}-{repo}.md`\nは作成されていないため、ファイルではなく `TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]`（Bash 呼び出し\nstderr）を直接引用する）:\n> ⚠️ 実ツール実行スクリプト（`xddp_verify_tools.py`）の呼び出し自体が失敗しました（{repo}）。\n> 以下のエラー内容を確認し、`xddp.config.md` の\n> `VERIFY_LINT_COMMAND`\u002F`VERIFY_BUILD_COMMAND`\u002F`VERIFY_TYPECHECK_COMMAND` 設定またはスクリプト\n> 自体の不具合を確認してください:\n> ```\n> {TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]}\n> ```\n（上記引用ブロックは `TOOL_USAGE_ERROR_BY_REPO[repo] = true` の repo それぞれについて1つずつ、\nまとめて提示する。）\n\n対象 repo 全件で `TOOL_USAGE_ERROR_BY_REPO` が `false`（使用法エラーなし）だった場合のみ、\n次に `TOOL_ALL_PASS_BY_REPO` を確認する。\nいずれかの repo で `false`（設定されたコマンドが実際に非0終了した＝真の検証失敗）の場合、\nその repo の `xddp-verifier-agent` の総合判定に関わらず ❌ NG として扱う\n（`## Run Verification Tools`「設計方針」参照——終了コードによる決定的判定を優先する）。\nこのNGも既存の「NG list and classify each: 実装バグ／設計エラー」の分類対象に含める。分類の\n判断材料には `xddp-verifier-agent` が出力する Section J の原因要約を用いる：lint\u002Fbuild\u002Ftypecheck\nの失敗は多くの場合「実装バグ」（コード側の誤り）だが、CHD 自体が矛盾したインタフェース型・\nビルド設定を指定していたことが原因と Section J が示す場合は「設計エラー」として扱う。\n\n**If all ✅ pass (all repos + cross\u002F if applicable):**\n- Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ✅ 完了, DETAIL_STEP: `-`,\n    ARTIFACT_LINK: `[07_coding\u002F](07_coding\u002F)`\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ✅ 完了, DETAIL_STEP: `-`,\n    ARTIFACT_LINK: `[08_code-review\u002F](08_code-review\u002F)`\n\n  **VCS commit:**\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fvcs-auto-commit.md`, apply \"## VCS Auto-Commit\" with:\n  PROCESS_STEP: 7, REPO_LIST: VCS_TARGET_REPOS, COMMIT_MESSAGE: \"{CR} 工程7コーディング完了\"\n  （`VCS_TARGET_REPOS` は Step -1 で解決済みの値をそのまま使う。コミットを progress.md 更新の**後**に\n  置くのは意図的な配置——`git commit` の失敗（`user.email` 未設定・pre-commit フック拒否等）で\n  コード変更・静的検証がすべて成功しているのに工程完了が progress.md に記録されないまま停止する\n  事態を避けるため。設計判断の詳細は `docs\u002Fadr\u002FADR-0011-vcs-abstraction.md` Decision 20 を参照）\n- Next command → `\u002Fxddp-09-test {CR}`\n\n**If ❌ NG (any repo):**\n- Read NG list and classify each:\n  - **Implementation bug** (coding mistake): Fix directly in source code, then re-run Step B for that repo.\n  - **Design error** (CHD itself is incorrect): DO NOT fix code. Instruct the user:\n    > ❌ 静的検証NG：設計書（CHD）に誤りが検出されました。\n    > `{CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-{repo}.md` の NG 内容を確認し、\n    > `\u002Fxddp-06-design {CR}` を再実行して設計書を修正してください。\n    > 設計書修正後に `\u002Fxddp-07-code {CR}` を再実行してください。\n    Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n      CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 差し戻し\n\n    > {VCS_AUTO_BRANCH が true の場合} 工程7で作成した作業ブランチ `{VCS_BRANCH_PREFIX}{CR}` への変更を\n    破棄する場合:\n    > {VCS_AUTO_BRANCH が false の場合} 現在の作業ツリーへの変更を破棄する場合（`VCS_AUTO_BRANCH: false`\n    のためブランチは自動作成されていません）:\n    > 以下を対象リポジトリごとに実行してください:\n    > - `{repo}`: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py revert --repo {REPOS_MAP[repo]} --vcs-type {VCS_TYPE} --untracked`\n    > VCS_TYPE: none の場合はこの操作はスキップされます。\n\n    （上記引用ブロックの `- ` 行は `VCS_TARGET_REPOS`（未解決の場合はその場で `## Resolve VCS Target\n    Repos` を apply して解決する）の各 `{repo}` について1行ずつ展開して提示する。この括弧書きは\n    実装者・実行 AI 向けの生成指示であり、ユーザーへは表示しない）\n    Stop.\n- If re-run after code fix is still NG: Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 差し戻し\n  instruct manual review.\n\n## Step D: Report in Japanese\n","You are orchestrating **XDDP Step 07 (process steps 7-8) — Coding + Static Verification**.\n\n> Code written in this step runs in production. Faithfulness to the CHD and attention to every edge case are non-negotiable. Orchestrate with discipline — a deviation here becomes a production incident.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional)\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`.\nLet `TODAY` = today's date.\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nDOCS_DIR, REPOS_MAP, REPOS_KEYS, IS_MULTI, DEVELOPMENT_MODE, VCS_TYPE, VCS_BRANCH_PREFIX,\nVCS_COMMIT_ON_STEP, VCS_AUTO_BRANCH, VCS_BASE_BRANCH, VERIFY_LINT_COMMAND, VERIFY_LINT_COMMAND_OVERRIDES,\nVERIFY_BUILD_COMMAND, VERIFY_BUILD_COMMAND_OVERRIDES, VERIFY_TYPECHECK_COMMAND,\nVERIFY_TYPECHECK_COMMAND_OVERRIDES, VERIFY_TOOL_TIMEOUT_SEC.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Resolve Affected Repos\" with:\n  REPOS_KEYS: {REPOS_KEYS}, IS_MULTI: {IS_MULTI}, CR_PATH: {CR_PATH}, FILTER_BY_SPO: false\n→ let `AFFECTED_REPOS`.\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Resolve HAS_CROSS\" with:\n  IS_MULTI: {IS_MULTI}, ARTIFACT_PATH: {CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md\n→ let `HAS_CROSS`.\n（本工程は直前工程＝design の cross CHD の有無で cross 処理要否を判断する）\n\n## Step -1: VCS Branch Setup\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fresolve-vcs-target-repos.md`, apply \"## Resolve VCS Target Repos\" with:\n  REPO_CANDIDATES: {AFFECTED_REPOS}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `VCS_TARGET_REPOS`.\n（`AFFECTED_REPOS` は `FILTER_BY_SPO: false` のとき全リポジトリと同一になるため、VCS の副作用対象には\n使わない。詳細は `xddp-common\u002FSKILL.md`「## Resolve VCS Target Repos」参照）\n\nFor each `{repo}` in `VCS_TARGET_REPOS`:\n\n1. If `VCS_TYPE` is `none`: skip this repo.\n\n2. If `VCS_TYPE` is `auto`:\n   Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py detect --repo {REPOS_MAP[repo]} --vcs-type auto`\n   → let `REPO_VCS_TYPE`.\n\n3. If `VCS_TYPE` is `git`:\n   Let `REPO_VCS_TYPE` = `VCS_TYPE`.\n\n   （`VCS_TYPE` が `auto`\u002F`git`\u002F`none` 以外の値になることはない——`## Load Config` で読み込み時に\n   一元的に `none` へ正規化・警告済みのため。この Step -1 では `auto`\u002F`git`\u002F`none` の3値のみを\n   想定すればよい）\n\n4. If `VCS_AUTO_BRANCH` is `true` and `REPO_VCS_TYPE` is not `none`:\n   Let `BRANCH_NAME` = `{VCS_BRANCH_PREFIX}{CR}`.\n   Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py branch {BRANCH_NAME} --repo {REPOS_MAP[repo]} --vcs-type {REPO_VCS_TYPE} --base-ref {VCS_BASE_BRANCH} --ignore-path {WORKSPACE_ROOT}\u002F{XDDP_DIR} --ignore-path {WORKSPACE_ROOT}\u002F{DOCS_DIR}`\n   If exit code ≠ 0: report the error and stop.\n   （`--base-ref {VCS_BASE_BRANCH}` は新規ブランチ作成時のみ使用され、既存ブランチへの切替時は\n   無視される。`--ignore-path` は dirty 判定の除外指定。`{XDDP_DIR}`・`{DOCS_DIR}` を当該リポジトリ内に\n   置く構成では、工程1〜6 が生成した XDDP 成果物で必ず dirty になり工程7が冒頭で停止してしまうため、\n   これらのディレクトリを判定対象から外す。両ディレクトリがリポジトリ外にある一般的な構成では\n   スクリプト側で無視されるため従来と同一の判定になる）\n   If exit code = 0: Tell the user `\"✅ 作業ブランチ \\`{BRANCH_NAME}\\` に切り替えました\"`。\n\n**設計メモ（`{REPO_VCS_TYPE}` と `{VCS_TYPE}` の使い分け）:** 以降のコミット・status・revert 呼び出しは、\nStep -1 で解決済みの `{REPO_VCS_TYPE}` ではなく生設定値 `{VCS_TYPE}` を渡す（意図的な選択）。\n`{REPO_VCS_TYPE}` は Step -1 実行時点の一時変数であり、`\u002Fxddp-07-code {CR}` が設計エラー差し戻し後に\n再実行される（Step -1 から再度実行される）運用を考えると、後続ステップで `{VCS_TYPE}` を毎回\n`resolve_vcs_type()` に渡して再解決する方が、遠く離れたステップ間で一時変数を引き回すよりも状態管理が\n単純で取り違えの余地がない（`resolve_vcs_type()` の再解決コストは `.git` 存在確認1回のみで軽微）。\n\n## Step 0: Determine Implementation Order and Check for Circular Dependencies\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-rules\u002Fxddp.coding.rules.md` to get `CODING_RULES`.\n\nIf `HAS_CROSS`:\n  Read `{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md` and extract the \"実装依存関係\" table.\n\n  **Circular dependency check:**\n  Build a directed graph from the 実装依存関係 table (提供リポジトリ → 消費リポジトリ edges).\n  Detect cycles using DFS or topological sort. If a cycle is found (e.g., repo-a → repo-b → repo-a):\n  > ⛔ 循環依存が検出されました: {検出したパス（例: repo-a → repo-b → repo-a）}\n  > `{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md` の「実装依存関係」テーブルを見直してください。\n  Stop and wait for user to fix the cross\u002FCHD.\n\n  If no cycle: determine `IMPL_ORDER` by topological sort of the dependency graph.\n  (Provider repos come before their consumers. E.g., if repo-a provides POST \u002Fjobs consumed by repo-b → implement repo-a first.)\n\nElse:\n  `IMPL_ORDER` = `AFFECTED_REPOS` in REPOS: definition order.\n\n## Step 0.5: Mark In-Progress\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ? 進行中, DETAIL_STEP: `Step A: コーディング中`\nIf `IS_MULTI`, append per-repo progress table for step 7:\n```markdown\n## 工程7 コーディング進捗（リポジトリ別）\n| リポジトリ | 状態 | 完了日 |\n|---|---|---|\n{for each repo in IMPL_ORDER: | {repo} | ⏳ 未着手 | - |}\n{if HAS_CROSS: | cross\u002F検証 | ⏳ 未着手 | - |}\n```\n\n## Step A-Pre: Load Coding Quality Rules and Project Memory\n\n`CODING_RULES` is already loaded in Step 0（repo非依存のためここでの再読み取りは不要）。\n`RULEBOOK_CONTEXT` は repo 依存のため Step 0 では読み込んでいない。Step A・Step B それぞれの\n`For each {repo}` ループ内で `## Load Steering Context` を呼び出し、repo ごとに取得する。\n\nLet `CODE_AGENT_SHARED` =\n  CR_NUMBER: {CR}\n  TODAY: {TODAY}\n  CODING_RULES: {pass CODING_RULES content as-is}\n  ADDITIONAL_REFS: {CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md (pass if exists — interface contract reference)\n（`{repo}` に依存しないため、Step A・Step B の両独立ループからこの1箇所の定義をそのまま参照できる）\n\n## Step A: Implement Code Changes (in dependency order)\n\nFor each `{repo}` in `IMPL_ORDER` (sequentially — do not parallelise to respect implementation order):\n\nUpdate per-repo progress table: `| {repo} | ? 進行中 | - |`\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fload-steering-context.md`, apply \"## Load Steering Context\" with:\n  XDDP_DIR: {XDDP_DIR}\n  REPO_NAME: {repo}\n→ let `RULEBOOK_CONTEXT`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n  CR_PATH: {CR_PATH}, REPO_NAME: {repo}, CR: {CR}\n→ let `CHD_CONTENT_FILES`.\n\n**Agent tool** `subagent_type=xddp-coder-agent`:\n```\nREPO_NAME: {repo}\nREPO_PATH: {REPOS_MAP[repo]}\nCHD_FILES: {CHD_CONTENT_FILES}\nOUTPUT_MEMO: {CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md\n{CODE_AGENT_SHARED を展開}\nRULEBOOK_CONTEXT: {RULEBOOK_CONTEXT}\n```\n\nWait for completion. If the agent reports CHD Before\u002FAfter discrepancies, relay to the user.\n\nUpdate per-repo progress table: `| {repo} | ✅ 完了 | {TODAY} |`\n\n## Step B: Static Verification (per repo)\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ? 進行中, DETAIL_STEP: `Step B: 静的検証・コードレビュー中`\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n  CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 進行中, DETAIL_STEP: `Step B: 静的検証・コードレビュー中`\n\nFor each `{repo}` in `IMPL_ORDER`:\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fload-steering-context.md`, apply \"## Load Steering Context\" with:\n  XDDP_DIR: {XDDP_DIR}\n  REPO_NAME: {repo}\n→ let `RULEBOOK_CONTEXT`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n  CR_PATH: {CR_PATH}, REPO_NAME: {repo}, CR: {CR}\n→ let `CHD_CONTENT_FILES`.\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Frun-verification-tools.md`, apply \"## Run Verification Tools\" with:\n  REPO_NAME: {repo}, REPO_PATH: {REPOS_MAP[repo]}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `TOOL_RESULTS_FILE`, `TOOL_ALL_PASS`, `TOOL_USAGE_ERROR`, `TOOL_USAGE_ERROR_DETAIL`.\n（`{repo}` ごとの実行結果を後続 Step C の判定に使うため、辞書 `TOOL_ALL_PASS_BY_REPO[repo]`・\n`TOOL_USAGE_ERROR_BY_REPO[repo]`・`TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]` に記録する）\n\n**Agent tool** `subagent_type=xddp-verifier-agent`:\n```\nREPO_NAME: {repo}\nCHD_FILES: {CHD_CONTENT_FILES}\nCRS_FILE: {CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md\nCODING_MEMO: {CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md\nTOOL_RESULTS_FILE: {TOOL_RESULTS_FILE}（空文字列の場合は省略）\nTOOL_USAGE_ERROR_DETAIL: {TOOL_USAGE_ERROR_DETAIL}（空文字列の場合は省略。`TOOL_RESULTS_FILE` とは\n  相互排他のため両方が同時に渡ることはない。使用法エラー時に Section J が「➖ 未設定」という事実と\n  異なるラベルを記録することを防ぐ）\nOUTPUT_FILE: {CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-{repo}.md\n{CODE_AGENT_SHARED を展開}\nRULEBOOK_CONTEXT: {RULEBOOK_CONTEXT}\n```\n\nRead the verification report.\n\n## Step B-cross: Cross-repo Interface Verification (only when HAS_CROSS = true)\n\nAfter all per-repo verification is complete, verify that the cross\u002FCHD interface commitments were honoured.\n\nUpdate per-repo progress table: `| cross\u002F検証 | ? 進行中 | - |`\n\n**Agent tool** `subagent_type=xddp-verifier-agent`\n（`CODE_AGENT_SHARED` は使用しない。設計根拠: docs\u002Fadr\u002FADR-0003-verify-cross-agent-params.md）:\n```\nCR_NUMBER: {CR}\nREPO_NAME: cross\nCHD_FILES: [{CR_PATH}\u002F06_design\u002Fcross\u002FCHD-{CR}-cross.md]\nCRS_FILE: {CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md\nCODING_MEMOS: [{CR_PATH}\u002F07_coding\u002FCODING-{CR}-{repo}.md for each repo in IMPL_ORDER]\nOUTPUT_FILE: {CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-cross.md\nTODAY: {TODAY}\nVERIFICATION_TASK: |\n  Verify that the cross\u002FCHD \"インタフェース変更サマリ\" is fully implemented:\n  - \"新規追加\": confirm the interface was added in the provider repo's CODING memo\n  - \"変更\": confirm the change matches the CODING memo\n  - \"削除\": confirm the deletion was carried out\n  For each mismatch, flag as NG with details.\n```\n\nRead the verification report. If NG items exist:\n> ⚠️ クロスリポジトリ インタフェース検証NG: `{CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-cross.md` を確認してください。\n> 実装とインタフェース変更サマリの不一致があります。実装を修正するか、cross\u002FCHD を更新してください。\n\nUpdate per-repo progress table: `| cross\u002F検証 | ✅ 完了 | {TODAY} |` (even if NG — NG is handled above)\n\n## Step C: Handle Verification Result\n\nまず、対象 repo 全件（Step B が `For each {repo} in IMPL_ORDER` でループした repo 全件）について\n`TOOL_USAGE_ERROR_BY_REPO` を確認し終える（1件目で判定を打ち切らない）。`true` の repo が1件でも\nあれば、該当する repo **全件**分のエラー内容を1回のブロックにまとめて案内し、Step C 全体\n（後続の `TOOL_ALL_PASS_BY_REPO` チェック・既存の実装バグ／設計エラー分類のいずれも含む）を\nその時点で打ち切る（他 repo に真の検証失敗が同時にあっても、その判定には進まない——設定不備・\nスクリプト自体の異常を先に解消しないと判定結果自体を信頼できないため）。使用法エラーがあった repo は\n「実装バグ」「設計エラー」いずれの既存NG分類にも当てはめない（この分岐では `TOOLRUN-{CR}-{repo}.md`\nは作成されていないため、ファイルではなく `TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]`（Bash 呼び出し\nstderr）を直接引用する）:\n> ⚠️ 実ツール実行スクリプト（`xddp_verify_tools.py`）の呼び出し自体が失敗しました（{repo}）。\n> 以下のエラー内容を確認し、`xddp.config.md` の\n> `VERIFY_LINT_COMMAND`\u002F`VERIFY_BUILD_COMMAND`\u002F`VERIFY_TYPECHECK_COMMAND` 設定またはスクリプト\n> 自体の不具合を確認してください:\n> ```\n> {TOOL_USAGE_ERROR_DETAIL_BY_REPO[repo]}\n> ```\n（上記引用ブロックは `TOOL_USAGE_ERROR_BY_REPO[repo] = true` の repo それぞれについて1つずつ、\nまとめて提示する。）\n\n対象 repo 全件で `TOOL_USAGE_ERROR_BY_REPO` が `false`（使用法エラーなし）だった場合のみ、\n次に `TOOL_ALL_PASS_BY_REPO` を確認する。\nいずれかの repo で `false`（設定されたコマンドが実際に非0終了した＝真の検証失敗）の場合、\nその repo の `xddp-verifier-agent` の総合判定に関わらず ❌ NG として扱う\n（`## Run Verification Tools`「設計方針」参照——終了コードによる決定的判定を優先する）。\nこのNGも既存の「NG list and classify each: 実装バグ／設計エラー」の分類対象に含める。分類の\n判断材料には `xddp-verifier-agent` が出力する Section J の原因要約を用いる：lint\u002Fbuild\u002Ftypecheck\nの失敗は多くの場合「実装バグ」（コード側の誤り）だが、CHD 自体が矛盾したインタフェース型・\nビルド設定を指定していたことが原因と Section J が示す場合は「設計エラー」として扱う。\n\n**If all ✅ pass (all repos + cross\u002F if applicable):**\n- Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 7, STATE: ✅ 完了, DETAIL_STEP: `-`,\n    ARTIFACT_LINK: `[07_coding\u002F](07_coding\u002F)`\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ✅ 完了, DETAIL_STEP: `-`,\n    ARTIFACT_LINK: `[08_code-review\u002F](08_code-review\u002F)`\n\n  **VCS commit:**\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fvcs-auto-commit.md`, apply \"## VCS Auto-Commit\" with:\n  PROCESS_STEP: 7, REPO_LIST: VCS_TARGET_REPOS, COMMIT_MESSAGE: \"{CR} 工程7コーディング完了\"\n  （`VCS_TARGET_REPOS` は Step -1 で解決済みの値をそのまま使う。コミットを progress.md 更新の**後**に\n  置くのは意図的な配置——`git commit` の失敗（`user.email` 未設定・pre-commit フック拒否等）で\n  コード変更・静的検証がすべて成功しているのに工程完了が progress.md に記録されないまま停止する\n  事態を避けるため。設計判断の詳細は `docs\u002Fadr\u002FADR-0011-vcs-abstraction.md` Decision 20 を参照）\n- Next command → `\u002Fxddp-09-test {CR}`\n\n**If ❌ NG (any repo):**\n- Read NG list and classify each:\n  - **Implementation bug** (coding mistake): Fix directly in source code, then re-run Step B for that repo.\n  - **Design error** (CHD itself is incorrect): DO NOT fix code. Instruct the user:\n    > ❌ 静的検証NG：設計書（CHD）に誤りが検出されました。\n    > `{CR_PATH}\u002F08_code-review\u002FVERIFY-{CR}-{repo}.md` の NG 内容を確認し、\n    > `\u002Fxddp-06-design {CR}` を再実行して設計書を修正してください。\n    > 設計書修正後に `\u002Fxddp-07-code {CR}` を再実行してください。\n    Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n      CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 差し戻し\n\n    > {VCS_AUTO_BRANCH が true の場合} 工程7で作成した作業ブランチ `{VCS_BRANCH_PREFIX}{CR}` への変更を\n    破棄する場合:\n    > {VCS_AUTO_BRANCH が false の場合} 現在の作業ツリーへの変更を破棄する場合（`VCS_AUTO_BRANCH: false`\n    のためブランチは自動作成されていません）:\n    > 以下を対象リポジトリごとに実行してください:\n    > - `{repo}`: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py revert --repo {REPOS_MAP[repo]} --vcs-type {VCS_TYPE} --untracked`\n    > VCS_TYPE: none の場合はこの操作はスキップされます。\n\n    （上記引用ブロックの `- ` 行は `VCS_TARGET_REPOS`（未解決の場合はその場で `## Resolve VCS Target\n    Repos` を apply して解決する）の各 `{repo}` について1行ずつ展開して提示する。この括弧書きは\n    実装者・実行 AI 向けの生成指示であり、ユーザーへは表示しない）\n    Stop.\n- If re-run after code fix is still NG: Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: 8, STATE: ? 差し戻し\n  instruct manual review.\n\n## Step D: Report in Japanese\n",{},"main","0719b3a37b134895da55968646acffe58aedce8f","ClaudeCode\u002F.claude\u002Fskills\u002Fxddp-07-code",0,"https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings","https:\u002F\u002Fgithub.com\u002Ftsuna44","2026-11-08 08:45:39",{"source":7,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add tsuna44\u002FXddpSettings --skill xddp-07-code",{"tool":42,"command":43},"bunx","bunx skills add tsuna44\u002FXddpSettings --skill xddp-07-code",{"tool":45,"command":46},"pnpm","pnpm dlx skills add tsuna44\u002FXddpSettings --skill xddp-07-code","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-07-code\u002FSKILL.md",true,[],[51,64,71,79,86,108],{"skillNo":52,"name":53,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":61,"publishedAt":24},"01M6MDVNN0ZX8D5KABK9G0067Z","demo.skill","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.skill\u002FSKILL.md",[56],{"categoryNo":57,"categoryName":58,"taxonomyType":59,"taxonomyTypeDesc":60},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[62,63],"demo skill","demo",{"skillNo":65,"name":66,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":24},"01M6MDVK20HAJYBMXM7VX50A3J","demo.noname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.noname\u002FSKILL.md",[],[70,63],"demo noname",{"skillNo":72,"name":73,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":24},"01M6MDVFS20532JT4V7WT779XH","demo.common","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.common\u002FSKILL.md",[],[77,78,63],"demo common","common",{"skillNo":80,"name":81,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":24},"01M6MDVCV2JFN66NJTFG1CCJS1","demo.badname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.badname\u002FSKILL.md",[],[85,63],"demo badname",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":95,"publishedAt":24},"01M6MDV7CHGZGPXR0MQ44VC4C1","xddp-update-knowledge","任意のタイミングで baseline_docs\u002F の knowledge ディレクトリに知識を追加・更新する。CR 非依存。対話形式と引数形式に対応。「知識を登録して」「callgraph を記録して」「メモを保存して」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-update-knowledge\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":59,"taxonomyTypeDesc":60},"01JBSEEDCAT000000000000021","资料检索与研究",[96,97,98,99,100,101,102,103,104,105,106,107],"xddp update knowledge","update knowledge","knowledge","update","note","structure","constraint","lesson","glossary","baseline","flow","docs",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":120,"publishedAt":24},"01M6MDV2Q1Z02WAN4CZ2WVFZ27","xddp-sync-design","コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design\u002FSKILL.md",[114,117],{"categoryNo":115,"categoryName":116,"taxonomyType":59,"taxonomyTypeDesc":60},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":118,"categoryName":119,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000032","设计师",[121,122,123,124],"sync","xddp sync design","design","生成"]