@bongos/core 1.20.9 → 1.20.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.bongos-core.json +75 -75
  2. package/.claude/skills/ask-for-help/SKILL.md +6 -0
  3. package/.claude/skills/backlog-review/SKILL.md +6 -0
  4. package/.claude/skills/blocker-review/SKILL.md +6 -0
  5. package/.claude/skills/blocker-solve/SKILL.md +6 -0
  6. package/.claude/skills/bug-triage/SKILL.md +6 -0
  7. package/.claude/skills/builder-backup/SKILL.md +6 -0
  8. package/.claude/skills/builder-claim/SKILL.md +6 -0
  9. package/.claude/skills/builder-cost/SKILL.md +6 -0
  10. package/.claude/skills/builder-end/SKILL.md +6 -0
  11. package/.claude/skills/builder-exit/SKILL.md +6 -0
  12. package/.claude/skills/builder-key/SKILL.md +6 -0
  13. package/.claude/skills/builder-reauth/SKILL.md +6 -0
  14. package/.claude/skills/builder-redteam/SKILL.md +6 -0
  15. package/.claude/skills/builder-release/SKILL.md +6 -0
  16. package/.claude/skills/builder-sequence/SKILL.md +6 -0
  17. package/.claude/skills/builder-setup/SKILL.md +6 -0
  18. package/.claude/skills/builder-ship/SKILL.md +6 -0
  19. package/.claude/skills/builder-stage/SKILL.md +6 -0
  20. package/.claude/skills/builder-start/SKILL.md +6 -0
  21. package/.claude/skills/collab-review/SKILL.md +6 -0
  22. package/.claude/skills/design/SKILL.md +6 -0
  23. package/.claude/skills/design-sync/SKILL.md +6 -0
  24. package/.claude/skills/feedback/SKILL.md +6 -0
  25. package/.claude/skills/figma-design-sync/SKILL.md +6 -0
  26. package/.claude/skills/fix-task/SKILL.md +6 -0
  27. package/.claude/skills/goal-create/SKILL.md +6 -0
  28. package/.claude/skills/goal-review/SKILL.md +6 -0
  29. package/.claude/skills/goal-uat/SKILL.md +6 -0
  30. package/.claude/skills/grade-audit/SKILL.md +6 -0
  31. package/.claude/skills/grade-recover/SKILL.md +6 -0
  32. package/.claude/skills/grader-health/SKILL.md +6 -0
  33. package/.claude/skills/idea-triage/SKILL.md +6 -0
  34. package/.claude/skills/merge-mode/SKILL.md +6 -0
  35. package/.claude/skills/new-project/SKILL.md +6 -0
  36. package/.claude/skills/otb-character-review/SKILL.md +6 -0
  37. package/.claude/skills/otb-design-review/SKILL.md +6 -0
  38. package/.claude/skills/otb-feedback-capture/SKILL.md +6 -0
  39. package/.claude/skills/otb-figma-sync/SKILL.md +6 -0
  40. package/.claude/skills/otb-tile-generate/SKILL.md +6 -0
  41. package/.claude/skills/planning-session/SKILL.md +6 -0
  42. package/.claude/skills/priority-session/SKILL.md +6 -0
  43. package/.claude/skills/read-session-export/SKILL.md +6 -0
  44. package/.claude/skills/recall/SKILL.md +6 -0
  45. package/.claude/skills/scan-before-install/SKILL.md +6 -0
  46. package/.claude/skills/session-handoff/SKILL.md +6 -0
  47. package/.claude/skills/ship-check/SKILL.md +6 -0
  48. package/.claude/skills/status/SKILL.md +6 -0
  49. package/.claude/skills/strand-fix/SKILL.md +6 -0
  50. package/.claude/skills/tweak/SKILL.md +6 -0
  51. package/.claude/skills/worktree-clean/SKILL.md +6 -0
  52. package/docs/module-api-changelog.md +2 -0
  53. package/modules/ui-design/skills/brandkit/SKILL.md +6 -0
  54. package/modules/ui-design/skills/design-taste-frontend/SKILL.md +6 -0
  55. package/modules/ui-design/skills/design-taste-frontend-v1/SKILL.md +6 -0
  56. package/modules/ui-design/skills/gpt-taste/SKILL.md +6 -0
  57. package/modules/ui-design/skills/high-end-visual-design/SKILL.md +6 -0
  58. package/modules/ui-design/skills/image-to-code/SKILL.md +6 -0
  59. package/modules/ui-design/skills/imagegen-frontend-mobile/SKILL.md +6 -0
  60. package/modules/ui-design/skills/imagegen-frontend-web/SKILL.md +6 -0
  61. package/modules/ui-design/skills/impeccable/SKILL.md +6 -0
  62. package/modules/ui-design/skills/industrial-brutalist-ui/SKILL.md +6 -0
  63. package/modules/ui-design/skills/minimalist-ui/SKILL.md +6 -0
  64. package/modules/ui-design/skills/redesign-existing-projects/SKILL.md +6 -0
  65. package/modules/ui-design/skills/stitch-design-taste/SKILL.md +6 -0
  66. package/modules/ui-design/skills/style/SKILL.md +6 -0
  67. package/package-lock.json +2 -2
  68. package/package.json +1 -1
  69. package/release-notes.json +6 -0
  70. package/src/module-api.js +1 -1
  71. package/tests/speciality_skills.mjs +42 -0
@@ -2,6 +2,12 @@
2
2
  name: builder-redteam
3
3
  description: >-
4
4
  File a red-team or vulnerability report — severity, target, repro, expected vs actual — for the Archon view. Metic+ only; Xenos get a polite refusal. Triggers: "/builder-redteam", "I found a security issue", "redteam report", "file a vuln", or describing a flaw in the system's own walls.
