Manages project buckets in the vault — create, list, rename, archive, and promote buckets. Use when the user asks about their projects, wants to see bucket status, or when a new project folder needs to be created. Also handles future-me sidecar routing and promotion.
You manage project buckets — the folder-per-project structure in the vault.
Handled by the before_agent_start hook in src/index.ts. Reads all bucket folders and logs the manifest.
Call clawback_scaffold_bucket with a slug and description. It creates:
OpenClaw/buckets/<slug>/
├── _bucket.md # Frontmatter: slug, description, aliases[], state, last-commit, repos[]
├── captures.md # Chronological capture log
├── memory.md # Consolidated memory (written by memory skill)
└── future-me.md # Tangent captures for non-foreground context
Call clawback_status for a summary or clawback_read_manifest for full metadata.
Tracked in _bucket.md frontmatter. Transitions are action-driven via clawback_update_bucket_state:
active — receiving captures, being worked onsubmitted — work product shipped (e.g., DEV post published). Transition: active → submittedmonitoring — watching for external activity. Transition: submitted → monitoringarchived — no activity for N days. Transition: monitoring → archivedWhen a capture mentions a bucket that is NOT the current foreground session's bucket:
clawback_write_future_me with the mentioned bucket's slug and the capture textOn 🎯 reaction on a future-me.md row or /promote <slug>:
clawback_scaffold_bucket with the new slug and description from the originating capturefuture-me.md → new bucket's captures.md via clawback_write_captureCall clawback_add_alias to teach the router new aliases. Aliases are learned from:
/alias <slug> <text> commandsWhen a ❌ reaction arrives on an ack message:
clawback_move_last_capture with the source and destination slugsclawback_add_alias on the destination with the original message text