|
| 1 | +--- |
| 2 | +name: proactive-task-engine |
| 3 | +slug: proactive-task-engine |
| 4 | +description: "Proactive task discovery engine. Periodically scans task boards (OKR, GitHub Issues, Notion, Linear) for items the lobster can pick up, generates structured approval requests with confidence scoring. Turns lobsters from reactive responders into self-driving agents." |
| 5 | +--- |
| 6 | + |
| 7 | +# Proactive Task Engine — Self-Driving Lobster |
| 8 | + |
| 9 | +> Scan → Discover → Score → Propose → Execute (on approval) |
| 10 | +> |
| 11 | +> Instead of waiting for assignments, lobsters proactively find work they can do. |
| 12 | +
|
| 13 | +## When to Trigger |
| 14 | + |
| 15 | +- **Cron nudge**: Controller sends a daily `[proactive-scan]` message via `proactive-cron.sh` |
| 16 | +- **Heartbeat idle**: During heartbeat, if no active tasks and idle for >2 hours |
| 17 | +- **Manual**: Owner says "scan for tasks" / "find something to do" |
| 18 | + |
| 19 | +## Core Loop |
| 20 | + |
| 21 | +``` |
| 22 | +┌──────────────┐ ┌──────────────┐ ┌──────────────┐ |
| 23 | +│ Scan Boards │ ──▶ │ Filter/Score │ ──▶ │ Propose │ |
| 24 | +└──────────────┘ └──────────────┘ └──────────────┘ |
| 25 | + │ |
| 26 | + Owner approves? |
| 27 | + │ │ |
| 28 | + yes no |
| 29 | + │ │ |
| 30 | + ┌─────▼──┐ ┌───▼───┐ |
| 31 | + │Execute │ │ Skip │ |
| 32 | + └────────┘ └───────┘ |
| 33 | +``` |
| 34 | + |
| 35 | +## Phase 1: Scan |
| 36 | + |
| 37 | +Connect to configured task boards and pull open/unassigned items. |
| 38 | + |
| 39 | +### Supported Backends |
| 40 | + |
| 41 | +| Backend | How to Query | Configuration | |
| 42 | +|---------|-------------|---------------| |
| 43 | +| Notion | Notion API — filter by Status = "Open", Assignee = empty | `config.notion.databaseId` | |
| 44 | +| GitHub Issues | GitHub API — filter by `is:open no:assignee` | `config.github.repo` | |
| 45 | +| Linear | Linear API — filter by unassigned, open state | `config.linear.teamId` | |
| 46 | +| Local file | Read `tasks.json` or `TODO.md` in workspace | `config.local.path` | |
| 47 | + |
| 48 | +### Scan Query |
| 49 | + |
| 50 | +``` |
| 51 | +Fetch all items where: |
| 52 | + - Status: Open / Backlog / To Do |
| 53 | + - Assignee: unassigned OR assigned to me |
| 54 | + - Priority: any (scoring handles prioritization) |
| 55 | + - Updated: within last 30 days (skip stale items) |
| 56 | +``` |
| 57 | + |
| 58 | +## Phase 2: Filter & Score |
| 59 | + |
| 60 | +For each discovered item, compute a **fit score** (0-10): |
| 61 | + |
| 62 | +### Scoring Criteria |
| 63 | + |
| 64 | +| Factor | Weight | Description | |
| 65 | +|--------|--------|-------------| |
| 66 | +| Capability match | 40% | Does the task fall within my skill domain? | |
| 67 | +| Priority | 25% | P0/P1 score higher than P3 | |
| 68 | +| Effort estimate | 20% | Can I complete this within 1 work session? | |
| 69 | +| Dependencies | 15% | Are all prerequisites met? | |
| 70 | + |
| 71 | +### Capability Matching |
| 72 | + |
| 73 | +Read your own `MEMORY.md` or capability profile to determine your domains: |
| 74 | +- Code: languages, frameworks, modules you've worked on |
| 75 | +- Research: topics you've investigated before |
| 76 | +- Ops: infrastructure, deployment, monitoring |
| 77 | +- Design: UI/UX, product specs |
| 78 | + |
| 79 | +### Score Thresholds |
| 80 | + |
| 81 | +| Score | Action | |
| 82 | +|-------|--------| |
| 83 | +| 8-10 | High confidence — include in proposal | |
| 84 | +| 5-7 | Medium — include with caveats | |
| 85 | +| 0-4 | Low — skip unless nothing else available | |
| 86 | + |
| 87 | +## Phase 3: Propose |
| 88 | + |
| 89 | +Generate a structured approval request for your owner (via DM or thread): |
| 90 | + |
| 91 | +```markdown |
| 92 | +🔍 **Proactive Task Proposal** |
| 93 | + |
| 94 | +I scanned [Board Name] and found items I can help with: |
| 95 | + |
| 96 | +**High Confidence (8+):** |
| 97 | +1. 🟢 [Task Title] (Score: 9/10) |
| 98 | + - Why: Matches my [domain] expertise, no dependencies, ~2h effort |
| 99 | + - Plan: [1-2 sentence approach] |
| 100 | + |
| 101 | +2. 🟢 [Task Title] (Score: 8/10) |
| 102 | + - Why: [reasoning] |
| 103 | + - Plan: [approach] |
| 104 | + |
| 105 | +**Medium Confidence (5-7):** |
| 106 | +3. 🟡 [Task Title] (Score: 6/10) |
| 107 | + - Why: Related to my domain but involves [unfamiliar area] |
| 108 | + - Plan: [approach with caveats] |
| 109 | + |
| 110 | +Shall I proceed with any of these? Reply with numbers (e.g., "do 1 and 2") |
| 111 | +or "skip" to pass. |
| 112 | +``` |
| 113 | + |
| 114 | +### Proposal Rules |
| 115 | + |
| 116 | +- Maximum 5 items per proposal (don't overwhelm) |
| 117 | +- Always include your reasoning (why you think you can do it) |
| 118 | +- Always include effort estimate |
| 119 | +- If nothing scores above 5: report "scanned, nothing actionable" — don't force it |
| 120 | + |
| 121 | +## Phase 4: Execute |
| 122 | + |
| 123 | +On owner approval: |
| 124 | + |
| 125 | +1. Update task board: assign to self, set status to "In Progress" |
| 126 | +2. Execute the task using your skills and tools |
| 127 | +3. Report progress in the relevant thread/channel |
| 128 | +4. On completion: update board status to "Done", notify owner |
| 129 | + |
| 130 | +## Configuration |
| 131 | + |
| 132 | +Store in your workspace as `proactive-config.json`: |
| 133 | + |
| 134 | +```json |
| 135 | +{ |
| 136 | + "enabled": true, |
| 137 | + "scanInterval": "daily", |
| 138 | + "backends": [ |
| 139 | + { |
| 140 | + "type": "notion", |
| 141 | + "databaseId": "YOUR_DATABASE_ID", |
| 142 | + "filter": { |
| 143 | + "status": ["Open", "Backlog"], |
| 144 | + "assignee": ["unassigned", "self"] |
| 145 | + } |
| 146 | + } |
| 147 | + ], |
| 148 | + "capabilities": ["backend", "api-design", "data-analysis"], |
| 149 | + "maxProposals": 5, |
| 150 | + "autoExecuteThreshold": null |
| 151 | +} |
| 152 | +``` |
| 153 | + |
| 154 | +### Auto-Execute Mode (optional) |
| 155 | + |
| 156 | +If owner sets `autoExecuteThreshold` (e.g., 9), tasks scoring at or above that |
| 157 | +threshold are executed without waiting for approval. Use with caution. |
| 158 | + |
| 159 | +## File Structure |
| 160 | + |
| 161 | +``` |
| 162 | +skills/proactive-task-engine/ |
| 163 | +├── SKILL.md # This file |
| 164 | +└── references/ |
| 165 | + └── scoring-guide.md # Detailed scoring rubric and examples |
| 166 | +``` |
| 167 | + |
| 168 | +## Dependencies |
| 169 | + |
| 170 | +- Task board API access (Notion token, GitHub token, etc.) |
| 171 | +- Read access to own capability profile / MEMORY.md |
| 172 | +- Message tool for sending proposals to owner |
0 commit comments