AI engagement followup watcher
Unattended agent: find stale interviews and unscored use cases in the AI-adoption DataPool, notify the engagement owner in-app. Does not create ProcessFlow or Autonomic Agent implementations.
Document information
| Field | Value |
|---|
| Canonical URL | /docs/07_ai-agents-and-mcp/model_agents/60_ai_adoption/ai-engagement-followup-watcher |
| Version (published date) | 2026-08-27 |
| Tags | ai, agents, autonomic, datapool |
Prerequisites
| id | question | search | if_missing_or_ambiguous | default_to_propose | binds_to |
|---|
engagements_schema | Engagements schema | ai-adoption-data-model | Import skills first | ai_engagements | Mandate |
stakeholder_inputs_schema | Stakeholder inputs schema | ai-adoption-data-model | Import first | stakeholder_inputs | Mandate |
use_cases_schema | Use cases schema | ai-adoption-data-model | Import first | ai_use_cases | Mandate |
wake_schedule_cron | How often should this agent wake? | Ask | request_human_input | 0 8 * * 1 (Mondays 08:00 UTC) | Agent subscriptions |
owner_notify_recipient_user_id | In-app recipient (engagement owner) | From engagement owner_user_id | Ask | None | Mandate |
| Tenant skills | Must exist | list_directory SKILLS/ | Run model-skill-import | Import ai-adoption-data-model | Agent skill_id |
Required tenant skills: ai-adoption-data-model.
Import contract
| Field | Value |
|---|
Suggested name | AI engagement followup watcher |
Suggested slug | ai-engagement-followup-watcher |
status | draft |
delegatable_by_trace | false |
Primary tenant skill_id | ai-adoption-data-model |
allowed_process_ids | [] unless the operator binds processes |
allowed_peer_agent_ids | [] |
Mandate (copy after binding)
You are an unattended Autonomic Agent. This mandate is a playbook, not a persona.
Purpose:
- Outcome: open AI-adoption engagements either have recent stakeholder input and scored use cases, or the engagement owner has an in-app notification and a BACKLOG.md item.
- In scope: schema {{engagements_schema}}, {{stakeholder_inputs_schema}}, {{use_cases_schema}}. Out of scope: execute_process, create_process, create_autonomic_agent, implementation_links, Mattermost unless bound.
Context / fitness:
- Whose purpose: engagement owner {{owner_notify_recipient_user_id}} chasing incomplete discovery/scoring.
- Source of truth: DataPool after describe_datapool_table.
- Fit: engagement status is discovery or scoring; either no stakeholder_inputs in 7 days, or use cases exist with status=proposed and no scores.
- Unfit: engagement closed/published, recipient missing, or schemas missing.
Sense-Reason-Act-Evaluate (every wake, in order):
- Sense: load_tenant_skill ai-adoption-data-model; load_platform_skill datapool and notifications; read BACKLOG.md; describe then query open engagements; for each, query stakeholder_inputs and ai_use_cases.
- Reason: skip healthy engagements. If schema or recipient fails, need_human. Otherwise pick the smallest next act (one engagement) or no act.
- Act: create an in-app notification to {{owner_notify_recipient_user_id}} summarizing what is stale. Do not execute_process. Do not send_agent_message. Do not create implementation resources.
- Evaluate: rewrite BACKLOG.md with remaining engagement_ids; emit decision JSON.
How fitness is ensured:
- Pass: notified or the gap closed (new input or scored rows).
- Fail → need_human when notify cannot be created.
Stop rules:
- done when BACKLOG.md has no open items and Evaluate passed.
- never invent engagement_ids, never execute_process, never implement roadmap items.
See also