# Infinite Loop Variant 3: Pluggable Agent Task Templates A template-based infinite loop system that orchestrates parallel AI agents using reusable, parameterized task blueprints. ## Overview This variant introduces **pluggable agent task templates** - a systematic approach to defining reusable agent behaviors through parameterized markdown blueprints. Instead of hardcoding agent instructions, this system loads templates, substitutes parameters, and deploys agents with complete, unambiguous instructions. ### Key Innovation **Templates as Contracts:** Each template is a complete specification of how an agent should perform a specific type of task. The orchestrator loads the template, fills in parameters for each iteration, and deploys agents with fully instantiated instructions - treating each agent as a "brilliant but new employee" (following Anthropic's prompt engineering best practices). ## Quick Start ### 1. Web-Enhanced Generation (5 iterations) ```bash /infinite-templated web-research-generator specs/example_spec.md viz_output 5 params/viz_params.json ``` Generates 5 visualizations, each learning from a different web resource. ### 2. Pure Code Generation (10 iterations) ```bash /infinite-templated code-generator specs/example_spec.md viz_output 10 ``` Generates 10 unique visualizations using creative variation without web research. ### 3. Infinite Mode (continuous until context limits) ```bash /infinite-templated web-research-generator specs/example_spec.md viz_output infinite params/url_strategy.json ``` Runs in waves of 5 iterations until context budget exhausted. ### 4. Create Your Own Template ```bash /create-template my-template-name generation "Description of what it does" ``` Interactive process guides you through creating a new template. ## System Architecture ### Directory Structure ``` infinite_variant_3/ ├── .claude/ │ ├── commands/ │ │ ├── infinite-templated.md # Main orchestrator command │ │ └── create-template.md # Template creation utility │ ├── templates/ │ │ ├── base-template.md # Template for making templates │ │ ├── web-research-generator.md │ │ ├── code-generator.md │ │ ├── analyzer.md │ │ └── validator.md │ └── settings.json ├── specs/ │ ├── example_spec.md # Example visualization spec │ └── template_spec.md # Spec for creating templates ├── docs/ │ └── template_guide.md # How to create/use templates ├── examples/ │ └── template_usage.md # Concrete usage examples └── README.md ``` ### Core Concepts **1. Template System** - Templates are markdown files in `.claude/templates/` - Use `{{PARAMETER}}` placeholders for customization - Follow strict structure (see `specs/template_spec.md`) - Based on "be clear and direct" prompt engineering principles **2. Parameter Substitution** - Orchestrator loads template and spec - For each iteration, creates parameter mapping - Replaces all `{{PARAMETER}}` placeholders with values - Result is complete, ready-to-execute agent task **3. Parallel Agent Deployment** - Each agent receives fully instantiated template - Agents work independently (no inter-agent communication) - Orchestrator manages coordination and batching - Results collected after parallel execution **4. Template Categories** - **generation**: Create new artifacts - **analysis**: Analyze and extract insights - **quality-assurance**: Validate and verify - **research**: Gather and apply information - **testing**: Execute tests - **documentation**: Create/update docs ## Available Templates ### web-research-generator Fetches web resources, extracts techniques, applies learning to generate artifacts. **Use Cases:** - Progressive learning from documentation - Tutorial-driven development - Best practice implementation - Technique discovery and application **Key Parameters:** - `WEB_URL`: URL to fetch and learn from - `LEARNING_FOCUS`: What to extract from URL - `MIN_TECHNIQUES`: Minimum techniques to apply - `OUTPUT_DIR`: Where to write generated file **Example:** ```json { "WEB_URL": "https://d3js.org/d3-force", "LEARNING_FOCUS": "Force simulation physics", "MIN_TECHNIQUES": 2, "OUTPUT_DIR": "viz_output" } ``` ### code-generator Pure code generation based on specifications without web dependencies. **Use Cases:** - Iteration-based variations - Component creation - Theme-based implementations - Creative coding **Key Parameters:** - `THEME`: Unique theme for iteration - `UNIQUE_FEATURES`: What makes this unique - `OUTPUT_DIR`: Where to write file - `SPEC_FILE`: Specification to follow **Example:** ```json { "THEME": "bioluminescent ocean", "UNIQUE_FEATURES": "Glow effects, wave animations", "OUTPUT_DIR": "components" } ``` ### analyzer Analyzes artifacts to extract patterns, metrics, and insights. **Use Cases:** - Code quality analysis - Pattern detection - Performance assessment - Trend identification **Key Parameters:** - `TARGET_PATTERN`: Files to analyze (glob) - `CRITERIA_FILE`: Analysis criteria - `METRICS`: Metrics to collect - `OUTPUT_FILE`: Report destination **Example:** ```json { "TARGET_PATTERN": "viz_output/*.html", "METRICS": "LOC, complexity, uniqueness score", "OUTPUT_FILE": "reports/analysis.md" } ``` ### validator Validates artifacts against requirements and standards. **Use Cases:** - Specification compliance checking - Quality validation - Standard adherence verification - Pre-deployment checks **Key Parameters:** - `VALIDATION_SPEC`: Validation rules - `TARGET_PATTERN`: Files to validate - `CRITERIA_LIST`: Specific criteria - `OUTPUT_FILE`: Report destination **Example:** ```json { "VALIDATION_SPEC": "specs/validation_rules.md", "TARGET_PATTERN": "viz_output/*.html", "OUTPUT_FILE": "reports/validation.md" } ``` ## How It Works ### Orchestration Flow ``` 1. Load Template ↓ 2. Load Specification ↓ 3. Analyze Existing Iterations ↓ 4. For Each Iteration: - Create parameter set - Substitute into template - Verify uniqueness ↓ 5. Deploy Agents in Parallel ↓ 6. Collect Results ↓ 7. (If infinite) Launch Next Wave ``` ### Parameter Substitution Example **Template (excerpt):** ```markdown ### Step 1: Fetch Web Resource Use WebFetch with URL: `{{WEB_URL}}` Focus on: `{{LEARNING_FOCUS}}` Extract minimum {{MIN_TECHNIQUES}} techniques. ``` **After Substitution:** ```markdown ### Step 1: Fetch Web Resource Use WebFetch with URL: `https://d3js.org/d3-force` Focus on: `Force simulation physics and node positioning` Extract minimum 2 techniques. ``` ## Creating Custom Templates ### Step 1: Use Template Creation Command ```bash /create-template my-template category "Description" ``` The command guides you through: 1. Requirements gathering 2. Structure design 3. Parameter definition 4. Instruction writing 5. Documentation ### Step 2: Follow Template Spec See `specs/template_spec.md` for complete requirements: - Required sections (11 total) - Parameter naming conventions - Instruction writing guidelines - Quality standards ### Step 3: Apply "Be Clear and Direct" Principles Templates follow Anthropic's prompt engineering guidance: - Provide complete context - Use explicit, step-by-step instructions - Define success criteria clearly - Treat agent as capable but uninformed - Show examples ### Step 4: Test and Iterate - Mentally walk through as if you're the agent - Verify no ambiguous instructions - Check all parameters documented - Test with actual execution ## Design Philosophy ### Based on Anthropic's "Be Clear and Direct" This system embodies prompt engineering best practices: 1. **Contextual Clarity** - Templates explain task purpose - Define workflow position - Specify success criteria 2. **Explicit Instructions** - Numbered, sequential steps - Specific about outputs - Clear constraints 3. **New Employee Metaphor** - Explain norms and styles - Provide examples - Don't assume knowledge 4. **Precision** - Exact language - No ambiguity - All terms defined ### Template Benefits **Reusability**: Write once, use for unlimited iterations **Consistency**: All agents follow same structure **Clarity**: No ambiguous instructions **Flexibility**: Parameters enable wide variation **Composability**: Templates can reference other templates **Maintainability**: Update template, all uses improve ## Advanced Usage ### Custom Parameter Files Create JSON file with parameters: ```json { "PROJECT_NAME": "My Project", "PROJECT_DESCRIPTION": "Description here", "MIN_TECHNIQUES": 3, "URL_STRATEGY": { "foundation": ["url1", "url2"], "intermediate": ["url3", "url4"], "advanced": ["url5", "url6"] }, "CUSTOM_PARAM": "value" } ``` Use with command: ```bash /infinite-templated template-name spec.md output_dir 10 params.json ``` ### Template Composition Templates can reference other templates: ```markdown **Step 3:** Execute validation using validator template See `.claude/templates/validator.md` for validation process. ``` ### Progressive URL Strategy For web-research-generator, provide URL progression: ```json { "URL_STRATEGY": { "foundation": [ "Getting started guides", "Basic tutorials" ], "intermediate": [ "Advanced tutorials", "API documentation" ], "advanced": [ "Techniques articles", "Performance guides" ], "expert": [ "Advanced patterns", "Optimization guides" ] } } ``` System assigns URLs based on iteration sophistication level. ## Examples See `examples/template_usage.md` for detailed examples: - Web-enhanced visualization generation - Code-based component creation - Quality analysis workflow - Validation pipeline - Custom template creation ## Documentation - **README.md** (this file): System overview and quick start - **CLAUDE.md**: Project instructions for Claude Code - **docs/template_guide.md**: How to create and use templates - **specs/example_spec.md**: Example specification - **specs/template_spec.md**: Requirements for creating templates - **examples/template_usage.md**: Concrete usage examples ## Key Features ✅ **Pluggable Templates**: Reusable task blueprints ✅ **Parameter Substitution**: Flexible customization ✅ **Parallel Execution**: Multiple agents simultaneously ✅ **Web Learning**: Progressive knowledge from web sources ✅ **Quality Assurance**: Built-in validation templates ✅ **Template Creation**: Tools to create new templates ✅ **Infinite Mode**: Continuous generation in waves ✅ **Clear Instructions**: Based on prompt engineering best practices ## Comparison with Other Variants **vs. Original Infinite Loop:** - Original: Hardcoded agent instructions - This: Reusable template system **vs. Web-Enhanced Loop:** - Web-Enhanced: Web learning hardcoded into command - This: Web learning as one template option **vs. Pipeline Variant:** - Pipeline: Sequential stages - This: Parallel agents with flexible templates **Unique Value:** Maximum flexibility through template pluggability while maintaining clarity through structured instructions. ## Contributing To add new templates: 1. Use `/create-template` command 2. Follow `specs/template_spec.md` 3. Test with real execution 4. Document in `docs/template_guide.md` 5. Add example to `examples/template_usage.md` ## License Part of the Infinite Agents experimental project. --- **Web Source:** https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/be-clear-and-direct **Learning Applied:** 1. **Clear role definitions** - Each template defines agent role explicitly 2. **Step-by-step instructions** - All templates use numbered, sequential steps 3. **Context provision** - Templates explain task purpose, workflow position, success criteria 4. **"New employee" approach** - Templates don't assume knowledge, explain everything 5. **Explicit outputs** - Every step specifies expected output **Generated:** 2025-10-10 **Iteration:** 3 of Infinite Loop Variants