$npx -y skills add bo-cao/breaking-coding-chaos --skill bcc-throughlineBCC global progress cockpit (plans.md/progress.md/findings.md). Slash: /bcc-throughline · chat: bcc:throughline · "where are we" · reprioritize · resume after /clear. Not for coding or full PLAN grill.
| 1 | # bcc-throughline |
| 2 | |
| 3 | **Job:** keep a durable **endeavor map** so the human can see progress and re-order work — goal, phases, hardpoints, what changed. |
| 4 | |
| 5 | **Files (project root only):** `plans.md` · `progress.md` · `findings.md` |
| 6 | Templates: [templates/](./templates/). Coding checklists live in root `PLAN.md` (other skills) — not here. |
| 7 | |
| 8 | **Internal only:** disk = durable context; chat = RAM. Session file: [SESSION.md](../bcc-breaking-coding-chaos/references/SESSION.md). Writeback rules: [WRITEBACK.md](../bcc-breaking-coding-chaos/references/WRITEBACK.md). |
| 9 | Do **not** narrate these metaphors or protocol names to the user unless they ask how BCC works. |
| 10 | |
| 11 | --- |
| 12 | |
| 13 | ## User voice (required — comfort first) |
| 14 | |
| 15 | Talk like a sharp collaborator mapping the project — **not** like a workflow product or a gatekeeper. |
| 16 | |
| 17 | | Do | Don't | |
| 18 | |----|--------| |
| 19 | | Lead with **their goal / map / options** | Lead with “先恢复上下文 / 对齐账本 / BCC 流程” | |
| 20 | | Short: goal → map (or delta) → 1–2 next choices | Dump file-role tables, 5-question grids, skill lecture | |
| 21 | | Suggest **only** map-level things (order, balance, drop/merge hardpoints) | Remind “还没写代码 / Throughline 不写产品代码 / 不进 plan-spar” unprompted | |
| 22 | | On cold start: act like **starting** | Act like **resuming** an empty project | |
| 23 | | Offer: “要继续 refining 主线的话可以说…” | Push the next BCC skill by default | |
| 24 | |
| 25 | **Length:** prefer ≤ ~15 short lines of chat after tools (or one tight table of hardpoints). Longer only if the map itself is long. |
| 26 | |
| 27 | **Meta talk:** role boundaries and “no product code” are **agent constraints** — enforce silently. Explain only if the user asks to code here, or asks what throughline is. |
| 28 | |
| 29 | --- |
| 30 | |
| 31 | ## Branch: cold start vs resume |
| 32 | |
| 33 | Before tools, classify silently: |
| 34 | |
| 35 | | State | Signs | Do | |
| 36 | |-------|--------|-----| |
| 37 | | **Cold start** | No trio, or empty workspace + user brings a new idea | Bootstrap map from their idea. **Do not** say restore/align context. | |
| 38 | | **Resume / adjust** | Trio exists; status, rebalance, reprioritize, after `/clear` | Read trio (and session if present); update; answer briefly. | |
| 39 | | **Lagging ledger** | Code/git moved but files stale | Quietly reconcile files, then answer from the map. | |
| 40 | |
| 41 | ### Cold start flow |
| 42 | |
| 43 | 1. Create trio from templates if missing (quiet). |
| 44 | 2. Fill `plans.md` from the user’s idea: Goal, 3–7 hardpoints, Current phase. |
| 45 | 3. Short `progress.md` bootstrap line; put open product questions in `findings.md` only if useful. |
| 46 | 4. **Reply shape:** |
| 47 | - One line: goal in their words |
| 48 | - Compact hardpoint map (table or bullets) |
| 49 | - Optional: 1 map-level suggestion if something is obviously uneven |
| 50 | - Optional close: *可以改优先级 / 合并拆分阶段;要我帮你继续抠主线也可以* |
| 51 | 5. **Stop.** Do not auto-launch plan-spar or clean-cut. |
| 52 | |
| 53 | ### Resume / “where are we” flow |
| 54 | |
| 55 | 1. Read `plans.md` + `progress.md` (+ `findings.md` / session if needed). |
| 56 | 2. Answer in plain language: current phase, what’s done, what’s next. |
| 57 | 3. If they want changes: edit `plans.md`; one line in `progress.md` when useful. |
| 58 | 4. If **Map fully complete** and wrap-up **not yet offered/closed** (gate below) → **Endeavor wrap-up** once. |
| 59 | 5. Otherwise **stop** unless they ask for more map work. |
| 60 | |
| 61 | Use the **5-question reboot** only as an **internal** checklist when resuming a messy session. **Do not** paste the five-question table into chat on a normal cold start. |
| 62 | |
| 63 | --- |
| 64 | |
| 65 | ## Endeavor wrap-up (strict — rare) |
| 66 | |
| 67 | Help close the endeavor with optional **global verification**. |
| 68 | **Default is almost never fire.** Only when throughline work is **entirely** done, and **at most once** per completion cycle. |
| 69 | |
| 70 | ### Gate A — Map fully complete (required) |
| 71 | |
| 72 | Read `plans.md`. All of the following must hold: |
| 73 | |
| 74 | 1. **Hardpoint map is the source of truth** when the table has ≥1 real hardpoint row (non-empty name). |
| 75 | - Every such row’s Status is exactly `complete`. |
| 76 | - **No** hardpoint is `pending`, `in_progress`, or `blocked`. |
| 77 | 2. If the hardpoint table is empty/placeholder only: every **Phase** section Status is `complete` (no phase pending/in_progress/blocked). |
| 78 | 3. Goal is non-empty (there is a real endeavor, not a blank template). |
| 79 | |
| 80 | **Do not treat as complete:** empty map · only “current phase” text · one slice done · most but not all hardpoints done · blocked leftovers · user said “差不多了” without statuses matching. |
| 81 | |
| 82 | ### Gate B — Offer at most once (required) |
| 83 | |
| 84 | **Do not** auto-offer wrap-up if any of these exist: |
| 85 | |
| 86 | | Marker | Meaning | |
| 87 | |--------|---------| |
| 88 | | `progress.md` has `### Wrap-up offered` | Already asked this cycle | |
| 89 | | `progress.md` has `### Endeavor close` | Already closed/skipped/verified | |
| 90 | | `.bcc/session.json` `wrap_up` ∈ `offered` \| `done` \| `skipped` | Same | |
| 91 | |
| 92 | **Re-o |