Skip to main content

Core Tasks

Core tasks are atomic, reusable building blocks for workflows. Each task follows the HO-TP anatomy pattern.

Task Anatomy

Every task includes:
task_name
string
required
Human-readable task name
task_id
string
required
Unique task identifier (e.g., TSK-020)
execution_type
string
required
Execution mode: Agent, Script, Manual, Hook
responsible_executor
string
required
Who/what executes: @jarvis, @agent:{id}, @human, @hook:{name}
input
object
required
Required input parameters and types
output
object
required
Expected output format and location
acceptance_criteria
array
required
Checklist for task completion validation

Available Tasks

extract-dna

Extract cognitive DNA from insights and themes. Task ID: TSK-020 Execution:
  • Type: Agent
  • Executor: @jarvis
Inputs:
insights
json
required
Extracted insights from content
themes
array
required
Theme classifications
source_id
string
required
Source identifier (e.g., “CG”, “JM”)
chunks
array
required
Content chunks for reference
Outputs:
dna_config
yaml
5-layer DNA structure saved to agents/persons/{name}/DNA-CONFIG.yaml
layer_counts
json
Count of items per DNA layer (L1-L5)
Phases: Acceptance Criteria:
  • All 5 DNA layers populated
  • Minimum 3 items per layer
  • Source citations for each item (^[chunk_id])
  • Valid YAML structure
Handoff:
  • Next Task: trigger-agent when dna_complete
  • Data Passed: DNA-CONFIG path, layer_counts
Source: core/tasks/extract-dna.md:1-115

detect-role

Detect job roles and functions mentioned in content. Task ID: TSK-012 Execution:
  • Type: Script
  • Executor: @script:role_detector.py
Inputs:
text
string
required
Content to analyze for role mentions
source_id
string
Source identifier for tracking
Detection Levels:
  1. Direct (weight: 1.0) - Role name appears explicitly
  2. Inferred (weight: 0.7) - Activity implies role (e.g., “writing sales copy” → COPYWRITER)
  3. Emergent (weight: 0.5) - Unknown role detected via generic patterns
Outputs:
roles_detected
array
List of detected roles with detection type, weight, and context
new_roles
array
Emergent roles not in vocabulary (candidates for agent creation)
triggers_activated
array
Roles that crossed threshold for agent creation
Registry Update:
  • Increments mention_count in ENTITY-REGISTRY.json
  • Updates mention_breakdown (direct/inferred/emergent)
  • Calculates weighted_score
  • Logs detection in detection_history
Trigger Thresholds:
  • Established: weighted_score >= 10 AND sources >= 2
  • Emerging: weighted_score >= 5 AND sources >= 1
Source: core/tasks/detect-role.md:1-17, core/intelligence/role_detector.py:1-856

normalize-entities

Canonicalize entity names (persons, themes, roles, concepts). Task ID: TSK-008 Execution:
  • Type: Script
  • Executor: @script:entity_normalizer.py
Inputs:
name
string
required
Raw entity name to normalize
entity_type
string
required
Type: person, theme, role, concept
source_id
string
Source that mentioned this entity
domain_hint
string
Domain context for boost matching (e.g., “SALES”)
Resolution Order:
  1. Exact match on canonical names (score: 1.0)
  2. Alias match on known aliases (score: 1.0)
  3. Fuzzy match via difflib (threshold: 0.85)
  4. Domain boost for same-domain entities (+0.10 bonus)
  5. Taxonomy check against DOMAINS-TAXONOMY.yaml
  6. New entity creation if no match found
Auto-Merge Rules:
  • Score ≥ 0.95: Auto-merge, add as alias
  • Score 0.85-0.94: Add to review queue
  • Score < 0.85: Create new entity
Outputs:
canonical
string
Canonical entity name
match_type
string
Match method: exact, alias, fuzzy, domain_boost, taxonomy, new
score
number
Similarity score (0.0-1.0)
created
boolean
Whether new entity was created
Canonical Name Formats:
  • Person: Title Case (“Alex Hormozi”)
  • Role: UPPER-CASE-WITH-HYPHENS (“SALES-MANAGER”)
  • Theme: lowercase-with-hyphens (“processo-vendas”)
  • Concept: Title Case (“Farm System”)
Source: core/tasks/normalize-entities.md:1-16, core/intelligence/entity_normalizer.py:1-566