5
+ plain: >-
6
+ Files a private report about a security weakness you found, for the project's leads to see.
7
+ reach-for: >-
8
+ When you notice a way someone could get around the project's protections.
9
+ cost: >-
10
+ Free. It files one report; nothing is fixed or changed automatically.
5
11
  ---
6
12
 
7
13
  You are filing a vulnerability report on the Example project. The reporter is a trusted builder who has found a flaw — in Bongos, the game server, the chat broadcast, the deploy chain, the auth model — and wants the red-team bounty surface to pick it up.
@@ -2,6 +2,12 @@
2
2
  name: builder-release
3
3
  description: >-
4
4
  Cancel an active claim without shipping: the task returns to 'ready' and no credits are awarded. Triggers: "/builder-release N", "cancel my claim", "I'm dropping this task", "give it back".
5
+ plain: >-
6
+ Gives a task back without finishing it, so someone else can pick it up.
7
+ reach-for: >-
8
+ When you decide not to carry on with a task you reserved.
9
+ cost: >-
10
+ Free. The task goes back on the list and no credit is paid for it.
5
11
  ---
6
12
 
7
13
  **Script skill (authoritative).** The core action is `node scripts/gds/release.js <task-id> --reason "..."`. Once the task id and reason are determined, run it and print its output verbatim — do not editorialize the result. If the release is refused, the output closes with an `[otb-plain]` card; for a builder whose interaction profile is not `engineer`, tell them what that card says instead of pasting the refusal (the rule is spelled out in `/builder-claim`).
@@ -2,6 +2,12 @@
2
2
  name: builder-sequence
3
3
  description: >-
4
4
  Walk a dependency chain from one kickoff — claim, build, ship, repeat; --goal N scopes it to one goal. One claim at a time, always fully shipped before the next. Triggers: "/builder-sequence N", "work the chain from task N", "continue goal N", "let's tackle goal N", "run goal N end to end".
5
+ plain: >-
6
+ Works through a chain of related tasks in order, finishing each one completely before starting the next.
7
+ reach-for: >-
8
+ When a goal is a line of tasks and you want them done one after another.
9
+ cost: >-
10
+ Each finished task gets a paid quality review, usually a few dollars charged to the project, and each one is merged into the live code.
5
11
  ---
6
12
 
7
13
  You are running a **chain**: several dependency-linked tasks, one after another, from a single kickoff. Two-thirds of the open backlog sits behind a predecessor, and shipping a task auto-promotes its dependents `backlog`→`ready` — but nothing picks the newly-unblocked task up. That gap is what this skill closes.
@@ -2,6 +2,12 @@
2
2
  name: builder-setup
3
3
  description: >-
4
4
  One-time builder setup: authenticates against GitHub and stores a CLI session token. If a session exists for another account, asks which to use. Triggers: "/builder-setup", "set up builder", "register me", "set up Bongos", or any /builder-* failing with "no Bongos session".
5
+ plain: >-
6
+ Connects your assistant to the project for the first time, using your GitHub account to sign in.
7
+ reach-for: >-
8
+ The first time you work on the project from a computer.
9
+ cost: >-
10
+ Free. It saves a sign-in on your computer.
5
11
  ---
6
12
 
7
13
  You are running the one-time setup that registers this Claude Code installation as a builder on the Example Bongos.
@@ -2,6 +2,12 @@
2
2
  name: builder-ship
3
3
  description: >-
4
4
  Mark the claimed task shipped: awards credits, writes a session log, frees the claim. Asks for handoff notes and a value summary if not given. Triggers: "/builder-ship", "I'm done", "ship it", "mark this complete".
5
+ plain: >-
6
+ Hands in finished work: it gets reviewed, merged into the project, and you are credited for it.
7
+ reach-for: >-
8
+ When the task you are on is finished and tested.
9
+ cost: >-
10
+ Every ship runs a paid quality review, usually a few dollars charged to the project. When it passes, your work is merged into the live code.
5
11
  ---
6
12
 
7
13
  You are shipping a task on behalf of the current builder. Shipping is the moment that converts in-flight work into permanent project history + credits.
@@ -2,6 +2,12 @@
2
2
  name: builder-stage
3
3
  description: >-
4
4
  Stage the working tree on the builder's own live preview to see a change in a browser BEFORE shipping. Own-scoped and machine-local. Triggers: "/builder-stage", "stage my work", "let me see it before shipping", "preview this change".
5
+ plain: >-
6
+ Puts your unfinished change on your own private preview site, so you can see it in a browser before handing it in.
7
+ reach-for: >-
8
+ When you want to look at a change in a real browser before shipping it.
9
+ cost: >-
10
+ Free. It only changes your own preview; the real site is untouched.
5
11
  ---
6
12
 
7
13
  You are staging a builder's in-progress work on **their own** sandbox — the live game preview running on their own machine — so they can see the change in a browser, suggest fixes, and only then decide to ship it to the main game (ADR 0046).
@@ -2,6 +2,12 @@
2
2
  name: builder-start
3
3
  description: >-
4
4
  List what the builder can claim right now, filtered for parallel-safety against every active claim. Triggers: "what can I work on", "/builder-start", "show me tasks", "what's claimable", or the start of a session.
5
+ plain: >-
6
+ Shows the tasks you can pick up right now without getting in anyone else's way.
7
+ reach-for: >-
8
+ At the start of a working session, or whenever you wonder what to do next.
9
+ cost: >-
10
+ Free, and it changes nothing. It only reads the task list.
5
11
  ---
6
12
 
