skanehira

developing

@skanehira/developing
skanehira
80
4 forks
Updated 1/6/2026
View on GitHub

テスト駆動開発(TDD)方法論に従って新機能の実装やバグ修正を行います。新機能の実装、バグ修正、既存機能の拡張時に使用します。RED→GREEN→REFACTORサイクルをテストファーストアプローチで厳格に遵守します。高凝集度・低結合度・コロケーションを意識したアーキテクチャ設計を適用します。

Installation

$skills install @skanehira/developing
Claude Code
Cursor
Copilot
Codex
Antigravity

Details

Pathclaude/skills/developing/SKILL.md
Branchmain
Scoped Name@skanehira/developing

Usage

After installing, this skill will be available to your AI coding assistant.

Verify installation:

skills list

Skill Instructions


name: developing description: テスト駆動開発(TDD)方法論に従って新機能の実装やバグ修正を行います。新機能の実装、バグ修正、既存機能の拡張時に使用します。RED→GREEN→REFACTORサイクルをテストファーストアプローチで厳格に遵守します。

開発(TDD + アーキテクチャ設計)

参照ルール

  • TDDルール: rules/core/tdd.md
  • 設計原則: rules/core/design.md
  • テストルール: rules/core/testing.md
  • コミットルール: rules/core/commit.md

Design Thinking(設計思考)

実装前に以下の観点で設計を検討する:

1. 責務の明確化

  • この機能の単一責務は何か?
  • この変更は既存の責務を侵害しないか?
  • テストしやすい単位に分割できるか?

2. 依存関係の分析

  • このモジュールが依存するものは何か?
  • 依存を注入可能にできるか?(テストダブルで置換可能か)
  • 循環依存が発生しないか?

3. 配置の決定

  • この機能はどこに配置すべきか?(コロケーション原則に従う)
  • 関連するテスト・型・ヘルパーは同じ場所に配置できるか?
  • 変更時に影響範囲が最小化されるか?

ワークフロー

ステップ1: 設計思考

実装前に問いかける:

□ この機能の単一責務は何か?
□ どのディレクトリに配置すべきか?
□ 依存は注入可能か?
□ 既存コードへの影響範囲は?

ステップ2: 作業計画(TodoWriteを使用)

構造化されたタスクリストを作成:

- [ ] 失敗するテストを書く(RED)
- [ ] テストを通過させる最小限の実装(GREEN)
- [ ] リファクタリング(必要に応じて)
- [ ] 品質チェック(lint, format, build, test)

ステップ3: REDフェーズ - 失敗するテストを書く

テストを作成し、実行して失敗を確認。

ステップ4: GREENフェーズ - テストを通過させる

テストを通過させる最小限の実装を行う。

ステップ5: REFACTORフェーズ - 品質向上

すべてのテストがグリーンの場合のみ進める。

リファクタリングの観点(詳細は rules/core/design.md を参照):

  • 高凝集度を維持しているか
  • 低結合度を維持しているか
  • 重複を排除できるか

ステップ6: 品質チェック(必須)

# すべてのチェックが通過するまでタスクは完了しない
npm run lint     # リンターを実行
npm run format   # フォーマッターを実行
npm run build    # ビルドを実行
npm test         # テストを実行

バグ修正プロセス

  1. テストでバグを再現(テストは失敗するべき)
  2. 最小限の変更で修正
  3. エッジケーステストを追加
  4. 必要に応じてリファクタリング

リソース

references/architecture-patterns.md

高凝集度・低結合度・コロケーションの詳細パターン


覚えておくこと: すべての実装はテスト駆動でなければならない。例外なし。

More by skanehira

View all
ddd-modeling
82

ドメインエキスパートとの対話を通じてユビキタス言語(用語集)とドメインモデルを作成する。新規プロジェクト開始時のドメイン理解、既存システムのリファクタリング前のモデル整理、チーム内での用語統一が必要な場合に使用。「DDDでモデリングしたい」「ドメインモデルを作成」「用語集を整理」「ユビキタス言語を定義」などのリクエストで起動。

slc-ideation
82

SLC(Simple, Lovable, Complete)フレームワークに基づいてプロダクトアイデアの壁打ちを行います。対話的な質問を通じてアイデアを洗練し、SLCの3要素を満たすまで繰り返し検証します。最終的にプロダクト仕様書を生成します。「プロダクトアイデアを壁打ちしたい」「新規プロダクトの企画」「アイデアをSLCで検証」などのリクエストで起動します。

reviewing-skills
80

Claude Codeスキルを公式ベストプラクティスに基づいてレビューします。SKILL.mdファイルのレビュー、スキル品質のチェック、スキル構造の検証、改善提案が必要な場合に使用します。「このスキルをレビューして」「スキル品質をチェック」「SKILL.mdを検証」「このスキルを改善」などのリクエストで起動します。

planning-tasks
80

承認済みの設計書(DESIGN.md)からTDD準拠のTODO.mdを作成します。analyzing-requirementsスキルで設計が完了・承認された後に使用します。developingスキルで実装できる形式のタスクリストを生成します。