diff --git a/dist/using-tasks.skill b/dist/using-tasks.skill index faa88a6..5858224 100644 Binary files a/dist/using-tasks.skill and b/dist/using-tasks.skill differ diff --git a/skills/using-tasks/SKILL.md b/skills/using-tasks/SKILL.md index b0fb2fb..8fd1098 100644 --- a/skills/using-tasks/SKILL.md +++ b/skills/using-tasks/SKILL.md @@ -1,7 +1,7 @@ --- name: using-tasks author: ours -version: 1.4.0 +version: 1.4.1 description: > Policy skill for working with an existing `.tasks/` board (per-task files + STATUS.md). Use whenever the user is switching between tasks, resuming a paused task, starting a new @@ -37,13 +37,13 @@ If `.tasks/` is **missing**, or `STATUS.md` exists but is non-canonical (e.g. fl STATUS.md ← active board: 🔴 / 🟡 / ⚪ / 🔵 blocks, sorted by priority .md ← deep context per task, one file each .lock ← runtime session lock; **gitignored** (never committed) - archive/ - YYYY-MM.md ← 🟢 done blocks moved off the board, one file per month + .archive/ + done-YYYY-MM.md ← 🟢 done blocks moved off the board, one file per month ``` Commit `.tasks/` to git. Decision history is valuable; diffs show how thinking evolved. -`STATUS.md` is the **active** board — it must stay lean so orientation reads stay cheap. Closed 🟢 tasks are archived to `archive/YYYY-MM.md` once they pile up; see "### Archiving done tasks". +`STATUS.md` is the **active** board — it must stay lean so orientation reads stay cheap. Closed 🟢 tasks are archived to `.archive/done-YYYY-MM.md` once they pile up; see "### Archiving done tasks". > **`.tasks/.lock` must be listed in `.gitignore`** (add `.tasks/.lock` to your project's `.gitignore`). The lock file is ephemeral runtime state, not project history — it must never be committed. @@ -186,7 +186,7 @@ Temporary hypotheses, links, names of people to consult. **Threshold.** When `STATUS.md` holds **≥ 10** 🟢 done blocks, archive them. Check at two moments: (a) right after closing a task (Task completion step 7), and (b) at session start, before orienting (Session start step 7). The threshold is a ceiling, not a target — archive in batches; don't churn one block at a time. -**Where.** Append the archived blocks to `.tasks/archive/YYYY-MM.md` — one file per calendar month, keyed by the date of archival. Create `.tasks/archive/` and the month file if absent. If the month file already exists, **append**; never overwrite. +**Where.** Append the archived blocks to `.tasks/.archive/done-YYYY-MM.md` — one file per calendar month, keyed by the date of archival. Create `.tasks/.archive/` and the month file if absent. If the month file already exists, **append**; never overwrite. **Archive file format** (header written once, on file creation): @@ -204,7 +204,7 @@ Full source is git history; this file is for grep-able historical context. **After archiving,** `STATUS.md` keeps only 🔴 / 🟡 / ⚪ / 🔵 blocks. Commit the move on its own: ``` -git add .tasks/ && git commit -m "meta(tasks): archive done batch → .tasks/archive/YYYY-MM.md" +git add .tasks/ && git commit -m "meta(tasks): archive done batch → .tasks/.archive/done-YYYY-MM.md" ``` Leave a just-closed 🟢 block on the board only while it's still useful at a glance (pending merge, fresh reference). Everything older goes to the archive. @@ -246,7 +246,7 @@ Pair: `using-projects-meta` declares local-first for **reads**; this rule extend - **Commit after every session end** — git log is the history of thinking. - **Always confirm orientation at session start** — state understanding before acting. - **One active task at a time** — only one 🔴 in STATUS.md. -- **Keep the board lean** — orientation reads the local `STATUS.md` whole, so archive 🟢 done blocks to `.tasks/archive/YYYY-MM.md` once ≥10 pile up. Never enumerate the current project's board via `tasks_aggregate` (cross-project cache) or `tasks_get_status` (single-task, by slug). See "### Archiving done tasks". +- **Keep the board lean** — orientation reads the local `STATUS.md` whole, so archive 🟢 done blocks to `.tasks/.archive/done-YYYY-MM.md` once ≥10 pile up. Never enumerate the current project's board via `tasks_aggregate` (cross-project cache) or `tasks_get_status` (single-task, by slug). See "### Archiving done tasks". - **Never close a task without a coverage check** — see "### Task completion" step 1. Acceptance criteria with no evidence → ask, don't auto-close. - **Honour `session_break`** — a closed task carrying a `session_break` marker means stop after close; never chain into `tasks_claim_next`. See "### Task completion" step 6. - **Local-first recommendations** — cwd-project board comes first; cross-project urgents are at most one footnote line.