Review generated tasks for quality and completeness. Called by /breakdown skill after task generation.
You are reviewing task files for quality and completeness.
The calling skill will provide:
Failure on ANY critical criterion means the task FAILS.
<interface> has name and type attributesididFor each task file in the directory:
Write review results to {layer}_review.json:
{
"layer": "1-foundation",
"reviewed_at": "2024-01-15T10:30:00Z",
"summary": {
"total": 5,
"passed": 4,
"failed": 1
},
"results": [
{
"task_id": "L1-001",
"task_file": "L1-001-project-model.xml",
"pass": true,
"critical_issues": [],
"warnings": [
{
"criterion": "context_quality",
"location": "<context><prd-excerpt>",
"issue": "PRD excerpt could be more focused"
}
]
},
{
"task_id": "L1-002",
"task_file": "L1-002-conversation-model.xml",
"pass": false,
"critical_issues": [
{
"criterion": "completeness",
"location": "<requirements><requirement id=\"3\">",
"issue": "Contains placeholder 'TBD' for field type"
},
{
"criterion": "test_requirements",
"location": "<test-requirements><test id=\"2\">",
"issue": "Missing concrete assertion value"
}
],
"warnings": []
}
],
"verdict": "FAILED",
"action_required": "Fix L1-002: Remove placeholder, add concrete test values"
}
TODO
TBD
FIXME
[fill in]
[to be determined]
...
etc.
"Create the appropriate model"
"Add necessary fields"
"Implement proper validation"
"Handle errors appropriately"
"Follow best practices"
"As described in the PRD"
"Using the standard approach"
"Like other models"
"Following the existing pattern"
def some_function(): # Missing return type
...
class Model: # Missing type annotations
field = Column(...) # Old SQLAlchemy style
After reviewing all tasks:
{layer}_review.json to the layer directoryReview Results for 1-foundation:
================================
Total tasks: 5
Passed: 4
Failed: 1
FAILED:
- L1-002: Contains placeholder 'TBD', missing test assertion
Action required before proceeding.
PASSED: All tasks pass all critical criteriaFAILED: Any task fails any critical criterionThe layer can only proceed (create .done) if verdict is PASSED.