board
Build or refresh a repo's beads board — one published Artifact per repo that shows the backlog visually: status tiles, open PRs and deploys, epic progress, a…
Skill by hamchowderr
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hamchowderr-board
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 4
codeload.github.com· found in install commandfonts.googleapis.com· found in codefonts.gstatic.com· found in codegithub.com· found in code
Files it touches
~/.claude/skills/board- Your home directory (~)
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(node:*),Bash(bd:*),Bash(gh:*),Bash(git:*)
What's inside
- Skill name
board- Description
- Build or refresh a repo's beads board — one published Artifact per repo that shows the backlog visually: status tiles, open PRs and deploys, epic progress, a board per milestone, the build-order diagram, a full record per issue, derived check-ins, an activity log of who changed what, and a done archive. Every board is identical except its accent colour. Use when the user says "board", "update the board", "show the beads visually", "publish the backlog", "refresh the artifact", or at a check-in in a beads-tracked repo: after seeding, after a PR is opened, after a merge or close.
- License
- MIT
- Allowed tools
- Bash(node:*),, Bash(bd:*),, Bash(gh:*),, Bash(git:*)
- Instructions
- 144 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (4)
- SKILL.md
- attribution-backfill.mjs · scripts/
- board.mjs · scripts/
- events.mjs · scripts/
SKILL.md (first lines)
# Board — one visual beads board per repo
`scripts/board.mjs` turns a repo's beads data into one self-contained HTML page.
The generator lives in this skill, not in the repo, so every board has the same
layout and a fix here fixes every project. It is **read-only**: it runs
`bd export`, `bd comments`, `gh pr list` and `gh api` inside the repo, writes a
single file outside it, and refuses to write inside it. It never changes bd
data.
## When to run it
- Right after issues are seeded (`prd-seed`, `bd mol pour`, a manual batch).
- At every check-in: a PR opened, a PR merged, an issue closed or reopened.
- Whenever the user asks to see or refresh the board.
Keep one board per repo for the life of the project. Never publish a second.
## Steps
1. **Find the existing board.** Call the Artifact tool with `action: "list"`
(raise `limit` if needed) and look for the title `<Project> Board`. If the
URL is not in the listing, ask the user for it before creating a new one.
2. **Read it back** with `action: "read"` on that URL. The result names the
saved HTML file. Pass that file as `--from` so the board keeps its name and
accent colour: both are stored in `<meta name="board-name">` and
`<meta name="board-accent">` inside the page.
3. **Generate** into the scratchpad directory (never the repo):
```bash
node "<skill dir>/scripts/board.mjs" <repo> \
--out "<scratchpad>/<project>-board.html" \
--from "<saved file from step 2>"
```
Options:
- `--accent <#rrggbb>` sets the project colour. Use it on the first board, or
to change the colour. Without it, and without `--from`, the default is a
neutral teal.
- `--name "<Project>"` overrides the name. The default is the repo folder
name in title case.
- `--log <file.json>` merges an older hand-kept log (`[{ "at", "note" }]`)
into the check-ins. This is only for boards that predate this skill.
- `--activity-days <n>` sets the Activity window (default 30); `--no-activity`
leaves the view out. bd only gives history per issue, a few seconds each,
so only issues touched in the window are read, and the result is cached
outside the repo. The first run on a busy repo takes minutes; later runs
re-read only issues that changed. `--refresh` ignores the cache.
The script prints one JSON line: issue, PR and deploy counts, lanes,
milestones, diagram size and output bytes. Check the counts against
`bd list` before publishing.
4. **Publish** to the existing URL: Artifact `publish` with `url` set to the
board's URL and `file_path` set to the generated file. On a first board only,
omit `url` and pass `icon: "board"`.
5. **First board only:** record the URL in the project's vault note and add one
line to the central artifact index `3. Resources/Artifacts.md`. Write both
through the `obsidian` CLI, following the vault rules; never edit vault files
directly.
## What the page shows
| View | Contents |
|---|---|
| Status | Lane tiles (queued, ready, in progress, in review, done, deferred), open PRs with their issues and preview URL, the next ready issues, deploys from the last 30 days, and a progress card per open epic. |
| Board | One board per milestone with tabs and a progress bar, or a single board when the repo has no milestones. Five lanes plus a deferred strip. Done shows the 8 most recent. |
| Issues and build order | A diagram, left to right, where each issue sits one column after its deepest blocker or parent. Solid arrows are `blocks` links, green once the blocker is done. Dashed lines run parent to child. Every box and row opens the issue. |
| Issue record | Description, design, acceptance, notes, close reason, comments, parent and children, blocked by, unblocks, related links, PRs, execution metadata and dates. |
| Check-ins | Grouped by day: issues opened and closed, PRs opened, merged or closed, and notes. Days more than 14 days before the latest are collapsed. |
| Activity | Every change beads recorded in the window, newest first, with who made it: `Claude`, `Claude · <agent type>`, or a person's name. Changes matched to Claude after the fact carry an *inferred* tag with their confidence. PRs opened and merged are included. |
| Done | Every closed issue, newest first. |
How the data maps:
- **Lanes.** Closed means done. `deferred` means deferred. An issue with an open
PR is in review. `in_progress` means in progress. `blocked`, or any open
`blocks` dependency, means queued. Everything else is ready.
- **PR links.** `external_ref: gh-<n>` first. Otherwise, a PR whose branch,
title or body names the full id, or whose body names the short id in
backticks.
- **Milestones.** Labels of the form `milestone:<name>`, with underscores read
as spaces, ordered by each milestone's first issue.
- **Diagram scope.** On a project with 80 issues or fewer, every issue is drawn.
On a larger one, only groups that still hold open work are drawn, plus
unconnected open issues.
- **Deploys.** GitHub deployments from the last 30 days, the latest per
environment. A deploy whose ref matches an open PR's branch appears on that
PR as its preview.
- **People.** Owner and comment author show only the part before an `@`, since
boards are often shared by link.
- **Who did it.** braynee's `beads-actor-sign` hook adds `--actor claude` (or
`claude/<agent type>` inside a subagent) to every bd command Claude runs, so
bd's audit events carry the real actor. A person running bd themselves is
still signed with their git name. Changes bd makes on its own (git-hook
imports, other hooks calling bd) are signed with the git name too.
## Signing the past: the attribution backfill
Before the signing hook, every change Claude made was recorded under the
owner's git name. `scripts/attribution-backfill.mjs` matches those events to
the bd commands in Claude Code's session transcripts and records each match in
bd's append-only provenance log, next to the history rather than in it. Dolt
history is never rewritten, and no session ids are written.
```bash
node "<skill dir>/scripts/attribution-backfill.mjs" <repo> # dry run: prints what it would record
node "<skill dir>/scripts/attribution-backfill.mjs" <repo> --apply # records it
```
- Transcripts default to the repo's own folder under `~/.claude/projects/`.
Add `--transcripts <dir>` (repeatable) for folders the work also ran from: a
moved checkout, or sessions started in another directory.
- Each match carries a confidence: 0.95 for a bd command running when the
event happened, lower for weaker evidence (a nearby command, a script or git
command that fires bd, an event stored in local time). Matches under
`--min-confidence` (default 0.65) are counted and left out. Two actors in the
same window is ambiguous and left out.
- Events older than the oldest surviving transcript stay as recorded.
- Re-running is safe: provenance records are idempotent.
- `--debug <id>` prints one issue's events next to the commands found for it;From hamchowderr/braynee, MIT.
More from hamchowderr/braynee
- 0.603score
settings-viewer
hamchowderr
Opens a live visual dashboard of your Claude Code configuration and usage analytics.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
comms
hamchowderr
Sync client communication history (email + Slack) into Obsidian weekly rollup files.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
daily
hamchowderr
Open, create, or update today's daily note.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
excalidraw
hamchowderr
Create Excalidraw diagrams in Obsidian using the ExcalidrawAutomate (EA) API.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
health
hamchowderr
Run a Brain Check — audit your second brain across Setup, Connections, Beads, Memory, Rules, and Inbox.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
prd
hamchowderr
Author and manage Product Requirements Documents (PRDs) under "2.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
setup
hamchowderr
Second brain onboarding wizard.
SkillAFreshness: A★ 2Claude Code - 0.603score
recap
hamchowderr
Load context from previous Claude Code sessions and vault notes.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
clients
hamchowderr
Client relationship management.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
sessions
hamchowderr
Export Claude Code sessions to Obsidian markdown.
SkillAFreshness: A★ 2Claude Code +9 - 0.599score
session-backfill
hamchowderr
Backfill structured session summaries from Claude Code .jsonl transcripts into the vault's per-project Sessions folder.
SkillAFreshness: A★ 2Claude Code +9 - 0.598score
query
hamchowderr
Search your vault using QMD (semantic + BM25).
SkillAFreshness: A★ 2Claude Code +9
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 1
- Last commit (this folder)
- Sep 23, 2026 (1 month ago)
- Last release
- Oct 12, 2026 (15 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/hamchowderr/braynee
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from hamchowderr
- 0.603score
comms
hamchowderr
Sync client communication history (email + Slack) into Obsidian weekly rollup files.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
daily
hamchowderr
Open, create, or update today's daily note.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
excalidraw
hamchowderr
Create Excalidraw diagrams in Obsidian using the ExcalidrawAutomate (EA) API.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
health
hamchowderr
Run a Brain Check — audit your second brain across Setup, Connections, Beads, Memory, Rules, and Inbox.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
prd
hamchowderr
Author and manage Product Requirements Documents (PRDs) under "2.
SkillAFreshness: A★ 2Claude Code +9 - 0.603score
clients
hamchowderr
Client relationship management.
SkillAFreshness: A★ 2Claude Code +9
Cite this page
board skill. Agent Mart. https://agentmart.dev/skills/hamchowderr-board (last updated 2026-10-24)