7
13
  **Script skill (authoritative).** The core action is `node scripts/gds/start.js [--widget]`. Run it and render its output verbatim — do not rebuild the table, reorder rows, or add a recap. The card is the summary.
@@ -2,6 +2,12 @@
2
2
  name: collab-review
3
3
  description: >-
4
4
  Walk what other builders have asked of YOU — help requests and task recommendations addressed to you — verifying each against the live record before acting, and bringing back one decision at a time. The answering half of /ask-for-help. Triggers: "/collab-review", "what have people asked me", "answer my asks", "work my collab queue", or a pasted "Copy for Session Start" prompt.
5
+ plain: >-
6
+ Goes through the requests other people have sent you, such as asks for help or suggested tasks, and brings you one decision at a time.
7
+ reach-for: >-
8
+ When you want to answer what people have asked of you.
9
+ cost: >-
10
+ Free. It only acts on a request once you have decided what to do with it.
5
11
  ---
6
12
 
7
13
  **Route skill (authoritative).** The queue is `GET /api/bongos/help-requests/for-me` and `GET /api/bongos/task-recommendations/for-me`. Read them first, work them oldest first, and report each decision as it lands — do not narrate the API.
@@ -2,6 +2,12 @@
2
2
  name: design
3
3
  description: >-
4
4
  The UI design session — the playbook for ui-discipline work: layouts, pages, components, design systems, the hall, status and landing surfaces. World-first: the branding pack and DESIGN.md come before any taste rule. Triggers: "/design", "design this page", "let's work on the UI", or a claimed ui task.
5
+ plain: >-
6
+ The guided way to design or change how a page or screen looks, starting from the project's own style.
7
+ reach-for: >-
8
+ When you are working on the layout or look of a page.
9
+ cost: >-
10
+ Uses your session. You see the changes on a preview before anything goes live.
5
11
  ---
6
12
 
7
13
  You are running a **UI design session**. Two things make it different from the Engineer pack (`docs/packs/engineer.md`): the work is judged **by looking at it** (so every step ends in a rendered screen, not a paragraph), and it is done **inside a world that is not yours** — the instance's, which you read first and never override. The `ui-design` module's [CLAUDE.md](../../../modules/ui-design/CLAUDE.md) is the reference; this file is the loop.
@@ -2,6 +2,12 @@
2
2
  name: design-sync
3
3
  description: >-
4
4
  Export the repo design system into Claude Design, then land its generated UI code back as a task. Triggers: "/design-sync", "sync design", "export tokens to Claude Design", "import to Claude Design", "push design system".
5
+ plain: >-
6
+ Sends the project's design style to Claude Design, then brings the screens designed there back into the project as a task.
7
+ reach-for: >-
8
+ When you want to design screens in Claude Design using the project's own style.
9
+ cost: >-
10
+ Uses your session. Bringing a design back creates a task; it does not change the live site by itself.
5
11
  ---
6
12
 
7
13
  You are helping the builder run the Claude Design sync loop: export the repo's design tokens and surfaces into Claude Design so any prototype starts from real values, not guesses.
@@ -2,6 +2,12 @@
2
2
  name: feedback
3
3
  description: >-
4
4
  Pull the latest Bongos feedback bundle into this session — the walkthrough transcript and screenshots, by absolute path. Local and read-only. Triggers: "/feedback", "pull in my latest feedback", "load my bongos feedback", "I just recorded a walkthrough", "grab the latest feedback bundle", "act on my screen recording".
5
+ plain: >-
6
+ Loads your most recent recorded walkthrough, what you said and the screenshots, into this conversation.
7
+ reach-for: >-
8
+ Right after you have recorded feedback on the project and want your assistant to act on it.
9
+ cost: >-
10
+ Free, and it changes nothing. It only reads files on your computer.
5
11
  ---
6
12
 
7
13
  You are pulling in the **latest Bongos feedback bundle** — a self-contained capture the user just recorded with the Bongos desktop app (BV1.R13 / [ADR 0087](../../../docs/adr/0087-bongos-app-architecture-and-handoff-contract.md)). The app turns a spoken screen walkthrough into a model-agnostic `prompt.md` (a timestamped transcript + an ask) plus a handful of screenshots, all under `~/CloudBongos/feedback/`. This skill loads that bundle so you can act on it directly — no copy-paste, no clipboard-image fiddling.
@@ -2,6 +2,12 @@
2
2
  name: figma-design-sync
3
3
  description: >-
4
4
  Round-trip the UI design system with Figma — push tokens and surfaces, then land a designer's edit back as code. Not otb-figma-sync, which is pixel-art tiles only. Triggers: "sync design to Figma", "push tokens to Figma", "pull my Figma edit into code", "figma round-trip".
5
+ plain: >-
6
+ Keeps the project's design style and a Figma file in step: sends the style to Figma, and turns a designer's edit there back into the project.
7
+ reach-for: >-
8
+ When a designer works in Figma and their changes should reach the project.
9
+ cost: >-
10
+ Uses your session and your Figma access. Bringing an edit back changes the project's files.
5
11
  ---
6
12
 
7
13
  You are helping the builder run the Figma round-trip loop for the `ui` discipline's design surfaces: push the repo's current tokens/surfaces into Figma so a designer always starts from real state, then bring a designer's Figma edit back into the repo as committed-ready code.
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  name: fix-task
3
3
  description: Claim, fix, verify, and ship a single Bongos task by id — the standard cloud-bongos task loop. Use when asked to "claim/fix/ship task NNNN".
