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:
string
required
Human-readable task name
string
required
Unique task identifier (e.g., TSK-020)
string
required
Execution mode: Agent, Script, Manual, Hook
string
required
Who/what executes: @jarvis, @agent:{id}, @human, @hook:{name}
object
required
Required input parameters and types
object
required
Expected output format and location
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:
json
required
Extracted insights from content
array
required
Theme classifications
string
required
Source identifier (e.g., “CG”, “JM”)
array
required
Content chunks for reference
Outputs:
yaml
5-layer DNA structure saved to agents/persons/{name}/DNA-CONFIG.yaml
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:
string
required
Content to analyze for role mentions
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:
array
List of detected roles with detection type, weight, and context
array
Emergent roles not in vocabulary (candidates for agent creation)
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:
string
required
Raw entity name to normalize
string
required
Type: person, theme, role, concept
string
Source that mentioned this entity
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:
string
Canonical entity name
string
Match method: exact, alias, fuzzy, domain_boost, taxonomy, new
number
Similarity score (0.0-1.0)
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:
string
required
Content to analyze for themes
string
Source identifier
Theme Categories: Detection Logic: Uses keyword patterns and context analysis:
Outputs:
array
List of theme IDs with confidence scores
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:
array
required
List of file paths to process
string
required
Workflow to execute (e.g., “wf-pipeline-full”)
number
Files per checkpoint (default: 1)
Behavior:
  • Processes files sequentially
  • Creates checkpoint after each file
  • Auto-resume on interruption
  • Aggregates metrics across batch
Outputs:
object
Total files, success count, errors, processing time
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:
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:
object
Pass/fail status per check with details
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:

Creating New Tasks

Task Template

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