タスクレキャップ は何をしますか?
完了したタスクごとに、1つのレキャップを返信の最後(すべてのツール呼び出しの後)に記述します。読者が10秒で今何が真実か、どうやってそれを知ったか、何が残っているかを把握できるようにします。これはセッションのログではなく、要約です。
現在のプロジェクトに独自のtask-recapスキルがある場合は、そちらに従ってください。そのプロジェクトのチェック名や規約が記載されています。
テンプレート
### <ステータスグリフ> <タイトル: 今何が真実か、8語以内>
<1~2文: 結果とその重要性。プロセス説明なし。>
**変更**
- [`File.ext`](path/to/File.ext) — 変更内容を簡潔に
- [`Other.ext`](path/to/Other.ext:42) — …
**チェック** · `build ✓` · `tests 14/14 ✓` · `lint ✓`
**次** — <未解決の項目、決定事項、フォローアップ>
ステータスグリフ
見出しにのみ、グリフを1つだけ使用します。
| グリフ | 意味 |
|---|---|
| ✅ | 完了、確認済み |
| ⚠️ | 完了だが、未確認またはチェック失敗あり |
| ⛔ | ブロック: 完了できなかった(要約に理由を記載) |
| 🔎 | 調査または質問に回答済み、コード変更なし |
セクション
- タイトル — 活動内容ではなく結果を:「SearchServiceのバグを修正」ではなく「検索結果の順序が維持される」のように。
- 要約 — 1~2文。まずユーザーに見える影響を述べ、次に原因やアプローチ(明白でない場合)を記述。
- 変更 — ファイルまたは論理グループごとに1行、最大6つ。残りはグループ化(「+ 4件の翻訳 in
Localizable.xcstrings」)。ファイルは作業ディレクトリからの相対パスのMarkdownリンクとし、特定の行が重要な場合は:行番号を付加。何も変更がない場合はセクションを省略。 - チェック — インラインコードのバッジ1行。このタスクで実際に実行したものだけを、プロジェクト固有のツール名で記述:
build ✓/build ✗、tests N/M ✓、ui ✓(UIまたはE2Eテスト)、lint ✓、types ✓(型チェッカー)、changelog ✓、およびプロジェクトの指示で必要なチェック(例:翻訳チェック)。- 該当するが実行されなかったチェックは
build –と記述し、次または要約に記載。実行していないチェックに✓を付けない。 - ドキュメントのみまたは調査タスクの場合は、この行を省略。
- 次 — 1行:ユーザーを待つ決定、フォローアップ、またはgitの状態(
mainに未コミット、PRオープン中)。保留事項がない場合は省略。
ルール
- 簡潔: 合計4~12行。それ以上必要なら変更リストが細かすぎるのでグループ化すること。
- 正直: テスト失敗やスキップされたステップは⚠️で明白に示し、隠さない。
- ナレーション禁止: 「まず〜を見て、次に〜しました」は不可。依頼の言い直しも不可。閉めの挨拶や「ご不明な点があればお知らせください」も不可。
- コードブロック禁止: ユーザーがコマンドを実行する必要がある場合を除き、コードブロックは使用しない。その場合は1つのコマンドを含む
bashブロックを次の後に配置。 - プレーンMarkdownのみ:
###見出し、太字ラベル、箇条書き、インラインコード。テーブル、追加絵文字、水平線は使用しない。 - ユーザーが使用した言語で記述する。ファイル名、コード、バッジラベルは英語のままにする。
- PRやIssueは完全なリンクで参照する(
[owner/repo#94](https://github.com/owner/repo/pull/94))、#94のような裸の形式は使用しない。 - Claudeデスクトップアプリでは、レキャップは
wrap_up呼び出し後に書かれるクロージングメッセージであり、次のステップボックスに表示される質問を繰り返さない。
例
機能追加:
### ✅ プロフィール画面に参加日を表示
各プロフィールに、ユーザーの地域設定に合わせてフォーマットされた参加日が名前の下に表示されるようになりました。
**変更**
- [`ProfileHeader.swift`](Sources/Profile/ProfileHeader.swift) — 参加日ラベル
- [`Localizable.xcstrings`](Sources/Profile/Resources/Localizable.xcstrings) — `Joined %@` 文字列
- [`CHANGELOG.md`](CHANGELOG.md) — Unreleasedにエントリ追加
**チェック** · `build ✓` · `tests 32/32 ✓` · `lint ✓`
**次** — `feature/profile-join-date`ブランチに未コミット。PR作成準備完了。
部分的な結果:
### ⚠️ アップロード進捗がバックグラウンド後も維持される
進捗をローカルカウンターではなくサーバーが確認したバイト数から導出するようにしたため、アプリが中断されても正しい値が保たれます。
**変更**
- [`UploadViewModel.swift`](Sources/Upload/UploadViewModel.swift:58) — `acknowledgedBytes`から進捗を読み取るように
**チェック** · `build ✓` · `tests 11/12 ✗` · `lint ✓`
**次** — `testPauseResume`がまだ旧カウンターを期待している。更新するか、旧ポーズ動作を維持するか?
調査:
### 🔎 ダッシュボードの遅延原因はキャッシュ保存の遅れ
ダッシュボードはバックグラウンド保存が完了する前にキャッシュを読み取るため、次回リフレッシュまで以前のデータが表示されます。
**次** — `SyncService`の保存完了後にリフレッシュすることで修正。ここで実施しますか?