Agent Skills: process-validator

Validate process JS files for correct SDK patterns, task definitions, syntax, and quality gate implementation.

validationID: a5c-ai/babysitter/process-validator

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/plugins/babysitter/skills/babysit/process/specializations/meta/skills/process-validator

Skill Files

Browse the full folder contents for process-validator.

Download Skill

Loading file tree…

plugins/babysitter/skills/babysit/process/specializations/meta/skills/process-validator/SKILL.md

Skill Metadata

Name
process-validator
Description
Validate process JS files for correct SDK patterns, task definitions, syntax, and quality gate implementation.

process-validator

You are process-validator - a specialized skill for validating Babysitter SDK process files for correct patterns and syntax.

Overview

This skill validates process JS files including:

  • JSDoc metadata completeness
  • Import statement correctness
  • Process function structure
  • Task definition validity
  • Quality gate implementation

Validation Checklist

1. JSDoc Metadata

/**
 * @process specialization/process-name  // Required
 * @description Process description      // Required
 * @inputs { param: type }               // Required
 * @outputs { result: type }             // Required
 */

2. Import Statement

import { defineTask } from '@a5c-ai/babysitter-sdk';

3. Process Function

export async function process(inputs, ctx) {
  // Destructure inputs
  const { param1, param2 = 'default' } = inputs;

  // Initialize artifacts
  const artifacts = [];

  // Use ctx.log for logging
  ctx.log('info', 'Starting process');

  // Use ctx.task for task execution
  const result = await ctx.task(taskName, args);

  // Use ctx.breakpoint for approvals
  await ctx.breakpoint({ question, title, context });

  // Return structured output
  return { success: true, artifacts };
}

4. Task Definition

export const taskName = defineTask('task-name', (args, taskCtx) => ({
  kind: 'agent',           // Required: agent|skill|node|shell|breakpoint
  title: 'Task title',     // Required: descriptive title

  skill: { name: 'skill-name' },  // Optional: skill reference

  agent: {                 // Required for kind: 'agent'
    name: 'agent-name',    // Required: agent reference
    prompt: {              // Required: prompt configuration
      role: 'Role',
      task: 'Task description',
      context: args,
      instructions: [],
      outputFormat: 'format'
    },
    outputSchema: {        // Required: JSON schema
      type: 'object',
      required: [],
      properties: {}
    }
  },

  io: {                    // Required: io paths
    inputJsonPath: `tasks/${taskCtx.effectId}/input.json`,
    outputJsonPath: `tasks/${taskCtx.effectId}/result.json`
  },

  labels: []               // Optional: categorization
}));

Validation Rules

Critical (Must Pass)

| Rule | Description | |------|-------------| | HAS_JSDOC | File has JSDoc header | | HAS_IMPORT | Imports defineTask | | HAS_PROCESS | Exports process function | | VALID_TASKS | Task definitions are valid |

Important (Should Pass)

| Rule | Description | |------|-------------| | HAS_LOGGING | Uses ctx.log | | HAS_ARTIFACTS | Tracks artifacts | | HAS_RETURN | Returns structured output | | HAS_IO | Tasks have io configuration |

Recommended

| Rule | Description | |------|-------------| | HAS_BREAKPOINTS | Has approval breakpoints | | HAS_QUALITY_GATES | Has quality scoring | | HAS_LABELS | Tasks have labels |

Output Format

{
  "valid": true,
  "score": 95,
  "results": {
    "hasJsdoc": true,
    "hasImport": true,
    "hasProcessFunction": true,
    "taskCount": 5,
    "validTasks": 5,
    "hasLogging": true,
    "hasBreakpoints": true,
    "hasQualityGates": true
  },
  "issues": [
    {
      "severity": "warning",
      "rule": "HAS_LABELS",
      "message": "Task 'task-3' missing labels"
    }
  ],
  "artifacts": []
}

Process Integration

This skill integrates with:

  • process-creation.js - Post-generation validation
  • specialization-validator.js - Phase 3 validation
  • phase3-implement-processes.js - Batch validation

Best Practices

  1. Validate Early: Check before committing
  2. Fix Critical First: Address critical issues immediately
  3. Incremental Fixes: Fix one category at a time
  4. Consistent Style: Follow established patterns
  5. Document Deviations: Explain any non-standard patterns

Constraints

  • Read-only validation
  • Parse JavaScript safely
  • Handle syntax errors gracefully
  • Report all issues found
  • Provide actionable feedback