new

SKILL.md

new

Create or update tasks/todo.md as the source of truth for what the project is and what features will be built.


Guardrails

  • Do not implement code.
  • Do not write individual feature PRDs (use plan for that).
  • Keep features "PRD-sized": one feature = one PRD. If it spans >2 subsystems, >1 UI surface + backend, or >~1 day of work, split it.
  • Prefer a stable todo.md structure; edit in place rather than rewriting.
  • Write tasks/todo.md so a junior dev (or another AI) can pick it up without extra context.
  • Do not use Markdown tables (use checklists + bullets).
  • Do not check feature boxes unless the PRD actually exists (typically updated by plan).
  • Treat memory capture as built-in: if durable decisions are made, update tasks/memory.md in this step instead of deferring to a separate memory pass.

Workflow

  1. Determine intent:
    • New project → initialise tasks/todo.md.
    • Add/update features → edit the existing tasks/todo.md.
  2. If tasks/memory.md exists, skim relevant sections (project, key decisions, notes / gotchas) so you don't conflict with prior decisions.
  3. Ask clarifying questions only when needed (use A/B/C/D options).
  4. Update tasks/todo.md using the template below:
    • New project: write a crisp Project section + propose an initial prioritised feature list, ordered by priority (highest first).
    • Add/update: add, merge, re-scope, and/or re-order features.
      • If adding a new Type: fix item and the user didn't specify placement, explicitly ask if it should move up the list (priority is determined by list order).
  5. Ensure each feature has clear in-scope vs out-of-scope boundaries and dependencies (if any).
  6. Evaluate memory-worthy outcomes and update tasks/memory.md inline when needed:
    • project definition changes
    • scope boundaries or constraints that affect future features
    • priority decisions with durable rationale
  7. Reply with updated file paths and a short change summary (what you added/changed).

Clarifying Questions (Only If Needed)

Ask up to ~7 high-value questions. Keep them answerable via 1A, 2C, 3B.

Focus on ambiguity around:

  • target user + primary use case
  • the problem + desired outcome
  • constraints (platforms, timeline, integrations)
  • success metrics / how we know it worked
  • scope boundaries (what's explicitly in vs out)
  • priority order (what should be done first)
  • whether an item should be Type: feat vs fix vs chore (and where it should sit in priority order)
  • dependencies between features (by ID)

Example question format

1. What are we doing right now?
   A. Start a brand new project
   B. Add new features to an existing plan
   C. Refine/re-scope existing planned features
   D. Other: [describe]

tasks/todo.md Template (Markdown)

If tasks/todo.md does not exist, create it with this structure (fill in details; keep it concise).

# TODO: <Project name>

## Project
- **One-liner**: …
- **Target users**: …
- **Problem**: …
- **Success metrics**: …
- **Constraints** (optional): …
- **Non-goals**: …

## Features

Checkbox meaning: unchecked = PRD not written yet; checked = PRD exists; checked + ~~strikethrough~~ = completed (PRD archived).
Leave unchecked until a PRD exists.
Feature completion is determined by PRDs being archived to `tasks/archive/` and recorded in `tasks/memory.md`; strikethrough here is a derived marker applied during `commit` finalise.

### Features (priority order)
- Higher in the list = higher priority.
- [ ] f-01: <feature name>
  - Type: feat | fix | chore
  - Outcome: <user-visible outcome>
  - In scope: <what ships>
  - Out of scope: <what does not ship>
  - Dependencies: <none> | f-02, f-10

- [ ] f-02: <feature name>
  - Type: feat | fix | chore
  - Outcome: <user-visible outcome>
  - In scope: <what ships>
  - Out of scope: <what does not ship>
  - Dependencies: <none> | f-01

## Open Questions (project-wide only; per-feature questions go under each feature entry)
- Q-1: …

Update Rules (When tasks/todo.md Exists)

  • Preserve existing content and wording unless the user asks to change it.
  • Avoid duplicates: if a new feature overlaps an existing one, merge or propose a rename instead of adding a second item.
  • Keep IDs stable; IDs must be globally unique within tasks/todo.md.
  • When adding a new feature, use the next ID as (max existing f-##) + 1 (never reuse old IDs).
  • If duplicate IDs already exist, resolve by renumbering the newer/less-referenced item(s) and updating any Dependencies: references.
  • Keep the list prioritised top-to-bottom; if placement is unclear, ask where to insert (or add to the bottom).
  • If a feature depends on another feature, ensure the dependency is listed above it (or explicitly confirm the ordering).
  • Keep checkbox meaning consistent: checked means "PRD exists".
  • Ensure each feature entry includes:
    • a type (feat/fix/chore)
    • a clear user-visible outcome
    • in scope / out of scope boundaries
    • dependencies by ID (if any)

Feature Writing Guidelines

  • Prefer feature names as verb phrases (e.g., "Invite teammates", "Export CSV").
  • For fix items, name them clearly (e.g., "Fix ") and set Type: fix. Include minimal bug info:
    • Current behaviour: …
    • Expected behaviour: …
    • Repro steps (if known): …
  • For chores, keep them crisp and outcome-oriented (e.g., "Chore: remove dead code") and set Type: chore.
  • Ensure each feature has a crisp outcome (what changes for the user).
  • Avoid implementation tasks ("refactor", "set up DB") unless they are truly user-facing requirements.
  • If a feature is too large, split by user goal or workflow step until each item could reasonably become a single PRD.

Output

  • Create or reuse tasks/.
  • Create or update tasks/todo.md.
  • After updating, suggest the next feature to spec with plan (by ID/name): highest priority unchecked feature (checked = PRD exists).
  • When a PRD is created via plan, ensure the matching feature checkbox is checked in tasks/todo.md.
  • If you made a durable project decision (scope boundary, constraint, key choice), update tasks/memory.md in the same run.
  • End with a short status block:
    • Files changed: list of created/updated files
    • Key decisions: any assumptions or choices made (if any)
    • Next step: recommended next skill or action

Quality Checklist

Before finalising tasks/todo.md:

  • Project section explains what the project is and who it serves.
  • Feature list is prioritised and reasonably sized (avoid 30 "must-haves").
  • Feature IDs are unique and stable (no duplicates).
  • No feature is checked unless its PRD exists.
  • Each feature has a Type: (feat / fix / chore).
  • Each feature has a user-visible outcome and explicit scope boundaries.
  • Dependencies (if any) reference valid feature IDs.
  • Duplicates/overlaps are merged or clearly distinguished.
Weekly Installs
12
Repository
kelvinz/cobb
First Seen
Feb 7, 2026
Installed on
amp12
opencode12
kimi-cli12
codex12
github-copilot12
claude-code12