From code
Validates plan.json deterministically via Python script: JSON parsing, schema checks, task checkboxes, required sections, sync validation, data extraction. Replaces agent for structural checks.
npx claudepluginhub closedloop-ai/claude-plugins --plugin codeThis skill is limited to using the following tools:
Deterministic plan.json validation that replaces the plan-validator Sonnet agent for all structural checks. The semantic consistency check (storage/query alignment, task/architecture contradictions) still requires the LLM agent and should be run separately when needed.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Deterministic plan.json validation that replaces the plan-validator Sonnet agent for all structural checks. The semantic consistency check (storage/query alignment, task/architecture contradictions) still requires the LLM agent and should be run separately when needed.
Activate this skill instead of launching @code:plan-validator at every plan validation site. The orchestrator should only launch the full plan-validator agent for semantic-only checks after plan creation or modification phases.
Run the validation script. The scripts/ directory is relative to this skill's base directory (shown above as "Base directory for this skill"):
python3 <base_directory>/scripts/validate_plan.py <WORKDIR>
The script prints JSON to stdout matching the exact plan-validator output format.
{
"status": "VALID",
"issues": [],
"has_unanswered_questions": false,
"unanswered_questions": [],
"has_answered_questions": false,
"answered_questions": [],
"has_addressed_gaps": false,
"addressed_gaps": [],
"pending_tasks": [{"id": "T-1.1", "description": "...", "acceptanceCriteria": ["AC-001"]}],
"completed_tasks": [],
"manual_tasks": []
}
Action: Parse the extracted data fields. Use pending_tasks, completed_tasks, etc. as if the plan-validator agent returned them.
{
"status": "FORMAT_ISSUES",
"issues": ["Missing required field: openQuestions", "Task missing checkbox in content: '- **T-1.2**: ...'"],
...
}
Action: Handle the same way as plan-validator FORMAT_ISSUES — launch fix subagents as appropriate.
EMPTY_FILE: plan.json doesn't exist or is emptyINVALID_JSON: plan.json contains malformed JSON**T-X.Y** line has - [ ] or - [x] prefix## headers present in contentSemantic consistency validation (Step 6 in plan-validator):
Only run the plan-validator agent with semantic-only focus after phases that modify the plan content (Phase 1 creation, Phase 2.6 critic merge, Phase 2.7 finalization).