new
Original:🇺🇸 English
Translated
Create or update `tasks/todo.md` as the prioritised project backlog with clear `feat`/`fix`/`chore` items and ordering. Triggers: new backlog, update todo.md, add backlog item, reprioritise roadmap.
1installs
Sourcekelvinz/cobb
Added on
NPX Install
npx skill4agent add kelvinz/cobb newTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →new
Create or update as the source of truth for what the project is and what features will be built.
tasks/todo.mdGuardrails
- Do not implement code.
- Do not write individual feature PRDs (use for that).
plan - 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 structure; edit in place rather than rewriting.
todo.md - Write so a junior dev (or another AI) can pick it up without extra context.
tasks/todo.md - 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 in this step instead of deferring to a separate memory pass.
tasks/memory.md
Workflow
- Determine intent:
- New project → initialise .
tasks/todo.md - Add/update features → edit the existing .
tasks/todo.md
- New project → initialise
- If exists, skim relevant sections (project, key decisions, notes / gotchas) so you don't conflict with prior decisions.
tasks/memory.md - Ask clarifying questions only when needed (use A/B/C/D options).
- Update using the template below:
tasks/todo.md- 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 item and the user didn't specify placement, explicitly ask if it should move up the list (priority is determined by list order).
Type: fix
- If adding a new
- Ensure each feature has clear in-scope vs out-of-scope boundaries and dependencies (if any).
- Evaluate memory-worthy outcomes and update inline when needed:
tasks/memory.md- project definition changes
- scope boundaries or constraints that affect future features
- priority decisions with durable rationale
- 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, 3BFocus 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 vs
Type: featvsfix(and where it should sit in priority order)chore - dependencies between features (by ID)
Example question format
text
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)
tasks/todo.mdIf does not exist, create it with this structure (fill in details; keep it concise).
tasks/todo.mdmarkdown
# 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)
tasks/todo.md- 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 (never reuse old IDs).
(max existing f-##) + 1 - If duplicate IDs already exist, resolve by renumbering the newer/less-referenced item(s) and updating any references.
Dependencies: - 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 <problem>") and set . Include minimal bug info:
Type: fix- 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 (by ID/name): highest priority unchecked feature (checked = PRD exists).
plan - When a PRD is created via , ensure the matching feature checkbox is checked in
plan.tasks/todo.md - If you made a durable project decision (scope boundary, constraint, key choice), update in the same run.
tasks/memory.md - 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.