# Agent Template for Synkra AIOX
# This template is used by aiox-developer to create new agents
# Variables are replaced during generation: {{VARIABLE_NAME}}

###############################################################################
# NAMING CONVENTION FOR "{{AGENT_ID}}" AGENT
###############################################################################
#
# CRITICAL: All dependencies specific to this agent MUST follow naming convention:
#
#   Workflows:  {{AGENT_ID}}-{workflow-name}.yaml
#   Tasks:      {{AGENT_ID}}-{task-name}.md
#   Templates:  {{AGENT_ID}}-{template-name}.yaml
#   Checklists: {{AGENT_ID}}-{checklist-name}.md
#   Scripts:    {{AGENT_ID}}-{script-name}.js
#
# Examples for this agent:
#   ✅ {{AGENT_ID}}-greenfield-ui.yaml (workflow)
#   ✅ {{AGENT_ID}}-user-research.md (task)
#   ✅ {{AGENT_ID}}-report-tmpl.yaml (template)
#   ✅ {{AGENT_ID}}-validation-checklist.md (checklist)
#   ✅ {{AGENT_ID}}-connection-manager.js (script)
#
# SHARED dependencies (used by multiple agents) do NOT use agent prefix:
#   ✅ create-doc.md (used by pm, po, sm)
#   ✅ execute-checklist.md (used by qa, dev)
#
# Use *create-task command to automatically apply naming convention.
#
###############################################################################

agent:
  name: "{{AGENT_NAME}}"
  id: "{{AGENT_ID}}"
  title: "{{AGENT_TITLE}}"
  icon: "{{AGENT_ICON}}"
  whenToUse: "{{WHEN_TO_USE}}"
  {{#IF_CUSTOMIZATION}}
  customization: |
    {{CUSTOMIZATION}}
  {{/IF_CUSTOMIZATION}}

persona:
  role: "{{PERSONA_ROLE}}"
  style: "{{PERSONA_STYLE}}"
  identity: "{{PERSONA_IDENTITY}}"
  focus: "{{PERSONA_FOCUS}}"
  {{#IF_CORE_PRINCIPLES}}
  core_principles:
    {{#EACH_PRINCIPLES}}
    - {{ITEM}}
    {{/EACH_PRINCIPLES}}
  {{/IF_CORE_PRINCIPLES}}

commands:
  - help: "Show available commands for this agent"
  {{#EACH_COMMANDS}}
  - {{COMMAND_NAME}}: "{{COMMAND_DESCRIPTION}}"
  {{/EACH_COMMANDS}}
  - exit: "Exit {{AGENT_NAME}} agent and return to default mode"

{{#IF_DEPENDENCIES}}
dependencies:
  {{#IF_WORKFLOWS}}
  workflows:
    {{#EACH_WORKFLOW_DEPS}}
    - {{ITEM}}
    {{/EACH_WORKFLOW_DEPS}}
  {{/IF_WORKFLOWS}}
  {{#IF_TASKS}}
  tasks:
    {{#EACH_TASK_DEPS}}
    - {{ITEM}}
    {{/EACH_TASK_DEPS}}
  {{/IF_TASKS}}
  {{#IF_TEMPLATES}}
  templates:
    {{#EACH_TEMPLATE_DEPS}}
    - {{ITEM}}
    {{/EACH_TEMPLATE_DEPS}}
  {{/IF_TEMPLATES}}
  {{#IF_CHECKLISTS}}
  checklists:
    {{#EACH_CHECKLIST_DEPS}}
    - {{ITEM}}
    {{/EACH_CHECKLIST_DEPS}}
  {{/IF_CHECKLISTS}}
  {{#IF_DATA}}
  data:
    {{#EACH_DATA_DEPS}}
    - {{ITEM}}
    {{/EACH_DATA_DEPS}}
  {{/IF_DATA}}
  {{#IF_SCRIPTS}}
  scripts:
    {{#EACH_SCRIPTS_DEPS}}
    - {{ITEM}}
    {{/EACH_SCRIPTS_DEPS}}
  {{/IF_SCRIPTS}}
  {{#IF_TOOLS}}
  tools:
    {{#EACH_TOOL_DEPS}}
    - {{ITEM}}
    {{/EACH_TOOL_DEPS}}
  {{/IF_TOOLS}}
{{/IF_DEPENDENCIES}}

{{#IF_ACTIVATION_INSTRUCTIONS}}
activation-instructions: |
  {{ACTIVATION_INSTRUCTIONS}}
{{/IF_ACTIVATION_INSTRUCTIONS}}

{{#IF_SECURITY_CONFIG}}
security:
  authorization: "{{SECURITY_AUTHORIZATION}}"
  allowed_operations:
    {{#EACH_ALLOWED_OPS}}
    - {{ITEM}}
    {{/EACH_ALLOWED_OPS}}
  audit_logging: {{AUDIT_LOGGING}}
{{/IF_SECURITY_CONFIG}} 