/ai-cli-task report — Generate Completion Report
Generate a structured completion report for a task module, documenting what was planned, executed, and verified.
Usage
/ai-cli-task report <task_module_path> [--format full|summary]
Prerequisites
- •Task module should have status
complete(post-exec assessment passed) - •Can also be run on
blockedorcancelledtasks for documentation purposes - •Minimum content: If status is
draftand no plan files exist, report outputs a brief notice ("No meaningful content to report — task is still in draft with no plan") instead of generating an empty report structure
Report Structure
Full Format
# Task Report: <title> ## Summary - **Status**: complete | blocked | cancelled - **Created**: <timestamp> - **Completed**: <timestamp> - **Duration**: <calculated> ## Objective <!-- From .target.md --> ## Plan <!-- Summary of implementation approach from plan files --> ## Changes Made <!-- List of files modified/created/deleted with brief descriptions --> ## Verification <!-- From .test/ criteria and results files, build status, evaluation outcomes --> ## Issues Encountered <!-- From .bugfix/ if exists, or "None" --> ## Dependencies <!-- Status of depends_on modules --> ## Lessons Learned <!-- Any notable patterns, workarounds, or discoveries -->
Summary Format
Compact single-section report with: status, objective (1 line), key changes (bullet list), verification result.
Output
The report is written to AiTasks/<module_name>/.report.md and also printed to screen.
Execution Steps
- •Read
.index.mdfor task metadata (includingcompleted_steps) - •Read
.target.mdfor objectives - •Read all plan files for implementation approach
- •Read
.summary.mdif exists (condensed context overview) - •Read
.test/for verification criteria and test results (all files, sorted by name, if exists) - •Read
.analysis/for evaluation history (all files, sorted by name, if exists) - •Read
.bugfix/for issue history (all files, sorted by name, if exists) - •Read
.notes/for research findings and experience log (all files, sorted by name, if exists) - •Collect git changes related to the task (if identifiable)
- •Compose report in requested format
- •Write to
.report.md - •Distill experience: If task status is
completeandtypeis non-empty, validatetypematches[a-zA-Z0-9_:-]+then extract key learnings and append toAiTasks/.experience/<type>.md(create file if not exists). AcquireAiTasks/.experience/.lockbefore writing (see Concurrency Protection incommands/ai-cli-task.md). Each entry is a section headed### <module> (<date>)containing: what worked, what didn't, key decisions, tools/patterns discovered. If.experience/<type>.mdexceeds 500 lines, compact it by summarizing older entries. Release lock after write - •Git commit:
-- ai-cli-task(<module>):report generate completion report - •Write
.auto-signal:{ step: "report", result: "(generated)", next: "(stop)", checkpoint: "" } - •Print report to screen
Note: Report is a terminal step — it reads ALL history files (not just latest) to produce a comprehensive record. .summary.md is used as an overview, not a replacement for full history in report context.
State Transitions
No status change — report generation is informational. The task must already be complete, blocked, or cancelled.
Git
- •
-- ai-cli-task(<module>):report generate completion report
.auto-signal
{ "step": "report", "result": "(generated)", "next": "(stop)", "checkpoint": "", "timestamp": "..." }
Report is always a terminal step — next is always (stop).
Notes
- •Reports are overwritten on regeneration (only latest report kept)
- •For
blockedtasks, the report documents what was completed and what blocks remain - •For
cancelledtasks, the report documents the reason for cancellation - •The report serves as a permanent record even after task files are archived
- •For
completetasks, report includes change history viagit log --oneline --all --grep="ai-cli-task(<module>)"(uses commit message pattern, works even after task branch deletion)