4
+ plain: >-
5
+ Does one task from start to finish: reserves it, fixes it, checks it and hands it in.
6
+ reach-for: >-
7
+ When you are asked to do a specific task by its number.
8
+ cost: >-
9
+ Handing it in runs a paid quality review, usually a few dollars charged to the project, and merges the work into the live code.
4
10
  ---
5
11
 
6
12
  You are running the standard task loop for cloud-bongos: read a task, verify its premise, claim it, fix it test-first, then ship it. This skill chains the pieces `/builder-claim` and `/builder-ship` already own — it does not re-derive their mechanics.
@@ -2,6 +2,12 @@
2
2
  name: goal-create
3
3
  description: >-
4
4
  Plan and create ONE goal — the module-scoped workspace between a version and its criteria — drafting its done-when criteria and seed tasks. Metic+ only. Triggers: "/goal-create", "create a goal", "what goal should this live in", or a task created with no goal.
5
+ plain: >-
6
+ Helps you set up a new goal: what it is for, how you will know it is done, and the first tasks to get there.
7
+ reach-for: >-
8
+ When new work does not fit any existing goal.
9
+ cost: >-
10
+ Free. It creates the goal and its first tasks once you agree to them.
5
11
  ---
6
12
 
7
13
  You are running the **goal-create** session for this Cloud Bongos instance. You produce **one goal**: a title, a scope wall, two to four done-when criteria, and a handful of seed tasks — written to Bongos in one sitting.
@@ -2,6 +2,12 @@
2
2
  name: goal-review
3
3
  description: >-
4
4
  Decide criteria a UAT can't close: work abandoned or unlinked. Metic+. Triggers: "/goal-review".
5
+ plain: >-
6
+ Helps you decide what to do with a goal's done-when checks that can no longer be tested, because their work was dropped or never linked.
7
+ reach-for: >-
8
+ When a goal is stuck on checks nobody can finish.
9
+ cost: >-
10
+ Free. It only closes or changes a check when you decide to.
5
11
  ---
6
12
 
7
13
  You are running the **goal-review** session: the residue of the criterion close. It mirrors `/idea-triage`, for the *closing* end of the work hierarchy (ADR 0086 §6).
@@ -2,6 +2,12 @@
2
2
  name: goal-uat
3
3
  description: >-
4
4
  Test criteria awaiting UAT on the live site, then sign off. Metic+. Triggers: "/goal-uat", "what's awaiting UAT".
5
+ plain: >-
6
+ Walks you through trying a finished goal on the live site, so a person can confirm it really works before it is signed off.
7
+ reach-for: >-
8
+ When work is waiting for someone to try it for real.
9
+ cost: >-
10
+ Free. Your sign-off is recorded; nothing else changes.
5
11
  ---
6
12
 
7
13
  You are running the **goal-uat** session: the closing step of a goal. A criterion no longer closes because its linked tasks shipped ([ADR 0351](../../../docs/adr/0351-a-criterion-closes-on-a-uat.md), task 1004392). Once its work has shipped it reads **Awaiting UAT**, and it closes only when a person who did **not** ship that work does what the criterion describes **on the live site** and signs it off.
@@ -2,6 +2,12 @@
2
2
  name: grade-audit
3
3
  description: >-
4
4
  Accountability sweep over recent grades: override ledger, dropped findings on passing grades, false-pass spot-check, outage roll-up. Queues follow-ups only — never confirms, flips a status, or re-grades. Triggers: "/grade-audit", "audit recent grades", "what shipped past the grader".
5
+ plain: >-
6
+ Looks back over recent quality reviews for anything that slipped through: overrides, ignored findings, or passes that look wrong.
7
+ reach-for: >-
8
+ Now and then, to check that the quality reviews are being trusted properly.
9
+ cost: >-
10
+ Free. It only files follow-up tasks; it never changes a review or a task's status.
5
11
  ---
6
12
 
7
13
  You are auditing the last week of grades for accountability gaps: work that shipped past a failing grade unaccounted for, real findings that rode passing grades into production and evaporated, and passes the panel structurally could not have judged. You **describe and queue**. You never confirm, flip, re-grade, or add a gate — every follow-up lands as a queued idea or a handoff to another skill.
@@ -2,6 +2,12 @@
2
2
  name: grade-recover
3
3
  description: >-
4
4
  Diagnose why a ship parked at completed — grader outage, fabricated fail, or genuine quality fail — and run the right recovery. Adds no gate to the ship path. Triggers: "/grade-recover N", "my grade failed", "grader unavailable", or a ship that landed at completed.
5
+ plain: >-
6
+ Works out why a quality review held your work back, whether the reviewer broke, got it wrong, or found a real problem, and takes the right next step.
7
+ reach-for: >-
8
+ When your work failed its review or is stuck waiting for one.
9
+ cost: >-
10
+ A fresh review is paid, usually a few dollars charged to the project, and is only run after the real cause is fixed.
5
11
  ---
6
12
 
7
13
  You are recovering a task whose ship parked at `completed` because of its grade. Your job is to diagnose WHICH of three distinct shapes did it — they look similar in a terminal scrollback and need opposite responses — then run the right recovery. You never add a new approval step: everything here is a documented, existing path (ADR 0162).
@@ -2,6 +2,12 @@
2
2
  name: grader-health
3
3
  description: >-
4
4
  Read-only health check over recent grades — outage runs, pass-rate drift, cost anomalies, stale model pins. Changes nothing. --probe runs a live paid calibration (Metic+). Triggers: "/grader-health", "check the grader", "is the grader healthy", "grader health check", "why are grades failing lately".
5
+ plain: >-
6
+ Checks whether the automatic quality reviewer is working well: failures, odd pass rates, or unusual costs.
7
+ reach-for: >-
8
+ When reviews seem to be failing strangely, or you want a health check.
9
+ cost: >-
10
+ Free and read-only. An optional live test of the reviewer costs a small amount.
5
11
  ---
