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

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tackle-task/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tackle-task Compares

Feature / Agenttackle-taskStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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.