Triage scout
For the adapting agent: this is a TEMPLATE. Make one copy per
sources[]entry intriage.yaml(e.g.triage-scout-x,triage-scout-web), give each the matchingname, and paste that source'squeryinto "What to look for". Install each copy on the profile named in that source. Seedocs/04-adapting-to-your-domain.mdanddocs/05-pipeline-stages.md.Want a worked example?
examples/ai-agent-pain-points/reference-skills/pain-point-scout-x/SKILL.mdis a real, filled-in copy of this template from the live system.
When to use
Fired hourly by cron (the schedule in triage.yaml). Also runnable by hand for
a smoke test:
<profile> chat --skills <this-skill-name> -q "Run one sweep now, following this skill exactly."
Prerequisite (read once)
This skill runs via cron, not the dispatcher, so HERMES_KANBAN_TASK is
unset and kanban tools are NOT auto-enabled. The scout profile MUST list kanban
in its toolsets: or kanban_create silently does nothing. (The scaffolder sets
this; verify it.)
What to look for
Procedure
Search your assigned surface for candidate items matching the query above.
For each distinct candidate, capture: a one-line claim, source URLs (every claim traceable to a primary source), a verbatim quote where possible, and one line on why it may matter.
Drop low-signal noise — vague hype, single-person rants with no corroboration.
Write the full report to:
${HERMES_PROFILE_DIR}/vault/intake/<UTC-timestamp>-<source-id>.mdin the format below.Create ONE intake Kanban task on the triage board:
kanban_create( board: "<board from triage.yaml>", title: "intake: <source-id> <UTC-date>", assignee: "orchestrator", body: "<path to the report file you just wrote>", ) # no parents → lands `ready`; the orchestrator picks it up
Report format (contract with engine/intake_parser.py)
source: <source-id>
captured_at: <UTC timestamp>
## Candidate: <title>
Claim: <one-line claim>
Sources:
- url: https://...
quote: "verbatim"
Why it may matter: <one line>
## Candidate: <title>
...
If you change these fields, update item_schema in triage.yaml AND
engine/intake_parser.py to match.
Don't
- Don't dedup, score, or route — that's the orchestrator's job. You only detect.
- Don't post anywhere except the intake vault + the one intake task.
- Don't fabricate sources. No URL → don't include the claim.