capture-task
Skill0 starsChanged 5 months agoMITView on GitHub
Capture an actionable task. Writes to your Notion task database via MCP if you've configured one (always confirming first); otherwise files a task note to 00-inbox/. Use for any actionable item with a verb (email X, build Y, review Z).
In this repository13 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- audit-extremeSkill
- auditSkill
- capture-noteSkill
- councilSkill
- daily-catchupSkill
- dailySkill
- dreamSkill
- project-scaffoldSkill
- projectSkill
- setupSkill
- weeklySkill
- workspaceSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 2 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
If <YOUR_TASK_DB_DATA_SOURCE_ID> is still an unfilled placeholder, the skill skips Notion entirely and uses the 00-inbox/ path (step 7).
- Very specific: line 34
Read input. If invoked as /capture-task <description>, use the description.
- Distinctive: line 72
If a create call against the pinned data source fails (e.g.
- Very specific: line 121
If a task DB *was* configured and the create failed, tell the user the MCP failed and they can re-run /capture-task once it's back.
- Very specific: line 127
Never write to Notion without explicit y.
- Distinctive: line 130
Never silently retry more than once.
- Very specific: line 131
Never overwrite an existing inbox file.
- Very specific: line 132
Use [[wikilinks]] if the task description mentions a known project/person/area.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Capture-Task Skill
What this does
Captures an actionable item. Out of the box (no Notion configured) it writes a task
note to 00-inbox/ — the pure-vault default, zero external services. If you have
connected the Notion MCP and pinned your task database (see Setup below), it instead
creates a task there, with explicit user confirmation before writing. Either way it
fills all four fields — Task name, Due Date, Priority, and Category — inferring what
it can from the description and asking the user for the rest.
Setup (optional — Notion only)
The vault path needs no setup. To route tasks to Notion instead of 00-inbox/:
- Connect the Notion MCP (see
_meta/integrations.md). - Pin your task database's data-source ID in
_meta/notion-bridge.mdunder the<YOUR_TASK_DB_DATA_SOURCE_ID>placeholder. (To find it: open the database in Notion, copy its link, and pull the data-source/collection ID from the URL.) - Confirm your field names map to Task / Due Date / Priority / Category / Done (or
record the mapping in
notion-bridge.mdif yours differ), and note your existing Category select options.
If <YOUR_TASK_DB_DATA_SOURCE_ID> is still an unfilled placeholder, the skill skips
Notion entirely and uses the 00-inbox/ path (step 7).
Steps
- Read input. If invoked as
/capture-task <description>, use the description. If empty, prompt: "What's the task?" Build the four required fields. Every task gets all four filled — never leave one blank. First infer what you confidently can from the description; then ask the user (in ONE batched prompt) for anything still missing. Never fabricate a value.
- Task (title) — taken from the description; always present.
- Due Date — natural language ("by Friday", "tomorrow", "next week") → ISO date. There is no sensible default, so if it isn't clearly stated, ask.
- Priority — one of
Very High/High/Medium/Low. Infer only when clearly implied (e.g. "urgent"/"ASAP" → High or Very High); otherwise ask, offering the four options. - Category — must be an existing option in your task system (never invent new
ones). Read the options you recorded in
_meta/notion-bridge.md(or, pure-vault, just use a short free-text label that matches how you already tag work). Infer when the description clearly maps to one of your existing options; otherwise ask, offering the list. If the user's answer isn't on the list, map to the closest existing option or use a generic catch-all (e.g.Other) — do not create a new category.
Batch every unknown into a single question round (e.g. "Due date? Priority? Category?") instead of asking one at a time. Once all four are set, proceed. (If the description also clearly names a known
10-projects/or15-workspaces/item, note it for the[[wikilink]]rule below — verify by listing those folders.)Decide the target. If no Notion task DB is configured (the
<YOUR_TASK_DB_DATA_SOURCE_ID>placeholder in_meta/notion-bridge.mdis unfilled, or the Notion MCP isn't connected) → skip to step 7 (the00-inbox/default). If a task DB IS configured, continue.Target the pinned task database directly — do NOT search for it. Read the data-source ID you pinned in
_meta/notion-bridge.md.⚠️ Never use Notion search to discover the task DB. Notion ships a built-in default "My Tasks" database that ranks high in search because it's Notion's native task system — and it is almost always the WRONG target. Writing there is the exact bug pinning prevents. Always write to the data source you pinned yourself.
If a create call against the pinned data source fails (e.g. it was moved or renamed), report the failure and jump to step 7 (fallback). Do not silently fall back to searching for "tasks".
- Show always-confirm preview. All four fields must be filled — no "—"
placeholders. If any is still blank, go back to step 2 and ask for it.
Create in Notion → <your task DB>: Task: <task title> Due Date: <ISO date> Priority: <Very High | High | Medium | Low> Category: [<category>] Confirm? (y/n) - On
y: callmcp__claude_ai_Notion__notion-create-pageswith:- parent:
{ "data_source_id": "<YOUR_TASK_DB_DATA_SOURCE_ID>" } - properties — all four are always set (collected in step 2), using your mapped
field names:
Task— the titledate:Due Date:start— ISO date (also setdate:Due Date:is_datetime= 1 if a time was given)Priority—Very High/High/Medium/LowCategory— JSON array of existing option(s), e.g.["Personal Work"]; never invent new options On success, report the Notion page URL. Stop.
- parent:
- On
n: report "Not captured." Stop. Do not retry. - Default / fallback path (
00-inbox/) — used when no Notion is configured or a Notion create failed. You will already have collected all four fields in step 2 — preserve them. Write00-inbox/{{date}}-task-{{slug}}.mdwith:
If a task DB was configured and the create failed, tell the user the MCP failed and they can re-run--- type: task-pending date: {{date}} status: needs-notion-sync tags: [needs-notion-sync] due: {{ISO due date}} priority: {{Very High | High | Medium | Low}} category: {{category}} source: "/capture-task (vault fallback)" --- # {{task title}} {{description body}} _Captured by /capture-task. If you later configure a task manager, push this there and archive the note._/capture-taskonce it's back. If no task manager is configured at all, this note IS the task — that's the expected pure-vault behavior, not an error.
Rules
- Never write to Notion without explicit
y. The bridge policy is non-negotiable. - Never leave Task, Due Date, Priority, or Category blank — infer it or ask. Never invent a Category outside your task system's existing options.
- Never silently retry more than once.
- Never overwrite an existing inbox file. Auto-rename with
-2,-3, etc. - Use
[[wikilinks]]if the task description mentions a known project/person/area. - Frontmatter
source:field reflects whether the Notion or fallback path was used.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

