Skip to content
Back to skills

Dry Coding

ASecurity

PR〜エピック単位のシステム設計 + dry-coding。要件→多角的評価→設計ドキュメント(.claude/plans/)。plan mode wrapper。Explore/Plan subagent並列 + Schema Contract。コード変更は行わず、設計ドキュメントとレビュー可能な実装コードを出力。(1)新機能設計 (2)リファクタ設計 (3)PR前設計レビュー (4)アーキ判断文書化 (5)アプローチ比較 (6)エピック段階計画 (7)実装コードのdry提示

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigobashgitapiperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add sorafujitani/skills --skill dry-coding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dry Coding?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dry Coding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sorafujitani-dry-coding/badge)](https://www.skillsdirectory.com/skills/sorafujitani-dry-coding)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dry-coding
description: "PR〜エピック単位のシステム設計 + dry-coding。要件→多角的評価→設計ドキュメント(.claude/plans/)。plan mode wrapper。Explore/Plan subagent並列 + Schema Contract。コード変更は行わず、設計ドキュメントとレビュー可能な実装コードを出力。(1)新機能設計 (2)リファクタ設計 (3)PR前設計レビュー (4)アーキ判断文書化 (5)アプローチ比較 (6)エピック段階計画 (7)実装コードのdry提示"
allowed-tools: Bash, Read, Glob, Grep, Task, WebSearch, WebFetch, AskUserQuestion
argument-hint: "[requirements | issue-url | description]"
---

# System Design + Dry Coding

plan mode前提。コード変更禁止。設計ドキュメントと実装コードを読み取り専用で出力する。

## 原則

```
P1: read-only — ファイル編集なし。Read/Grep/Bash(読取のみ)
P2: evidence-based — コードベースの実態を引用。理想論でなく既存パターンとの整合
P3: WHY-driven — 各設計判断に根拠を付与
P4: schema-contracted — subagent出力はスキーマ定義に従う。ドリフト防止
P5: educational — 前提知識・公式ドキュメントリンク・パターンリファレンスを提供
P6: sequential + gates — フェーズ順守。各フェーズ完了後にユーザーOKを待つ
```

## 入力処理

`$ARGUMENTS` に応じて処理:

1. **GitHub URL** → `Task(ctx:github)` でIssue/PR情報取得
2. **テキスト** → 要件として使用
3. **空** → ユーザーに要件を求める

## フェーズ進捗

```
Progress:
- [ ] Phase 1: Context Collection(要件理解 + コードベース調査)
- [ ] Phase 2: Design Exploration(設計探索 + アプローチ比較 + 7次元評価)
- [ ] Phase 3: Design Synthesis + Dry Coding(設計ドキュメント + 実装コード生成)
```

## 確認ゲートプロトコル

各フェーズ完了時:
1. 成果物を提示
2. 進捗チェックリストを更新表示
3. ユーザー応答を待つ: OK→次へ / 質問→回答後再確認 / 戻って→再調査 / 中断→現時点の成果出力

## Phase 1: Context Collection

**目的**: 要件構造化 + コードベース現状把握 + 粒度判定

**Step 1**: 入力処理(上記参照)

**Step 2**: `Task(Explore)` x3 並列起動(各agentは独立)

| Agent | 調査対象 | 出力キー |
|-------|---------|---------|
| A: Architecture Mapping | モジュール構造、依存グラフ、アーキパターン | `architecture` |
| B: Pattern Inventory | デザインパターン、規約、エラー処理、テスト、DI | `patterns` |
| C: Tech Stack Analysis | 言語、FW、依存、ビルド、テスト、lint、CI | `tech_stack` |

各agentの出力スキーマとプロンプト: [phase1-context-collection.md](references/phase1-context-collection.md)

**Step 3**: `WebSearch` で関連公式ドキュメント収集

**Step 4**: 粒度判定
- files_changed ≤5 AND components ≤2 → **PR**
- else → **epic**
- ユーザー指定は常に優先

**出力**: context_summary + granularity判定

**確認ゲート**: サマリー提示 → ユーザーOK(粒度修正も受付)

## Phase 2: Design Exploration

**目的**: 複数アプローチ生成 → 7次元評価 → 比較 → 推奨

**Step 1**: `Task(Plan)` x2-3 並列起動(各agentに異なるbias)
- A: testability-first
- B: minimal-change
- C: extensibility-first

各agentの出力スキーマとプロンプト: [phase2-design-exploration.md](references/phase2-design-exploration.md)

**Step 2**: 7次元評価 — [evaluation-framework.md](references/evaluation-framework.md) のルーブリック適用

| # | 次元 | 配点 |
|---|------|------|
| D1 | Testability | /5 |
| D2 | Changeability | /5 |
| D3 | Pattern Appropriateness | /5 |
| D4 | Language/Runtime Fit | /5 |
| D5 | Dependency Management | /5 |
| D6 | Error Handling Strategy | /5 |
| D7 | Performance | /5 |

28-35: Excellent / 21-27: Good / 14-20: Acceptable / <14: Redesign

**Step 3**: 比較表 + 推奨アプローチ + リスク評価

**出力**: approaches[] + scores + tradeoff_table + recommendation

**確認ゲート**: 比較表提示 → ユーザーがアプローチ選択

## Phase 3: Design Synthesis + Dry Coding

**目的**: 設計ドキュメント + 実装コード生成

**Step 1**: `Task(Plan)` x1 で設計ドキュメント組み立て
- テンプレート: [design-document-template.md](references/design-document-template.md)

**Step 2**: 教育的リファレンス
- 各設計判断に `WebSearch` で公式ドキュメントURL取得
- 前提知識の説明(デザインパターン、言語固有考慮)
- パターンリファレンスリンク

**Step 3**: 粒度別出力
- **PR**: Implementation Roadmap(ステップ、ファイル、依存)
- **epic**: PR分割計画(各PRスコープ、依存順序、マージ戦略)

**Step 4**: Dry Coding — 実装コード提示
- 完全で実行可能なコードを提示(ファイル編集はしない)
- 既存パターンに従う
- 必要なimport文を含める
- 以下の形式で出力:

```
### {ファイルパス}
\`\`\`{lang}
{完全な実装コード}
\`\`\`
**実装ポイント**: {重要な設計判断の説明}
```

**Step 5**: ハルシネーション防止
- ファイルパス → `Read`/`Grep` で実在確認
- API/ライブラリ参照 → `WebSearch` で照合
- 各主張に証拠タグ: `direct_code` | `inference`

**出力先**: `.claude/plans/design-{YYYY-MM-DD}-{desc}.md`

**確認ゲート**: ドキュメント提示 → ユーザー承認 → plans/ に保存

## エラーハンドリング

| 状況 | 対応 |
|------|------|
| 無効なGitHub URL | 再入力 or テキストフォールバック |
| プライベートリポジトリ | `gh auth login` ガイド |
| テスト基盤なし | D1評価時に明記、テスト基盤セットアップを計画に含める |
| コードベースが巨大 | 要件に関連する領域に限定してGrep/Glob |
| 全アプローチ収束 | 発散的アプローチを強制生成する追加Plan agent起動 |
| 情報不足 | ユーザーに追加情報を求める + WebSearchで補完 |

Files in this skill

  • SKILL.md6.1 KB
  • references/design-document-template.md2.5 KB
  • references/evaluation-framework.md4.5 KB
  • references/phase1-context-collection.md3.9 KB
  • references/phase2-design-exploration.md3.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.