[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDV2Q1Z02WAN4CZ2WVFZ27":3,"skill-same:01M6MDV2Q1Z02WAN4CZ2WVFZ27":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":27,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":38,"commitSha":39,"skillDirectory":40,"forksCount":41,"repositoryHtmlUrl":42,"repositoryHomepageUrl":6,"ownerHtmlUrl":43,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":44,"install":45,"resources":58},"01M6MDV2Q1Z02WAN4CZ2WVFZ27","xddp-sync-design",null,"コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。","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-sync-design\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":25,"taxonomyTypeDesc":26},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[28,29,30,31],"design","sync","xddp sync design","生成","2026-11-10 10:12:30",false,"---\nname: xddp-sync-design\ndescription: コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。\nargument-hint: \"[CR番号] [変更サマリ（省略可）]\"\n---\n\nYou are orchestrating **XDDP sync-design — Code-to-DSN Revision Generation**.\n\nArguments: $ARGUMENTS = [CR_NUMBER] (optional) [, 変更サマリ（省略可）]\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS\n  → let `CR`, `REST_ARGS`.\nLet `TODAY` = today's date.\nLet `CHANGE_SUMMARY` = `REST_ARGS`（空の場合は Step 2 で git diff から自動生成）\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_MAP, REPOS_KEYS.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## Step 1: Determine revision numbers\n\nLet `CURRENT_DSN_MAP`  = {}  （repo → 現在の最新 DSN ファイルパス）\nLet `NEW_DSN_FILE_MAP` = {}  （repo → 今回生成するリビジョンファイルパス）\nLet `NEXT_REV_NUM_MAP` = {}  （repo → 今回の rev 番号）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  Let `EXISTING_REVS` = glob `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev*.md`\n    （rev ファイルが存在しない場合は空リスト）\n  Let `NEXT_REV_NUM_MAP[{repo}]`  = len(EXISTING_REVS) + 1\n  Let `CURRENT_DSN_MAP[{repo}]`   =\n    if EXISTING_REVS is not empty: 最大番号の rev ファイル\n    else: `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}.md`\n  Let `NEW_DSN_FILE_MAP[{repo}]`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM_MAP[{repo}]}.md`\n\n## Step 2: Collect code context\n\nRun: `git -C {WORKSPACE_ROOT} diff HEAD` → let `GIT_DIFF`\n（`git diff HEAD` は HEAD とワーキングツリーの差分を返す。`git add` 済みのステージング変更も未ステージングの変更も両方含む（ステージング済みのみは `git diff --staged HEAD`、未ステージングのみは `git diff`）。\nコミット済みの変更を対象にする場合は `git diff {base_ref}..HEAD` 等が必要であり、\nその場合は REST_ARGS に変更サマリと共に明示する）\n\nIf `GIT_DIFF` is empty:\n  Report: \"⚠️ git diff HEAD が空です（ワーキングツリー・インデックスに HEAD 比較の差分なし）。\"\n  Ask human: \"続行しますか？コミット済みの変更を対象にする場合は\n    `\u002Fxddp-sync-design {CR} {変更サマリ}` で変更サマリを指定するか、\n    コミット前の状態に戻して再実行してください。\"\n  If No: Stop.\n\nIf `CHANGE_SUMMARY` is empty:\n  Let `CHANGE_SUMMARY` = GIT_DIFF の変更ファイル一覧と変更行数の概要を自動生成\n\nLet `CHANGED_FILES_MAP` = {}  （repo → 変更ファイル一覧）\nLet `REPO_DIFF_MAP`     = {}  （repo → diff 抽出）\nLet `CRS_FILE_MAP`      = {}  （repo → CRS ファイルパス。存在しない場合は空文字）\nLet `STEERING_MAP`      = {}  （repo → steering context）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  Let `CHANGED_FILES_MAP[{repo}]` = GIT_DIFF から `{REPOS_MAP[{repo}]}` 配下の変更ファイル一覧\n  Let `REPO_DIFF_MAP[{repo}]`     = GIT_DIFF から `{REPOS_MAP[{repo}]}` 配下の差分のみ抽出\n  Let `CRS_PATH` = `{CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md`\n  Let `CRS_FILE_MAP[{repo}]` = `CRS_PATH` if exists, else \"\"\n  Read Steering Context（xddp-common \"## Load Steering Context\" with XDDP_DIR, REPO_NAME={repo}）\n    → let `STEERING_MAP[{repo}]`\n\nLet `AFFECTED_REPOS` = `{repo for repo in REPOS_KEYS if REPO_DIFF_MAP[{repo}] is not empty}`\nIf `AFFECTED_REPOS` is empty:\n  Report: \"⚠️ いずれのリポジトリにも差分が検出されませんでした。処理を終了します。\"\n  Stop.\n\n## Step 3: Regenerate DSN per repo\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `CURRENT_DSN`  = `CURRENT_DSN_MAP[{repo}]`\n  If `CURRENT_DSN` does not exist:\n    Report error: \"DSN-{CR}.md が存在しません（repo: {repo}）。工程5（xddp-05-arch）を先に実施してください。\"\n    Stop.\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n\n  **Agent tool** `subagent_type=xddp-design-sync-agent`:\n  ```\n  CR_NUMBER: {CR}\n  REPO_NAME: {repo}\n  CURRENT_DSN_FILE: {CURRENT_DSN}\n  CHANGED_FILES: {CHANGED_FILES_MAP[{repo}]}\n  REPO_DIFF: {REPO_DIFF_MAP[{repo}]}\n  CRS_FILE: {CRS_FILE_MAP[{repo}]}（空文字の場合は省略）\n  OUTPUT_FILE: {NEW_DSN_FILE}\n  CHANGE_SUMMARY: {CHANGE_SUMMARY}\n  RULEBOOK_CONTEXT: {STEERING_MAP[{repo}]}\n  TODAY: {TODAY}\n  ```\n\n## Step 4: AI review\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `CURRENT_DSN`  = `CURRENT_DSN_MAP[{repo}]`\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n  Let `REVIEW_FILE`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM}-review.md`\n\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Finvoke-reviewer.md`, apply \"## Invoke Reviewer\" with:\n    DOCUMENT_TYPE: DSN, TARGET_FILE: {NEW_DSN_FILE},\n    REFERENCE_FILES: [{CURRENT_DSN}]（CRS_FILE_MAP[{repo}] が非空の場合は追加）,\n    REVIEW_ROUND: 1, OUTPUT_FILE: {REVIEW_FILE}\n\n## Step 5: Report and request approval\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n  Let `REVIEW_FILE`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM}-review.md`\n  Show: `{repo}` のレビュー結果サマリー（`{REVIEW_FILE}` から重要度別件数を表示）\n\n承認確認として以下の一覧を表示する:\n  | repo | リビジョンファイル | レビュー判定 |\n  |------|-----------------|------------|\n  （AFFECTED_REPOS ごとに `{repo}` \u002F `NEW_DSN_FILE_MAP[{repo}]` \u002F ?件数・?件数 を列挙）\n\nAsk: \"上記 {len(AFFECTED_REPOS)} リポジトリの DSN リビジョンを承認しますか？\"\nIf approved → proceed to Step 6.\nIf not approved:\n  Report: \"修正後に再度 `\u002Fxddp-sync-design {CR}` を実行してください。\"\n  Stop.\n\n## Step 6 (承認後): latest-specs 更新ガイダンス\n\n以下を案内する:\n\n```\n✅ 以下の DSN リビジョンが承認されました:\n  （AFFECTED_REPOS ごとに NEW_DSN_FILE_MAP[{repo}] を列挙）\n\nlatest-specs を最新状態に更新するには、以下を実行してください:\n  \u002Fxddp-11-specs {CR}\n\n（xddp-11-specs は現状コードと CHD を参照して latest-specs を生成・更新します）\n\n⚠️ 注意: このスキルは DSN のみ更新し、CHD は更新しません。\n  DSN と CHD に大きな乖離がある場合、xddp-11-specs が CHD ベースで仕様を生成するため\n  最新 DSN と整合しない仕様書が生成されるリスクがあります。\n  CHD も更新が必要な場合は先に \u002Fxddp-06-design を実行してください。\n```\n\n---\n> **保守メモ:** このファイルを変更した場合は、`README.md`（スキル一覧テーブル）および\n> `CLAUDE.md`（ステップ番号体系テーブル）を合わせて更新すること。\n","You are orchestrating **XDDP sync-design — Code-to-DSN Revision Generation**.\n\nArguments: $ARGUMENTS = [CR_NUMBER] (optional) [, 変更サマリ（省略可）]\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS\n  → let `CR`, `REST_ARGS`.\nLet `TODAY` = today's date.\nLet `CHANGE_SUMMARY` = `REST_ARGS`（空の場合は Step 2 で git diff から自動生成）\n\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_MAP, REPOS_KEYS.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## Step 1: Determine revision numbers\n\nLet `CURRENT_DSN_MAP`  = {}  （repo → 現在の最新 DSN ファイルパス）\nLet `NEW_DSN_FILE_MAP` = {}  （repo → 今回生成するリビジョンファイルパス）\nLet `NEXT_REV_NUM_MAP` = {}  （repo → 今回の rev 番号）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  Let `EXISTING_REVS` = glob `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev*.md`\n    （rev ファイルが存在しない場合は空リスト）\n  Let `NEXT_REV_NUM_MAP[{repo}]`  = len(EXISTING_REVS) + 1\n  Let `CURRENT_DSN_MAP[{repo}]`   =\n    if EXISTING_REVS is not empty: 最大番号の rev ファイル\n    else: `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}.md`\n  Let `NEW_DSN_FILE_MAP[{repo}]`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM_MAP[{repo}]}.md`\n\n## Step 2: Collect code context\n\nRun: `git -C {WORKSPACE_ROOT} diff HEAD` → let `GIT_DIFF`\n（`git diff HEAD` は HEAD とワーキングツリーの差分を返す。`git add` 済みのステージング変更も未ステージングの変更も両方含む（ステージング済みのみは `git diff --staged HEAD`、未ステージングのみは `git diff`）。\nコミット済みの変更を対象にする場合は `git diff {base_ref}..HEAD` 等が必要であり、\nその場合は REST_ARGS に変更サマリと共に明示する）\n\nIf `GIT_DIFF` is empty:\n  Report: \"⚠️ git diff HEAD が空です（ワーキングツリー・インデックスに HEAD 比較の差分なし）。\"\n  Ask human: \"続行しますか？コミット済みの変更を対象にする場合は\n    `\u002Fxddp-sync-design {CR} {変更サマリ}` で変更サマリを指定するか、\n    コミット前の状態に戻して再実行してください。\"\n  If No: Stop.\n\nIf `CHANGE_SUMMARY` is empty:\n  Let `CHANGE_SUMMARY` = GIT_DIFF の変更ファイル一覧と変更行数の概要を自動生成\n\nLet `CHANGED_FILES_MAP` = {}  （repo → 変更ファイル一覧）\nLet `REPO_DIFF_MAP`     = {}  （repo → diff 抽出）\nLet `CRS_FILE_MAP`      = {}  （repo → CRS ファイルパス。存在しない場合は空文字）\nLet `STEERING_MAP`      = {}  （repo → steering context）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  Let `CHANGED_FILES_MAP[{repo}]` = GIT_DIFF から `{REPOS_MAP[{repo}]}` 配下の変更ファイル一覧\n  Let `REPO_DIFF_MAP[{repo}]`     = GIT_DIFF から `{REPOS_MAP[{repo}]}` 配下の差分のみ抽出\n  Let `CRS_PATH` = `{CR_PATH}\u002F03_change-requirements\u002FCRS-{CR}.md`\n  Let `CRS_FILE_MAP[{repo}]` = `CRS_PATH` if exists, else \"\"\n  Read Steering Context（xddp-common \"## Load Steering Context\" with XDDP_DIR, REPO_NAME={repo}）\n    → let `STEERING_MAP[{repo}]`\n\nLet `AFFECTED_REPOS` = `{repo for repo in REPOS_KEYS if REPO_DIFF_MAP[{repo}] is not empty}`\nIf `AFFECTED_REPOS` is empty:\n  Report: \"⚠️ いずれのリポジトリにも差分が検出されませんでした。処理を終了します。\"\n  Stop.\n\n## Step 3: Regenerate DSN per repo\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `CURRENT_DSN`  = `CURRENT_DSN_MAP[{repo}]`\n  If `CURRENT_DSN` does not exist:\n    Report error: \"DSN-{CR}.md が存在しません（repo: {repo}）。工程5（xddp-05-arch）を先に実施してください。\"\n    Stop.\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n\n  **Agent tool** `subagent_type=xddp-design-sync-agent`:\n  ```\n  CR_NUMBER: {CR}\n  REPO_NAME: {repo}\n  CURRENT_DSN_FILE: {CURRENT_DSN}\n  CHANGED_FILES: {CHANGED_FILES_MAP[{repo}]}\n  REPO_DIFF: {REPO_DIFF_MAP[{repo}]}\n  CRS_FILE: {CRS_FILE_MAP[{repo}]}（空文字の場合は省略）\n  OUTPUT_FILE: {NEW_DSN_FILE}\n  CHANGE_SUMMARY: {CHANGE_SUMMARY}\n  RULEBOOK_CONTEXT: {STEERING_MAP[{repo}]}\n  TODAY: {TODAY}\n  ```\n\n## Step 4: AI review\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `CURRENT_DSN`  = `CURRENT_DSN_MAP[{repo}]`\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n  Let `REVIEW_FILE`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM}-review.md`\n\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Finvoke-reviewer.md`, apply \"## Invoke Reviewer\" with:\n    DOCUMENT_TYPE: DSN, TARGET_FILE: {NEW_DSN_FILE},\n    REFERENCE_FILES: [{CURRENT_DSN}]（CRS_FILE_MAP[{repo}] が非空の場合は追加）,\n    REVIEW_ROUND: 1, OUTPUT_FILE: {REVIEW_FILE}\n\n## Step 5: Report and request approval\n\nFor each `{repo}` in `AFFECTED_REPOS`:\n  Let `NEW_DSN_FILE` = `NEW_DSN_FILE_MAP[{repo}]`\n  Let `NEXT_REV_NUM` = `NEXT_REV_NUM_MAP[{repo}]`\n  Let `REVIEW_FILE`  = `{CR_PATH}\u002F05_architecture\u002F{repo}\u002FDSN-{CR}-rev{NEXT_REV_NUM}-review.md`\n  Show: `{repo}` のレビュー結果サマリー（`{REVIEW_FILE}` から重要度別件数を表示）\n\n承認確認として以下の一覧を表示する:\n  | repo | リビジョンファイル | レビュー判定 |\n  |------|-----------------|------------|\n  （AFFECTED_REPOS ごとに `{repo}` \u002F `NEW_DSN_FILE_MAP[{repo}]` \u002F ?件数・?件数 を列挙）\n\nAsk: \"上記 {len(AFFECTED_REPOS)} リポジトリの DSN リビジョンを承認しますか？\"\nIf approved → proceed to Step 6.\nIf not approved:\n  Report: \"修正後に再度 `\u002Fxddp-sync-design {CR}` を実行してください。\"\n  Stop.\n\n## Step 6 (承認後): latest-specs 更新ガイダンス\n\n以下を案内する:\n\n```\n✅ 以下の DSN リビジョンが承認されました:\n  （AFFECTED_REPOS ごとに NEW_DSN_FILE_MAP[{repo}] を列挙）\n\nlatest-specs を最新状態に更新するには、以下を実行してください:\n  \u002Fxddp-11-specs {CR}\n\n（xddp-11-specs は現状コードと CHD を参照して latest-specs を生成・更新します）\n\n⚠️ 注意: このスキルは DSN のみ更新し、CHD は更新しません。\n  DSN と CHD に大きな乖離がある場合、xddp-11-specs が CHD ベースで仕様を生成するため\n  最新 DSN と整合しない仕様書が生成されるリスクがあります。\n  CHD も更新が必要な場合は先に \u002Fxddp-06-design を実行してください。\n```\n\n---\n> **保守メモ:** このファイルを変更した場合は、`README.md`（スキル一覧テーブル）および\n> `CLAUDE.md`（ステップ番号体系テーブル）を合わせて更新すること。\n",{"name":5,"description":7,"argument-hint":37},"[CR番号] [変更サマリ（省略可）]","main","0719b3a37b134895da55968646acffe58aedce8f","ClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design",0,"https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings","https:\u002F\u002Fgithub.com\u002Ftsuna44","2026-11-08 08:45:39",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add tsuna44\u002FXddpSettings --skill xddp-sync-design",{"tool":51,"command":52},"bunx","bunx skills add tsuna44\u002FXddpSettings --skill xddp-sync-design",{"tool":54,"command":55},"pnpm","pnpm dlx skills add tsuna44\u002FXddpSettings --skill xddp-sync-design","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design\u002FSKILL.md",true,[],[60,71,78,86,93,115],{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":68,"publishedAt":32},"01M6MDVNN0ZX8D5KABK9G0067Z","demo.skill","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.skill\u002FSKILL.md",[65],{"categoryNo":66,"categoryName":67,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[69,70],"demo skill","demo",{"skillNo":72,"name":73,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":32},"01M6MDVK20HAJYBMXM7VX50A3J","demo.noname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.noname\u002FSKILL.md",[],[77,70],"demo noname",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":32},"01M6MDVFS20532JT4V7WT779XH","demo.common","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.common\u002FSKILL.md",[],[84,85,70],"demo common","common",{"skillNo":87,"name":88,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":32},"01M6MDVCV2JFN66NJTFG1CCJS1","demo.badname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.badname\u002FSKILL.md",[],[92,70],"demo badname",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":102,"publishedAt":32},"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",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[103,104,105,106,107,108,109,110,111,112,113,114],"update","knowledge","xddp update knowledge","update knowledge","structure","constraint","note","lesson","glossary","baseline","flow","docs",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":32},"01M6MDTX7S802386PM35ZRYK1V","xddp-survey","CR 非依存で母体コードを調査し「現状仕様」を文書化する。調査後に (a) 調査のみ (b) knowledge へ昇格 (c) specs へ昇格 を人が選択する。CR を1本も回していない母体から仕様書を起こす場合に使用する。 「母体を調査して」「コードの仕様を調べて」「baseline を起こして」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-survey\u002FSKILL.md",[],[122,123,124,125,104,112],"survey","xddp survey","promote","module"]