AgentSkillsCN

Parallel Dev

将大型任务拆分为并行处理单元,为每个文件生成独立的实现步骤,为任务代理的并行执行做好充分准备。

SKILL.md
--- frontmatter
description: 大きなタスクを並行処理用に分割し、ファイルごとの独立した実装ステップを生成するスキル。タスクエージェントで並列実行するための準備を行う。
triggers:
  - 並列タスク作成
  - タスク分割
  - parallel tasks
  - split tasks

並列開発スキル

概要

大きな実装タスクを、ファイル単位の独立したタスクに分割する。 各タスクはコンフリクトなく並列実行できるように設計される。

原則

1. ファイル単位で分割

  • 1タスク = 1ファイル(または強く関連する2-3ファイル)
  • 同じファイルを複数タスクが編集しない

2. 依存関係を明確に

  • 依存グラフを作成(A → B は「AがBに依存」)
  • 依存がないタスクは並列実行可能
  • 依存があるタスクは順次実行

3. インターフェース先行

  • trait/型定義を先に作成
  • 実装は型が決まってから並列化

分割フロー

code
1. 機能を分析
   ↓
2. 関連ファイルをリストアップ
   ↓
3. 依存関係を分析
   ↓
4. 独立タスクにグルーピング
   ↓
5. 実行順序を決定(依存グラフから)
   ↓
6. タスク定義を生成

タスク定義フォーマット

各タスクは以下の情報を持つ:

markdown
### Task: [タスク名]

**ファイル**: [対象ファイルパス]
**依存**: [依存するタスク名、なければ "なし"]
**並列グループ**: [同時実行可能なグループ番号]

**内容**:
- [具体的な実装内容]
- [期待される成果物]

**入力(前提)**:
- [必要な型定義やtrait]

**出力(成果物)**:
- [作成される型、関数、モジュール]

並列グループの概念

code
Group 1 (並列実行可能)
├── Task A: types.rs
├── Task B: error.rs
└── Task C: config.rs

Group 2 (Group 1 完了後)
├── Task D: lib.rs (A, B, C に依存)
└── Task E: utils.rs (A に依存)

Group 3 (Group 2 完了後)
└── Task F: main.rs (D, E に依存)

出力形式

スキル実行後、以下を生成:

  1. タスク一覧ドキュメント (docs/parallel-tasks-[phase].md)

    • 全タスクの定義
    • 依存グラフ(Mermaid記法)
    • 実行順序
  2. タスクエージェント用プロンプト

    • 各タスクの具体的な指示
    • 必要なコンテキスト

使用例

Phase 2 (embed-core + embed-ort) の分割例

code
Group 1 (型定義 - 並列)
├── embed-core/src/lib.rs       # Embedder trait
├── common/src/types.rs         # Embedding型
└── common/src/error.rs         # EmbedError

Group 2 (ユーティリティ - 並列)
├── embed-core/src/normalize.rs # L2正規化
└── embed-core/src/fusion.rs    # ベクトル融合

Group 3 (ONNX実装 - 並列)
├── embed-ort/src/preprocess.rs # 画像前処理
├── embed-ort/src/clip.rs       # CLIP推論
└── embed-ort/src/mclip.rs      # mCLIP推論

Group 4 (統合)
└── embed-ort/src/lib.rs        # エクスポート

注意事項

  • 150-500行ルールを守る
  • 型定義は必ず先行
  • テストは実装と同じタスクに含める
  • コンフリクト回避が最優先