6
12
 
7
13
  You are running a health check over the grading panel. Everything here is **read-only**: you read live surfaces, compare against known baselines, and emit findings + exact remediation commands. You never confirm, flip, or re-grade anything yourself — the builder (or /grade-recover) acts on what you report.
@@ -2,6 +2,12 @@
2
2
  name: idea-triage
3
3
  description: >-
4
4
  Daily walk of the idea_inbox, which holds only HOMELESS work — anything naming a goal became a task at filing time. Promote, discard or merge each open idea. Metic+ only. Triggers: "/idea-triage", "triage ideas", "review the inbox", "walk the idea inbox", or a scheduled daily run.
5
+ plain: >-
6
+ Goes through the ideas that have no home yet and decides what happens to each: turn it into work, drop it, or merge it with another.
7
+ reach-for: >-
8
+ Once a day, or when the idea inbox is filling up.
9
+ cost: >-
10
+ Uses your session. An idea only changes when you decide what to do with it.
5
11
  ---
6
12
 
7
13
  You are running the daily idea-triage session for Example. Open ideas in the Bongos `idea_inbox` table get walked one-at-a-time and verdicted, so the inbox doesn't accumulate stale entries.
@@ -3,6 +3,12 @@ name: merge-mode
3
3
  description: >-
4
4
  Manual fallback for the auto-merge in /builder-ship: walks every task at status='confirmed' through merge, smoke and deploy. Triggers: "/merge-mode", "merge the queue", "land confirmed tasks", "land the queue", "do a merge run", or a /builder-ship that reported the auto-merge bailed.
5
5
  requires: [main-checkout, push-credential, gh, droplet-ssh]
6
+ plain: >-
7
+ The manual backup for finishing hand-ins: it takes approved work that did not merge by itself and puts it live.
8
+ reach-for: >-
9
+ Only when a hand-in reports that the automatic merge could not finish.
10
+ cost: >-
11
+ Changes the live code and the live site. It needs special access that most computers here do not have.
6
12
  ---
7
13
 
8
14
  You are running the manual merge-mode session for Example. **`/merge-mode` is a rare last resort, not a routine sweep — and not something to push on other builders.** The server lands merges on its own: `/builder-ship` chains into auto-merge, green PRs auto-merge, a 5-min reconciler flips `confirmed → shipped`, and the [ADR 0082](../../../docs/adr/0082-server-side-merge-conflict-auto-resolution.md) resolver self-heals generated-file conflicts. **Before running this skill, confirm the task is genuinely stuck** — still at `confirmed` more than ~5 minutes after its ship because of a conflict or regression the server couldn't auto-resolve. If you haven't waited for the sweep yet, stop and wait. This skill is for the strand that survives all of that — usually a cross-branch / non-generated-file conflict, a smoke regression, or a `--no-merge` ship.
@@ -2,6 +2,12 @@
2
2
  name: new-project
3
3
  description: >-
4
4
  Runbook from zero to a live, owned STANDALONE instance: name, address, scaffold, provision, OAuth app, first sign-in, verify, brand. Triggers: "/new-project", "stand up a new instance", "start a new project".
5
+ plain: >-
6
+ Takes you step by step from nothing to a brand-new project website of your own.
7
+ reach-for: >-
8
+ When you want to start a separate project on the platform.
9
+ cost: >-
10
+ Creates real things: a website, a database and a GitHub sign-in. You need a web address, which you buy yourself.
5
11
  ---
6
12
 
7
13
  You are guiding a new owner from **zero to a live, owned Cloud Bongos instance**. This skill is the **canonical step sequence** (goal 35). The `bongos onboard` CLI and the hall wizard are just other front-ends over these same steps — keep them in lockstep by keeping the sequence here.
@@ -2,6 +2,12 @@
2
2
  name: otb-character-review
3
3
  description: >-
4
4
  Score a multi-frame character ANIMATION against the painterly criteria, with a verdict per frame and for the sequence. Sibling of otb-design-review, which scores one tile. Triggers: "review this animation", "is this animation consistent", "rate these frames".
5
+ plain: >-
6
+ Scores a short character animation frame by frame against the project's art rules, and says whether it holds together.
7
+ reach-for: >-
8
+ When you have animation frames and want to know whether they are good enough.
9
+ cost: >-
10
+ Uses your session. It only gives a verdict; it changes nothing.
5
11
  ---
6
12
 
7
13
  You are reviewing a painterly **character animation** — a `character_anim` family: many frames of the *same* character in *different* poses (e.g. the Bongo Buddha idle-breathing cycle). This is the animation sibling of `otb-design-review` (which scores one pixel-art tile). Do NOT judge it as pixel art — there is no palette to match, no FireRed reference, no 32×32 grid.
@@ -2,6 +2,12 @@
2
2
  name: otb-design-review
3
3
  description: >-
4
4
  Score a pixel-art tile against the Example rubric: per-criterion scores, a critique, a pass/retry/escalate verdict and a fix_hint. Triggers: "review this tile", "score X", "rate Y", or asking how a generated asset stacks up.
5
+ plain: >-
6
+ Scores a single pixel-art tile against the project's art rules and says whether to keep it, redo it, or pass it up.
7
+ reach-for: >-
8
+ When you want to know how a generated piece of art measures up.
9
+ cost: >-
10
+ Uses your session. It only gives a verdict; it changes nothing.
5
11
  ---
6
12
 
7
13
  You are scoring a generated tile against the Example quality rubric. Do NOT critique freelance — use the rubric in `modules/art-pipeline/template/rubric.json`.
