attention-research Skill
Scheduled intelligence research pipeline with topic monitoring, freshness state, signal-first digest delivery, and per-topic alerting based on topic-defined threshold criteria.
What It Is
A twice-daily research cadence (morning + afternoon) that:
- Scans configured topics via the agent's web search tool
- Maintains per-topic freshness state in META.json
- Uses each
PROMPTS/TOPICS/<topic>.md file as the standing monitoring note for that topic
- Produces digests that connect signals, not just dump headlines
- Alerts the user when key events or threshold criteria defined by the topic are met
- Delivers via Telegram or WhatsApp
Core Concepts
Topic
A long-running monitoring domain (e.g., us-iran-conflict, ai, geopolitics).
Topic Monitoring Note
PROMPTS/TOPICS/<topic>.md is not just setup text. It is the standing monitoring note for that topic.
It should contain the topic's methodology, analysis framework, entity framing, signal criteria, watch items, and threshold/key event logic used to decide when the user should be alerted.
Thread
An active research question within a topic. Threads have state, typed connections, and delta updates.
Digest
The default output surface. A structured readout of what changed and why.
META.json Freshness Contract
Every topic has a META.json that acts as a shared freshness marker for all writers:
- Morning and afternoon slots have independent timestamps
- Max 2 retries per topic per day total
- After 2 failures → topic skipped for that day
Research Root
$HOME/.openclaw/workspace/docs/research/
Package Structure
attention-research/
├── PROMPTS/
│ ├── CORE/ # Generic analysis framework shared across topics
│ │ ├── system-prompt.md
│ │ ├── signal-rules.md
│ │ └── digest-format.md
│ ├── TOPICS/ # Topic-local methodology and monitoring notes
│ │ ├── us-iran-conflict.md
│ │ ├── ai.md
│ │ ├── geopolitics.md
│ │ ├── finance-markets.md
│ │ ├── climate-changes.md
│ │ └── bio-tech.md
│ ├── TEMPLATES/
│ │ ├── morning-research.md
│ │ ├── afternoon-research.md
│ │ └── onboarding.md
│ └── GENERATOR/
│ └── generator.md
├── CONFIG/
│ ├── topics.yaml
│ └── default-paths.yaml
├── SCHEMA/
│ └── META.json.template
├── SCRIPTS/
│ ├── research-executor.sh
│ └── setup-cron.sh
├── INSTALL/
│ └── install.sh
├── SKILL.md
├── README.md
└── package.json
Installation
# Install via clawhub (after publishing)
clawhub install attention-research
# Or install directly from GitHub with git
mkdir -p ~/.openclaw/skills
git clone https://github.com/riverho/attention-research.git ~/.openclaw/skills/attention-research
cd ~/.openclaw/skills/attention-research
bash INSTALL/install.sh --fresh
# Or install directly from GitHub with curl
mkdir -p ~/.openclaw/skills && \
cd ~/.openclaw/skills && \
curl -L https://github.com/riverho/attention-research/archive/refs/heads/master.tar.gz \
| tar -xz && \
mv attention-research-master attention-research && \
cd attention-research && \
bash INSTALL/install.sh --fresh
Configuration
Agent onboarding contract
Any agent using this skill should follow this order:
- Install the repo or skill files
- Ask the user to confirm the default research root:
- preferred:
~/.openclaw/workspace/docs/research
- fallback:
~/docs/research
- Check delivery configuration (Telegram chat ID or WhatsApp recipient)
- Present the default OSS topic set:
us-iran-conflict
ai
finance-markets
- For each selected topic, read
PROMPTS/TOPICS/<topic>.md and extract the key entities / entity framework back to the user before activation
- Ask whether to activate the topic
- Ask whether to register the morning and afternoon cron jobs
- Only after approval: update config, run setup, and activate monitoring
topics.yaml — What to Track
topics:
us-iran-conflict:
display_name: "US-Iran Conflict"
description: "US-Iran tensions, Hormuz, nuclear talks, sanctions"
enabled: true
search_query: "US Iran conflict Hormuz nuclear talks"
Delivery Channel
Edit CONFIG/default-paths.yaml:
delivery:
telegram:
chat_id: "YOUR_CHAT_ID"
Cron Jobs
| Job | Schedule | Purpose |
|---|
| AR morning digest | 08:00 HKT | Morning research scan |
| AR afternoon update | 16:00 HKT | Afternoon research scan |
Publishing
clawhub publish ./attention-research \
--slug attention-research \
--name "Attention Research Pipeline" \
--version 1.0.0 \
--changelog "First public OSS cut"
Requirements
- Python 3 + PyYAML
- OpenClaw with cron daemon
- A web search tool available to the agent (agent-chosen: Tavily, Brave, native, etc.)
- Telegram or WhatsApp delivery channel
Agent operating rule
Agents should treat this skill as an attention-research workflow, not just a folder of prompts.
On every run:
- follow the prompt stack order
- read
PROMPTS/TOPICS/<topic>.md as the live monitoring note for that topic
- use the topic's own methodology and key-event criteria to judge significance
- keep runtime artifacts isolated per topic under the research root
- alert the user when threshold or key-event criteria in the topic file is met
- do not let one topic's analysis framework bleed into another topic's reasoning