garden-inbox

Scan, confirm, and archive reversible inbox entries in a Todero workspace.

Updated Mar 26, 2026
One-click install
npx skills add https://github.com/nabitllc/todero --skill garden-inbox-nabitllc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: garden-inbox
Source: https://github.com/nabitllc/todero/tree/main/.agents/skills/garden-inbox
Command: npx skills add https://github.com/nabitllc/todero --skill garden-inbox-nabitllc

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Todero inboxes accumulate stale, finished, or orphaned issue rows over time, and manually deciding which entries are safe to archive is slow and error-prone. This Skill classifies every inbox row, asks the user to confirm selections, and archives only accepted entries without touching issues, branches, or workspaces. ## Core Features & Use Cases - Read-only scan with safety buckets: Classifies each inbox row into buckets A (merged/finished), B (stale terminal), C (stale with unmerged commits), or D (keep), using workspace close-readiness and local Git metadata. - Checkbox confirmation workflow: Posts idempotent request_checkbox_confirmation interactions on the driving issue, chunking large scans into sequential cards and never re-offering previously declined items as default-checked. - Guarded apply step: Archives only accepted option IDs that exist in the originating scan file, and prints undo instructions (DELETE /api/issues/<id>/inbox-archive) for every archived row. - Use Case: An agent on a scheduled heartbeat runs scan with a 60-day stale threshold, posts the confirmation card, waits for the user's wake interaction, then runs apply to archive only the entries the user checked. ## Quick Start Ask the agent to garden my Todero inbox by scanning for stale entries older than 60 days, showing me a checkbox confirmation, and archiving only the entries I accept.

Frequently Asked Questions about garden-inbox

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I clean up a stale Todero inbox safely?

Run the garden-inbox scan command with a stale-days threshold, review the generated report and candidates.json, post a checkbox confirmation card, then run apply with the resolved interaction ID. Only entries you explicitly accept are archived, and archiving is reversible per user.

How does the inbox scan decide which entries are archive candidates?

Each row is classified into one bucket: A for merged or archived workspaces with all linked issues terminal, B for terminal or workspace-gone work idle beyond the stale threshold, C for stale branches with unmerged commits, and D for keep. Only buckets A and B are default-checked; C starts unchecked and D is never offered.

Does archiving an inbox entry delete the issue or branch?

No. Inbox archive state is per-user presentation state only and never changes issue status, branches, or workspaces. You can undo any archive with DELETE /api/issues/<id>/inbox-archive or the Unarchive action in the issue properties pane.

What credentials does the garden-inbox script require?

It requires PAPERCLIP_API_URL and PAPERCLIP_API_KEY environment variables. The target user is resolved from the run JWT's responsible_user_id claim, or you can pass --user-id explicitly to override it.

Why does the scan report warn about possibly truncated coverage?

The Mine endpoint caps each query at 500 rows, so the script queries once per issue status and merges results. If any single status returns 500 rows, coverage is flagged as possibly truncated and the scan should not be treated as complete.

Can I test the confirm and apply steps without making API writes?

Yes. Both confirm and apply support a --dry-run flag, and apply can read a saved interaction response via --interaction-file instead of calling the live API. The dry run prints exactly which entries would be archived.