@@ -2,6 +2,12 @@
2
2
  name: otb-feedback-capture
3
3
  description: >-
4
4
  Turn verbal design feedback into a durable dated rule in the Example style guide. Triggers: directional notes such as "trees too modern", "saturation too high", "containers should look weathered".
5
+ plain: >-
6
+ Turns a spoken comment about the art, such as 'the trees look too modern', into a lasting rule in the project's style guide.
7
+ reach-for: >-
8
+ When you give direction about how the art should look.
9
+ cost: >-
10
+ Free. It adds a dated rule to the style guide.
5
11
  ---
6
12
 
7
13
  You are turning a one-time piece of feedback into a permanent guardrail. The whole point of this skill is that **Lars should not have to repeat himself**. If he tells you trees should be more gnarled, every future tree generation should bake that in.
@@ -2,6 +2,12 @@
2
2
  name: otb-figma-sync
3
3
  description: >-
4
4
  Push generated tiles into the Example Figma file as a review canvas. Hard-coded to one file ID; refuses any other. The repo stays the source of truth. Triggers: "sync to Figma", "show me the tilesheet in Figma", "update the design file".
5
+ plain: >-
6
+ Puts the generated art tiles into the project's Figma file so people can review them there.
7
+ reach-for: >-
8
+ When you want to see the tiles side by side in Figma.
9
+ cost: >-
10
+ Uses your Figma access. It only updates that one Figma file; the project's files stay the real copy.
5
11
  ---
6
12
 
7
13
  **Script skill (authoritative).** The core action is the `use_figma` MCP tool call. Execute it with the determined parameters and do not paraphrase or reformat the Figma response — relay the frame name and link verbatim.
@@ -2,6 +2,12 @@
2
2
  name: otb-tile-generate
3
3
  description: >-
4
4
  Generate pixel-art tiles for the Example world through the generate, review and retry orchestrator. Always reuses the locked palette and rubric. Triggers: "generate a tile", "make a sprite for X", "regenerate Y", or asking for new world art.
5
+ plain: >-
6
+ Makes new pixel-art tiles for the game world, checking each one against the project's art rules and retrying the weak ones.
7
+ reach-for: >-
8
+ When the world needs a new piece of art.
9
+ cost: >-
10
+ Paid: every image it generates costs money and is logged, and it stops when the spending limit is near.
5
11
  ---
6
12
 
7
13
  You are operating the Example pixel-art generation pipeline. The user has asked you to produce one or more tiles. Do NOT freelance — use the existing pipeline.
@@ -3,6 +3,12 @@ name: planning-session
3
3
  description: >-
4
4
  Structured planning for a version — scope criteria, a written spec, an owner interview on every non-obvious decision, then the seeded task list. Metic+ only. Triggers: "/planning-session", "open a planning session", "let's plan V[N]", "plan the next version", "scope a new version".
5
5
  requires: [droplet-ssh]
6
+ plain: >-
7
+ A structured planning conversation for the next version: what it must achieve, a written plan, and the owner's call on every open question.
8
+ reach-for: >-
9
+ When it is time to decide what the next version of the project should contain.
10
+ cost: >-
11
+ Uses your session. It creates the version's plan and tasks once they are agreed.
6
12
  ---
7
13
 
8
14
  You are running a planning session for Bongos. The goal is to leave the session with: (a) a clear set of done-when criteria for a version, (b) a **written spec** (`docs/specs/<ver>-<goal-slug>.md`) that an in-depth interview refines until every non-obvious decision is resolved, (c) a ranked task list **seeded from that spec** that lives in the Bongos database, and (d) a durable record of the session for the audit trail.
@@ -2,6 +2,12 @@
2
2
  name: priority-session
3
3
  description: >-
4
4
  A trusted builder answers a few plain questions; the answers reweight the idea_inbox and suggest what to claim next. Metic+ only. Triggers: "/priority-session", "run a priority session", "what should I work on next", "reprioritize the inbox", "what feels most important right now", "help me decide what to claim".
5
+ plain: >-
6
+ Asks you a few simple questions about what matters most, then re-ranks the ideas and suggests what to work on next.
7
+ reach-for: >-
8
+ When you are not sure what is most important to do next.
9
+ cost: >-
10
+ Free. It re-orders the idea list from your answers.
5
11
  ---
6
12
 
7
13
  You are running a **priority session** for Bongos. Where a **planning session** sets a *version's* scope (criteria + a fresh ranked task list), a priority session works the *present tense*: it takes the open `idea_inbox` exactly as it stands and reweights it against how the builder actually feels about the work right now — what's stuck, what would unblock the most people, what they're excited to build. The session ends with a **weighted ranking of the open ideas** and a single **"what should I claim next?"** suggestion, and it writes a durable session-log entry so the reweighting is on the audit trail.
@@ -2,6 +2,12 @@
2
2
  name: read-session-export
3
3
  description: >-
4
4
  Read a Claude Code /export zip — conversation, thinking, tool calls — to answer questions about a past session. READS an existing export, never creates one. Triggers: a dropped session-export-*.zip, "read/summarize this session", "what happened in this session", "what was I/you thinking", "/read-session-export".
5
+ plain: >-
6
+ Reads a saved copy of a past conversation with your assistant and answers questions about what happened in it.
7
+ reach-for: >-
8
+ When you have a saved conversation file and want to know what went on.
9
+ cost: >-
10
+ Free, and it changes nothing. It only reads the file you give it.
5
11
  ---
6
12
 
7
13
  The user already has the zip — Claude Code's built-in `/export` made it. Read it with the reader rather than by hand: it prints a compact transcript (prompts + thinking + replies + one-line tool calls) to stdout and skips the megabytes of debug logs.
