autonomous-pickup skill: bridge dispatch artifacts to Desktop Start-locally #43

Closed
opened 2026-05-23 20:55:26 +00:00 by coilysiren · 1 comment
Owner

Originally filed by @coilysiren on 2026-05-13T10:39:59Z - https://github.com/coilysiren/repo-recall/issues/125

Close the loop on recall-dispatch: today the planner writes ~/.repo-recall/dispatch/<repo>/<slug>.md (and the in-repo mirror), but nothing picks them up. A human still has to fan them out.

Why

The autonomous-engineering goal is "Kai opens Desktop and the queued work is already there as Start-locally cards." Today the queue is on disk; the bridge to Desktop is missing.

The right bridge surfaced during a spike (coilysiren/coilyco-ai#383): mcp__scheduled-tasks__create_scheduled_task is the cowork-scheduled-task producer that Claude Desktop renders as a right-side "Start locally" card. Same machinery as /schedule. We have that MCP today; we just need a consumer that walks the dispatch directory and calls it.

What

A new skill (working name: autonomous-pickup, or fold into recall-dispatch as a second mode):

  • Sweeps ~/.repo-recall/dispatch/<repo>/ for artifacts that don't have a .handled sidecar (or aren't in .handled/).
  • For each, reads the markdown body, strips the frontmatter, prepends a self-contained workflow footer (cd into repo path, run tests/lints, commit to main with closes #N, push) so the spawned session has the full instructions even with no chat memory.
  • Calls mcp__scheduled-tasks__create_scheduled_task with:
    • taskId: kebab-cased artifact slug
    • prompt: the composed prompt
    • fireAt: now plus a small offset (e.g. 60s) so the Start-locally card appears quickly
    • description: derived from the issue refs (work coilysiren/repo-recall#92)
  • On success, marks the artifact handled (sidecar <slug>.md.handled or move to .handled/). Idempotent on re-run.
  • Refuses to re-dispatch handled artifacts. Logs skipped count.

Trigger model

  • Manual: /autonomous-pickup from any Desktop session.
  • Recurring: the skill itself files a scheduled task to re-run every 10-15 minutes, so once it's been kicked off once it self-perpetuates. (Open question: do we want that vs an explicit Kai-runs-it cadence. Probably yes-self-perpetuate, with an off switch.)

Done when

  • New artifact in ~/.repo-recall/dispatch/ produces a "Start locally" card in Desktop within ~1-2 minutes of the next sweep.
  • Clicking the card spawns a Desktop-registered session seeded with the workflow-footer'd prompt.
  • Re-running the sweep does not duplicate already-handled artifacts.
  • The skill is self-contained (no external state besides the dispatch directory).

Out of scope

  • Fully-unattended-while-Desktop-closed automation. That needs the cowork HTTP API and is filed as a separate research issue.
  • Changing the dispatch artifact format. The skill consumes today's format as-is.
  • Replacing coily dispatch. That stays as the hands-on path; this is the AFK path.

Why-not Rust daemon

Considered: a repo-recall background task that fswatches ~/.repo-recall/dispatch/ and creates the scheduled tasks directly. Blocker: create_scheduled_task is an MCP tool only callable from inside a Claude Code session. The underlying HTTP endpoint is gated by CoworkOauth and undocumented. So the Rust daemon can't do it without an Anthropic-side change. Filed separately as a long-shot research issue.

  • coilysiren/coilyco-ai#383 spike notes (cowork artifact / Start-locally findings).
  • coilysiren/coilyco-ai (recall-dispatch skill) produces the artifacts this issue consumes.
_Originally filed by @coilysiren on 2026-05-13T10:39:59Z - [https://github.com/coilysiren/repo-recall/issues/125](https://github.com/coilysiren/repo-recall/issues/125)_ Close the loop on `recall-dispatch`: today the planner writes `~/.repo-recall/dispatch/<repo>/<slug>.md` (and the in-repo mirror), but nothing picks them up. A human still has to fan them out. ## Why The autonomous-engineering goal is "Kai opens Desktop and the queued work is already there as Start-locally cards." Today the queue is on disk; the bridge to Desktop is missing. The right bridge surfaced during a spike (coilysiren/coilyco-ai#383): `mcp__scheduled-tasks__create_scheduled_task` is the cowork-scheduled-task producer that Claude Desktop renders as a right-side "Start locally" card. Same machinery as `/schedule`. We have that MCP today; we just need a consumer that walks the dispatch directory and calls it. ## What A new skill (working name: `autonomous-pickup`, or fold into `recall-dispatch` as a second mode): - Sweeps `~/.repo-recall/dispatch/<repo>/` for artifacts that don't have a `.handled` sidecar (or aren't in `.handled/`). - For each, reads the markdown body, strips the frontmatter, prepends a self-contained workflow footer (cd into repo path, run tests/lints, commit to main with `closes #N`, push) so the spawned session has the full instructions even with no chat memory. - Calls `mcp__scheduled-tasks__create_scheduled_task` with: - `taskId`: kebab-cased artifact slug - `prompt`: the composed prompt - `fireAt`: now plus a small offset (e.g. 60s) so the Start-locally card appears quickly - `description`: derived from the issue refs (`work coilysiren/repo-recall#92`) - On success, marks the artifact handled (sidecar `<slug>.md.handled` or move to `.handled/`). Idempotent on re-run. - Refuses to re-dispatch handled artifacts. Logs skipped count. ## Trigger model - **Manual**: `/autonomous-pickup` from any Desktop session. - **Recurring**: the skill itself files a scheduled task to re-run every 10-15 minutes, so once it's been kicked off once it self-perpetuates. (Open question: do we want that vs an explicit Kai-runs-it cadence. Probably yes-self-perpetuate, with an off switch.) ## Done when - New artifact in `~/.repo-recall/dispatch/` produces a "Start locally" card in Desktop within ~1-2 minutes of the next sweep. - Clicking the card spawns a Desktop-registered session seeded with the workflow-footer'd prompt. - Re-running the sweep does not duplicate already-handled artifacts. - The skill is self-contained (no external state besides the dispatch directory). ## Out of scope - Fully-unattended-while-Desktop-closed automation. That needs the cowork HTTP API and is filed as a separate research issue. - Changing the dispatch artifact format. The skill consumes today's format as-is. - Replacing `coily dispatch`. That stays as the hands-on path; this is the AFK path. ## Why-not Rust daemon Considered: a repo-recall background task that fswatches `~/.repo-recall/dispatch/` and creates the scheduled tasks directly. Blocker: `create_scheduled_task` is an MCP tool only callable from inside a Claude Code session. The underlying HTTP endpoint is gated by `CoworkOauth` and undocumented. So the Rust daemon can't do it without an Anthropic-side change. Filed separately as a long-shot research issue. ## Related - coilysiren/coilyco-ai#383 spike notes (cowork artifact / Start-locally findings). - coilysiren/coilyco-ai (`recall-dispatch` skill) produces the artifacts this issue consumes.
Author
Owner

Iceboxed in the 2026-05-29 backlog burn-down: Autonomous-pickup Desktop bridge, speculative autonomous-engineering aspiration. Reopen anytime if it becomes real.

Iceboxed in the 2026-05-29 backlog burn-down: Autonomous-pickup Desktop bridge, speculative autonomous-engineering aspiration. Reopen anytime if it becomes real.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/repo-recall#43
No description provided.