Copy-paste templates and a complete worked example for designing AI agent workflows.
Classify each skill from your Agentic Replica into automate, augment, or human-only categories.
TASK CLASSIFICATION: [Role ID from Replica] classifications: - skill_id: [From replica] skill_name: [From replica] classification: [automate | augment | human_only] rationale: "[Why this classification?]" judgment_required: [low | medium | high] error_cost: [low | medium | high | catastrophic] time_sensitivity: [real-time | same-day | flexible] data_accessible: [true | partial | false] agent_story_id: [ID for resulting agent story] summary: automate_count: [Number] augment_count: [Number] human_only_count: [Number]
Define what activates each agent. Maps to trigger specification in Agent Story: Full.
TRIGGER DESIGN: [Agent Story ID] trigger: type: [message | resource_change | schedule | cascade | manual] source: system: [System name or "human"] channel: [API endpoint, queue, email, etc.] conditions: required: - "[Condition that MUST be true]" examples: should_trigger: - "[Example that should activate agent]" should_not_trigger: - "[Similar example that should NOT activate]"
Transform each automated/augmented task into a detailed skill specification.
SKILL DESIGN: [Skill Name] skill: name: [Skill Name] domain: [Knowledge domain] proficiencies: - "[Specific capability #1]" - "[Specific capability #2]" tools_required: - name: [Tool/MCP server name] permissions: [read | write | execute] reasoning: strategy: [rule_based | llm_guided | hybrid] decision_points: - name: [Decision name] approach: [How decision is made] fallback: [What happens if decision fails] memory: working: [Context during execution] persistent: - name: [Memory store] type: [kb | vector | relational] quality_bar: "[Measurable standard]"
Define when and how humans stay in the loop.
HUMAN OVERSIGHT: [Agent Story ID] autonomy: level: [Full | Supervised | Collaborative | Directed] rationale: "[Why this level?]" human_interaction: mode: [in_the_loop | on_the_loop | out_of_loop] checkpoints: - name: [Checkpoint name] trigger: [When human involvement needed] type: [approval | input | review | escalation] escalation: conditions: - "[Condition that triggers escalation]" guardrails: - "[Thing agent must NEVER do]"
How we reengineer the Financial Analyst role from Agentic Replica into Agent Stories.
TASK CLASSIFICATION: FIN-ANALYST-001 classifications: - skill_id: SKILL-001 skill_name: Monthly Variance Analysis classification: augment rationale: "High judgment in root cause analysis. Agent handles data prep, human interprets." judgment_required: high error_cost: high agent_story_id: VARIANCE-ANALYST-001 - skill_id: SKILL-002 skill_name: Weekly Cash Flow Reporting classification: automate rationale: "Low judgment, mechanical data aggregation. Same process every week." judgment_required: low error_cost: medium agent_story_id: CASHFLOW-REPORTER-001 - skill_id: SKILL-006 skill_name: Stakeholder Communication classification: human_only rationale: "Relationship-dependent, political sensitivity requires human judgment." summary: automate_count: 2 augment_count: 3 human_only_count: 1 automation_potential: "~40% fully automated, ~45% augmented"
AGENT STORY: CASHFLOW-REPORTER-001 As a Cash Flow Reporting Agent, triggered by weekly schedule (Monday 7 AM), I aggregate cash position data from banking and ERP systems, so that finance leadership has accurate liquidity visibility. Autonomy: Full trigger: type: schedule source: Scheduler (cron: 0 7 * * 1) tools: - name: Banking API MCP permissions: read - name: NetSuite MCP permissions: read - name: Email MCP permissions: execute conditions: Only pre-approved distribution list skills: - name: Cash Position Aggregation domain: Treasury operations proficiencies: - Connect to multiple banking APIs - Reconcile bank balances to GL quality_bar: 100% accounts, reconciliation within $1K human_interaction: mode: out_of_loop escalation: conditions: - Reconciliation difference > $10K - Bank API unavailable after retries acceptance: functional: - Report delivered by 8 AM every Monday guardrails: - Never send outside approved list - Never modify historical data
AGENT STORY: VARIANCE-ANALYST-001 As a Variance Analysis Agent, triggered by month-end close completion, I identify material variances, gather context, and draft commentary, so that the analyst can focus on interpretation. Autonomy: Collaborative trigger: type: cascade source: Month-end close notification reasoning: strategy: hybrid decision_points: - name: Variance Materiality approach: Rule-based: flag if > $10K OR > 10% - name: Root Cause Hypothesis approach: LLM-guided pattern matching fallback: Flag as "requires human investigation" memory: persistent: - name: Variance History KB type: vector purpose: Similar variance retrieval learning: - type: feedback_loop signal: Analyst edits to draft commentary human_interaction: mode: in_the_loop checkpoints: - name: Draft Review trigger: All drafts complete type: review acceptance: functional: - Identifies 100% of variances meeting threshold quality: - Draft requires < 20% editing on average guardrails: - Never finalize without human approval - Never post to external channels