Files
kaizen-agentic/wiki/KaizenAgentTemplate.md

170 lines
4.6 KiB
Markdown

KaizenAgentTemplate
*This is where we build from*
# KaizenAgent Definition Template
# Version: 1.0
# Last Updated: {timestamp}
agent:
name: "{agent_name}"
version: "1.0.0"
description: "Brief description of agent's primary responsibility"
# Core Specification
specification:
purpose: |
One paragraph describing the agent's single responsibility.
Focus on the desired outcome, not implementation details.
triggers:
# When should this agent be invoked?
patterns:
- "File patterns that indicate this agent should run"
- "Keywords or context clues in requests"
- "Project states that require this agent"
explicit_commands:
- "--agent={agent_name}"
- "claude code --{shorthand}"
inputs:
required:
- name: "input_name"
type: "string|array|object"
description: "What this input represents"
optional:
- name: "optional_input"
type: "string"
default: "default_value"
description: "Optional configuration"
outputs:
primary:
type: "file|stdout|metadata"
description: "Main deliverable of the agent"
side_effects:
- "Any files created or modified"
- "External systems touched"
- "State changes made"
preconditions:
- "Conditions that must be true before agent runs"
- "Dependencies that must exist"
postconditions:
- "Guaranteed state after successful execution"
- "Invariants that will be maintained"
# Idempotency Design
idempotency:
strategy: "convergent|checkpoint|fingerprint|state_detection"
state_detection:
method: "How to check if work is already done"
implementation: |
# Pseudo-code or description of how to detect current state
check_current_state()
if (desired_state_achieved()) return current_state
proceed_with_transformation()
rollback:
supported: true
method: "How to undo changes if needed"
# Performance Measurement
metrics:
primary:
name: "primary_success_metric"
description: "Most important measure of agent success"
measurement: "How to calculate this metric"
target: "Desired value or improvement threshold"
secondary:
- name: "additional_metric_1"
description: "Secondary success indicator"
measurement: "Calculation method"
- name: "additional_metric_2"
description: "Quality or safety metric"
measurement: "How to measure"
collection:
frequency: "per_execution|daily|weekly"
storage: "where_metrics_are_stored"
retention: "how_long_to_keep_data"
# Testing and Validation
testing:
unit_tests:
- scenario: "Test scenario description"
input: "Sample input data"
expected_output: "Expected result"
verification: "How to verify success"
integration_tests:
- scenario: "End-to-end test scenario"
setup: "Required project state"
execution: "Commands to run"
validation: "Success criteria"
performance_tests:
- scenario: "Performance test case"
load: "Input complexity/size"
max_time: "Acceptable execution time"
resource_limits: "Memory/CPU constraints"
# Dependencies and Context
dependencies:
system:
- "Required tools or binaries"
- "Environment variables needed"
project:
- "Files that must exist"
- "Project structure assumptions"
other_agents:
- name: "dependency_agent"
relationship: "runs_before|runs_after|collaborates"
reason: "Why this dependency exists"
# Configuration
configuration:
defaults:
key1: "default_value1"
key2: "default_value2"
project_overrides:
path: ".kaizen/agents/{agent_name}.yml"
schema: "JSON schema for configuration validation"
environment_variables:
- name: "KAIZEN_{AGENT_NAME}_CONFIG"
description: "Runtime configuration override"
# Evolution Tracking
optimization:
baseline_performance:
established: "{date}"
metrics: {}
improvement_history:
- version: "1.0.1"
change: "Description of what was modified"
reason: "Why the change was made"
impact: "Measured improvement"
known_limitations:
- "Current limitation 1"
- "Area for future improvement"
kaizen_notes:
optimization_priority: "high|medium|low"
next_experiment: "Planned improvement to test"
success_criteria: "How to measure if experiment succeeded"
xxx