Skill1.3k repo starsupdated today
spec-kitty.tasks
spec-kitty.tasks translates implementation concerns and specifications into granular, actionable work packages that guide agent-based development. Use this when you need to decompose a feature plan into parallel, reviewable, and implementable tasks with detailed guidance for code generation and execution.
Install in Claude Code
Copygit clone --depth 1 https://github.com/Priivacy-ai/spec-kitty /tmp/spec-kitty.tasks && cp -r /tmp/spec-kitty.tasks/tests/specify_cli/skills/__snapshots__/vibe/tasks. ~/.claude/skills/spec-kitty.tasksThen start a new Claude Code session; the skill loads automatically.
Definition
tasks.SKILL.md
## Startup Upgrade Check
Run this at most once per active agent session before the first Spec Kitty command workflow.
If you already ran `spec-kitty upgrade --agent-check --json` in this session, reuse that result and skip this block.
Do not run or announce an upgrade check again for later Spec Kitty commands in the same session.
Otherwise, before continuing, run:
```bash
spec-kitty upgrade --agent-check --json
```
If JSON `action` is `none`, continue.
If `action` is `auto_upgrade`, run `upgrade_command` before continuing. If it fails, tell the user and continue with the current Spec Kitty version.
If `action` is `guidance`, show `upgrade_note` briefly, then continue.
If `action` is `prompt`, ask the user with the host-native question UI when available:
`Spec Kitty {latest_version} is available. You are on {installed_version}. Upgrade now?`
Use these choices:
1. Upgrade now (recommended) - record `upgrade_now`, run `upgrade_command`, then continue.
2. Always keep me up to date - record `always`, run `upgrade_command`, then continue.
3. Not now - record `not_now`, then continue.
4. Never ask again - record `never_ask`, then continue.
Record the selected choice before continuing:
```bash
spec-kitty upgrade --agent-choice <upgrade_now|always|not_now|never_ask> --agent-latest <latest_version> --json
```
If no host-native question UI is available, present the same four choices in plain text and wait for the user.
In non-interactive hosts, choose `not_now` and continue.
# /spec-kitty.tasks - Generate Work Packages
**Version**: 0.11.0+
## ⚠️ CRITICAL: THIS IS THE MOST IMPORTANT PLANNING WORK
**You are creating the blueprint for implementation**. The quality of work packages determines:
- How easily agents can implement the feature
- How parallelizable the work is
- How reviewable the code will be
- Whether the feature succeeds or fails
**QUALITY OVER SPEED**: This is NOT the time to save tokens or rush. Take your time to:
- Understand the full scope deeply
- Break work into clear, manageable pieces
- Write detailed, actionable guidance
- Think through risks and edge cases
**Token usage is EXPECTED and GOOD here**. A thorough task breakdown saves 10x the effort during implementation. Do not cut corners.
---
## 📍 WORKING DIRECTORY: Stay in the repository root checkout
**IMPORTANT**: Tasks works in the repository root checkout. NO worktrees created.
```bash
# Run from project root (same directory as /spec-kitty.plan):
# You should already be here if you just ran /spec-kitty.plan
# Creates:
# - kitty-specs/<mission_slug>/tasks/WP01-*.md → In repository root checkout
# - kitty-specs/<mission_slug>/tasks/WP02-*.md → In repository root checkout
# (the NNN- prefix in directory listings is display-only metadata)
# - Commits ALL to target branch
# - NO worktrees created
```
**Do NOT cd anywhere**. Stay in the repository root checkout.
**Worktrees created later**: After tasks are finalized, run your agent loop: `spec-kitty next --agent <agent> --mission <handle>`. Your agent will call `spec-kitty agent action implement WP## --agent <name>` for each WP. `finalize_tasks` computes the execution lanes, and each lane gets exactly one worktree.
**In repos with multiple missions, always pass `--mission <handle>` to every spec-kitty command.** The `<handle>` can be the mission's `mission_id` (ULID), `mid8` (first 8 chars of the ULID), or `mission_slug`. The resolver disambiguates by `mission_id` and returns a structured `MISSION_AMBIGUOUS_SELECTOR` error on ambiguity — there is no silent fallback.
## User Input
The content of the user's message that invoked this skill (everything after the skill invocation token, e.g. after `/spec-kitty.<command>` or `$spec-kitty.<command>`) is the User Input referenced elsewhere in these instructions.
You **MUST** consider this user input before proceeding (if not empty).
## Context Resolution (0.11.0+)
Before proceeding, resolve canonical command context:
```bash
spec-kitty agent context resolve --action tasks --mission <mission-slug> --json
```
Treat the resolver JSON as canonical for:
- `mission_slug`
- `feature_dir`
- `current_branch`
- `target_branch`
- `planning_base_branch`
- `merge_target_branch`
- `branch_matches_target`
- exact follow-up commands (`check_prerequisites`, `finalize_tasks`)
Prompts do not rediscover feature context. Commands do.
## Outline
1. **Setup**: Run the exact `check_prerequisites` command returned by the resolver and capture:
- `feature_dir`
- `artifact_files` / `artifact_dirs` (if present)
- `available_docs`
- `current_branch`
- `target_branch` / `base_branch`
- `planning_base_branch` / `merge_target_branch`
- `branch_matches_target`
All paths must be absolute.
If `branch_matches_target` is false, stop and tell the user the checkout is on the wrong planning branch instead of probing git manually in the prompt.
**CRITICAL**: The command returns JSON with `feature_dir` as an ABSOLUTE path. It also returns `runtime_vars.now_utc_iso` (`NOW_UTC_ISO`) for deterministic timestamp fields.
**YOU MUST USE THIS PATH** for ALL subsequent file operations. Example:
```
feature_dir = "/path/to/project/kitty-specs/001-a-simple-hello"
tasks.md location: feature_dir + "/tasks.md"
prompt location: feature_dir + "/tasks/WP01-slug.md"
```
**DO NOT CREATE** paths like:
- ❌ `tasks/WP01-slug.md` (missing feature_dir prefix)
- ❌ `/tasks/WP01-slug.md` (wrong root)
- ❌ `feature_dir/tasks/planned/WP01-slug.md` (WRONG - no subdirectories!)
- ❌ `WP01-slug.md` (wrong directory)
3. **Load design documents** from `feature_dir` (only those present):
- **Required**: plan.md (tech architecture, stack), spec.md (user stories & priorities)
- **Optional**: data-model.md (entities), contracts/ (API schemas), research.md (decisions), quickstart.md (validation scenarios)
- Scale your effort to the feature: simple UI tweaks deserve lighter coverage, multi-system releases requi