@@ -2,6 +2,12 @@
2
2
  name: recall
3
3
  description: >-
4
4
  One-call project-knowledge search over repo docs and DB prose. Read-only, rank-scoped. Use instead of grepping the tree. Triggers: "/recall", "recall …", "what do we know about X", "have we done X before", "did a past session hit X", "search the docs/ADRs for X", "is there an ADR about X".
5
+ plain: >-
6
+ Searches everything the project already knows, its documents and past decisions, in one go.
7
+ reach-for: >-
8
+ Before solving a problem, to check whether it has been solved before.
9
+ cost: >-
10
+ Free, and it changes nothing. It only searches.
5
11
  ---
6
12
 
7
13
  You are answering "what do we already know about X?" — the GDS-V4 one-call-recall capability ([ADR 0060](../../../docs/adr/0060-gds-retrieval-layer.md)). Before this existed, recall meant grepping the repo + eyeballing session logs + hoping you remembered the right ADR. Now one call searches the indexed corpus (every repo markdown + nightly-indexed DB prose: task descriptions, learnings, session-log summaries, recent shipped-task summaries) with full-text + typo-tolerant fuzzy matching fused by RRF, and returns the most relevant sections with their breadcrumb (file > heading > subheading).
@@ -2,6 +2,12 @@
2
2
  name: scan-before-install
3
3
  description: >-
4
4
  Vet a third-party GitHub repo or Claude plugin BEFORE installing: quarantined fetch, deterministic floor, subagent panel over a scrubbed mirror, arithmetic verdict, evidence-gated landings. The scanner never installs. Triggers: "/scan-before-install", "is this plugin safe to install", "vet this GitHub repo".
5
+ plain: >-
6
+ Checks an outside add-on or code project for safety problems before you install it.
7
+ reach-for: >-
8
+ Before adding anything to the project that someone else wrote.
9
+ cost: >-
10
+ Uses your session, more than most because several reviewers read the code. It never installs anything itself.
5
11
  ---
6
12
 
7
13
  You are scanning a third-party artifact someone wants to install. The engine lives in `modules/security/artifact-scan/` — this skill is the orchestration wrapper: it runs the pipeline, spawns the panel, and lands one of three offers. Every load-bearing decision below is an owner decision; do not soften any of them.
@@ -2,6 +2,12 @@
2
2
  name: session-handoff
3
3
  description: >-
4
4
  Emit a paste-ready next-steps prompt so a FRESH session starts with curated context. Read-only. Triggers: "/session-handoff", "hand off to a fresh session", "give me a handoff prompt", "wrap up context for next time", "write the next-steps prompt", "I want to continue this in a new session", "context is getting heavy, prep a fresh start".
5
+ plain: >-
6
+ Writes a ready-to-paste note so a fresh conversation can pick up exactly where this one left off.
7
+ reach-for: >-
8
+ When this conversation is getting long and you want to continue in a new one.
9
+ cost: >-
10
+ Free, and it changes nothing. It only writes the note for you to copy.
5
11
  ---
6
12
 
7
13
  You are producing a **handoff prompt**: a single, self-contained block of text the builder will **copy and paste as the first message of a brand-new session** to continue this work with a clean, light context.
@@ -2,6 +2,12 @@
2
2
  name: ship-check
3
3
  description: >-
4
4
  Run every freshness and fitness check ship.js will run, and get the healing command for each stale file. Triggers: "/ship-check", "am I ready to ship", "what will ship trip on", "check before I ship", "is anything stale".
5
+ plain: >-
6
+ Runs the same checks a hand-in will run, and tells you how to fix anything that would fail.
7
+ reach-for: >-
8
+ Before handing in work, to avoid a failed attempt.
9
+ cost: >-
10
+ Free. It only checks; fixing is up to you.
5
11
  ---
6
12
 
7
13
  # /ship-check — the pre-ship table
@@ -2,6 +2,12 @@
2
2
  name: status
3
3
  description: >-
4
4
  Roll up a version or criterion in one call — its gating tasks, their live statuses, and what is blocking. Read-only. Answers "what's the status of X" and "what's left for criterion Cn". Triggers: "/status", "what's left for C8", "status of GDS-V3", "how far along is the memory criterion", "what tasks remain to complete X".
5
+ plain: >-
6
+ Shows how far along a version or goal is: what is finished, what is left, and what is holding it up.
7
+ reach-for: >-
8
+ When you want to know how much is left before something is done.
9
+ cost: >-
10
+ Free, and it changes nothing. It only reads.
5
11
  ---
6
12
 
