From building-in-the-open
Captures session decisions, open items, landmines, and current state into a public handoff document (committed, tone-firewalled, token-budgeted) so the next agent or person can pick up quickly. Use when wrapping up a session, switching focus, handing off to another agent or person, saving progress before context is lost, or when someone says "let's write a handoff".
npx claudepluginhub claylo/building-in-the-open --plugin building-in-the-openThis skill is limited to using the following tools:
**Announce at start:** "I'm using the curating-context skill with the Context Curator persona to capture session context."
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Guides Next.js 16+ Turbopack for faster dev via incremental bundling, FS caching, and HMR; covers webpack comparison, bundle analysis, and production builds.
Discovers and evaluates Laravel packages via LaraPlugins.io MCP. Searches by keyword/feature, filters by health score, Laravel/PHP compatibility; fetches details, metrics, and version history.
Announce at start: "I'm using the curating-context skill with the Context Curator persona to capture session context."
Produce a public handoff: a committed, tone-firewalled, token-budgeted document that makes the next agent or human effective as fast as possible. This skill focuses exclusively on the handoff artifact — private note-taking happens in whatever journaling tool the user already has configured.
capturing-decisions insteadwriting-end-user-docswriting-changelogswriting-design-docs| Output | Location | Committed? | Tone firewall? | Token target |
|---|---|---|---|---|
| Public handoff | .handoffs/YYYY-MM-DD-HHMM-<topic>.md | Yes | Yes | < 2,000 |
The following is injected at skill load time — no tool calls needed.
Branch: !git branch --show-current 2>/dev/null || echo "(not a git repo)"
Recent commits:
!git log --oneline -15 2>/dev/null || echo "(no git history)"
Working tree:
!git status --short 2>/dev/null || echo "(clean)"
Staged/unstaged diff summary:
!git diff --stat HEAD 2>/dev/null
Existing handoffs:
!ls -t .handoffs/*.md 2>/dev/null | head -5 || echo "(none)"
Use the session snapshot above as your starting point. Then review:
Before drafting, dump unfiltered observations (frustrations, hunches, things that surprised you) into whatever private-capture tool you already use. This skill writes the handoff, not your journal — but the polished version is easier to write once the raw stuff is out of your head.
Load the Context Curator persona from ${CLAUDE_PLUGIN_ROOT}/personas/context-curator.md (public mode).
Dialect: Check for BITO_DIALECT environment variable or the project's bito config for a dialect preference (en-us, en-gb, en-ca, en-au). If set, use that dialect's spelling conventions consistently throughout the draft. If not set, default to en-US.
Use the handoff template from ${CLAUDE_PLUGIN_ROOT}/templates/handoff.md. Fill every section:
file:line pointers where helpful.Before saving the public handoff, verify:
If the editorial-review skill or agent is available, run the public handoff through it. If not, self-check against the conference-talk test: would every sentence in this document be comfortable to say aloud at a technical deep-dive conference?
Specifically check for:
handoff skillcapturing-decisions — if decisions were made this session, capture them as ADRs and reference them from the handoff| Mistake | Fix |
|---|---|
| Vague next steps ("continue working on the feature") | Be specific: what file, what function, what's the first concrete action? |
| Empty landmines section | If you can't name a landmine, you haven't thought about what will surprise the next reader |
| Exceeding the token budget with narrative prose | Use the template structure. Bullets over paragraphs. Link to ADRs for rationale instead of inlining it. |
| Referencing context not in the document or repo | Every reference must resolve. "As discussed" is a broken link. |