sdd:add-task について
sdd:add-taskは、ユーザーの依頼からタスクの下書きファイルを作成するスキルです。作業の分類、行動を示すタイトルとファイル名の作成、後続工程向けの依頼内容の記録を行います。
主な機能
- 01タスク種別の分類
- 02行動を示すタイトル
- 03規約に沿ったファイル名
- 04依存関係の処理
- 05元の依頼内容の記録
活用シーン
- 01機能要望のタスク化
- 02バグ修正タスクの下書き
- 03ドキュメントやテスト作業の準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ neolabhq/ context-engineering-kit --skill sdd:add-taskインストール後、Claude Code で/sdd:add-taskを入力して読み込まれたか確認します。
詳細
ドラフトタスクファイルの作成
役割
ユーザーの依頼に正確に合致するドラフトタスクファイルを作成します。
目標
.specs/tasks/draft/ に次の要件を満たすタスクファイルを作成します。
- 明確で行動指向のタイトル(動詞+具体的な説明)
- 適切な種別分類(feature/bug/refactor/test/docs/chore/ci)
- 依存関係がある場合は正しく記載
- ユーザーの意図を保った有用な説明
- 正しいファイル名
入力
- ユーザー入力:ユーザーが指定したタスクの説明/タイトル(引数として渡されます)
- 対象ディレクトリ:デフォルトは
.specs/tasks/draft/
手順
1. ディレクトリ構成を確認する
フォルダー作成スクリプトを実行し、タスクディレクトリを作成して gitignore を設定します。
bash ${CLAUDE_PLUGIN_ROOT}/scripts/create-folders.sh
これにより、次のディレクトリが作成されます。
.specs/tasks/draft/- 分析待ちの新しいタスク.specs/tasks/todo/- 実装準備が整ったタスク.specs/tasks/in-progress/- 現在作業中のタスク.specs/tasks/done/- 完了したタスク.specs/scratchpad/- 一時作業ファイル(gitignore 対象)
2. 入力を分析する
-
ユーザーの依頼を解析する:
- タスクの中心的な目的を抽出する
- 暗に示されている種別(bug、feature、task)を特定する
- このタスクが依存するタスクファイルの一覧を作成する
-
曖昧な場合は確認する(本当に不明確な場合のみ):
- バグ修正か、新機能か?
- 関連タスクや依存関係はあるか?(指定されていない場合は、依存関係なしとみなします)
3. タスクを構成する
-
行動指向のタイトルを作成する:
- 動詞で始めます:Add、Fix、Update、Implement、Remove、Refactor
- 具体的かつ簡潔にします
- 例:
- 「ログインフォームにバリデーションを追加する」
- 「ユーザーサービスのヌルポインターを修正する」
- 「API レスポンスにキャッシュを実装する」
-
種別を決定する:
種別 使用する場面 feature新しい機能や能力 bug動作が壊れている、または正しく機能していない refactor動作を変えずにコードを再構成する testテストを追加または更新する docsドキュメントのみの変更 choreメンテナンス作業、依存関係の更新 ciCI/CD 設定の変更
4. ファイル名を生成する
-
タスクタイトルから短い名前を作成する:
- タイトルを小文字にする
- スペースをハイフンに置き換える
- 特殊文字を削除する
- 簡潔にする(最大 3~5 語)
- 例:「Add validation to login form」→
add-validation-login-form
-
ファイル名を作成する:
<short-name>.<issue-type>.md- 例:
add-validation-login-form.feature.mdfix-null-pointer-user-service.bug.mdrestructure-auth-module.refactor.mdadd-unit-tests-api.test.mdupdate-readme.docs.mdupgrade-dependencies.chore.mdadd-github-actions.ci.md
- 例:
-
重複がないことを確認する:
.specs/tasks/draft/、.specs/tasks/todo/、.specs/tasks/in-progress/、.specs/tasks/done/を確認し、同じ名前のファイルが存在しないことを確認します。
5. タスクファイルを作成する
Write ツールを使用して .specs/tasks/todo/<short-name>.<issue-type>.md を作成します。
---
title: <ACTION-ORIENTED TITLE>
depends_on: <list of task files that this task depends on>
---
## Initial User Prompt
{EXACT user input as provided}
## Description
// Will be filled in future stages by business analyst
制約
- plan スキルを呼び出さないでください。後続のフェーズはワークフローで処理されます。
.specs/tasks/draft/以外にファイルを作成しないでください。- 既存のタスクファイルを変更しないでください。
- 説明を書かず、タスクファイルの指定に従って
// ...のプレースホルダーのみを記載してください。 - 依存関係が指定されていない場合は、depends_on セクションを書かないでください。
出力形式
オーケストレーターに次の情報を返します。
- タスクファイルのパス:作成したファイルのフルパス(例:
.specs/tasks/todo/add-validation-login-form.feature.md) - 生成したタイトル:作成した行動指向のタイトル
- Issue 種別:
task、bug、またはfeature
形式:
Created task file: .specs/tasks/draft/<name>.<type>.md
Title: <action-oriented title>
Type: <task|bug|feature>
Depends on: <list of task files that this task depends on>
成功基準
- ディレクトリ
.specs/tasks/draft/、.specs/tasks/todo/、.specs/tasks/in-progress/、.specs/tasks/done/が存在する -
.specs/tasks/draft/に、正しい命名規則(<name>.<type>.md)に従ったタスクファイルが作成されている - ファイル名がすべてのステータスフォルダーで一意である(既存のファイルを上書きしない)
- 依存関係が指定されている場合、「Depends」セクションが正しい
- タイトルが動作を表す動詞(Add、Fix、Implement、Update、Remove、Refactor)で始まる
- タイプが正しく分類され、ファイル拡張子(
.feature.md、.bug.md、.refactor.md、.test.md、.docs.md、.chore.md、.ci.md)に反映されている - 「Initial User Prompt」セクションにユーザーの元の入力が保持されている
- 説明が空のプレースホルダー
// Will be filled in future stages by business analystになっている
例
テストタスク(.specs/tasks/draft/add-unit-tests-auth.test.md):
---
title: Add unit tests for auth module
---
## Initial User Prompt
add tests for auth
## Description
// Will be filled in future stages by business analyst
コンテキスト付きのバグ(.specs/tasks/draft/fix-login-timeout.bug.md):
---
title: Fix login timeout on slow connections
---
## Initial User Prompt
users getting 504 errors on slow wifi
## Description
// Will be filled in future stages by business analyst
機能リクエスト(.specs/tasks/draft/implement-dark-mode.feature.md):
---
title: Implement dark mode toggle
---
## Initial User Prompt
add dark mode to settings page
## Description
// Will be filled in future stages by business analyst