analyze-themes

Detect and classify themes in content. Task ID: TSK-015 Execution:
  • Type: Script
  • Executor: @script:theme_analyzer.py
Inputs:
text
string
required
Content to analyze for themes
source_id
string
Source identifier
Theme Categories:
CodeThemeDescription
01ESTRUTURA-TIMETeam structure, roles
02PROCESSO-VENDASSales process, techniques
03CONTRATACAOHiring, onboarding
04COMISSIONAMENTOCompensation structures
05METRICASPerformance metrics
06FUNIL-APLICACAOLead qualification
07PRICINGPricing strategy
08FERRAMENTASTools, tech stack
09GESTAOManagement practices
10CULTURA-GAMIFICACAOCulture, motivation
99SECUNDARIOOther insights
Detection Logic: Uses keyword patterns and context analysis:
if mentions("roles", "team", "structure"):
    theme = "01-ESTRUTURA-TIME"
elif mentions("sales", "closing", "objection"):
    theme = "02-PROCESSO-VENDAS"
elif mentions("hire", "onboard", "recruit"):
    theme = "03-CONTRATACAO"
# ... etc
Outputs:
themes_detected
array
List of theme IDs with confidence scores
cross_references
array
Themes with secondary relevance
Source: core/tasks/analyze-themes.md:1-17

process-batch

Process multiple files in batch with checkpointing. Task ID: TSK-025 Execution:
  • Type: Agent
  • Executor: @jarvis
Inputs:
file_list
array
required
List of file paths to process
workflow_id
string
required
Workflow to execute (e.g., “wf-pipeline-full”)
checkpoint_interval
number
Files per checkpoint (default: 1)
Behavior:
  • Processes files sequentially
  • Creates checkpoint after each file
  • Auto-resume on interruption
  • Aggregates metrics across batch
Outputs:
batch_summary
object
Total files, success count, errors, processing time
checkpoints
array
List of checkpoint IDs created
Source: core/tasks/process-batch.md:1-25

validate-cascade

Validate post-processing cascade completeness. Task ID: TSK-030 Execution:
  • Type: Script
  • Executor: @script:validate_cascade.py
Inputs:
source_id
string
required
Source identifier to validate
Validation Checks:
  1. Agent Memories Updated - All relevant agents have source in memory
  2. Dossiers Created - Persons/themes have dossiers
  3. Knowledge Base Populated - Insights written to correct categories
  4. Registry Consistency - ENTITY-REGISTRY matches artifacts
  5. Cross-References Valid - All links resolve correctly
Outputs:
validation_result
object
Pass/fail status per check with details
issues_found
array
List of issues with severity (CRITICAL, WARNING, INFO)
Source: core/tasks/validate-cascade.md:1-21

Task Registry

All available tasks are indexed in core/tasks/TASK-REGISTRY.md:
| Task ID | Name | Executor | Status |
|---------|------|----------|--------|
| TSK-020 | extract-dna | @jarvis | active |
| TSK-012 | detect-role | @script | active |
| TSK-008 | normalize-entities | @script | active |
| TSK-015 | analyze-themes | @script | active |
| TSK-025 | process-batch | @jarvis | active |
| TSK-030 | validate-cascade | @script | active |

Creating New Tasks

Task Template

---
task: TSK-XXX
execution_type: Agent|Script|Manual|Hook
responsible: @jarvis|@agent:{id}|@human|@hook:{name}
---

## Task Anatomy

| Field | Value |
|-------|-------|
| task_name | Your Task Name |
| status | active|deprecated |
| responsible_executor | See above |
| execution_type | See above |
| input | {json object} |
| output | {json object} |
| action_items | {list} |
| acceptance_criteria | {checklist} |

## Inputs

[Document inputs]

## Outputs

[Document outputs]

## Execution

[Step-by-step instructions]

## Acceptance Criteria

- [ ] Criterion 1
- [ ] Criterion 2

## Handoff

| Next Task | Trigger | Data Passed |
|-----------|---------|-------------|
| task-id | condition | data |

Conventions

  1. IDs: Use TSK-### format (sequential)
  2. Files: Use kebab-case.md in core/tasks/
  3. Atomicity: One clear responsibility per task
  4. Idempotency: Safe to re-run without side effects
  5. Testability: Clear acceptance criteria

See Also

Build docs developers (and LLMs) love