Use when you have an idea, bug, or task to capture quickly — 'remember this', 'file this for later', 'note this down', 'add to backlog'. Quick-capture with context and priority.
From dp-cabnpx claudepluginhub raisedadead/dotplugins --plugin dp-cabThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Proposes cuts, reorganization, and simplification to improve document structure, clarity, and flow while preserving comprehension. Use for structural or editorial reviews.
Quick-capture minion for ad-hoc tasks, action items, and ideas. Takes a rough description and files a well-formed task under the FILING-CABINET epic, enriched with relevant context.
This skill has NO opinions about planning, execution, or polish. It captures and files — nothing more.
Filed tasks are created with deferred status — they CANNOT be picked up by dp_beads_ready or dispatched by run. To begin work on a filed item, it must be explicitly promoted for planning.
Every filed task title MUST use the format VERB: description. Pick the verb that best describes the intent:
| Verb | When to Use |
|---|---|
BUG | Something is broken or behaving incorrectly |
FEATURE | New capability or skill to build |
IMPROVE | Enhance existing functionality, refactor, polish |
AUDIT | Investigate, compare, verify, assess quality |
ENFORCE | Add or strengthen a guardrail, validation, or gate |
CONSIDER | Open question, trade-off to evaluate, no commitment yet |
FIX | Known issue with a clear fix path (not a bug report — the fix is understood) |
If the user's request doesn't clearly map, default to IMPROVE.
Extract from the user's message:
Priority mapping: urgent/critical → 0, high/P1 → 1, medium/P2 → 2, normal → 3, low/backlog → 4
If the request is vague, ask ONE clarifying question. Do not over-interrogate — the point is fast capture.
Before creating a new issue, search for existing closed/deferred items with similar keywords:
bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && dp_beads_search "[2-3 keywords from title]" 2>/dev/null'
Parse the JSON results. Filter for items where the title is similar to the new filing.
If matches found, present them to the user:
Found existing items that may be related:
- {id} ({status}) — {title}
Options:
- Reopen an existing item (append new context)
- File as new (no duplicate)
If the user picks reopen: run bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && dp_beads_reopen "{id}"', then append the new context as a comment or updated description. STOP — do not create a new issue.
If the user picks file new or no matches found: proceed to Step 2.
Before filing, silently gather context to make the task self-contained when reviewed later:
bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && dp_beads_memories' and check if any stored insight is relevant. If so, reference it.~/.claude/auto-memory/MEMORY.md for relevant user preferences, project context, or feedback that should inform this task.Write a task description in this format:
## What
[1-2 sentence clear statement of what needs to happen]
## Context
[Why this was filed, what we were working on, any relevant memories or active work]
## Pointers
[File paths, issue IDs, beads references, memory keys — anything that helps when this is picked up later]
## Origin
Filed during: [current epic or "ad-hoc session"]
Date: [today's date]
Keep it concise. The goal is capture, not specification.
Use ONLY the generic wrapper functions. The FILING-CABINET is an epic with the dp-cab:cabinet label.
Important: Do NOT use bash -c '...' with inline descriptions — shell metacharacters in the description text will break the command. Instead, use separate Bash tool calls:
Call 1 — Find or create cabinet:
bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && cabinet=$(dp_beads_query "label=dp-cab:cabinet AND type=epic AND (status=open OR status=deferred)" 2>/dev/null | jq -r ".[0].id // empty") && if [ -z "$cabinet" ]; then cabinet=$(dp_beads_create "FILING-CABINET" epic --label dp-cab:cabinet -d "Persistent inbox for ad-hoc tasks and ideas.") && dp_beads_update "$cabinet" --status deferred 2>/dev/null; fi && echo "$cabinet"'
Call 2 — Create the task (pipe description via stdin to avoid escaping):
printf '%s' "[DESCRIPTION]" | bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && task=$(dp_beads_create "[TITLE]" task --parent "[CABINET_ID]" --priority [PRIORITY] --stdin) && dp_beads_update "$task" --status deferred 2>/dev/null && echo "$task"'
The printf | bash -c pattern avoids shell escaping issues — the description never enters the shell argument parser.
If beads is unavailable, report the enriched task as a markdown block and tell the user to file it manually later.
Report:
Filed: {task-id} (P{priority}, deferred) — {title} under FILING-CABINET ({cabinet-id}).
If dp-cto is installed and has an active epic, ask: "Link this to the active epic via discovered-from?" If yes:
printf '%s' "{description}" | bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && dp_beads_create_side_quest "{title}" "$(cat)" "{active-epic-id}"'
bd directly — always use wrapper functions via bash -c 'source ${CLAUDE_PLUGIN_ROOT}/lib/dp-beads.sh && ...'open — filed tasks are always deferred until explicitly promoted