[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CNBQPV83EC25SVCN3Z5T8K":3,"skill-same:01M6CNBQPV83EC25SVCN3Z5T8K":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":38,"repositoryHtmlUrl":39,"repositoryHomepageUrl":6,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":41,"install":42,"resources":54},"01M6CNBQPV83EC25SVCN3Z5T8K","commit",null,"diff分析 → 論理的に分割コミット。conventional commitメッセージを自動生成。","yida29\u002Farchrip","yida29","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26829774?v=4","01M6CNBNXVC8D2SWGB774Y97ZE","yida","01M6CNBP1TGZ21SGQ3ZY626QHH",1,"MIT","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcommit\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26],"status","git commit","git","Bash","生成","instructions","diff","log","2026-11-10 10:12:30",false,"---\nname: commit\ndescription: diff分析 → 論理的に分割コミット。conventional commitメッセージを自動生成。\ndisable-model-invocation: true\nallowed-tools: Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git add:*), Bash(git reset:*), Bash(git commit:*)\nargument-hint: \"[message or instructions]\"\n---\n\n# Smart Commit — diff分析 → 分割コミット\n\n変更内容を分析し、論理的にまとまった単位で分割コミットする。\n\n## コンテキスト\n\n\u003Cgit_status>\n!`git status`\n\u003C\u002Fgit_status>\n\n\u003Cgit_diff>\n!`git diff HEAD`\n\u003C\u002Fgit_diff>\n\n\u003Crecent_commits>\n!`git log --oneline -15`\n\u003C\u002Frecent_commits>\n\n\u003Ccurrent_branch>\n!`git branch --show-current`\n\u003C\u002Fcurrent_branch>\n\n## ワークフロー\n\n### Step 1: 変更の分析\n\n上記の diff を読み、変更を **論理的なグループ** に分類する。\n\n分類の基準:\n- **機能単位**: 1つの機能追加\u002F変更に関するファイル群\n- **レイヤー単位**: ドメイン層、インフラ層、API層、テストなど\n- **目的単位**: リファクタ、バグ修正、新機能、ドキュメント、設定変更\n\n### Step 2: 分割プランの提示\n\n以下のフォーマットでユーザーに分割プランを提示する:\n\n```\n## コミット分割プラン\n\n### Commit 1: \u003Ctype>(\u003Cscope>): \u003Csummary>\n- `path\u002Fto\u002Ffile1.ts`\n- `path\u002Fto\u002Ffile2.ts`\n\n### Commit 2: \u003Ctype>(\u003Cscope>): \u003Csummary>\n- `path\u002Fto\u002Ffile3.ts`\n- `path\u002Fto\u002Ffile4.ts`\n\n（変更が1グループのみなら分割せず1コミットで良い）\n```\n\n**重要**: プランを提示したら、ユーザーの承認を待つ。勝手にコミットしない。\n\n### Step 3: ユーザー承認後、順次コミット\n\n承認されたら、各コミットを順番に実行する:\n\n1. `git add \u003Cfiles>` で対象ファイルのみステージ\n2. `git commit` でコミット作成\n3. 次のコミットへ\n\n### Step 4: 完了報告\n\n全コミット完了後、`git log --oneline -N` で作成したコミットを表示する。\n\n## コミットメッセージ規約\n\n### フォーマット\n\n```\n\u003Ctype>(\u003Cscope>): \u003Csummary>\n```\n\n- **type**: `feat`, `fix`, `docs`, `refactor`, `chore`, `test`, `perf`, `style`, `ci`\n- **scope**: 影響範囲（省略可）。例: `cli`, `viewer`, `schema`\n- **summary**: 英語、命令形、72文字以内、末尾ピリオドなし\n\n### このリポジトリのscope例\n\n| scope | 対象 |\n|-------|------|\n| `cli` | CLIツール (`packages\u002Fcli\u002F`) |\n| `viewer` | ビューワー (`packages\u002Fviewer\u002F`) |\n| `schema` | アーキテクチャスキーマ (`packages\u002Fcli\u002Fsrc\u002Fschema\u002F`) |\n| `templates` | テンプレート・スラッシュコマンド (`packages\u002Fcli\u002Fsrc\u002Ftemplates\u002F`) |\n| `examples` | サンプル (`examples\u002F`) |\n\n### 日本語の場合\n\nこのリポジトリの `git log` に日本語コミットが多い場合は、日本語で書いても良い。\n直近のコミット履歴のスタイルに合わせること。\n\n## 制約\n\n- **pushしない**: コミットのみ。pushはユーザーが明示的に指示した場合のみ。\n- **Co-Authored-By**: コミットメッセージ末尾に以下を付与:\n  ```\n  Co-Authored-By: Claude Opus 4.6 \u003Cnoreply@anthropic.com>\n  ```\n- **HEREDOC**: コミットメッセージは必ず HEREDOC で渡す:\n  ```bash\n  git commit -m \"$(cat \u003C\u003C'EOF'\n  \u003Ctype>(\u003Cscope>): \u003Csummary>\n\n  Co-Authored-By: Claude Opus 4.6 \u003Cnoreply@anthropic.com>\n  EOF\n  )\"\n  ```\n- **秘密ファイル**: `.env`, `credentials.json` 等を検知したら警告し、コミットしない。\n- **空コミット**: 変更がない場合は空コミットを作成しない。\n- **`--amend` 禁止**: 常に新規コミットを作成する（ユーザーが明示的に指示した場合を除く）。\n- **引数の尊重**: `$ARGUMENTS` が指定された場合:\n  - ファイルパス\u002Fglobならそのファイルのみ対象\n  - テキストならコミットメッセージのヒントとして使用\n  - 両方なら両方を尊重\n\n## 分割の判断基準\n\n### 分割すべきケース\n- 新機能の追加 + 既存コードのリファクタが混在\n- 複数の独立した機能変更\n- 型定義の変更 + それを使う実装の変更（レイヤー単位で分けたい場合）\n- テストの追加 + 実装の変更\n\n### 分割しなくてよいケース\n- 1つの機能に関する一連の変更（型 + 実装 + テスト）\n- 小さなリファクタ（ファイル数が少ない）\n- 設定ファイルの単独変更\n","# Smart Commit — diff分析 → 分割コミット\n\n変更内容を分析し、論理的にまとまった単位で分割コミットする。\n\n## コンテキスト\n\n\u003Cgit_status>\n!`git status`\n\u003C\u002Fgit_status>\n\n\u003Cgit_diff>\n!`git diff HEAD`\n\u003C\u002Fgit_diff>\n\n\u003Crecent_commits>\n!`git log --oneline -15`\n\u003C\u002Frecent_commits>\n\n\u003Ccurrent_branch>\n!`git branch --show-current`\n\u003C\u002Fcurrent_branch>\n\n## ワークフロー\n\n### Step 1: 変更の分析\n\n上記の diff を読み、変更を **論理的なグループ** に分類する。\n\n分類の基準:\n- **機能単位**: 1つの機能追加\u002F変更に関するファイル群\n- **レイヤー単位**: ドメイン層、インフラ層、API層、テストなど\n- **目的単位**: リファクタ、バグ修正、新機能、ドキュメント、設定変更\n\n### Step 2: 分割プランの提示\n\n以下のフォーマットでユーザーに分割プランを提示する:\n\n```\n## コミット分割プラン\n\n### Commit 1: \u003Ctype>(\u003Cscope>): \u003Csummary>\n- `path\u002Fto\u002Ffile1.ts`\n- `path\u002Fto\u002Ffile2.ts`\n\n### Commit 2: \u003Ctype>(\u003Cscope>): \u003Csummary>\n- `path\u002Fto\u002Ffile3.ts`\n- `path\u002Fto\u002Ffile4.ts`\n\n（変更が1グループのみなら分割せず1コミットで良い）\n```\n\n**重要**: プランを提示したら、ユーザーの承認を待つ。勝手にコミットしない。\n\n### Step 3: ユーザー承認後、順次コミット\n\n承認されたら、各コミットを順番に実行する:\n\n1. `git add \u003Cfiles>` で対象ファイルのみステージ\n2. `git commit` でコミット作成\n3. 次のコミットへ\n\n### Step 4: 完了報告\n\n全コミット完了後、`git log --oneline -N` で作成したコミットを表示する。\n\n## コミットメッセージ規約\n\n### フォーマット\n\n```\n\u003Ctype>(\u003Cscope>): \u003Csummary>\n```\n\n- **type**: `feat`, `fix`, `docs`, `refactor`, `chore`, `test`, `perf`, `style`, `ci`\n- **scope**: 影響範囲（省略可）。例: `cli`, `viewer`, `schema`\n- **summary**: 英語、命令形、72文字以内、末尾ピリオドなし\n\n### このリポジトリのscope例\n\n| scope | 対象 |\n|-------|------|\n| `cli` | CLIツール (`packages\u002Fcli\u002F`) |\n| `viewer` | ビューワー (`packages\u002Fviewer\u002F`) |\n| `schema` | アーキテクチャスキーマ (`packages\u002Fcli\u002Fsrc\u002Fschema\u002F`) |\n| `templates` | テンプレート・スラッシュコマンド (`packages\u002Fcli\u002Fsrc\u002Ftemplates\u002F`) |\n| `examples` | サンプル (`examples\u002F`) |\n\n### 日本語の場合\n\nこのリポジトリの `git log` に日本語コミットが多い場合は、日本語で書いても良い。\n直近のコミット履歴のスタイルに合わせること。\n\n## 制約\n\n- **pushしない**: コミットのみ。pushはユーザーが明示的に指示した場合のみ。\n- **Co-Authored-By**: コミットメッセージ末尾に以下を付与:\n  ```\n  Co-Authored-By: Claude Opus 4.6 \u003Cnoreply@anthropic.com>\n  ```\n- **HEREDOC**: コミットメッセージは必ず HEREDOC で渡す:\n  ```bash\n  git commit -m \"$(cat \u003C\u003C'EOF'\n  \u003Ctype>(\u003Cscope>): \u003Csummary>\n\n  Co-Authored-By: Claude Opus 4.6 \u003Cnoreply@anthropic.com>\n  EOF\n  )\"\n  ```\n- **秘密ファイル**: `.env`, `credentials.json` 等を検知したら警告し、コミットしない。\n- **空コミット**: 変更がない場合は空コミットを作成しない。\n- **`--amend` 禁止**: 常に新規コミットを作成する（ユーザーが明示的に指示した場合を除く）。\n- **引数の尊重**: `$ARGUMENTS` が指定された場合:\n  - ファイルパス\u002Fglobならそのファイルのみ対象\n  - テキストならコミットメッセージのヒントとして使用\n  - 両方なら両方を尊重\n\n## 分割の判断基準\n\n### 分割すべきケース\n- 新機能の追加 + 既存コードのリファクタが混在\n- 複数の独立した機能変更\n- 型定義の変更 + それを使う実装の変更（レイヤー単位で分けたい場合）\n- テストの追加 + 実装の変更\n\n### 分割しなくてよいケース\n- 1つの機能に関する一連の変更（型 + 実装 + テスト）\n- 小さなリファクタ（ファイル数が少ない）\n- 設定ファイルの単独変更\n",{"name":5,"description":7,"allowed-tools":32,"argument-hint":33,"disable-model-invocation":34},"Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git add:*), Bash(git reset:*), Bash(git commit:*)","[message or instructions]",true,"main","5a62325f7d5f614ee9ffbb6d5ab7db8fecb465b0",".claude\u002Fskills\u002Fcommit",0,"https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip","https:\u002F\u002Fgithub.com\u002Fyida29","2026-11-12 04:05:53",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":34},[44,47,50],{"tool":45,"command":46},"npx","npx skills add yida29\u002Farchrip --skill commit",{"tool":48,"command":49},"bunx","bunx skills add yida29\u002Farchrip --skill commit",{"tool":51,"command":52},"pnpm","pnpm dlx skills add yida29\u002Farchrip --skill commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcommit\u002FSKILL.md",[],[56,73,88,109,120,129],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":67,"publishedAt":27},"01M6CNCP1G0EWPEG4HMAQ9Z4AD","review-ux-diagnostics","Review UX and diagnostics (errors, hints, verbose mode)","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-ux-diagnostics\u002FSKILL.md",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":65,"taxonomyTypeDesc":66},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[68,69,70,71,21,72,25],"review","review ux diagnostics","ux","diagnostics","notes",{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":27},"01M6CNCM7K3S2710FJP16G0SSE","review-typescript-strict","TypeScript Strict Modeガイドラインを適用してコードレビュー・修正を行う。","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-typescript-strict\u002FSKILL.md",[],[80,68,81,82,83,84,85,86,87],"typescript strict","typescript","review typescript strict","grep","check","file","read","edit",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":99,"publishedAt":27},"01M6CNCJAY371WT8PYMTQPJ4KW","review-test-strategy","Review test strategy and regression resistance","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-test-strategy\u002FSKILL.md",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[100,101,102,103,68,104,105,72,106,107,108],"strategy","test strategy","review test strategy","test","package","command","flow","regression","repo",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":27},"01M6CNCGCTBMAWM2NPF5KAVFVK","review-supply-chain","Review supply-chain and code-execution risks","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-supply-chain\u002FSKILL.md",[],[116,68,117,72,21,118,119,25],"review supply chain","code","supply-chain","execution",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":27},"01M6CNCE6C1XXP746XW9P7MV56","review-srp","Review codebase for SRP (Single Responsibility) and boundaries","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-srp\u002FSKILL.md",[],[68,127,72,128,21,25],"review srp","pr",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":27},"01M6CNCCGEFSJ6YCDQNTTZT81J","review-schema-first","Review schema as a single source of truth (Schema-first)","https:\u002F\u002Fgithub.com\u002Fyida29\u002Farchrip\u002Fblob\u002Fmain\u002Fskills\u002Freview-schema-first\u002FSKILL.md",[],[68,136,137,138,72,21,25],"first","schema","review schema first"]