From looplia
Validates JSON artifacts in looplia workflows against criteria from validation.json using deterministic TypeScript scripts via bun. Outputs pass/fail status and check details for manual retry, debugging failures, or ad-hoc verification.
How this skill is triggered — by the user, by Claude, or both
Slash command
/looplia:workflow-validatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Validates JSON artifacts against validation criteria using deterministic script execution.
Validates JSON artifacts against validation criteria using deterministic script execution.
As of v0.6.0, the PostToolUse:Write hook automatically calls this validation script whenever an artifact is written to sandbox/*/outputs/*.json.
You typically don't need to manually invoke this skill - the hook handles it.
Use this skill only in these scenarios:
sandbox/{id}/validation.jsonRead the validation manifest at sandbox/{id}/validation.json:
{
"workflow": "writing-kit",
"version": "1.0.0",
"sandboxId": "article-2025-12-18-xk7m",
"steps": {
"summary": {
"output": "outputs/summary.json",
"validate": {
"required_fields": ["contentId", "headline", "tldr", "keyThemes"],
"min_quotes": 3,
"min_key_points": 5
},
"validated": false
}
}
}
Execute the validation script with artifact path and criteria:
bun scripts/validate.ts <artifact-path> '<criteria-json>'
Example:
bun scripts/validate.ts sandbox/podcast-2024-12-08-ai/outputs/summary.json '{"required_fields":["contentId","headline"],"min_quotes":3}'
The script returns JSON with pass/fail and individual checks:
{
"passed": true,
"checks": [
{ "name": "has_contentId", "passed": true, "message": "OK" },
{ "name": "has_headline", "passed": true, "message": "OK" },
{ "name": "min_quotes", "passed": true, "message": "Found 5 quotes (min: 3)" }
]
}
If validation passes:
validation.json to set validated: true for this outputIf validation fails:
Array of field names that must exist in the artifact:
"required_fields": ["contentId", "headline", "tldr"]
Minimum number of items in importantQuotes array:
"min_quotes": 3
Minimum number of items in bullets or key points array:
"min_key_points": 5
Minimum number of outline sections:
"min_outline_sections": 4
Requires hooks array with at least one item:
"has_hooks": true
The validation script returns:
{
"passed": boolean,
"checks": [
{
"name": "check_name",
"passed": boolean,
"message": "Human-readable result"
}
]
}
.steps not .outputs)The validation script is at:
.claude/skills/workflow-validator/scripts/validate.ts
Run with Bun for TypeScript execution:
bun .claude/skills/workflow-validator/scripts/validate.ts <artifact> '<criteria>'
npx claudepluginhub memorysaver/looplia-core --plugin looplia-coreExecutes looplia workflows from Markdown files by iterating steps with general-purpose subagent calls. Use for /run commands, workflow.md processing, and multi-step skill orchestration.
Runs multi-agent verification loop post-implementation, dispatching specialized agents for review with autonomous subagent fixes and retries until unanimous approval.
Validates Output SDK workflow operations post-execution: audits step completion, enforces conventions like TypeScript imports and Temporal activities, checks plan quality, and verifies deliverables.