$npx -y skills add tobihagemann/turbo --skill implement-improvementsValidate improvements from .turbo/improvements.md, recommend a working set tailored to what's in the backlog, and run one lane: direct fixes, investigation, or planned work. One lane per session. Use when the user asks to \"implement improvements\", \"work on improvements\", \"ad
| 1 | # Implement Improvements |
| 2 | |
| 3 | Validate improvements from `.turbo/improvements.md`, propose a specific working set based on the backlog's actual contents, and run one lane per session: direct, investigate, or plan. Mixing lanes in a single run tangles commits, so the skill processes exactly one lane each time. Entries outside the confirmed working set stay in the backlog for future runs. |
| 4 | |
| 5 | ## Task Tracking |
| 6 | |
| 7 | At the start, use `TaskCreate` to create a task for each step: |
| 8 | |
| 9 | 1. Read the backlog |
| 10 | 2. Validate and classify |
| 11 | 3. Recommend, confirm, and prune stale |
| 12 | 4. Run the chosen lane |
| 13 | 5. Prune working-set entries from the backlog |
| 14 | |
| 15 | ## Step 1: Read the Backlog |
| 16 | |
| 17 | Read `.turbo/improvements.md`. If the file does not exist, there are no improvements to implement; stop. |
| 18 | |
| 19 | Parse all entries, extracting for each: |
| 20 | |
| 21 | - **Summary** (the `###` heading) |
| 22 | - **Type** (`direct`, `investigate`, or `plan`; may be missing in older entries — `trivial` and `standard` are accepted as legacy aliases for `direct` and `plan`) |
| 23 | - **Category** |
| 24 | - **Where** (file paths or areas) |
| 25 | - **Why** (rationale) |
| 26 | - **Noted** (date) |
| 27 | |
| 28 | ## Step 2: Validate and Classify |
| 29 | |
| 30 | Improvements can go stale: files get renamed, code gets refactored, issues get fixed as side effects of other work. Before routing, validate each improvement and classify any entry missing a Type. |
| 31 | |
| 32 | ### Validate |
| 33 | |
| 34 | For each entry, verify whether the specific problem or opportunity described still exists. Do not rely on git log alone. Recent commits touching the same files do not mean the specific issue was addressed. Read the actual code and confirm: |
| 35 | |
| 36 | 1. **Files exist** — Do the referenced files/paths still exist? If not, the entry is stale. |
| 37 | 2. **Problem persists** — Read the relevant code sections. Is the exact issue or opportunity described in the entry still present? Check the specific claims: if the entry says a function is uncalled, verify it has no callers; if it says error handling is missing, check whether it was added. |
| 38 | |
| 39 | Classify each entry as: |
| 40 | |
| 41 | - **Active** — The described problem or opportunity is confirmed present in the current code |
| 42 | - **Stale** — The referenced files no longer exist, or the specific issue has been resolved (cite evidence: what changed and where) |
| 43 | - **Unclear** — Cannot determine from code alone, needs user input |
| 44 | |
| 45 | When in doubt, classify as Active. The cost of re-examining a resolved issue is low; dismissing a valid improvement is high. |
| 46 | |
| 47 | ### Classify type if missing |
| 48 | |
| 49 | For any Active entry without a Type field, infer one on the fly. Base the classification on the code you just read during validation, not just the entry's one-line summary. |
| 50 | |
| 51 | - **direct** — Clear scope and a known approach, ready to apply via `/implement`. |
| 52 | - **investigate** — A symptom that needs root-cause analysis first: unclear root cause, performance question, intermittent bug, "something feels off". |
| 53 | - **plan** — Everything else: the approach warrants writing down before implementing (multi-file refactor, test additions, feature work). Dispatched to `/turboplan`, which routes the work itself. |
| 54 | |
| 55 | Pick the type without asking the user. Default to `plan` when genuinely ambiguous. |
| 56 | |
| 57 | ## Step 3: Recommend, Confirm, and Prune Stale |
| 58 | |
| 59 | Output the backlog status as text first, grouped by type and status. Include each entry's category inline and a category tally across active entries: |
| 60 | |
| 61 | ``` |
| 62 | ## Improvement Backlog Status |
| 63 | |
| 64 | ### Active (N) |
| 65 | Categories: refactor (N), performance (N), testing (N), docs (N) |
| 66 | |
| 67 | **Direct (N)** |
| 68 | - [summary] (category) — [one-line reason it's still relevant] |
| 69 | |
| 70 | **Investigate (N)** |
| 71 | - [summary] (category) — [one-line reason it's still relevant] |
| 72 | |
| 73 | **Plan (N)** |
| 74 | - [summary] (category) — [one-line reason it's still relevant] |
| 75 | |
| 76 | ### Stale (N) |
| 77 | - [summary] — [one-line reason it's stale] |
| 78 | |
| 79 | ### Unclear (N) |
| 80 | - [summary] — [what's ambiguous] |
| 81 | ``` |
| 82 | |
| 83 | ### Recommend a Working Set |
| 84 | |
| 85 | Pick one specific working set tailored to the active entries. Read the entries again before recommending and weigh: |
| 86 | |
| 87 | - **Cohesion** — Entries that share files, modules, or themes are stronger when batched. A cluster of related testing or reliability entries usually beats a scattered mix. |
| 88 | - **Decisiveness** — One investigation that unblocks several deferred entries can outweigh a larger direct batch. |
| 89 | - **Impact vs effort** — A reliability or correctness entry often outweighs lower-stakes cleanups even when it's a single entry. |
| 90 | - **Lane shape** — Each lane batches a cluster, just in different shapes. Direct groups clear-scope fixes into one `/implement` run. Investigate dispatches `/investigate` per symptom, then shares one ` |