[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EP88DEV6ASET1BQ6KVPPTW":3,"skill-same:01M6EP88DEV6ASET1BQ6KVPPTW":71},{"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":23,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":34,"commitSha":35,"skillDirectory":36,"forksCount":37,"repositoryHtmlUrl":38,"repositoryHomepageUrl":39,"ownerHtmlUrl":40,"ownerBlogUrl":6,"ownerDescription":41,"updatedAt":42,"install":43,"resources":56},"01M6EP88DEV6ASET1BQ6KVPPTW","spec-workflow",null,"仕様駆動開発（SDD）ワークフローを自動発動で強制。Subtask開始時にAC確認、TDD実行、完了時にACチェックを実施。スコープ外実装を禁止。Use when implementing features, creating new functionality, or when \"実装して\", \"作成して\", \"開発して\" keywords appear.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fclionegohan\u002Fspec-workflow\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28],"spec","workflow","spec workflow","use","sdd","2026-11-10 10:12:30",false,"---\nname: spec-workflow\ndescription: 仕様駆動開発（SDD）ワークフローを自動発動で強制。Subtask開始時にAC確認、TDD実行、完了時にACチェックを実施。スコープ外実装を禁止。Use when implementing features, creating new functionality, or when \"実装して\", \"作成して\", \"開発して\" keywords appear.\n---\n\n# Spec-Driven Development Workflow Skill\n\n仕様駆動開発（SDD）の**下流工程（実装）** を担当するスキルです。\nEPIC → Story → Subtaskの3階層構造に基づいた開発を行います。\n\n> **Note**: 仕様策定（上流工程）は `\u002Fspec` Skill で行います。\n> 連携フロー: `\u002Fspec`（仕様策定）→ `spec-workflow`（実装）\n\n## 発動条件\n\n以下のキーワード・コンテキストで自動発動：\n\n- 実装して、作成して、開発して\n- 新機能実装\n- Subtask開始、Story開始\n- EPIC、Story、Subtaskへの言及\n\n## 基本原則\n\n### 1. 仕様ファースト（必須）\n\n実装前に必ず以下を確認：\n\n1. `specs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md` を読み込む\n2. ユーザーストーリーを確認\n3. ACを理解\n4. ユーザーに「このACで進めますか？」と確認\n\n### 2. TDD厳守（必須）\n\n```\n? Red   : ACからテストケースを導出 → 失敗するテストを書く\n? Green : テストを通す最小限の実装\n? Refactor : テストを保ちながらコード改善\n```\n\n### EARS記法対応\n\nACがEARS記法で記述されている場合、テストケース導出を効率化：\n\n```typescript\n\u002F\u002F EARS記法のAC例:\n\u002F\u002F WHEN ユーザーがログインを試行する際\n\u002F\u002F GIVEN 有効なメールとパスワードを入力した場合\n\u002F\u002F THEN システムはJWTトークンを発行する\n\u002F\u002F AND ダッシュボードにリダイレクトする\n\n\u002F\u002F テストケースへの変換:\ndescribe('ログイン', () => {\n  it('有効な認証情報でJWTトークンが発行される', () => {\n    \u002F\u002F GIVEN: 前提条件をセットアップ\n    const credentials = { email: 'valid@example.com', password: 'validPass' };\n\n    \u002F\u002F WHEN: トリガーを実行\n    const result = login(credentials);\n\n    \u002F\u002F THEN: 期待結果を検証\n    expect(result.token).toBeDefined();\n  });\n\n  it('成功時にダッシュボードへリダイレクトする', () => {\n    \u002F\u002F AND条件のテスト\n  });\n});\n```\n\n### 3. スコープ管理（必須）\n\n- ACに記載のある機能のみ実装\n- スコープ外は「提案のみ」で実装しない\n- 不明点はユーザーに確認\n\n## ワークフロー詳細\n\n### Phase 1: Subtask開始時（必須フロー）\n\n```typescript\n\u002F\u002F 1. Subtaskファイルを読み込む\nconst subtaskFile = await read(`specs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md`)\n\n\u002F\u002F 2. ACを確認\nconst acceptanceCriteria = parseAC(subtaskFile)\n\n\u002F\u002F 3. ユーザーストーリーを確認\nconst userStory = parseUserStory(subtaskFile)\n\n\u002F\u002F 4. ユーザーに確認\nawait ask(`以下のACで実装を進めます。よろしいですか？\n${acceptanceCriteria.map(ac => `- ${ac}`).join('\\n')}`)\n\n\u002F\u002F 5. テストケースを導出\nconst testCases = deriveTestCases(acceptanceCriteria)\n```\n\n### Phase 2: TDD実装\n\n```typescript\n\u002F\u002F ? Red: テストを先に書く\ndescribe(subtaskTitle, () => {\n  acceptanceCriteria.forEach(ac => {\n    it(ac, async () => {\n      \u002F\u002F ACからテストケースを導出\n    })\n  })\n})\n\n\u002F\u002F テストが失敗することを確認\nawait runTests() \u002F\u002F Expected: FAIL\n\n\u002F\u002F ? Green: 最小限の実装\n\u002F\u002F ACを満たす最小限のコードを実装\nawait runTests() \u002F\u002F Expected: PASS\n\n\u002F\u002F ? Refactor: コード改善\n\u002F\u002F テストを保ちながら改善\nawait runTests() \u002F\u002F Expected: PASS\n```\n\n### Phase 3: 完了時（必須フロー）\n\n```typescript\n\u002F\u002F 1. AC全項目をチェック\nacceptanceCriteria.forEach(ac => {\n  console.log(`✅ ${ac}`)\n})\n\n\u002F\u002F 2. テストが全て通過していることを確認\nawait runTests() \u002F\u002F All tests pass\n\n\u002F\u002F 3. ステータス更新\nawait updateSubtaskFile({\n  status: 'completed',\n  completed_at: new Date().toISOString()\n})\n\n\u002F\u002F 4. 親Storyの確認\nif (allSubtasksCompleted(storyId)) {\n  await updateStoryFile({ status: 'completed' })\n}\n\n\u002F\u002F 5. 次のSubtaskを提示\nconsole.log(`次のSubtask: ${getNextSubtask()}`)\n```\n\n## スコープ判断\n\n### スコープ内（実装OK）\n\n- ACに明記されている機能\n- ACを達成するために必須の技術的実装\n- ユーザーストーリーの価値を実現する機能\n\n### スコープ外（提案のみ）\n\n- ACに記載のない「ついでに」の改善\n- 将来必要になる「かもしれない」機能\n- 他のSubtask\u002FStoryで対応すべき機能\n\n### スコープ外対応フロー\n\n```typescript\nif (isOutOfScope(request)) {\n  const response = `\n  ご依頼いただいた「${request}」は、現在のSubtaskのACに含まれていません。\n\n  現在のAC:\n  ${currentAC.map(ac => `- ${ac}`).join('\\n')}\n\n  対応案:\n  1. 現在のSubtaskでは実装しない\n  2. 別のSubtaskとして提案\n\n  どちらを選択しますか？`\n\n  await ask(response)\n}\n```\n\n## テストファイル配置\n\n```\nspecs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md  # Subtask定義\n{feature}\u002F\n├── service.ts         # 実装ファイル\n└── __dev__\u002F\n    └── service.test.ts  # テストファイル（Colocation）\n```\n\n## 禁止事項\n\n- ❌ ACなしでの実装開始\n- ❌ テストなしでの実装（TDD違反）\n- ❌ スコープ外の「ついでに」実装\n- ❌ 複数機能の同時実装（1 Subtask = 1機能）\n- ❌ ユーザー確認なしの仕様変更\n- ❌ 完了確認なしのステータス更新\n\n## エラー対応\n\n### ACが曖昧な場合\n\n```typescript\nif (isACAmbiguous(ac)) {\n  await ask(`\n  以下のACが曖昧なため、実装を開始できません。\n\n  曖昧なAC: ${ac}\n\n  以下のように明確化することを提案します:\n  「${suggestedAC}」\n\n  この明確化で進めてよいですか？\n  `)\n}\n```\n\n### テストが通らない場合\n\n```typescript\nif (testsFailed) {\n  \u002F\u002F 実装を修正（Green達成まで）\n  \u002F\u002F テスト自体の問題なら修正\n  \u002F\u002F ACの解釈に問題があればユーザーに確認\n}\n```\n\n## ブランチ・PR連携\n\n本Skillは `\u002Fbranch` と `\u002Fpr` を自動的に呼び出します。\n\n### 連携フロー\n\n```\nspec-workflow 開始\n    │\n    ├─ Subtaskファイル読み込み\n    │\n    ├─ AC確認・ユーザー承認\n    │       │\n    │       └─ 承認後 → \u002Fbranch 発火\n    │          ブランチ: impl\u002F{subtask-id}-{description}\n    │\n    ├─ TDD実装\n    │   - ? Red: テスト作成\n    │   - ? Green: 最小実装\n    │   - ? Refactor: 改善\n    │\n    ├─ AC全項目チェック\n    │\n    └─ 完了時 → \u002Fpr 発火\n        PR: 実装レビュー用\n```\n\n### \u002Fbranch 呼び出し\n\nAC確認・承認後に自動発火：\n\n```\nClaude: 以下のACで実装を進めます。よろしいですか？\n        - AC1: ...\n        - AC2: ...\n\nユーザー: OK\n\nClaude: 実装用ブランチを作成します。\n\n        ブランチ名: impl\u002F001-01-01-user-auth\n        ベース: main\n\n        作成してよいですか？\n```\n\n### \u002Fpr 呼び出し\n\nAC全項目チェック完了後に自動発火：\n\n```\nClaude: 全てのACを満たしました。\n\n        ✅ AC1: 有効な認証情報でログイン成功\n        ✅ AC2: 無効な認証情報でエラー表示\n        ✅ AC3: MFAコード検証\n\n        PRを作成しますか？\n        タイトル: impl: ユーザー認証機能の実装\n\n        ## Summary\n        - 001-01-01 を実装\n        - ログイン\u002Fログアウト機能\n\n        ## AC確認\n        - [x] AC1\n        - [x] AC2\n        - [x] AC3\n```\n\n---\n\n## 参照ドキュメント\n\n- [SPEC_FORMAT.md](..\u002F..\u002F..\u002F.ai\u002FSPEC_FORMAT.md) - 仕様フォーマット定義\n- [WORKFLOW.md](..\u002F..\u002F..\u002F.ai\u002FWORKFLOW.md) - ワークフロー詳細\n\n---\n\n## 関連Skill\n\n- **\u002Fbranch**: ブランチ作成（本Skillから自動呼び出し）\n- **\u002Fpr**: PR作成（本Skillから自動呼び出し）\n- **\u002Fspec**: 仕様策定（本Skillの上流工程）\n\n### 全体連携フロー\n\n```\n\u002Fspec（仕様策定）\n    ├─ \u002Fbranch 発火（spec\u002F*）\n    ├─ ファイル生成\n    └─ \u002Fpr 発火（仕様レビュー）\n        ↓ マージ後\nspec-workflow（実装）← 本Skill\n    ├─ \u002Fbranch 発火（impl\u002F*）\n    ├─ TDD実装\n    └─ \u002Fpr 発火（実装レビュー）\n```\n\n## 使用例\n\n### 例1: 新規Subtask実装\n\n```\nユーザー: 「001-01-01の設定要件Subtaskを実装して」\n\n[自動] spec-workflow Skill発動\n[自動] specs\u002F001-environment-setup\u002F001-01-common-config\u002F001-01-01-config-requirements.md を読み込み\n\nClaude: 「以下のACで実装を進めます。よろしいですか？\n- 設定ファイル配置方針が明確に決定されていること\n- ESLint、Prettier、TypeScriptの設定内容が仕様として確定していること\n- package.jsonスクリプトの統一方針が決定されていること」\n\nユーザー: 「OK」\n\nClaude: 「? Red: テストケースを導出します...」\n（以下、TDDサイクル）\n```\n\n### 例2: スコープ外リクエスト\n\n```\nユーザー: 「ついでにCI\u002FCDも設定して」\n\nClaude: 「ご依頼いただいた「CI\u002FCD設定」は、現在のSubtaskのACに含まれていません。\n\n現在のAC:\n- 設定ファイル配置方針が明確に決定されていること\n- ESLint、Prettier、TypeScriptの設定内容が仕様として確定していること\n\n対応案:\n1. 現在のSubtaskでは実装しない（推奨）\n2. 新規Subtaskとして定義する\n\nどちらを選択しますか？」\n```\n","# Spec-Driven Development Workflow Skill\n\n仕様駆動開発（SDD）の**下流工程（実装）** を担当するスキルです。\nEPIC → Story → Subtaskの3階層構造に基づいた開発を行います。\n\n> **Note**: 仕様策定（上流工程）は `\u002Fspec` Skill で行います。\n> 連携フロー: `\u002Fspec`（仕様策定）→ `spec-workflow`（実装）\n\n## 発動条件\n\n以下のキーワード・コンテキストで自動発動：\n\n- 実装して、作成して、開発して\n- 新機能実装\n- Subtask開始、Story開始\n- EPIC、Story、Subtaskへの言及\n\n## 基本原則\n\n### 1. 仕様ファースト（必須）\n\n実装前に必ず以下を確認：\n\n1. `specs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md` を読み込む\n2. ユーザーストーリーを確認\n3. ACを理解\n4. ユーザーに「このACで進めますか？」と確認\n\n### 2. TDD厳守（必須）\n\n```\n? Red   : ACからテストケースを導出 → 失敗するテストを書く\n? Green : テストを通す最小限の実装\n? Refactor : テストを保ちながらコード改善\n```\n\n### EARS記法対応\n\nACがEARS記法で記述されている場合、テストケース導出を効率化：\n\n```typescript\n\u002F\u002F EARS記法のAC例:\n\u002F\u002F WHEN ユーザーがログインを試行する際\n\u002F\u002F GIVEN 有効なメールとパスワードを入力した場合\n\u002F\u002F THEN システムはJWTトークンを発行する\n\u002F\u002F AND ダッシュボードにリダイレクトする\n\n\u002F\u002F テストケースへの変換:\ndescribe('ログイン', () => {\n  it('有効な認証情報でJWTトークンが発行される', () => {\n    \u002F\u002F GIVEN: 前提条件をセットアップ\n    const credentials = { email: 'valid@example.com', password: 'validPass' };\n\n    \u002F\u002F WHEN: トリガーを実行\n    const result = login(credentials);\n\n    \u002F\u002F THEN: 期待結果を検証\n    expect(result.token).toBeDefined();\n  });\n\n  it('成功時にダッシュボードへリダイレクトする', () => {\n    \u002F\u002F AND条件のテスト\n  });\n});\n```\n\n### 3. スコープ管理（必須）\n\n- ACに記載のある機能のみ実装\n- スコープ外は「提案のみ」で実装しない\n- 不明点はユーザーに確認\n\n## ワークフロー詳細\n\n### Phase 1: Subtask開始時（必須フロー）\n\n```typescript\n\u002F\u002F 1. Subtaskファイルを読み込む\nconst subtaskFile = await read(`specs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md`)\n\n\u002F\u002F 2. ACを確認\nconst acceptanceCriteria = parseAC(subtaskFile)\n\n\u002F\u002F 3. ユーザーストーリーを確認\nconst userStory = parseUserStory(subtaskFile)\n\n\u002F\u002F 4. ユーザーに確認\nawait ask(`以下のACで実装を進めます。よろしいですか？\n${acceptanceCriteria.map(ac => `- ${ac}`).join('\\n')}`)\n\n\u002F\u002F 5. テストケースを導出\nconst testCases = deriveTestCases(acceptanceCriteria)\n```\n\n### Phase 2: TDD実装\n\n```typescript\n\u002F\u002F ? Red: テストを先に書く\ndescribe(subtaskTitle, () => {\n  acceptanceCriteria.forEach(ac => {\n    it(ac, async () => {\n      \u002F\u002F ACからテストケースを導出\n    })\n  })\n})\n\n\u002F\u002F テストが失敗することを確認\nawait runTests() \u002F\u002F Expected: FAIL\n\n\u002F\u002F ? Green: 最小限の実装\n\u002F\u002F ACを満たす最小限のコードを実装\nawait runTests() \u002F\u002F Expected: PASS\n\n\u002F\u002F ? Refactor: コード改善\n\u002F\u002F テストを保ちながら改善\nawait runTests() \u002F\u002F Expected: PASS\n```\n\n### Phase 3: 完了時（必須フロー）\n\n```typescript\n\u002F\u002F 1. AC全項目をチェック\nacceptanceCriteria.forEach(ac => {\n  console.log(`✅ ${ac}`)\n})\n\n\u002F\u002F 2. テストが全て通過していることを確認\nawait runTests() \u002F\u002F All tests pass\n\n\u002F\u002F 3. ステータス更新\nawait updateSubtaskFile({\n  status: 'completed',\n  completed_at: new Date().toISOString()\n})\n\n\u002F\u002F 4. 親Storyの確認\nif (allSubtasksCompleted(storyId)) {\n  await updateStoryFile({ status: 'completed' })\n}\n\n\u002F\u002F 5. 次のSubtaskを提示\nconsole.log(`次のSubtask: ${getNextSubtask()}`)\n```\n\n## スコープ判断\n\n### スコープ内（実装OK）\n\n- ACに明記されている機能\n- ACを達成するために必須の技術的実装\n- ユーザーストーリーの価値を実現する機能\n\n### スコープ外（提案のみ）\n\n- ACに記載のない「ついでに」の改善\n- 将来必要になる「かもしれない」機能\n- 他のSubtask\u002FStoryで対応すべき機能\n\n### スコープ外対応フロー\n\n```typescript\nif (isOutOfScope(request)) {\n  const response = `\n  ご依頼いただいた「${request}」は、現在のSubtaskのACに含まれていません。\n\n  現在のAC:\n  ${currentAC.map(ac => `- ${ac}`).join('\\n')}\n\n  対応案:\n  1. 現在のSubtaskでは実装しない\n  2. 別のSubtaskとして提案\n\n  どちらを選択しますか？`\n\n  await ask(response)\n}\n```\n\n## テストファイル配置\n\n```\nspecs\u002F{epic-id}\u002F{story-id}\u002F{subtask-id}.md  # Subtask定義\n{feature}\u002F\n├── service.ts         # 実装ファイル\n└── __dev__\u002F\n    └── service.test.ts  # テストファイル（Colocation）\n```\n\n## 禁止事項\n\n- ❌ ACなしでの実装開始\n- ❌ テストなしでの実装（TDD違反）\n- ❌ スコープ外の「ついでに」実装\n- ❌ 複数機能の同時実装（1 Subtask = 1機能）\n- ❌ ユーザー確認なしの仕様変更\n- ❌ 完了確認なしのステータス更新\n\n## エラー対応\n\n### ACが曖昧な場合\n\n```typescript\nif (isACAmbiguous(ac)) {\n  await ask(`\n  以下のACが曖昧なため、実装を開始できません。\n\n  曖昧なAC: ${ac}\n\n  以下のように明確化することを提案します:\n  「${suggestedAC}」\n\n  この明確化で進めてよいですか？\n  `)\n}\n```\n\n### テストが通らない場合\n\n```typescript\nif (testsFailed) {\n  \u002F\u002F 実装を修正（Green達成まで）\n  \u002F\u002F テスト自体の問題なら修正\n  \u002F\u002F ACの解釈に問題があればユーザーに確認\n}\n```\n\n## ブランチ・PR連携\n\n本Skillは `\u002Fbranch` と `\u002Fpr` を自動的に呼び出します。\n\n### 連携フロー\n\n```\nspec-workflow 開始\n    │\n    ├─ Subtaskファイル読み込み\n    │\n    ├─ AC確認・ユーザー承認\n    │       │\n    │       └─ 承認後 → \u002Fbranch 発火\n    │          ブランチ: impl\u002F{subtask-id}-{description}\n    │\n    ├─ TDD実装\n    │   - ? Red: テスト作成\n    │   - ? Green: 最小実装\n    │   - ? Refactor: 改善\n    │\n    ├─ AC全項目チェック\n    │\n    └─ 完了時 → \u002Fpr 発火\n        PR: 実装レビュー用\n```\n\n### \u002Fbranch 呼び出し\n\nAC確認・承認後に自動発火：\n\n```\nClaude: 以下のACで実装を進めます。よろしいですか？\n        - AC1: ...\n        - AC2: ...\n\nユーザー: OK\n\nClaude: 実装用ブランチを作成します。\n\n        ブランチ名: impl\u002F001-01-01-user-auth\n        ベース: main\n\n        作成してよいですか？\n```\n\n### \u002Fpr 呼び出し\n\nAC全項目チェック完了後に自動発火：\n\n```\nClaude: 全てのACを満たしました。\n\n        ✅ AC1: 有効な認証情報でログイン成功\n        ✅ AC2: 無効な認証情報でエラー表示\n        ✅ AC3: MFAコード検証\n\n        PRを作成しますか？\n        タイトル: impl: ユーザー認証機能の実装\n\n        ## Summary\n        - 001-01-01 を実装\n        - ログイン\u002Fログアウト機能\n\n        ## AC確認\n        - [x] AC1\n        - [x] AC2\n        - [x] AC3\n```\n\n---\n\n## 参照ドキュメント\n\n- [SPEC_FORMAT.md](..\u002F..\u002F..\u002F.ai\u002FSPEC_FORMAT.md) - 仕様フォーマット定義\n- [WORKFLOW.md](..\u002F..\u002F..\u002F.ai\u002FWORKFLOW.md) - ワークフロー詳細\n\n---\n\n## 関連Skill\n\n- **\u002Fbranch**: ブランチ作成（本Skillから自動呼び出し）\n- **\u002Fpr**: PR作成（本Skillから自動呼び出し）\n- **\u002Fspec**: 仕様策定（本Skillの上流工程）\n\n### 全体連携フロー\n\n```\n\u002Fspec（仕様策定）\n    ├─ \u002Fbranch 発火（spec\u002F*）\n    ├─ ファイル生成\n    └─ \u002Fpr 発火（仕様レビュー）\n        ↓ マージ後\nspec-workflow（実装）← 本Skill\n    ├─ \u002Fbranch 発火（impl\u002F*）\n    ├─ TDD実装\n    └─ \u002Fpr 発火（実装レビュー）\n```\n\n## 使用例\n\n### 例1: 新規Subtask実装\n\n```\nユーザー: 「001-01-01の設定要件Subtaskを実装して」\n\n[自動] spec-workflow Skill発動\n[自動] specs\u002F001-environment-setup\u002F001-01-common-config\u002F001-01-01-config-requirements.md を読み込み\n\nClaude: 「以下のACで実装を進めます。よろしいですか？\n- 設定ファイル配置方針が明確に決定されていること\n- ESLint、Prettier、TypeScriptの設定内容が仕様として確定していること\n- package.jsonスクリプトの統一方針が決定されていること」\n\nユーザー: 「OK」\n\nClaude: 「? Red: テストケースを導出します...」\n（以下、TDDサイクル）\n```\n\n### 例2: スコープ外リクエスト\n\n```\nユーザー: 「ついでにCI\u002FCDも設定して」\n\nClaude: 「ご依頼いただいた「CI\u002FCD設定」は、現在のSubtaskのACに含まれていません。\n\n現在のAC:\n- 設定ファイル配置方針が明確に決定されていること\n- ESLint、Prettier、TypeScriptの設定内容が仕様として確定していること\n\n対応案:\n1. 現在のSubtaskでは実装しない（推奨）\n2. 新規Subtaskとして定義する\n\nどちらを選択しますか？」\n```\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fclionegohan\u002Fspec-workflow",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":44,"prompt":54,"zipAvailable":55},[45,48,51],{"tool":46,"command":47},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill spec-workflow",{"tool":49,"command":50},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill spec-workflow",{"tool":52,"command":53},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill spec-workflow","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fclionegohan\u002Fspec-workflow\u002FSKILL.md",true,[57,63,67],{"path":58,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":61,"sourceHtmlUrl":62},"references\u002Fframer.md","REFERENCE","参考文档",19396,"https:\u002F\u002Fgithub.com\u002FTorchiaHub\u002FSkills\u002Fblob\u002Fmaster\u002F01-Inbox\u002Fdownloads\u002Fgithub-awesome-copilot\u002F20260429T123413Z\u002Fsource\u002Fskills\u002Fgsap-framer-scroll-animation\u002Freferences\u002Fframer.md",{"path":64,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":65,"sourceHtmlUrl":66},"references\u002Fgsap.md",16958,"https:\u002F\u002Fgithub.com\u002FTorchiaHub\u002FSkills\u002Fblob\u002Fmaster\u002F01-Inbox\u002Fdownloads\u002Fgithub-awesome-copilot\u002F20260429T123413Z\u002Fsource\u002Fskills\u002Fgsap-framer-scroll-animation\u002Freferences\u002Fgsap.md",{"path":68,"resourceType":59,"resourceTypeDesc":60,"sizeBytes":69,"sourceHtmlUrl":70},"skill-report.json",14372,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fclionegohan\u002Fspec-workflow\u002Fskill-report.json",[72,82,92,101,107,114],{"skillNo":73,"name":74,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":78,"publishedAt":29},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[77],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[79,80,81],"model","model hierarchy","model hierarchy skill",{"skillNo":83,"name":84,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":88,"publishedAt":29},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[87],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[89,90,91],"MCP","zoom","zoom mcp",{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":29},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[98,99,100,90],"sdk","zoom apps sdk","apps",{"skillNo":102,"name":103,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":29},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[103],{"skillNo":108,"name":109,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":113,"publishedAt":29},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[112],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[109],{"skillNo":115,"name":116,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":29},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[116]]