aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
345 lines (251 loc) • 7.93 kB
Markdown
# {Task Name}
## Purpose
{Brief description of what this task does and when to use it}
## Parameters
| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `{param1}` | Yes | - | {Description} |
| `{param2}` | No | `{default}` | {Description} |
## Workflow
### Step 1: {Step Name}
{Step description}
**Actions:**
1. {Action 1}
2. {Action 2}
3. {Action 3}
**Validation:**
- {Validation check 1}
- {Validation check 2}
**Output Format (STANDARDIZED):**
```markdown
## 📊 Task Execution Report
**Agent:** {agent.name} ({agent.persona_profile.archetype})
**Task:** {task.name}
**Started:** {timestamp.start}
**Completed:** {timestamp.end}
**Duration:** {duration}
**Tokens Used:** {tokens.input} in / {tokens.output} out / {tokens.total} total
### Status
{PERSONALITY_SLOT: status_message}
**Examples per archetype:**
- **Builder (Dex):** "✅ Tá pronto! Implementei todas as funcionalidades."
- **Guardian (Quinn):** "✅ Validado com rigor. 47 edge cases testados."
- **Balancer (Pax):** "✅ Story completa. Equilibrei performance vs. legibilidade."
### Output
{step_specific_output}
### Metrics
- Tests: {tests.passed}/{tests.total}
- Coverage: {coverage}%
- Linting: {lint.status}
- {task_specific_metric_1}: {value}
- {task_specific_metric_2}: {value}
{PERSONALITY_SLOT: agent.signature_closing}
```
### Step 2: {Step Name}
{Continue with additional steps...}
## Elicitation (if applicable)
**When:** {When to elicit user input}
**Format:**
```markdown
{Agent greeting using personality}
{Question or choice}
Options:
1. {Option 1}
2. {Option 2}
3. {Option 3}
{Personality-infused guidance based on archetype}
```
**Example:**
```markdown
💻 Dex (Builder): Preciso saber qual approach você prefere.
Escolha a arquitetura:
1. Microservices (mais escalável, maior complexidade)
2. Monolith (mais simples, menos overhead)
3. Modular Monolith (meio termo)
Eu recomendo #3 pra começar - facilita construir rápido e depois separar se necessário.
```
## Success Criteria
- [ ] {Criterion 1}
- [ ] {Criterion 2}
- [ ] Output follows standardized template
- [ ] All metrics calculated and displayed
- [ ] Duration and token usage tracked
## Error Handling
### Error: {Error Type}
**Detection:**
{How to detect this error}
**Resolution:**
{How to resolve it}
**Personalized Error Message Examples:**
- **Builder:** "⚠️ Build falhou. Vou debugar e reconstruir."
- **Guardian:** "⚠️ Validação falhou. Bloqueando deploy até resolução."
- **Balancer:** "⚠️ Conflito detectado. Vou mediar e encontrar consenso."
## Dependencies
**Tasks:**
- `.aios-core/tasks/{dependency1}.md`
- `.aios-core/tasks/{dependency2}.md`
**Templates:**
- `.aios-core/product/templates/{template1}.yaml`
**Checklists:**
- `.aios-core/product/checklists/{checklist1}.md`
**Tools:**
- `{tool1}` - {Usage description}
- `{tool2}` - {Usage description}
## Output Templates
### Standard Task Report
All task outputs MUST use this structure (see `.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md`):
**FIXED SECTIONS (never change order):**
1. Header (lines 1-7: Agent, Task, Timestamps, Duration, Tokens)
2. Status (personality slot)
3. Output (task-specific content)
4. Metrics (always last)
5. Signature (personality slot)
**PERSONALITY SLOTS (varies per agent):**
- Status message (line after "### Status")
- Signature closing (last line)
- Emoji selection (from archetype palette)
- Verb choice (from agent vocabulary)
### Metric Tracking
**Required metrics (all tasks):**
```javascript
{
duration: "2.3s", // Execution time
tokens: {
input: 1234, // Input tokens consumed
output: 567, // Output tokens generated
total: 1801 // Total tokens
},
tests: {
passed: 12, // Tests that passed
total: 12, // Total tests run
status: "✅ All passing" // Status summary
},
coverage: 87, // Code coverage %
lint: {
status: "✅ Clean", // Linting status
warnings: 0, // Warning count
errors: 0 // Error count
}
}
```
**Optional task-specific metrics:**
```javascript
{
// Add metrics relevant to this specific task
files_modified: 5,
dependencies_added: 2,
breaking_changes: 0,
// etc.
}
```
## Personality Configuration
### Agent Behavior During Task
**Tone consistency:**
- Use agent's vocabulary words from `persona_profile.communication.vocabulary`
- Match agent's tone from `persona_profile.communication.tone`
- Select emojis from archetype palette (see `archetype-vocabulary.yaml`)
**Example vocabulary usage:**
```javascript
// Builder agent (Dex)
vocabulary: ["construir", "implementar", "refatorar"]
status_message: "✅ Tá pronto! Implementei todas as funcionalidades."
// Guardian agent (Quinn)
vocabulary: ["validar", "verificar", "garantir"]
status_message: "✅ Validado. Garanti cobertura em todos os edge cases."
```
### Status Message Generation
**Template:**
```
{status_icon} {verb_from_vocabulary} {accomplishment}!
```
**Examples by archetype:**
| Archetype | Verb | Example Message |
|-----------|------|-----------------|
| Builder | construir, implementar | "✅ Implementei com sucesso. 3 componentes criados." |
| Guardian | validar, garantir | "✅ Validado rigorosamente. Zero vulnerabilidades." |
| Balancer | equilibrar, harmonizar | "✅ Harmonizei as dependências. Tudo alinhado." |
| Visionary | planejar, estrategizar | "✅ Estratégia definida. 5 milestones mapeados." |
## Testing
### Unit Test Template
```javascript
// tests/tasks/{task-name}.test.js
describe('{Task Name}', () => {
it('should generate standardized output', () => {
const agent = loadAgent('dev');
const result = executeTask('{task-name}', params);
// Validate fixed structure
expect(result).toContain('## 📊 Task Execution Report');
expect(result).toContain('**Duration:**');
expect(result).toContain('**Tokens Used:**');
expect(result).toContain('### Status');
expect(result).toContain('### Metrics');
// Validate personality injection
expect(result).toContain(agent.persona_profile.signature_closing);
});
it('should track duration and tokens', () => {
const result = executeTask('{task-name}', params);
expect(result.metrics.duration).toBeDefined();
expect(result.metrics.tokens.total).toBeGreaterThan(0);
});
it('should use agent vocabulary in status message', () => {
const agent = loadAgent('dev');
const result = executeTask('{task-name}', params);
const hasVocabularyWord = agent.persona_profile.communication.vocabulary
.some(word => result.status_message.includes(word));
expect(hasVocabularyWord).toBe(true);
});
});
```
---
## Examples
### Example 1: {Example Scenario}
**Input:**
```yaml
task: {task-name}
agent: dev
params:
{param1}: {value1}
{param2}: {value2}
```
**Output:**
```markdown
## 📊 Task Execution Report
**Agent:** Dex (Builder)
**Task:** {Task Name}
**Started:** 2025-01-14T10:30:00Z
**Completed:** 2025-01-14T10:32:23Z
**Duration:** 2.3s
**Tokens Used:** 1,234 in / 567 out / 1,801 total
---
### Status
✅ Tá pronto! Implementei com sucesso.
### Output
{Task-specific output here}
### Metrics
- Tests: 12/12
- Coverage: 87%
- Linting: ✅ Clean
---
— Dex, sempre construindo 🔨
```
---
## Notes
- **CRITICAL:** Always follow output template structure (familiaridade = produtividade)
- **CRITICAL:** Track duration and tokens for all task executions
- **CRITICAL:** Use agent's vocabulary and tone consistently
- See `.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md` for complete guidelines
**Template Version:** 1.0
**Last Updated:** 2025-01-14
**Applies to:** All tasks using personalized agents (Story 6.1.2+)