[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDTMP56QPHCQPEKXCVHSGD":3,"skill-same:01M6MDTMP56QPHCQPEKXCVHSGD":46},{"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":20,"linkOnly":21,"markdownContent":22,"markdownBody":23,"frontMatter":24,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":31,"install":32,"resources":45},"01M6MDTMP56QPHCQPEKXCVHSGD","xddp-set-profile",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-set-profile\u002FSKILL.md",[],[17,18,19],"SET","profile","xddp set profile","2026-11-10 10:12:30",false,"---\nname: xddp-set-profile\ndescription: XDDP CRプロファイル切替: CR_PROFILE（full\u002Fquick）を明示的に切り替える。工程の途中で影響範囲の見積もりが変わった場合に使用する。「quickに切り替えて」「fullに戻して」などで起動する。\nargument-hint: \"CR番号 {full|quick} [理由]\"\n---\n\nYou are executing **XDDP Set Profile — Switch CR_PROFILE**.\n\n**Arguments:** $ARGUMENTS = CR_NUMBER NEW_PROFILE [REASON]\n- CR_NUMBER: required; the CR whose `CR_PROFILE` to switch\n- NEW_PROFILE: required; `full` or `quick`\n- REASON: optional; free-text reason recorded in the progress.md history (e.g. specout completion revealed the CR is smaller\u002Flarger than expected)\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`\n（および `CR_PROFILE` を含む標準設定バンドル。ここでの `CR_PROFILE` は「切替前」の現在値）。\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`（`xddp-revise\u002FSKILL.md` 35行目と同じパターン。\n`## CR Resolution` 自身は `CR_PATH` を返さないため、呼び出し元が明示的に構築する）。\n\n## Step 1: Resolve target profile and reason\n\nLet `NEW_PROFILE` = 1st token of `REST_ARGS`, `REASON` = 残りのトークンを結合した文字列（任意）。\n\nRead `{CR_PATH}\u002Fprogress.md` and check whether a `**CRプロファイル：**` line exists（no-op 判定に必要。\n`CR_PROFILE` は既に `## CR Resolution` から解決済みの最終値のみを持ち、その値が「ヘッダ行に明示された\n値」なのか「ヘッダ行不在によるフォールバック値（`full`）」なのかを区別できないため、実体を直接確認する）。\n\n1. `NEW_PROFILE` が `full` \u002F `quick` のいずれでもない場合: エラーを報告して停止。\n2. `NEW_PROFILE` が現在の `CR_PROFILE` と同じ場合: 「既に {NEW_PROFILE} です」と伝えて停止（no-op）。\n   ただし `{CR_PATH}\u002Fprogress.md` に `**CRプロファイル：**` 行が存在しない場合（`xddp-01-init` が\n   ヘッダ行を書くようになる以前に作成された旧形式の CR。`CR_PROFILE` は `full` にフォールバック\n   解決される）は、値が同じでもヘッダ行を実体化するために停止せず Step 2 へ進む。\n\n## Step 2: Update progress.md header\n\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py set-profile --cr-path {CR_PATH} --profile {NEW_PROFILE}`\n→ let `OLD_PROFILE`（コマンドの JSON 出力 `old_profile` フィールド）。\n\n## Step 2.5: Repair progress.md state affected by the previous profile\n\nプロファイルの切替は「どの工程を実施するか」を変えるため、前のプロファイルの前提で書き込まれた\nprogress.md の記録を実フローに追従させる（`\u002Fxddp-status` の誤案内を防ぐ）。\n\n1. `OLD_PROFILE` = `quick` かつ `NEW_PROFILE` = `full` の場合、`## 工程進捗` テーブルの工程5の状態を\n   確認し、`⏭️ スキップ（対象外）` または `⏭️ スキップ（quick: cross DSN のみ生成）` であれば\n   `⬜ 未着手` に戻す（成果物列も `-` にクリアする）:\n     `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py update --cr-path {CR_PATH} --step 5 --state \"⬜ 未着手\" --detail \"-\" --artifact-link \"-\"`\n   （`--artifact-link \"-\"` を渡さないと、quick 時に設定された cross DSN のリンクが成果物列に残り、\n   `xddp-status`「## 6. Artifact checklist」が未着手の工程5を ✅ と表示してしまう。\n   `xddp_progress.py` は `--artifact-link` 省略時に既存値を保持するため、クリアには明示的な値の\n   指定が必要。空文字 `\"\"` は falsy で無視されるため `-` を渡すこと）\n   （`update` サブコマンドのオプションは `--cr-path` \u002F `--step` \u002F `--state` \u002F `--detail` \u002F `--artifact-link`。\n   実ファイル `xddp_progress.py` の `build_parser()` で確認済み）\n   （工程5は `full` では実施対象であり、`⏭️` のまま残すと `\u002Fxddp-status` が工程5を完了扱いで\n   読み飛ばす。工程3の `⏭️ スキップ（工程2に統合）` は成果物が既に統合生成済みであり\n   やり直さないため戻さない。Step 4 の案内と整合する）\n2. `## 次に実行すべきコマンド` 欄を新しいプロファイルにおける実際の次工程で更新する\n   （`## 工程進捗` テーブルの先頭から最初の `⬜ 未着手` を持つ工程を探し、その工程のコマンドを\n   設定する。`xddp-status` の判定ロジックに準じる）。\n\n## Step 3: Record the change\n\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py history-add --cr-path {CR_PATH} --step - --text \"CRプロファイルを {OLD_PROFILE} → {NEW_PROFILE} に変更（理由: {REASON、未指定なら「未記入」}）\"`\n\n## Step 4: Report impact to the user (Japanese)\n\nすでに完了・スキップ済みの工程には遡及しないことを明示する:\n\n- `quick` → `full` の場合:\n  - 工程2\u002F3（統合済みの場合）はそのまま維持する。追加のAIレビューが必要な場合は `\u002Fxddp-review {CR} req` を案内する。\n  - 工程5は Step 2.5 で `⬜ 未着手` に戻しているため、`\u002Fxddp-05-arch {CR}` を実行すれば通常どおり実施できることを案内する\n    （`CR_PROFILE` は毎回のスキル実行時に再解決されるため、`full` に変わった後の実行は Step -1 の quick 分岐を通らない）。\n  - 未着手の工程（6以降）は full の内容で進む。\n- `full` → `quick` の場合:\n  - 既に完了した工程2\u002F3\u002F4はそのまま（統合し直さない・再探索しない）。\n  - 未着手の工程5はスキップ、工程6はCHD簡略化・レビュー1ラウンドで進むことを案内する。\n- 次のコマンド: `## 工程進捗` テーブルを確認し、次に実行すべきコマンドを案内する（`xddp-status` の判定ロジックに準じる）。\n","You are executing **XDDP Set Profile — Switch CR_PROFILE**.\n\n**Arguments:** $ARGUMENTS = CR_NUMBER NEW_PROFILE [REASON]\n- CR_NUMBER: required; the CR whose `CR_PROFILE` to switch\n- NEW_PROFILE: required; `full` or `quick`\n- REASON: optional; free-text reason recorded in the progress.md history (e.g. specout completion revealed the CR is smaller\u002Flarger than expected)\n\n---\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with $ARGUMENTS → let `CR`, `REST_ARGS`\n（および `CR_PROFILE` を含む標準設定バンドル。ここでの `CR_PROFILE` は「切替前」の現在値）。\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`（`xddp-revise\u002FSKILL.md` 35行目と同じパターン。\n`## CR Resolution` 自身は `CR_PATH` を返さないため、呼び出し元が明示的に構築する）。\n\n## Step 1: Resolve target profile and reason\n\nLet `NEW_PROFILE` = 1st token of `REST_ARGS`, `REASON` = 残りのトークンを結合した文字列（任意）。\n\nRead `{CR_PATH}\u002Fprogress.md` and check whether a `**CRプロファイル：**` line exists（no-op 判定に必要。\n`CR_PROFILE` は既に `## CR Resolution` から解決済みの最終値のみを持ち、その値が「ヘッダ行に明示された\n値」なのか「ヘッダ行不在によるフォールバック値（`full`）」なのかを区別できないため、実体を直接確認する）。\n\n1. `NEW_PROFILE` が `full` \u002F `quick` のいずれでもない場合: エラーを報告して停止。\n2. `NEW_PROFILE` が現在の `CR_PROFILE` と同じ場合: 「既に {NEW_PROFILE} です」と伝えて停止（no-op）。\n   ただし `{CR_PATH}\u002Fprogress.md` に `**CRプロファイル：**` 行が存在しない場合（`xddp-01-init` が\n   ヘッダ行を書くようになる以前に作成された旧形式の CR。`CR_PROFILE` は `full` にフォールバック\n   解決される）は、値が同じでもヘッダ行を実体化するために停止せず Step 2 へ進む。\n\n## Step 2: Update progress.md header\n\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py set-profile --cr-path {CR_PATH} --profile {NEW_PROFILE}`\n→ let `OLD_PROFILE`（コマンドの JSON 出力 `old_profile` フィールド）。\n\n## Step 2.5: Repair progress.md state affected by the previous profile\n\nプロファイルの切替は「どの工程を実施するか」を変えるため、前のプロファイルの前提で書き込まれた\nprogress.md の記録を実フローに追従させる（`\u002Fxddp-status` の誤案内を防ぐ）。\n\n1. `OLD_PROFILE` = `quick` かつ `NEW_PROFILE` = `full` の場合、`## 工程進捗` テーブルの工程5の状態を\n   確認し、`⏭️ スキップ（対象外）` または `⏭️ スキップ（quick: cross DSN のみ生成）` であれば\n   `⬜ 未着手` に戻す（成果物列も `-` にクリアする）:\n     `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py update --cr-path {CR_PATH} --step 5 --state \"⬜ 未着手\" --detail \"-\" --artifact-link \"-\"`\n   （`--artifact-link \"-\"` を渡さないと、quick 時に設定された cross DSN のリンクが成果物列に残り、\n   `xddp-status`「## 6. Artifact checklist」が未着手の工程5を ✅ と表示してしまう。\n   `xddp_progress.py` は `--artifact-link` 省略時に既存値を保持するため、クリアには明示的な値の\n   指定が必要。空文字 `\"\"` は falsy で無視されるため `-` を渡すこと）\n   （`update` サブコマンドのオプションは `--cr-path` \u002F `--step` \u002F `--state` \u002F `--detail` \u002F `--artifact-link`。\n   実ファイル `xddp_progress.py` の `build_parser()` で確認済み）\n   （工程5は `full` では実施対象であり、`⏭️` のまま残すと `\u002Fxddp-status` が工程5を完了扱いで\n   読み飛ばす。工程3の `⏭️ スキップ（工程2に統合）` は成果物が既に統合生成済みであり\n   やり直さないため戻さない。Step 4 の案内と整合する）\n2. `## 次に実行すべきコマンド` 欄を新しいプロファイルにおける実際の次工程で更新する\n   （`## 工程進捗` テーブルの先頭から最初の `⬜ 未着手` を持つ工程を探し、その工程のコマンドを\n   設定する。`xddp-status` の判定ロジックに準じる）。\n\n## Step 3: Record the change\n\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py history-add --cr-path {CR_PATH} --step - --text \"CRプロファイルを {OLD_PROFILE} → {NEW_PROFILE} に変更（理由: {REASON、未指定なら「未記入」}）\"`\n\n## Step 4: Report impact to the user (Japanese)\n\nすでに完了・スキップ済みの工程には遡及しないことを明示する:\n\n- `quick` → `full` の場合:\n  - 工程2\u002F3（統合済みの場合）はそのまま維持する。追加のAIレビューが必要な場合は `\u002Fxddp-review {CR} req` を案内する。\n  - 工程5は Step 2.5 で `⬜ 未着手` に戻しているため、`\u002Fxddp-05-arch {CR}` を実行すれば通常どおり実施できることを案内する\n    （`CR_PROFILE` は毎回のスキル実行時に再解決されるため、`full` に変わった後の実行は Step -1 の quick 分岐を通らない）。\n  - 未着手の工程（6以降）は full の内容で進む。\n- `full` → `quick` の場合:\n  - 既に完了した工程2\u002F3\u002F4はそのまま（統合し直さない・再探索しない）。\n  - 未着手の工程5はスキップ、工程6はCHD簡略化・レビュー1ラウンドで進むことを案内する。\n- 次のコマンド: `## 工程進捗` テーブルを確認し、次に実行すべきコマンドを案内する（`xddp-status` の判定ロジックに準じる）。\n",{},"main","0719b3a37b134895da55968646acffe58aedce8f","ClaudeCode\u002F.claude\u002Fskills\u002Fxddp-set-profile",0,"https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings","https:\u002F\u002Fgithub.com\u002Ftsuna44","2026-11-08 08:45:39",{"source":7,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add tsuna44\u002FXddpSettings --skill xddp-set-profile",{"tool":38,"command":39},"bunx","bunx skills add tsuna44\u002FXddpSettings --skill xddp-set-profile",{"tool":41,"command":42},"pnpm","pnpm dlx skills add tsuna44\u002FXddpSettings --skill xddp-set-profile","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-set-profile\u002FSKILL.md",true,[],[47,60,67,75,82,104],{"skillNo":48,"name":49,"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":50,"categories":51,"keywords":57,"publishedAt":20},"01M6MDVNN0ZX8D5KABK9G0067Z","demo.skill","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.skill\u002FSKILL.md",[52],{"categoryNo":53,"categoryName":54,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[58,59],"demo skill","demo",{"skillNo":61,"name":62,"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":63,"categories":64,"keywords":65,"publishedAt":20},"01M6MDVK20HAJYBMXM7VX50A3J","demo.noname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.noname\u002FSKILL.md",[],[66,59],"demo noname",{"skillNo":68,"name":69,"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":70,"categories":71,"keywords":72,"publishedAt":20},"01M6MDVFS20532JT4V7WT779XH","demo.common","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.common\u002FSKILL.md",[],[73,74,59],"demo common","common",{"skillNo":76,"name":77,"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":78,"categories":79,"keywords":80,"publishedAt":20},"01M6MDVCV2JFN66NJTFG1CCJS1","demo.badname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.badname\u002FSKILL.md",[],[81,59],"demo badname",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":91,"publishedAt":20},"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",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000021","资料检索与研究",[92,93,94,95,96,97,98,99,100,101,102,103],"xddp update knowledge","update knowledge","knowledge","update","note","structure","constraint","lesson","glossary","baseline","flow","docs",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":118,"publishedAt":20},"01M6MDV2Q1Z02WAN4CZ2WVFZ27","xddp-sync-design","コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design\u002FSKILL.md",[110,113],{"categoryNo":111,"categoryName":112,"taxonomyType":55,"taxonomyTypeDesc":56},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[119,120,121,122],"sync","xddp sync design","design","生成"]