[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6MDRKTMB6DBA64ZA6NSJ25F":3,"skill-same:01M6MDRKTMB6DBA64ZA6NSJ25F":44},{"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":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":26,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":29,"install":30,"resources":43},"01M6MDRKTMB6DBA64ZA6NSJ25F","xddp-abort",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-abort\u002FSKILL.md",[],[17],"xddp abort","2026-11-10 10:12:30",false,"---\nname: xddp-abort\ndescription: XDDP CR 中止処理: 完了見込みのない CR を理由付きで取りやめ、VCS 後片付けを案内する。CR は再開しない前提の終端操作。一時的な中断（⏸ 中断）とは異なる。「CRを中止して」「CRを取りやめて」「CRを破棄して」などで起動する。\nargument-hint: \"[CR番号] [, 中止理由]\"\n---\n\nYou are orchestrating **XDDP Abort — CR 中止処理**.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional) [, REASON (optional・自由記述)]\n\n---\n\nLet `RAW_INPUT` = $ARGUMENTS（トリム前の原文字列）。\nIf `RAW_INPUT` に `,` が含まれる場合:\n  Let `CR_ARG` = 最初の `,` より前の部分（前後空白を除去）。\n  Let `REASON` = 最初の `,` より後の部分（前後空白を除去）。結果が空文字列なら `null` とする。\nElse:\n  Let `CR_ARG` = `RAW_INPUT`（前後空白を除去）。\n  Let `REASON` = `null`。\n（`argument-hint` の `[, 中止理由]` はカンマ区切りの自由記述を想定しているため、空白区切りの\nトークン分割ではなくカンマで一括分割する。中止理由に読点・スペースを含んでも正しく取得できる。）\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with RAW_ARGS: {CR_ARG}, SKIP_ABORT_GUARD: true → let `CR`, `REST_ARGS`.\n（`SKIP_ABORT_GUARD: true` を明示的に渡すことで、下記「中止済み CR ガード」を本スキル自身では\n発火させない。中止済み CR に対して再度 `\u002Fxddp-abort` を実行した場合は下記 Step 0 が専用メッセージで\n検出・停止するため、`## CR Resolution` 側の汎用ブロッキング確認と二重に衝突することはない。）\n\nLet `TODAY` = today's date (YYYY-MM-DD).\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_MAP, REPOS_KEYS, IS_MULTI, DEVELOPMENT_MODE, VCS_TYPE, VCS_BRANCH_PREFIX.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## Step 0: Precondition Check\n\nRead `{CR_PATH}\u002Fprogress.md`.\nIf a `## CR 中止` section already exists: report \"この CR は既に中止済みです（中止日: {既存の中止日}）。\" and stop.\nIf a `## CR クローズ` section already exists (`xddp-close` 完了済み): report \"この CR は既に完了・クローズ済みのため中止できません。\" and stop.\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py check-in-progress --cr-path {CR_PATH}`\n  → let `CHECK_RESULT`（stdout の JSON 1オブジェクト）。\nIf `CHECK_RESULT.close_progress_in_progress` is `true`\n（`xddp-close` が完了前に中断・進行中の状態。`xddp_progress.py` の `close-state` サブコマンドが\n書き込む専用セクションで、Step C3.5\u002FC3.6 等により既に一部成果物が `latest-specs\u002F` へ昇格済みの\n可能性がある）: report \"この CR は `xddp-close` の処理が中断\u002F進行中の状態です（詳細: {`CHECK_RESULT.close_progress_detail`}）。`\u002Fxddp-close {CR}` を再実行して完了させるか、状態を十分確認したうえで中止の要否を\n判断してください。\" and stop（安全側に倒してブロックする。一部成果物が既に共有知識へ昇格済みの場合、\n中止のみでは実態と整合しなくなるおそれがあるため）。\n（`CHECK_RESULT` はここで初めて取得され、後続の「## Step 4: Mark Progress as Aborted」が\n同じ値をそのまま再利用する。Step 0 は本 SKILL 内で最初に実行されるステップであるため、\n`\u002Fxddp-abort` の実行中に `check-in-progress` を呼び出すのはここ1回のみになる）\n\n## Step 1: Confirm with User\n\nDisplay current progress summary (最終完了工程 = `## 工程進捗` テーブルの最後に ✅ が付いた行、または全て ⬜ なら「未着手」).\n\nIf `REASON` is null: ask the user for a 中止理由（自由記述・必須）.\n\nTell the user:\n> CR `{CR}`（{タイトル}）を中止します。最終完了工程: {最終完了工程}\n> 中止理由: {REASON}\n> この操作は取り消せません（CR は再開しない前提になります）。続行しますか？ [続行 \u002F キャンセル]\n\nWait for user confirmation. If キャンセル: stop without any changes.\n\n## Step 2: VCS Cleanup Guidance\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fresolve-vcs-target-repos.md`, apply \"## Resolve VCS Target Repos\" with:\n  REPO_CANDIDATES: {REPOS_KEYS}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `VCS_TARGET_REPOS`.\n（`xddp-close` Step C-Pre と同一パターン。以下の status 確認ループは情報提供目的のため全リポジトリ\n（`REPOS_KEYS`）を対象とし、警告文言のみ `VCS_TARGET_REPOS`（本 CR のスコープ）に含まれるか否かで\n出し分ける——`xddp-close` Step C-Pre がこの設計を採る理由と同一：スコープ外リポジトリの状態も\n情報として見せたいが、それが本 CR 由来の変更だと誤認されないようにする）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  If `VCS_TYPE` is `none`: skip.\n  Else:\n    Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py status --repo {REPOS_MAP[repo]} --vcs-type {VCS_TYPE}`\n    → let `REPO_STATUS`.\n    If `REPO_STATUS` is `dirty`:\n      If `{repo}` is in `VCS_TARGET_REPOS`:\n        Warn: \"⚠️ {repo} に未コミットの変更があります（本 CR の作業ブランチに残っている可能性があります）。\"\n      Else:\n        Warn: \"⚠️ {repo} に未コミットの変更があります（本 CR のスコープ外です。別の作業・CR による変更である可能性があります）。\"\n    If `REPO_STATUS` is `unknown`:\n      Warn: \"⚠️ {repo} の VCS 状態が不明です。手動で確認してください。\"\n\nTell the user (VCS_TYPE が none でないリポジトリが1つ以上ある場合のみ):\n> 中止に伴うクリーンアップは自動実行されません。必要に応じて以下を手動で実行してください:\n> - 未コミット変更の破棄: 以下を対象リポジトリごとに実行してください:\n>   {for each repo in VCS_TARGET_REPOS: `- {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_TARGET_REPOS` の各 `{repo}` について1行ずつ展開して提示する。\n>   この括弧書きは実装者・実行 AI 向けの生成指示であり、ユーザーへは表示しない）\n> - 作業ブランチ `{VCS_BRANCH_PREFIX}{CR}` の削除: ご利用の VCS コマンドで手動削除してください\n> - 既にコミット済みの変更を取り消す場合は、ご利用の VCS コマンドで revert \u002F reverse merge 等を手動実行してください\n\n## Step 3: Record Insight (Optional)\n\nTell the user:\n> この CR で得られた気づき・改善案があれば、次の CR や `improvement-backlog.md` の入力として\n> 残すことができます。`{CR_PATH}\u002Fprogress.md` の「## 気づき・提案メモ」セクションに追記しますか？ [はい \u002F いいえ]\n\nIf はい: prompt for entries and append to `## 気づき・提案メモ` table in `progress.md`\nusing the same row format as the template（`#`／種別／内容／対応方針の4列。`#` は既存行数+1から\nの連番）.\n(`improvement-backlog.md` \u002F `lessons-learned.md` への昇格は行わない — CR フォルダ内に留め、\n将来 `xddp-update-knowledge` 等で手動登録する運用とする。自動昇格しない理由は、\n中止 CR は完了 CR と異なり品質・妥当性が確定していない気づきを含みうるため。)\n\n## Step 4: Mark Progress as Aborted\n\nReuse `CHECK_RESULT` from「## Step 0: Precondition Check」（同一の `\u002Fxddp-abort` 実行内で既に\n`check-in-progress --cr-path {CR_PATH}` を1回呼び出し済みであり、Step 1〜3（ユーザー確認・VCS\nクリーンアップ案内・気づきメモ追記）は工程進捗テーブル・`## xddp-close 進捗` のいずれも変更しないため\n再取得は不要。`check-in-progress` を呼び直さない）。\nIf `CHECK_RESULT.last_active_step` is not `null`:\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: {CHECK_RESULT.last_active_step}, STATE: ? 中止, DETAIL_STEP: \"CR中止により打ち切り\"\n  （`xddp_progress.py` を直接呼ばず共通プロシージャ経由にすることで、CLAUDE.md「決定的処理はスクリプト・\n  意味判定はLLM」の一元化方針・既存の全スキルの呼び出しパターンに揃える。`DETAIL_STEP` を明示するのは、\n  省略時は既存の詳細ステップ文字列が保持され「作業中」を示す古い文言が状態 `? 中止` と矛盾したまま\n  残ってしまうため。行検出自体は `check-in-progress` の走査結果（`last_active_step`）を再利用し、\n  Step 4 独自の検出ロジックは持たない）\n（マルチリポジトリ CR の「リポジトリ別」サブテーブル（工程4a\u002F7等）は本ステップでは更新しない\n——中止時点の各リポジトリの状態を監査目的でそのまま保持する意図的な設計であり、更新漏れではない）\n\n`{CR_PATH}\u002Fprogress.md` の「## 次に実行すべきコマンド」セクションのコードブロック内容を\n以下に置き換える（`xddp-status` はこのセクションを読まず工程進捗テーブルから動的算出するため\n3.3 の変更だけでは不十分——progress.md を直接読む人・別ツールが誤って旧コマンドを実行しないよう、\n静的セクション自体も書き換える）:\n\n```\n（この CR は中止済みです。再開しない前提のため次に実行すべきコマンドはありません）\n```\n\nAppend at the end of `{CR_PATH}\u002Fprogress.md`:\n\n```\n## CR 中止\n\n- **中止日：** {TODAY}\n- **最終完了工程：** {最終完了工程}\n- **中止理由：** {REASON}\n```\n\n## Step 5: Report in Japanese\n\nReport: 中止日, 中止理由, VCS クリーンアップが必要なリポジトリ一覧（あれば）, 気づきメモの追記有無.\n","You are orchestrating **XDDP Abort — CR 中止処理**.\n\n**Arguments:** $ARGUMENTS = [CR_NUMBER] (optional) [, REASON (optional・自由記述)]\n\n---\n\nLet `RAW_INPUT` = $ARGUMENTS（トリム前の原文字列）。\nIf `RAW_INPUT` に `,` が含まれる場合:\n  Let `CR_ARG` = 最初の `,` より前の部分（前後空白を除去）。\n  Let `REASON` = 最初の `,` より後の部分（前後空白を除去）。結果が空文字列なら `null` とする。\nElse:\n  Let `CR_ARG` = `RAW_INPUT`（前後空白を除去）。\n  Let `REASON` = `null`。\n（`argument-hint` の `[, 中止理由]` はカンマ区切りの自由記述を想定しているため、空白区切りの\nトークン分割ではなくカンマで一括分割する。中止理由に読点・スペースを含んでも正しく取得できる。）\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## CR Resolution\" with RAW_ARGS: {CR_ARG}, SKIP_ABORT_GUARD: true → let `CR`, `REST_ARGS`.\n（`SKIP_ABORT_GUARD: true` を明示的に渡すことで、下記「中止済み CR ガード」を本スキル自身では\n発火させない。中止済み CR に対して再度 `\u002Fxddp-abort` を実行した場合は下記 Step 0 が専用メッセージで\n検出・停止するため、`## CR Resolution` 側の汎用ブロッキング確認と二重に衝突することはない。）\n\nLet `TODAY` = today's date (YYYY-MM-DD).\n(xddp.config.md lookup done in xddp-common\u002FSKILL.md「## CR Resolution」; reuse WORKSPACE_ROOT, XDDP_DIR,\nREPOS_MAP, REPOS_KEYS, IS_MULTI, DEVELOPMENT_MODE, VCS_TYPE, VCS_BRANCH_PREFIX.)\nLet `CR_PATH` = `{WORKSPACE_ROOT}\u002F{XDDP_DIR}\u002F{CR}`.\n\n## Step 0: Precondition Check\n\nRead `{CR_PATH}\u002Fprogress.md`.\nIf a `## CR 中止` section already exists: report \"この CR は既に中止済みです（中止日: {既存の中止日}）。\" and stop.\nIf a `## CR クローズ` section already exists (`xddp-close` 完了済み): report \"この CR は既に完了・クローズ済みのため中止できません。\" and stop.\nRun via Bash:\n  `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_progress.py check-in-progress --cr-path {CR_PATH}`\n  → let `CHECK_RESULT`（stdout の JSON 1オブジェクト）。\nIf `CHECK_RESULT.close_progress_in_progress` is `true`\n（`xddp-close` が完了前に中断・進行中の状態。`xddp_progress.py` の `close-state` サブコマンドが\n書き込む専用セクションで、Step C3.5\u002FC3.6 等により既に一部成果物が `latest-specs\u002F` へ昇格済みの\n可能性がある）: report \"この CR は `xddp-close` の処理が中断\u002F進行中の状態です（詳細: {`CHECK_RESULT.close_progress_detail`}）。`\u002Fxddp-close {CR}` を再実行して完了させるか、状態を十分確認したうえで中止の要否を\n判断してください。\" and stop（安全側に倒してブロックする。一部成果物が既に共有知識へ昇格済みの場合、\n中止のみでは実態と整合しなくなるおそれがあるため）。\n（`CHECK_RESULT` はここで初めて取得され、後続の「## Step 4: Mark Progress as Aborted」が\n同じ値をそのまま再利用する。Step 0 は本 SKILL 内で最初に実行されるステップであるため、\n`\u002Fxddp-abort` の実行中に `check-in-progress` を呼び出すのはここ1回のみになる）\n\n## Step 1: Confirm with User\n\nDisplay current progress summary (最終完了工程 = `## 工程進捗` テーブルの最後に ✅ が付いた行、または全て ⬜ なら「未着手」).\n\nIf `REASON` is null: ask the user for a 中止理由（自由記述・必須）.\n\nTell the user:\n> CR `{CR}`（{タイトル}）を中止します。最終完了工程: {最終完了工程}\n> 中止理由: {REASON}\n> この操作は取り消せません（CR は再開しない前提になります）。続行しますか？ [続行 \u002F キャンセル]\n\nWait for user confirmation. If キャンセル: stop without any changes.\n\n## Step 2: VCS Cleanup Guidance\n\nRead `~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fprocedures\u002Fresolve-vcs-target-repos.md`, apply \"## Resolve VCS Target Repos\" with:\n  REPO_CANDIDATES: {REPOS_KEYS}, CR_PATH: {CR_PATH}, CR: {CR}\n→ let `VCS_TARGET_REPOS`.\n（`xddp-close` Step C-Pre と同一パターン。以下の status 確認ループは情報提供目的のため全リポジトリ\n（`REPOS_KEYS`）を対象とし、警告文言のみ `VCS_TARGET_REPOS`（本 CR のスコープ）に含まれるか否かで\n出し分ける——`xddp-close` Step C-Pre がこの設計を採る理由と同一：スコープ外リポジトリの状態も\n情報として見せたいが、それが本 CR 由来の変更だと誤認されないようにする）\n\nFor each `{repo}` in `REPOS_KEYS`:\n  If `VCS_TYPE` is `none`: skip.\n  Else:\n    Bash: `PY=$(command -v python3 || command -v python) && \"$PY\" ~\u002F.claude\u002Fskills\u002Fxddp-common\u002Fscripts\u002Fxddp_vcs.py status --repo {REPOS_MAP[repo]} --vcs-type {VCS_TYPE}`\n    → let `REPO_STATUS`.\n    If `REPO_STATUS` is `dirty`:\n      If `{repo}` is in `VCS_TARGET_REPOS`:\n        Warn: \"⚠️ {repo} に未コミットの変更があります（本 CR の作業ブランチに残っている可能性があります）。\"\n      Else:\n        Warn: \"⚠️ {repo} に未コミットの変更があります（本 CR のスコープ外です。別の作業・CR による変更である可能性があります）。\"\n    If `REPO_STATUS` is `unknown`:\n      Warn: \"⚠️ {repo} の VCS 状態が不明です。手動で確認してください。\"\n\nTell the user (VCS_TYPE が none でないリポジトリが1つ以上ある場合のみ):\n> 中止に伴うクリーンアップは自動実行されません。必要に応じて以下を手動で実行してください:\n> - 未コミット変更の破棄: 以下を対象リポジトリごとに実行してください:\n>   {for each repo in VCS_TARGET_REPOS: `- {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_TARGET_REPOS` の各 `{repo}` について1行ずつ展開して提示する。\n>   この括弧書きは実装者・実行 AI 向けの生成指示であり、ユーザーへは表示しない）\n> - 作業ブランチ `{VCS_BRANCH_PREFIX}{CR}` の削除: ご利用の VCS コマンドで手動削除してください\n> - 既にコミット済みの変更を取り消す場合は、ご利用の VCS コマンドで revert \u002F reverse merge 等を手動実行してください\n\n## Step 3: Record Insight (Optional)\n\nTell the user:\n> この CR で得られた気づき・改善案があれば、次の CR や `improvement-backlog.md` の入力として\n> 残すことができます。`{CR_PATH}\u002Fprogress.md` の「## 気づき・提案メモ」セクションに追記しますか？ [はい \u002F いいえ]\n\nIf はい: prompt for entries and append to `## 気づき・提案メモ` table in `progress.md`\nusing the same row format as the template（`#`／種別／内容／対応方針の4列。`#` は既存行数+1から\nの連番）.\n(`improvement-backlog.md` \u002F `lessons-learned.md` への昇格は行わない — CR フォルダ内に留め、\n将来 `xddp-update-knowledge` 等で手動登録する運用とする。自動昇格しない理由は、\n中止 CR は完了 CR と異なり品質・妥当性が確定していない気づきを含みうるため。)\n\n## Step 4: Mark Progress as Aborted\n\nReuse `CHECK_RESULT` from「## Step 0: Precondition Check」（同一の `\u002Fxddp-abort` 実行内で既に\n`check-in-progress --cr-path {CR_PATH}` を1回呼び出し済みであり、Step 1〜3（ユーザー確認・VCS\nクリーンアップ案内・気づきメモ追記）は工程進捗テーブル・`## xddp-close 進捗` のいずれも変更しないため\n再取得は不要。`check-in-progress` を呼び直さない）。\nIf `CHECK_RESULT.last_active_step` is not `null`:\n  Read `~\u002F.claude\u002Fskills\u002Fxddp-common\u002FSKILL.md`, apply \"## Progress Update\" with:\n    CR_PATH: {CR_PATH}, STEP_NUM: {CHECK_RESULT.last_active_step}, STATE: ? 中止, DETAIL_STEP: \"CR中止により打ち切り\"\n  （`xddp_progress.py` を直接呼ばず共通プロシージャ経由にすることで、CLAUDE.md「決定的処理はスクリプト・\n  意味判定はLLM」の一元化方針・既存の全スキルの呼び出しパターンに揃える。`DETAIL_STEP` を明示するのは、\n  省略時は既存の詳細ステップ文字列が保持され「作業中」を示す古い文言が状態 `? 中止` と矛盾したまま\n  残ってしまうため。行検出自体は `check-in-progress` の走査結果（`last_active_step`）を再利用し、\n  Step 4 独自の検出ロジックは持たない）\n（マルチリポジトリ CR の「リポジトリ別」サブテーブル（工程4a\u002F7等）は本ステップでは更新しない\n——中止時点の各リポジトリの状態を監査目的でそのまま保持する意図的な設計であり、更新漏れではない）\n\n`{CR_PATH}\u002Fprogress.md` の「## 次に実行すべきコマンド」セクションのコードブロック内容を\n以下に置き換える（`xddp-status` はこのセクションを読まず工程進捗テーブルから動的算出するため\n3.3 の変更だけでは不十分——progress.md を直接読む人・別ツールが誤って旧コマンドを実行しないよう、\n静的セクション自体も書き換える）:\n\n```\n（この CR は中止済みです。再開しない前提のため次に実行すべきコマンドはありません）\n```\n\nAppend at the end of `{CR_PATH}\u002Fprogress.md`:\n\n```\n## CR 中止\n\n- **中止日：** {TODAY}\n- **最終完了工程：** {最終完了工程}\n- **中止理由：** {REASON}\n```\n\n## Step 5: Report in Japanese\n\nReport: 中止日, 中止理由, VCS クリーンアップが必要なリポジトリ一覧（あれば）, 気づきメモの追記有無.\n",{},"main","0719b3a37b134895da55968646acffe58aedce8f","ClaudeCode\u002F.claude\u002Fskills\u002Fxddp-abort",0,"https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings","https:\u002F\u002Fgithub.com\u002Ftsuna44","2026-11-08 08:45:39",{"source":7,"skillName":5,"commands":31,"prompt":41,"zipAvailable":42},[32,35,38],{"tool":33,"command":34},"npx","npx skills add tsuna44\u002FXddpSettings --skill xddp-abort",{"tool":36,"command":37},"bunx","bunx skills add tsuna44\u002FXddpSettings --skill xddp-abort",{"tool":39,"command":40},"pnpm","pnpm dlx skills add tsuna44\u002FXddpSettings --skill xddp-abort","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-abort\u002FSKILL.md",true,[],[45,58,65,73,80,102],{"skillNo":46,"name":47,"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":48,"categories":49,"keywords":55,"publishedAt":18},"01M6MDVNN0ZX8D5KABK9G0067Z","demo.skill","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.skill\u002FSKILL.md",[50],{"categoryNo":51,"categoryName":52,"taxonomyType":53,"taxonomyTypeDesc":54},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[56,57],"demo skill","demo",{"skillNo":59,"name":60,"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":61,"categories":62,"keywords":63,"publishedAt":18},"01M6MDVK20HAJYBMXM7VX50A3J","demo.noname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.noname\u002FSKILL.md",[],[64,57],"demo noname",{"skillNo":66,"name":67,"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":68,"categories":69,"keywords":70,"publishedAt":18},"01M6MDVFS20532JT4V7WT779XH","demo.common","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.common\u002FSKILL.md",[],[71,72,57],"demo common","common",{"skillNo":74,"name":75,"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":76,"categories":77,"keywords":78,"publishedAt":18},"01M6MDVCV2JFN66NJTFG1CCJS1","demo.badname","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002Ftools\u002Fharness\u002Ftests\u002Ffixtures\u002Fbadrepo\u002FClaudeCode\u002F.claude\u002Fskills\u002Fdemo.badname\u002FSKILL.md",[],[79,57],"demo badname",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":89,"publishedAt":18},"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",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":53,"taxonomyTypeDesc":54},"01JBSEEDCAT000000000000021","资料检索与研究",[90,91,92,93,94,95,96,97,98,99,100,101],"xddp update knowledge","update knowledge","knowledge","update","note","structure","constraint","lesson","glossary","baseline","flow","docs",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":116,"publishedAt":18},"01M6MDV2Q1Z02WAN4CZ2WVFZ27","xddp-sync-design","コードから DSN を再生成してリビジョンとして記録し、AIレビュー→人承認を実施する。「設計を同期して」「DSN を更新して」などで起動する。","https:\u002F\u002Fgithub.com\u002Ftsuna44\u002FXddpSettings\u002Fblob\u002Fmain\u002FClaudeCode\u002F.claude\u002Fskills\u002Fxddp-sync-design\u002FSKILL.md",[108,111],{"categoryNo":109,"categoryName":110,"taxonomyType":53,"taxonomyTypeDesc":54},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[117,118,119,120],"sync","xddp sync design","design","生成"]