ai-team-library/claude/skills/trello-load/SKILL.md
# Skill: Trello Load ## Description Connects to Trello via the MCP server, pulls all cards from the Sprint_Backlog list, and creates well-formed beans directly from each card's content. Beans are created with **Approved** status (ready for work). After each bean is created, the source card is moved to the In_Progress list on Trello. This runs fully non-interactively — no user prompts, no clarifying questions — suitable for cron jobs or automated pipelines like `/long-run`. ## Trigger - Invok
npx skillsauth add beekeeper-lab/foundry ai-team-library/claude/skills/trello-loadInstall 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.
Connects to Trello via the MCP server, pulls all cards from the Sprint_Backlog
list, and creates well-formed beans directly from each card's content. Beans are
created with Approved status (ready for work). After each bean is created,
the source card is moved to the In_Progress list on Trello. This runs fully
non-interactively — no user prompts, no clarifying questions — suitable for
cron jobs or automated pipelines like /long-run.
/trello-load slash command.ai/beans/_index.md and ai/beans/_bean-template.md to exist.| Input | Type | Required | Description |
|-------|------|----------|-------------|
| board_id | String | No | If provided via --board, use that board. Otherwise auto-detect (see below). |
| dry_run | Boolean | No | If true, show cards and proposed beans without creating them. Defaults to false. |
Check Trello connection — Call mcp__trello__get_health to verify the
MCP server is responsive. If unhealthy, report the error and stop.
Determine board — Three strategies, in order:
a. If --board <id> was provided, use that board ID directly.
b. Call mcp__trello__list_boards and look for a board whose name matches
the current project directory name (case-insensitive). For this repo,
that means a board named "Foundry".
c. If no match, use the first board returned.
Log which board was selected and why.
Set active board — Call mcp__trello__set_active_board with the
resolved board ID.
Fetch lists — Call mcp__trello__get_lists for the selected board.
Find Sprint_Backlog list — Search the returned lists for one matching "Sprint_Backlog" using flexible matching:
Find In_Progress list — Same flexible matching for "In_Progress":
Report discovered lists — Confirm to the user:
Found lists:
- Sprint Backlog: "[actual list name]" (N cards)
- In Progress: "[actual list name]"
Fetch cards — Call mcp__trello__get_cards_by_list_id with the
Sprint_Backlog list ID.
Check for empty backlog — If no cards are returned, inform the user and stop:
Sprint_Backlog is empty — nothing to process.
Fetch full card details — For each card, gather complete data:
a. Card details — Call mcp__trello__get_card with includeMarkdown: true
to get name and description.
b. Checklists — For each checklist on the card, call
mcp__trello__get_checklist_items to get all checklist items and their
completion state.
c. Comments — Call mcp__trello__get_card_comments to get all comments.
Compile card text — For each card, assemble a single text block:
# [Card Name]
## Description
[Card description text]
## Checklists
### [Checklist Name]
- [x] Completed item
- [ ] Incomplete item
...
## Comments
- [Author] ([date]): [comment text]
...
Omit sections that are empty (e.g., if no checklists, skip that section).
Log summary — Show what will be processed:
Found N cards in Sprint_Backlog:
1. [Card Name] — [first 80 chars of description]
2. [Card Name] — [first 80 chars of description]
...
Creating beans and moving cards to In_Progress.
Handle dry run — If dry_run is true, show the compiled text and
proposed bean fields for each card and stop. Do not create beans or move
any cards.
Process each card — For each card in order:
a. Announce — Log which card is being processed:
--- Processing card 1/N: [Card Name] ---
b. Re-read ai/beans/_index.md to get the current max bean ID.
Another agent may have added beans since the last read.
c. Assign the next sequential ID (max + 1).
d. Create the bean directly — Build a well-formed bean from the card
content. Do NOT invoke /backlog-refinement — create the bean inline
to avoid interactive dialogue. Map card fields to bean fields:
e. Write the bean — Create ai/beans/BEAN-NNN-<slug>/bean.md and
append to _index.md immediately.
f. Move card to In_Progress — Call mcp__trello__move_card with the
card ID and the In_Progress list ID. Log the move:
Moved "[Card Name]" → In_Progress | Created BEAN-NNN
g. Handle errors gracefully — If bean creation or card move fails:
Trello Load Complete:
- Cards processed: N/M
- Cards moved to In_Progress: N
- Cards skipped: N
- Total beans created: N
Created beans:
| Bean ID | Title | Source Card |
|---------|-------|-------------|
| BEAN-NNN | [title] | [card name] |
...
| Output | Type | Description |
|--------|------|-------------|
| new_beans | Markdown files | Beans created directly from each card's content |
| updated_index | Markdown file | _index.md updated with all new beans |
| trello_moves | Trello API | Cards moved from Sprint_Backlog to In_Progress |
| summary | Console text | Completion report with counts and bean-to-card mapping |
| Error | Cause | Resolution |
|-------|-------|------------|
| TrelloMCPDown | Trello MCP server not responding | Log error, stop |
| NoBoards | No boards accessible via the API | Log error, stop |
| ListNotFound | Sprint_Backlog or In_Progress list not found | Log available list names, stop |
| EmptyBacklog | Sprint_Backlog has no cards | Log message, stop (not an error) |
| CardFetchError | Failed to fetch details for a specific card | Log warning, skip card, continue |
| BeanCreateError | Failed to create bean for a card | Log error, skip card, continue |
| MoveError | Failed to move a card to In_Progress | Log warning, card stays in Sprint_Backlog, continue |
mcp__trello__list_boards, mcp__trello__get_lists, mcp__trello__get_cards_by_list_idmcp__trello__get_card, mcp__trello__get_card_comments, mcp__trello__get_checklist_itemsmcp__trello__move_cardai/beans/_index.mdai/beans/_bean-template.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`