ai-team-library/claude/skills/pick-bean/SKILL.md
# Skill: Pick Bean ## Description Updates a bean's status from `Approved` to `In Progress`, assigning ownership to the Team Lead. This is the formal act of selecting a bean from the backlog for decomposition and execution. Only beans with `Approved` status can be picked — `Unapproved` beans must be reviewed and approved first. Updates both the bean's own file and the backlog index to keep them in sync. ## Trigger - Invoked by the `/pick-bean` slash command. - Called by the Team Lead during s
npx skillsauth add beekeeper-lab/foundry ai-team-library/claude/skills/pick-beanInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Updates a bean's status from Approved to In Progress, assigning ownership to the Team Lead. This is the formal act of selecting a bean from the backlog for decomposition and execution. Only beans with Approved status can be picked — Unapproved beans must be reviewed and approved first. Updates both the bean's own file and the backlog index to keep them in sync.
/pick-bean slash command.| Input | Type | Required | Description |
|-------|------|----------|-------------|
| bean_id | Text | Yes | Bean ID to pick (e.g., BEAN-006, 006, or 6) |
Parse bean ID -- Accept flexible formats:
BEAN-006 → BEAN-006006 → BEAN-0066 → BEAN-006
Zero-pad to three digits.Locate bean directory -- Scan ai/beans/ for a directory starting with BEAN-{NNN}-. If not found, error with BeanNotFound.
Re-read _index.md -- Check the bean's current status and owner in the index. Another agent may have claimed it since you last read the backlog.
Read current state -- Open the bean's bean.md. Parse the metadata table to get current Status and Owner.
Check lock -- Validate the bean is available:
Approved (no Owner) → available, proceedIn Progress with your Owner → already yours, proceed (idempotent)In Progress with a different Owner → error with BeanLocked: "Bean is claimed by another agent. Pick a different bean."Unapproved → error with BeanUnapproved: "Bean has not been approved yet. Review and approve it first."Done → error with BeanDone, cannot re-pick a completed beanUpdate bean.md -- In the metadata table:
Status to In ProgressOwner to team-leadStarted to the current timestamp (YYYY-MM-DD HH:MM). This is when the bean clock starts.Update backlog index -- In ai/beans/_index.md, find the row matching BEAN-{NNN} and update:
In Progressteam-leadCreate feature branch -- Always create the feature branch:
BEAN-006-backlog-refinement)git checkout -b bean/BEAN-NNN-<slug>Confirm -- Report: bean ID, title, status (In Progress), branch name, and next step:
bean/BEAN-NNN-<slug>. Create task files in tasks/ subdirectory."| Output | Type | Description |
|--------|------|-------------|
| updated_bean | Markdown file | bean.md with Status and Owner updated |
| updated_index | Markdown file | _index.md with matching row updated |
| feature_branch | Git branch | bean/BEAN-NNN-<slug> (created when --start is used) |
| confirmation | Text | Bean ID, title, new status, branch name, and next step |
bean.md and _index.md are updated atomically (both or neither).Approved or Deferred beans can be picked. Unapproved beans are rejected.team-lead when picking.| Error | Cause | Resolution |
|-------|-------|------------|
| BeanNotFound | No bean directory matches the ID | Check _index.md for valid IDs |
| AlreadyActive | Bean is already In Progress by you | Warning only — no action needed |
| BeanLocked | Bean is In Progress with a different Owner | Pick a different bean — this one is claimed by another agent |
| BeanUnapproved | Bean status is Unapproved | Review and approve the bean first |
| BeanDone | Bean status is Done | Cannot re-pick; create a follow-up bean with /new-bean |
ai/beans/_index.mdai/beans/BEAN-{NNN}-{slug}/bean.mddevelopment
# Skill: VDD (Verification-Driven Development) Gate ## Description Runs the programmatic VDD gate for a bean: parses the bean's `## Acceptance Criteria` section, dispatches each criterion's evidence type to the matching runner (test, lint, file, file-contains, or manual), aggregates the results into a pass/fail verdict, and writes a structured markdown report at `ai/outputs/tech-qa/vdd-<NNN>.md` (zero-padded NNN). This is the machine-checkable counterpart to the prose VDD policy in `ai/contex
tools
# Skill: Spawn Task ## Description Dispatches a single specialist persona to execute a single task with only that task's context. Auto-detects the runtime environment and chooses one of two execution paths: - **In tmux** (`$TMUX` set): spawn a worker in a git worktree using a child tmux window. Process-isolated, parallelizable, durable across the calling session's lifetime. Same pattern as `/spawn-bean` but at task granularity. - **Not in tmux**: invoke the `Agent` tool with `subagent_typ
development
# Skill: Orchestration Report ## Description Aggregates the per-bean **Orchestration Telemetry** blocks (BEAN-278) across recent Done beans and produces a markdown report that answers the architecture-aware-evaluation question: **is the orchestration paying for itself?** Distinct from `/telemetry-report` (which aggregates raw cost, duration, and tokens); this skill aggregates the orchestration-quality metrics layered on top — bounces, persona activations, contract violations, escape-hatch usag
development
# Skill: Health Check ## Description Runs all health checks defined in `ai/context/health-checks.md` and produces a table-format report. Can be called standalone or by other skills (e.g., `/long-run`). ## Trigger - Invoked by the `/health-check` slash command. - Called programmatically by `/long-run` at the start of each cycle. ## Inputs | Input | Type | Required | Description | |-------|------|----------|-------------| | health_checks | Markdown file | Yes | `ai/context/health-checks.md`