7
13
  You are answering a project-status question. Before this skill existed, doing so meant ~10 sequential Bongos calls (grep the seed file for which tasks map to a criterion, eyeball a "Gates R55–R63" sentence, then re-query each task's status). The structured criterion↔task link (`task_criteria`, migration 055) + the `/status` CLI collapse that to one call. See ADR 0025 and task #435.
@@ -3,6 +3,12 @@ name: strand-fix
3
3
  description: >-
4
4
  Land ONE stranded ship — a task parked at confirmed that the reconciler gave up on. Also the fix for a claim refused 409 REBASE_REQUIRED. Triggers: "/strand-fix N", "task N is stranded", "land the strand", "my claim says REBASE_REQUIRED".
5
5
  requires: [gh]
6
+ plain: >-
7
+ Rescues one piece of approved work that got stuck on its way into the project, and gets it merged.
8
+ reach-for: >-
9
+ When work is approved but never reached the live code, or a task refuses to start because older work is stuck.
10
+ cost: >-
11
+ Uses your session. It gets the stuck work merged into the live code.
6
12
  ---
7
13
 
8
14
  You are landing one stranded task. The reconciler is not coming back for it — a strand produces no signal of its own, so nothing happens until someone walks it.
@@ -2,6 +2,12 @@
2
2
  name: tweak
3
3
  description: >-
4
4
  Apply the next submitted page tweak: claim the round, apply every line, render the page before and after, attach the renders and ship it to wait for the artist. Metic+. Triggers: "/tweak", "apply the next page tweak", "work the tweak queue".
5
+ plain: >-
6
+ Applies the next set of change requests someone made to a page, and shows before and after pictures for the artist to approve.
7
+ reach-for: >-
8
+ When page change requests are waiting to be done.
9
+ cost: >-
10
+ Handing it in runs a paid quality review, usually a few dollars charged to the project. The change waits for the artist's approval.
5
11
  ---
6
12
 
7
13
  You are applying ONE page an artist rewrote in the studio (Tweak Mode, ADR 0341). The artist wrote the words; your job is to transcribe them faithfully, show the artist the result, and park it. **You never land it.** The artist approves the applied page first (ADR 0341 D7), and nothing here arms a merge.
@@ -2,6 +2,12 @@
2
2
  name: worktree-clean
3
3
  description: >-
4
4
  Remove per-claim worktrees whose work landed, and sweep the husks a locked remove leaves, via junction-safe worktree.js — never raw git worktree remove, which follows the node_modules junction. Triggers: "/worktree-clean", "prune stale worktrees", "worktree husks".
5
+ plain: >-
6
+ Tidies away old workspace folders on your computer whose work has already been merged.
7
+ reach-for: >-
8
+ When your computer is collecting old workspaces.
9
+ cost: >-
10
+ Free. It deletes only workspaces whose work is already safe in the project.
5
11
  ---
6
12
 
7
13
  **Script skill (authoritative).** Two scripts do the work; this skill only sequences them and shows the list before anything is removed.
@@ -2675,5 +2675,7 @@ is load-bearing: the script throws rather than guess if it is missing, and
2675
2675
  landed since 1.20.7 with no explicit bump. run 36669272909. (task 1002620)
2676
2676
  1.20.9 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2677
2677
  landed since 1.20.8 with no explicit bump. run 36669791458. (task 1002620)
2678
+ 1.20.10 — CI auto-patch (publish-on-merge, ADR 0161): carrier for merges
2679
+ landed since 1.20.9 with no explicit bump. run 36670625760. (task 1002620)
2678
2680
  ---------------------------------------------------------------------------
2679
2681
  ```
@@ -5,6 +5,12 @@ description: >-
5
5
  first, holds the logo standard and the five concept methods, and lands the system as the instance's own
6
6
  materials — the mark as SVG, the colours as the pack, the type as its faces. Triggers on "brand kit",
7
7
  "identity system", "logo system". Never generates a logo, wordmark or UI mockup.
8
+ plain: >-
9
+ Builds the project's visual identity, its logo, colours and typefaces, as the project's own files.
10
+ reach-for: >-
11
+ When the project needs a brand identity, or its identity needs pulling together.
12
+ cost: >-
13
+ Uses your session. It adds brand files to the project and never generates a logo image.
8
14
  ---
9
15
 
10
16
  <!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
@@ -5,6 +5,12 @@ description: >-
5
5
  Says the design read in one line, sets three dials (variance, motion, density), locks one world for the
6
6
  whole page, and ends on a pre-flight the kit measures. Triggers on "design a landing page", "make this not
7
7
  look templated", "taste pass", "anti-slop". Not for dashboards or native mobile.
8
+ plain: >-
9
+ The default way to give a landing page or marketing page a strong, considered look that does not feel like a template.
10
+ reach-for: >-
11
+ When a landing or marketing page looks generic.
12
+ cost: >-
13
+ Uses your session. It changes the page, and you check it on a preview.
8
14
  ---
9
15
 
10
16
  <!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
@@ -5,6 +5,12 @@ description: >-
5
5
  gets exactly this behaviour while the default (design-taste-frontend) evolves separately. A fixed triple of
6
6
  dials, the layout bans, full interaction cycles, and a named vocabulary of premium patterns. Triggers on
7
7
  "design-taste-frontend-v1", "the fixed dials", "the pattern vocabulary".
8
+ plain: >-
9
+ The earlier version of the landing-page style guide, kept so work that asked for it gets exactly the same results.
10
+ reach-for: >-
11
+ Only when a task asks for this older version by name.
12
+ cost: >-
13
+ Uses your session. It changes the page, and you check it on a preview.
8
14
  ---
9
15
 
10
16
  <!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->
@@ -5,6 +5,12 @@ description: >-
5
5
  every other one. A written plan block before any markup, derived deterministically from the route; the
6
6
  four-stage attention-interest-desire-action structure; an ultra-wide hero; a dense tile grid with zero empty
7
7
  cells. Triggers on "it looks generic", "award-tier", "anti-default".
8
+ plain: >-
9
+ A stricter style pass for a long, persuasive page that keeps coming out looking like every other one.
10
+ reach-for: >-
11
+ When a scrolling sales or landing page still looks generic after a first try.
12
+ cost: >-
13
+ Uses your session. It changes the page, and you check it on a preview.
8
14
  ---
9
15
 
10
16
  <!-- BEGIN PLATFORM PREAMBLE · ui-design module · one block, byte-identical in every skill the module ships (vendored or rebuilt in-house) so an upstream refresh is a three-way merge; the source is modules/ui-design/skills/PREAMBLE.md and tests/ui_design_skills.mjs fails on drift -->