tackle-task
Use when starting work on a specific vault task, when a task title or path is mentioned, or when coming from triage output.
10 stars
Best use case
tackle-task is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Use when starting work on a specific vault task, when a task title or path is mentioned, or when coming from triage output.
Teams using tackle-task should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/tackle-task/SKILL.md --create-dirs "https://raw.githubusercontent.com/AdrianV101/obsidian-pkm-plugin/main/skills/tackle-task/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/tackle-task/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How tackle-task Compares
| Feature / Agent | tackle-task | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Use when starting work on a specific vault task, when a task title or path is mentioned, or when coming from triage output.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Tackle Task
Open a task, understand what it requires, execute it at the right level of rigor, and close it properly.
## Step 1: Resolve the task
From the user's message, extract either a task path or a task title/name.
- **Path given**: `vault_read(path)` directly
- **Title/name given**: issue two queries and match by H1 title or basename:
```
vault_query({ type: "task", status: "pending" })
vault_query({ type: "task", status: "active" })
```
If multiple tasks match, show candidates and ask the user to pick. Fall back to `vault_search(title)` if queries return nothing.
If the task can't be found, tell the user and stop.
Once found, mark it active: `vault_update_frontmatter({ path, fields: { status: "active" } })`.
## Step 2: Read and assess
Read the full task note. Extract:
- **Title** and **description**
- **Acceptance criteria** (if present — key signal for scope clarity)
- **Priority** and **due date**
- **Project** context
## Step 3: Complexity check
Classify into one tier using these signals. This should take seconds, not minutes — trust your first read.
| Tier | Signals | Route to |
|------|---------|----------|
| **Trivial** | Single concern, obvious change, clear AC, file/location already known | Step 5 directly (skip Step 4) |
| **Standard** | Multi-file change, small feature or bugfix, scope is clear but needs a plan | Step 4 → Explore → Plan → Code → Commit |
| **Significant** | New feature, architectural impact, vague requirements, multiple unknowns | Step 4 → `superpowers:brainstorming` → full pipeline |
When uncertain between tiers, go one tier up. A few extra minutes of planning is almost always cheaper than an incomplete or wrong implementation.
Complexity keywords that push up a tier: "design", "architecture", "integrate", "migrate", "refactor across", "not sure how", any missing acceptance criteria.
## Step 4: Explore context (Standard and Significant only)
- `vault_neighborhood(task_path, depth: 2)` — find related ADRs, research notes, prior decisions linked from the task
- `vault_activity({ path: project_folder, limit: 20 })` — see recent related work to avoid duplicating effort
- Read any directly relevant linked notes (ADRs, research) before proceeding
For **Significant** tasks: after exploring, invoke `superpowers:brainstorming` to clarify intent and requirements before writing any code. The brainstorming output should inform the plan.
## Step 5: Execute
**Trivial**: Read the relevant file(s), make the change, run verification. Commit.
**Standard**: Follow the Small Tasks workflow — Explore, confirm approach with user if non-obvious, Code, verify, Commit.
**Significant**: Follow the Significant Features workflow — brainstorm → worktree → plan → execute → finish branch.
Don't re-summarize what you read in Step 2. Move directly into the work.
## Step 6: Close the task
After the work is complete and verified:
1. Update status: `vault_update_frontmatter({ path: task_path, fields: { status: "done" } })`
2. Check for existing completion timestamp: `vault_read(task_path)` — if the note already contains `**Completed**`, skip the append. Otherwise:
`vault_append({ path: task_path, content: "\n**Completed**: YYYY-MM-DD\n" })`
3. If the work produced ADRs, research notes, or other vault notes, link them back to the task: `vault_add_links({ path: task_path, links: [{ target: "...", annotation: "..." }] })`
4. Confirm to the user: one sentence — what was done and what tier it was.Related Skills
We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.