Process builder
/SKILLScaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.
--- name: process-builder description: Generates new "babysitter" process definitions that followSDK patterns, proper structure, and best practices. Guides the three-phaseworkflow from research to implementation. --- # Process Builder Create new process definitions for the "babysitter" event-sourced orchestration framework. ## Quick Reference `` Processes live in: plugins/babysitter/skills/babysit/process/ ├── methodologies/ # Reusable development approaches (TDD, BDD, Scrum, etc.) │ └── [name]/ │ ├── README.md # Documentation │ ├── [name].js # Main process │ └── examples/ # Sample inputs │ └── specializations/ # Domain-specific processes ├── [category]/ # Engineering specializations (direct children) │ └── [process].js └── domains/ └── [domain]/ # Business, Science, Social Sciences └── [spec]/ ├── README.md ├── references.md ├── processes-backlog.md └── [process].js ## 3-Phase Workflow ### Phase 1: Research & Documentation Create foundational documentation: bash # Check existing specializations ls plugins/babysitter/skills/babysit/process/specializations/ # Check methodologies ls plugins/babysitter/skills/babysit/process/methodologies/ **Create:** - README.md - Overview, roles, goals, use cases, common flows - references.md - External references, best practices, links to sources ### Phase 2: Identify Processes Create processes-backlog.md with identified processes: markdown # Processes Backlog - [Specialization Name] ## Identified Processes - [ ] **process-name** - Short description of what this process accomplishes - Reference: [Link to methodology or standard] - Inputs: list key inputs - Outputs: list key outputs - [ ] **another-process** - Description ... ### Phase 3: Create Process Files Create .js process files following SDK patterns (see below). --- ## Process File Structure Every process file follows this pattern: ``javascript /* @process [category]/[process-name] @description Clear description of what the process accomplishes end-to-end @inputs {inputName : type,optionalInput ?: type } @outputs { success: boolean,outputName : type, artifacts: array } @example const result = await orchestrate('[category]/[process-name]', { inputName : 'value', optionalInput : 'optional-value' }); @references - Book: "Relevant Book Title" by Author * - Article: Title - Standard: ISO/IEEE reference / import {defineTask } from '@a5c-ai /babysitter-sdk'; /* [Process Name] Process Methodology: Brief description of the approach Phases: 1. Phase Name - What happens 2. Phase Name - What happens ... Benefits: - Benefit 1 - Benefit 2 @param {Object} inputs - Process inputs @param {string} inputs.inputName - Description of input @param {Object} ctx - Process context (seeSDK ) @returns {Promise<Object>} Process result */ export async function process(inputs, ctx) { const { inputName , optionalInput = 'default-value', // ... destructuring with defaults } = inputs; const artifacts = []; // ============================================================================ // PHASE 1: [PHASE NAME] // ============================================================================ ctx.log?.('info', 'Starting Phase 1...'); const phase1Result = await ctx.task(someTask , { // task inputs }); artifacts.push(...(phase1Result.artifacts || [])); // Breakpoint for human review (when needed) await ctx.breakpoint({ question: 'Review the results and approve to continue?', title: 'Phase 1 Review', context: { runId ctx.runId , files: [ { path: 'artifacts/output.md ', format: 'markdown', label: 'Output' } ] } }); // ============================================================================ // PHASE 2: [PHASE NAME] - Parallel Execution Example // ============================================================================ const [result1, result2, resu