[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDTGPT2CZFG33RX4Z3BER0":3,"skill-same:01M6MDTGPT2CZFG33RX4Z3BER0":45},{"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":16,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M6MDTGPT2CZFG33RX4Z3BER0","xddp-revise",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-revise\u002FSKILL.md",[],[17,18],"revise","xddp revise","2026-11-10 10:12:30",false,"---\nname: xddp-revise\ndescription: XDDP 再修正: 人のレビュー指摘を成果物に反映する。「人のレビュー指摘を反映して」「修正して」などで起動する。\nargument-hint: \"[CR番号] analysis|req|specout|arch|design|test [repo名] [ID,ID,...]\"\n---\n\nYou are executing **XDDP Revise — Apply Human Review Comments**.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional) DOCUMENT_TYPE [REPO_NAME] [IDS]\n- CR_NUMBER: optional; auto-detected from XDDP_DIR if omitted\n- DOCUMENT_TYPE: `analysis` | `req` | `arch` | `design` | `test` | (file path)\n- REPO_NAME: optional; which repo's artifact to revise (for arch\u002Fdesign\u002Ftest in multi-repo). If omitted and IS_MULTI, ask the user.\n- IDS: optional; comma-separated review item numbers to apply (e.g. `1,3`). If omitted, all `⬜ 未対応` items are targeted.\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`.\nLet `DOC_TYPE` = first token of `REST_ARGS`.\nLet remaining = tokens after DOC_TYPE.\nIf remaining is empty: let `IDS` = empty; let `REPO_NAME` = empty.\nElse if last token of remaining matches `^[0-9]+(,[0-9]+)*$`:\n  let `IDS` = that token (parse as comma-separated int list).\n  let `REPO_NAME` = remaining minus IDS token (may be empty if remaining had only one token).\n  Note: repo names consisting solely of digits are indistinguishable from IDS by this rule.\n        Such names should not be used; if unavoidable, the user must specify REPO_NAME before IDS.\nElse: let `IDS` = empty; let `REPO_NAME` = remaining (second token of REST_ARGS).\n  Note: strings that do not match `^[0-9]+(,[0-9]+)*$` (e.g., `1,abc,3`) are intentionally treated as\n        REPO_NAME, not IDS. Such tokens would cause a file-not-found error in Step 1, alerting the user.\nIf IS_MULTI and arch\u002Fdesign\u002Ftest\u002Fspecout is selected and REPO_NAME is empty: ask the user which repo\n(cross も選択肢に含める)。\nIf NOT IS_MULTI and arch\u002Fdesign\u002Ftest\u002Fspecout is selected and REPO_NAME is empty:\n  If REPOS_KEYS is empty: error \"REPOS: が xddp.config.md に設定されていません\"; stop.\n  set REPO_NAME = REPOS_KEYS[0].\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_KEYS, IS_MULTI.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## 1. Resolve target file\n| DOC_TYPE | File |\n|----------|------|\n| `analysis` | `{CR_PATH}\u002F02_analysis\u002FANA-{CR}.md` |\n| `req` | `{CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md` |\n| `specout` | REPO_NAME 未指定かつ IS_MULTI: ユーザーに確認（cross も選択肢に含める）; 単一リポジトリ: REPOS_KEYS[0] を REPO_NAME として使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止。REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F04_specout\u002Fcross\u002FSPO-{CR}-cross.md`。それ以外: `{CR_PATH}\u002F04_specout\u002F{REPO_NAME}\u002FSPO-{CR}.md` |\n| `arch` | 以下の手順でファイルを特定する:\u003Cbr>1. REPO_NAME を解決する（未指定かつ IS_MULTI: ユーザーに確認、cross も選択肢に含める; 単一リポジトリ: REPOS_KEYS[0] を使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止）\u003Cbr>2. REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F05_architecture\u002Fcross\u002FDSN-{CR}-cross.md` を修正対象とし、手順3・4はスキップする（cross DSN は比較案を持たない単一ファイルとして直接生成されるため。`xddp-05-arch\u002FSKILL.md`「## Step A-cross」参照）\u003Cbr>3. `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002FDSN-{CR}-comparison.md` が存在する場合: 「比較ファイル（comparison.md）、案ファイル（approach-A.md, approach-B.md, ...）のいずれを修正しますか？」とユーザーに確認し、対象ファイルを決定する。\u003Cbr>4. comparison.md が存在しない場合（1案）: `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002FDSN-{CR}-approach-A.md` を修正対象とする。 |\n| `design` | 「## 1a. design 対象ファイルの解決」参照 |\n| `test` | REPO_NAME 未指定かつ IS_MULTI: ユーザーに確認（cross も選択肢に含める）; 単一リポジトリ: REPOS_KEYS[0] を REPO_NAME として使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止。REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F09_test-spec\u002Fcross\u002FTSP-{CR}-cross.md`。それ以外: `{CR_PATH}\u002F09_test-spec\u002F{REPO_NAME}\u002FTSP-{CR}.md` |\n| other | treat as file path |\n\nIf DOC_TYPE omitted: ask the user which document to revise.\n\n## 1a. design 対象ファイルの解決\n\nCHDはインデックス＋UR別内容ファイルに分割されている。対象が単一ファイルでなくなるため、\n候補をインデックスから提示してユーザーに確認する。\n\n1. REPO_NAME を解決する（未指定かつ IS_MULTI: ユーザーに確認〔cross も選択肢に含める〕; 単一リポジトリ:\n   REPOS_KEYS[0] を使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には\n   cross 成果物は存在しません」で停止）。\n2. Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n   CR_PATH: {CR_PATH}, REPO_NAME: {REPO_NAME}, CR: {CR}\n   → let `CHD_CONTENT_FILES`.\n3. `CHD_CONTENT_FILES` が複数件の場合: 候補一覧（UR ID・バッチ番号・ファイルパス）をユーザーに提示し、\n   修正対象とする単一ファイルを選ばせる。1件のみの場合はそのまま使用する。\n4. 選択されたファイルを以降の「対象ファイル」として使用する。\n\n## 2. Load review items\nLet `REVIEW_FILE` = the review file path resolved from DOC_TYPE (Step 4 のパスマッピングと同一。Step 4 自体は変更なし)。\n\n**Case A — REVIEW_FILE exists:**\nRead REVIEW_FILE. Extract rows from `## 2. 指摘事項と対応内容` table where 対応状況 = `⬜ 未対応`.\nLet `OPEN_ITEMS` = list of extracted rows (columns: #, 重要度, 場所, 指摘内容).\n\nIf IDS is specified: filter OPEN_ITEMS to those whose `#` matches any value in IDS.\n  Let `MISSING_IDS` = values in IDS that had no matching row in OPEN_ITEMS.\n  If MISSING_IDS is non-empty: warn \"指定された ID が見つかりませんでした: {MISSING_IDS}（スキップします）\".\n  If no items remain after filtering: report \"指定された ID に該当する未対応指摘が見つかりませんでした\" and stop.\n  (Partial match is intentional — found items are applied; missing IDs are skipped with a warning.)\n\nIf OPEN_ITEMS is empty: report \"未対応の指摘はありません\" and stop.\n\nDisplay OPEN_ITEMS as a table and tell the user:\n> 以下の指摘を成果物に反映します。よろしいですか？（修正不要な項目があれば番号で除外を指示してください）\n\nWait for user confirmation. If the user excludes items, remove them from OPEN_ITEMS.\nExcluded items remain `⬜ 未対応` in the review file (対応状況は更新しない)。\n\n**Case B — REVIEW_FILE does not exist:**\nTell the user:\n> レビューファイルが見つかりません。修正したい箇所と内容を教えてください。セクション名や行番号（任意）と修正内容をリスト形式で入力してください。\n\nWait for user input. Treat the user input as OPEN_ITEMS (freeform).\n\n## 3. Apply revisions\nRead the target file. Apply each item in OPEN_ITEMS:\n- Minimal, targeted edits only — do not rewrite unaffected sections.\n- Maintain document structure, numbering, and TM consistency.\n\n## 3.5. Ensure output directory exists\n\nRun `mkdir -p {parent directory of review file}` using Bash to create the review output directory if it does not exist.\n\n## 4. Record in review file\nUpdate the corresponding review file for the document type:\n\n| DOC_TYPE | Review File |\n|---|---|\n| `analysis` | `{CR_PATH}\u002F02_analysis\u002Freview\u002F02_analysis-review.md` |\n| `req` | `{CR_PATH}\u002F03_change-requirements\u002Freview\u002F03_change-requirements-review.md` |\n| `specout` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F04_specout\u002Fcross\u002Freview\u002F04_specout-cross-review.md`。それ以外: `{CR_PATH}\u002F04_specout\u002F{REPO_NAME}\u002Freview\u002F04_specout-review.md`（REPO_NAME は上記と同様に解決） |\n| `arch` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F05_architecture\u002Fcross\u002Freview\u002F05_architecture-cross-review.md`。それ以外: `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002Freview\u002F05_architecture-review.md`（REPO_NAME は上記と同様に解決） |\n| `design` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F06_design\u002Fcross\u002Freview\u002F06_design-cross-review.md`（cross CHD は単一ファイルのため UR-ID\u002Fバッチ番号は付与しない）。それ以外: `{CR_PATH}\u002F06_design\u002F{REPO_NAME}\u002Freview\u002F06_design-review-{UR-ID}[-{N}].md`（REPO_NAME は上記と同様に解決。UR-ID\u002Fバッチ番号は「## 1a. design 対象ファイルの解決」で選択したファイルに対応するもの） |\n| `test` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F09_test-spec\u002Fcross\u002Freview\u002F09_test-spec-cross-review.md`。それ以外: `{CR_PATH}\u002F09_test-spec\u002F{REPO_NAME}\u002Freview\u002F09_test-spec-review.md`（REPO_NAME は上記と同様に解決） |\n| other | `{CR_PATH}\u002Freview\u002Fmanual-review.md` |\n\n- If file exists:\n  - For Case A (auto-loaded from review file): update `対応状況` column of each applied row from `⬜ 未対応` to `✅ 対応済`, and fill in `対応内容` column with a summary of the change applied.\n  - For Case B (freeform input): append human review items and mark ✅ 対応済.\n- If not: create using review template with reviewer \"人間（今日の日付）\".\n\n## 5. Increment version\nAdd 変更履歴 entry: version +0.1, today, author \"人\", description of changes.\n\n## 6. Report in Japanese\n\nDOC_TYPE が `design` で REPO_NAME が `cross` でない場合、報告の末尾で次を行う（`{repo}` = REPO_NAME）:\n  Run via Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py show --cr-path {CR_PATH} --step 6a` → `state`。`⬜ 未着手` なら行わない。\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fregression-status.md`, apply \"## Regression Status\"（CR: {CR}, CR_PATH: {CR_PATH}, REPO: {repo}, MODE: status）。\n  `FORMAT_ERROR` が空でなければ「{repo} の回帰の範囲を確かめられません（CHD §4 の書式の誤り: {FORMAT_ERROR}）。\u002Fxddp-revise {CR} design で直してから \u002Fxddp-06-design {CR} regression --repo {repo} を実行してください」、それ以外で `STALE` が true なら「{repo} の回帰の範囲（CHD §7 の回帰の行）が古くなりました。\u002Fxddp-06-design {CR} regression --repo {repo} でやり直してください」と伝える。\n  `FORMAT_ERROR` が空なら続けて、`COCHANGE_FORMAT_ERROR` が空でなければ「{repo} の一緒に直す候補を確かめられません（CHD §4.1 の表の書式の誤り: {COCHANGE_FORMAT_ERROR}）。\u002Fxddp-revise {CR} design で直してから \u002Fxddp-06-design {CR} regression --repo {repo} を実行してください」、それ以外で `COCHANGE_STALE` が true なら「{repo} の一緒に直す候補（CHD §4・§4.1）が古くなりました。\u002Fxddp-06-design {CR} regression --repo {repo} でやり直してください」と伝える。\n","You are executing **XDDP Revise — Apply Human Review Comments**.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional) DOCUMENT_TYPE [REPO_NAME] [IDS]\n- CR_NUMBER: optional; auto-detected from XDDP_DIR if omitted\n- DOCUMENT_TYPE: `analysis` | `req` | `arch` | `design` | `test` | (file path)\n- REPO_NAME: optional; which repo's artifact to revise (for arch\u002Fdesign\u002Ftest in multi-repo). If omitted and IS_MULTI, ask the user.\n- IDS: optional; comma-separated review item numbers to apply (e.g. `1,3`). If omitted, all `⬜ 未対応` items are targeted.\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`.\nLet `DOC_TYPE` = first token of `REST_ARGS`.\nLet remaining = tokens after DOC_TYPE.\nIf remaining is empty: let `IDS` = empty; let `REPO_NAME` = empty.\nElse if last token of remaining matches `^[0-9]+(,[0-9]+)*$`:\n  let `IDS` = that token (parse as comma-separated int list).\n  let `REPO_NAME` = remaining minus IDS token (may be empty if remaining had only one token).\n  Note: repo names consisting solely of digits are indistinguishable from IDS by this rule.\n        Such names should not be used; if unavoidable, the user must specify REPO_NAME before IDS.\nElse: let `IDS` = empty; let `REPO_NAME` = remaining (second token of REST_ARGS).\n  Note: strings that do not match `^[0-9]+(,[0-9]+)*$` (e.g., `1,abc,3`) are intentionally treated as\n        REPO_NAME, not IDS. Such tokens would cause a file-not-found error in Step 1, alerting the user.\nIf IS_MULTI and arch\u002Fdesign\u002Ftest\u002Fspecout is selected and REPO_NAME is empty: ask the user which repo\n(cross も選択肢に含める)。\nIf NOT IS_MULTI and arch\u002Fdesign\u002Ftest\u002Fspecout is selected and REPO_NAME is empty:\n  If REPOS_KEYS is empty: error \"REPOS: が xddp.config.md に設定されていません\"; stop.\n  set REPO_NAME = REPOS_KEYS[0].\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_KEYS, IS_MULTI.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## 1. Resolve target file\n| DOC_TYPE | File |\n|----------|------|\n| `analysis` | `{CR_PATH}\u002F02_analysis\u002FANA-{CR}.md` |\n| `req` | `{CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md` |\n| `specout` | REPO_NAME 未指定かつ IS_MULTI: ユーザーに確認（cross も選択肢に含める）; 単一リポジトリ: REPOS_KEYS[0] を REPO_NAME として使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止。REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F04_specout\u002Fcross\u002FSPO-{CR}-cross.md`。それ以外: `{CR_PATH}\u002F04_specout\u002F{REPO_NAME}\u002FSPO-{CR}.md` |\n| `arch` | 以下の手順でファイルを特定する:\u003Cbr>1. REPO_NAME を解決する（未指定かつ IS_MULTI: ユーザーに確認、cross も選択肢に含める; 単一リポジトリ: REPOS_KEYS[0] を使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止）\u003Cbr>2. REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F05_architecture\u002Fcross\u002FDSN-{CR}-cross.md` を修正対象とし、手順3・4はスキップする（cross DSN は比較案を持たない単一ファイルとして直接生成されるため。`xddp-05-arch\u002FSKILL.md`「## Step A-cross」参照）\u003Cbr>3. `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002FDSN-{CR}-comparison.md` が存在する場合: 「比較ファイル（comparison.md）、案ファイル（approach-A.md, approach-B.md, ...）のいずれを修正しますか？」とユーザーに確認し、対象ファイルを決定する。\u003Cbr>4. comparison.md が存在しない場合（1案）: `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002FDSN-{CR}-approach-A.md` を修正対象とする。 |\n| `design` | 「## 1a. design 対象ファイルの解決」参照 |\n| `test` | REPO_NAME 未指定かつ IS_MULTI: ユーザーに確認（cross も選択肢に含める）; 単一リポジトリ: REPOS_KEYS[0] を REPO_NAME として使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には cross 成果物は存在しません」で停止。REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F09_test-spec\u002Fcross\u002FTSP-{CR}-cross.md`。それ以外: `{CR_PATH}\u002F09_test-spec\u002F{REPO_NAME}\u002FTSP-{CR}.md` |\n| other | treat as file path |\n\nIf DOC_TYPE omitted: ask the user which document to revise.\n\n## 1a. design 対象ファイルの解決\n\nCHDはインデックス＋UR別内容ファイルに分割されている。対象が単一ファイルでなくなるため、\n候補をインデックスから提示してユーザーに確認する。\n\n1. REPO_NAME を解決する（未指定かつ IS_MULTI: ユーザーに確認〔cross も選択肢に含める〕; 単一リポジトリ:\n   REPOS_KEYS[0] を使用。NOT IS_MULTI で REPO_NAME が `\"cross\"` の場合はエラー「シングルリポジトリ構成には\n   cross 成果物は存在しません」で停止）。\n2. Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Discover CHD Files\" with:\n   CR_PATH: {CR_PATH}, REPO_NAME: {REPO_NAME}, CR: {CR}\n   → let `CHD_CONTENT_FILES`.\n3. `CHD_CONTENT_FILES` が複数件の場合: 候補一覧（UR ID・バッチ番号・ファイルパス）をユーザーに提示し、\n   修正対象とする単一ファイルを選ばせる。1件のみの場合はそのまま使用する。\n4. 選択されたファイルを以降の「対象ファイル」として使用する。\n\n## 2. Load review items\nLet `REVIEW_FILE` = the review file path resolved from DOC_TYPE (Step 4 のパスマッピングと同一。Step 4 自体は変更なし)。\n\n**Case A — REVIEW_FILE exists:**\nRead REVIEW_FILE. Extract rows from `## 2. 指摘事項と対応内容` table where 対応状況 = `⬜ 未対応`.\nLet `OPEN_ITEMS` = list of extracted rows (columns: #, 重要度, 場所, 指摘内容).\n\nIf IDS is specified: filter OPEN_ITEMS to those whose `#` matches any value in IDS.\n  Let `MISSING_IDS` = values in IDS that had no matching row in OPEN_ITEMS.\n  If MISSING_IDS is non-empty: warn \"指定された ID が見つかりませんでした: {MISSING_IDS}（スキップします）\".\n  If no items remain after filtering: report \"指定された ID に該当する未対応指摘が見つかりませんでした\" and stop.\n  (Partial match is intentional — found items are applied; missing IDs are skipped with a warning.)\n\nIf OPEN_ITEMS is empty: report \"未対応の指摘はありません\" and stop.\n\nDisplay OPEN_ITEMS as a table and tell the user:\n> 以下の指摘を成果物に反映します。よろしいですか？（修正不要な項目があれば番号で除外を指示してください）\n\nWait for user confirmation. If the user excludes items, remove them from OPEN_ITEMS.\nExcluded items remain `⬜ 未対応` in the review file (対応状況は更新しない)。\n\n**Case B — REVIEW_FILE does not exist:**\nTell the user:\n> レビューファイルが見つかりません。修正したい箇所と内容を教えてください。セクション名や行番号（任意）と修正内容をリスト形式で入力してください。\n\nWait for user input. Treat the user input as OPEN_ITEMS (freeform).\n\n## 3. Apply revisions\nRead the target file. Apply each item in OPEN_ITEMS:\n- Minimal, targeted edits only — do not rewrite unaffected sections.\n- Maintain document structure, numbering, and TM consistency.\n\n## 3.5. Ensure output directory exists\n\nRun `mkdir -p {parent directory of review file}` using Bash to create the review output directory if it does not exist.\n\n## 4. Record in review file\nUpdate the corresponding review file for the document type:\n\n| DOC_TYPE | Review File |\n|---|---|\n| `analysis` | `{CR_PATH}\u002F02_analysis\u002Freview\u002F02_analysis-review.md` |\n| `req` | `{CR_PATH}\u002F03_change-requirements\u002Freview\u002F03_change-requirements-review.md` |\n| `specout` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F04_specout\u002Fcross\u002Freview\u002F04_specout-cross-review.md`。それ以外: `{CR_PATH}\u002F04_specout\u002F{REPO_NAME}\u002Freview\u002F04_specout-review.md`（REPO_NAME は上記と同様に解決） |\n| `arch` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F05_architecture\u002Fcross\u002Freview\u002F05_architecture-cross-review.md`。それ以外: `{CR_PATH}\u002F05_architecture\u002F{REPO_NAME}\u002Freview\u002F05_architecture-review.md`（REPO_NAME は上記と同様に解決） |\n| `design` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F06_design\u002Fcross\u002Freview\u002F06_design-cross-review.md`（cross CHD は単一ファイルのため UR-ID\u002Fバッチ番号は付与しない）。それ以外: `{CR_PATH}\u002F06_design\u002F{REPO_NAME}\u002Freview\u002F06_design-review-{UR-ID}[-{N}].md`（REPO_NAME は上記と同様に解決。UR-ID\u002Fバッチ番号は「## 1a. design 対象ファイルの解決」で選択したファイルに対応するもの） |\n| `test` | REPO_NAME が `\"cross\"` の場合: `{CR_PATH}\u002F09_test-spec\u002Fcross\u002Freview\u002F09_test-spec-cross-review.md`。それ以外: `{CR_PATH}\u002F09_test-spec\u002F{REPO_NAME}\u002Freview\u002F09_test-spec-review.md`（REPO_NAME は上記と同様に解決） |\n| other | `{CR_PATH}\u002Freview\u002Fmanual-review.md` |\n\n- If file exists:\n  - For Case A (auto-loaded from review file): update `対応状況` column of each applied row from `⬜ 未対応` to `✅ 対応済`, and fill in `対応内容` column with a summary of the change applied.\n  - For Case B (freeform input): append human review items and mark ✅ 対応済.\n- If not: create using review template with reviewer \"人間（今日の日付）\".\n\n## 5. Increment version\nAdd 変更履歴 entry: version +0.1, today, author \"人\", description of changes.\n\n## 6. Report in Japanese\n\nDOC_TYPE が `design` で REPO_NAME が `cross` でない場合、報告の末尾で次を行う（`{repo}` = REPO_NAME）:\n  Run via Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py show --cr-path {CR_PATH} --step 6a` → `state`。`⬜ 未着手` なら行わない。\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fregression-status.md`, apply \"## Regression Status\"（CR: {CR}, CR_PATH: {CR_PATH}, REPO: {repo}, MODE: status）。\n  `FORMAT_ERROR` が空でなければ「{repo} の回帰の範囲を確かめられません（CHD §4 の書式の誤り: {FORMAT_ERROR}）。\u002Fxddp-revise {CR} design で直してから \u002Fxddp-06-design {CR} regression --repo {repo} を実行してください」、それ以外で `STALE` が true なら「{repo} の回帰の範囲（CHD §7 の回帰の行）が古くなりました。\u002Fxddp-06-design {CR} regression --repo {repo} でやり直してください」と伝える。\n  `FORMAT_ERROR` が空なら続けて、`COCHANGE_FORMAT_ERROR` が空でなければ「{repo} の一緒に直す候補を確かめられません（CHD §4.1 の表の書式の誤り: {COCHANGE_FORMAT_ERROR}）。\u002Fxddp-revise {CR} design で直してから \u002Fxddp-06-design {CR} regression --repo {repo} を実行してください」、それ以外で `COCHANGE_STALE` が true なら「{repo} の一緒に直す候補（CHD §4・§4.1）が古くなりました。\u002Fxddp-06-design {CR} regression --repo {repo} でやり直してください」と伝える。\n",{},"main","0719b3a37b134895da55968646acffe58aedce8f","ClaudeCode\u002F.claude\u002Fskills\u002Fxddp-revise",0,"https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings","https:\u002F\u002Fgithub.com\u002Ftsuna44","2026-11-08 08:45:39",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add tsuna44\u002FXddpSettings --skill xddp-revise",{"tool":37,"command":38},"bunx","bunx skills add tsuna44\u002FXddpSettings --skill xddp-revise",{"tool":40,"command":41},"pnpm","pnpm dlx skills add tsuna44\u002FXddpSettings --skill xddp-revise","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-revise\u002FSKILL.md",true,[],[46,59,66,74,81,103],{"skillNo":47,"name":48,"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":49,"categories":50,"keywords":56,"publishedAt":19},"01M6MDVNN0ZX8D5KABK9G0067Z","demo.skill","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.skill\u002FSKILL.md",[51],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[57,58],"demo skill","demo",{"skillNo":60,"name":61,"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":62,"categories":63,"keywords":64,"publishedAt":19},"01M6MDVK20HAJYBMXM7VX50A3J","demo.noname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.noname\u002FSKILL.md",[],[65,58],"demo noname",{"skillNo":67,"name":68,"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":69,"categories":70,"keywords":71,"publishedAt":19},"01M6MDVFS20532JT4V7WT779XH","demo.common","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.common\u002FSKILL.md",[],[72,73,58],"demo common","common",{"skillNo":75,"name":76,"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":77,"categories":78,"keywords":79,"publishedAt":19},"01M6MDVCV2JFN66NJTFG1CCJS1","demo.badname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.badname\u002FSKILL.md",[],[80,58],"demo badname",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":90,"publishedAt":19},"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",[87],{"categoryNo":88,"categoryName":89,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000021","资料检索与研究",[91,92,93,94,95,96,97,98,99,100,101,102],"xddp update knowledge","update knowledge","knowledge","update","note","structure","constraint","lesson","glossary","baseline","flow","docs",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":117,"publishedAt":19},"01M6MDV2Q1Z02WAN4CZ2WVFZ27","xddp-sync-design","コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design\u002FSKILL.md",[109,112],{"categoryNo":110,"categoryName":111,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[118,119,120,121],"sync","xddp sync design","design","生成"]