Multi-Topic Board

Automation

Multi-Topic Board: AI Agent active topic tracking and task closed-loop management. Tracks unresolved discussions, auto-updates aging days, sends timeout alerts after 3 days with no task, and generates execution tasks in tasks/. Triggered when: (1) user discusses a topic without conclusion; (2) user asks where things left off; (3) user wants to track pending decisions.

Install

openclaw skills install multi-topic-board

Multi-Topic Board v1.0

What This Skill Does

Not a notepad — an execution accelerator.

Multi-Topic Board solves the "discussed then forgotten" problem. Discussions generate unresolved topics that never reach the execution layer. The board chains two Cron systems with tasks/ into a closed loop: track → remind → create task → complete.


When to Use This Skill

  • User discusses a topic without reaching a conclusion
  • User asks "where did we leave off?" or "what's pending?"
  • User wants to track pending decisions across sessions
  • A topic has been active for 3+ days without an execution task

Architecture

🔥 Pending ──[3+ days, no task]──→ Cron notifies main
    │                                    ↓
    │                          main decides: create task?
    ↓                                    ↓
🔄 Parked                          tasks/ file created
    │                                    ↓
    ↓                                    ↓
✅ Done ←─────────────────────── task done, board updated

Two trigger Cron systems:

  • Heartbeat Cron (every 4 hours): state sync + timeout reminder
  • System Maintenance Cron (daily): update aging days + timeout stats
  • Main Agent: decides whether to create task, manually links task path to board

Entry Format

Each entry in the board:

- [ ] [Topic] Description | YYYY-MM-DD | source | X days | task: filename.md or none
FieldDescriptionWho fills
YYYY-MM-DDDiscovery date, auto-recordedAgent
daysDays since discovery, auto-updatedSystem (Cron)
taskFile path when task existsManual

Status Flow

StatusMeaningTrigger
🔥 PendingTopic open, no conclusionUser raises new topic
🔄 ParkedTemporarily on holdUser says "暂缓" / "hold"
✅ DoneConcluded or closedHas conclusion + write result

Bootstrap Setup

When this skill is first loaded, set up the closed-loop infrastructure:

Step 1: Create tasks/ Directory

mkdir -p tasks/

Tasks directory stores execution task files. When main decides to act on a pending topic, create a task file here and manually link it back to the board entry.

Step 2: Setup Multi-Topic Board

Check if HEARTBEAT.md exists in workspace:

  • IF exists: Write new task items into the existing file (do not overwrite existing content)
  • IF not exists: Create HEARTBEAT.md as a new cron job

Create Multi-Topic Board File (memory/multi-topic.md):

# Multi-Topic Board

> Track active topics and unresolved pending items.
> Both agent and user can update; Heartbeat syncs automatically.

**State Flow**:
🔥 Pending → 🔄 Parked → ✅ Done

**Closed-Loop Mechanism**:
- Heartbeat Cron syncs state changes
- System Maintenance Cron updates aging days
- 3+ days with no task → notifies main to create task in tasks/
- After task created → manually link file path to entry

**Usage**:
- User starts a topic → append to 🔥 Pending
- User says "hold" → move topic to 🔄 Parked
- Has conclusion → move to ✅ Done + write conclusion
- User asks "where did we leave off?" → read this file

**Format**:
- Aging days: updated daily by System Maintenance Cron
- Task link: fill in after creating task file

---
## 🔥 Pending

## 🔄 Parked

## ✅ Done

Step 3: Setup or Update Heartbeat Cron

IF HEARTBEAT.md already exists:

  • Read the existing file
  • Add this task to the existing Heartbeat workflow (do not overwrite):

    Multi-Topic Board Sync

    • Read memory/multi-topic.md
    • Inject active topics into context
    • Sync state changes
    • Identify topics 3+ days with no task; report in main notification

IF HEARTBEAT.md does not exist, create a new cron job:

{
  "schedule": { "kind": "every", "everyMs": 14400000 },
  "payload": {
    "kind": "agentTurn",
    "message": "【Multi-Topic Board Sync】\n\nStep 1: Read sessions_list (filter noise sessions)\n\nStep 2: Read memory/multi-topic.md\n- Inject active topics into context\n- Sync state changes\n\nStep 3: Identify timed-out topics\n- Find topics 3+ days with task = none\n- IF > 0 → sessions_send to main: list timed-out topics, suggest creating tasks in tasks/\n"
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "none" }
}

Every 4 hours (14400000ms).

Step 4: Setup System Maintenance Cron

{
  "schedule": { "kind": "every", "everyMs": 86400000 },
  "payload": {
    "kind": "agentTurn",
    "message": "【Daily Multi-Topic Board Maintenance】\n\nStep 1: Update aging days\n- Read memory/multi-topic.md\n- For each 🔥 Pending entry: today - discovered_at = days\n- IF no days field → append to entry\n- IF days changed → update in place\n- Write back to multi-topic.md (only touch the days field)\n\nStep 2: Timeout stats and alert\n- Count entries: days >= 3 AND task = none\n- IF > 0 → sessions_send to main: N topics 3+ days with no task: [topic names]\n- IF = 0 → silent end\n"
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "none" }
}

Daily.

Step 5: Link Task to Board

After creating any task file, update the corresponding board entry in memory/multi-topic.md:

  • Change task: none to task: tasks/your-task-file.md

File Locations

FilePurpose
memory/multi-topic.mdMulti-Topic Board main file
HEARTBEAT.mdHeartbeat cron payload (if skill creates it)
tasks/*.mdExecution task files

Design Principles

  1. Minimal intervention: No separate hook needed; embedded in existing cron workflows
  2. Auto flow: Aging days and state sync maintained by cron
  3. Proactive alerts: Only alert after 3+ days with no task; no spam
  4. One-way feedback: Task done → board updated; board updated → does NOT auto-create task (main decides)
  5. Manual bridge: Task path is a manual bridge — the human's judgment must not be stolen by the system

Usage Scenarios

Scenario 1: Auto-append New Topic

User discussion produces unresolved topic → Agent appends to 🔥 Pending

Scenario 2: Timeout Auto-alert

days >= 3 AND task = none → Cron notifies main → Suggest creating task in tasks/

Scenario 3: Task Completion Closed-loop

tasks/ file completed → Agent manually links path to board → Moves to ✅ Done

Scenario 4: Progress Query

User asks "where did we leave off?" → Read board to user


Usage Boundaries

Suitable for:

  • Unresolved topics from user discussions
  • Decisions needing tracking but not immediate execution
  • Multi-session coordinated long-cycle tasks

Not suitable for:

  • Tasks with clear execution plans (go directly to tasks/)
  • One-time information queries (no tracking needed)
  • Topics user explicitly says "不需要管"

Multi-Topic Board v1.0 — Every unresolved topic gets a landing place