docs: trello card skill
This commit is contained in:
126
.claude/skills/trello-llm-arranged-card/SKILL.md
Normal file
126
.claude/skills/trello-llm-arranged-card/SKILL.md
Normal file
@@ -0,0 +1,126 @@
|
||||
---
|
||||
name: trello-llm-arranged-card
|
||||
description: Use when the user wants to create a Trello card in the NixCN CMS board's LLM Arranged list from natural-language instructions, and the target card should be written safely with exact board/list validation.
|
||||
---
|
||||
|
||||
# Trello LLM Arranged Card
|
||||
|
||||
## Overview
|
||||
|
||||
Create cards only in `NixCN CMS / LLM Arranged`.
|
||||
|
||||
Core rule: validate the exact board and exact list before writing. Never guess, never fall back to the active board, and never create the card if the target cannot be matched exactly.
|
||||
|
||||
## When to Use
|
||||
|
||||
Use this skill when the user wants Claude to turn an instruction into a Trello card in:
|
||||
- board: `NixCN CMS`
|
||||
- list: `LLM Arranged`
|
||||
|
||||
Do not use this skill for:
|
||||
- moving cards
|
||||
- editing existing cards
|
||||
- creating boards or lists
|
||||
- writing cards to any other board/list unless the user explicitly asks to change this skill
|
||||
|
||||
## Required Target
|
||||
|
||||
Always use these exact values:
|
||||
|
||||
- `boardId`: `69b25ef1ed862e287ff0b657`
|
||||
- `boardName`: `NixCN CMS`
|
||||
- `listId`: `69c49bf90863369ce20526ec`
|
||||
- `listName`: `LLM Arranged`
|
||||
|
||||
Always verify the board and list before writing.
|
||||
|
||||
## Input Mapping
|
||||
|
||||
Minimum required field:
|
||||
- card title
|
||||
|
||||
Default mapping from natural language:
|
||||
- short primary request -> card title
|
||||
- remaining details -> card description
|
||||
|
||||
If the user provides structured fields, map them as:
|
||||
- `title:` -> card name
|
||||
- `description:` or remaining body -> card description
|
||||
- `due:` -> due date in ISO 8601
|
||||
- `start:` -> start date in `YYYY-MM-DD`
|
||||
- `labels:` -> labels, only if explicitly provided
|
||||
|
||||
If labels are provided by name, first call `mcp__trello__get_board_labels` with `boardId: 69b25ef1ed862e287ff0b657`, require exact name matches, then pass the matched label IDs. If any label cannot be matched exactly, ask the user instead of guessing.
|
||||
|
||||
Do not infer labels, due dates, assignees, or checklists unless the user explicitly asks.
|
||||
If the user provides unsupported details, preserve them in the card description instead of dropping them silently.
|
||||
If a natural-language date cannot be resolved confidently, ask a follow-up question.
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Validate destination
|
||||
|
||||
Before creating the card:
|
||||
1. call `mcp__trello__list_boards` and require an exact board name match for `NixCN CMS` with `id: 69b25ef1ed862e287ff0b657`
|
||||
2. call `mcp__trello__get_lists` with `boardId: 69b25ef1ed862e287ff0b657`
|
||||
3. confirm `listId: 69c49bf90863369ce20526ec` exists in that board with exact list name `LLM Arranged`
|
||||
4. use the exact `boardId` and exact `listId` when creating the card
|
||||
|
||||
If exact validation fails, stop and tell the user what is missing.
|
||||
|
||||
### 2. Validate content
|
||||
|
||||
If there is no clear card title, ask for one.
|
||||
|
||||
If the user gives only a loose idea and wants help organizing it, you may propose a cleaned-up title and description first, but do not create the card until the user confirms the synthesized content.
|
||||
|
||||
### 3. Check duplicates
|
||||
|
||||
Before creating the card, call `mcp__trello__get_cards_by_list_id` with:
|
||||
- `boardId: 69b25ef1ed862e287ff0b657`
|
||||
- `listId: 69c49bf90863369ce20526ec`
|
||||
|
||||
If a near-identical card already exists, warn the user and ask whether to create another one.
|
||||
|
||||
### 4. Create the card
|
||||
|
||||
Use `mcp__trello__add_card_to_list` with:
|
||||
- `boardId: 69b25ef1ed862e287ff0b657`
|
||||
- `listId: 69c49bf90863369ce20526ec`
|
||||
- `name: <resolved title>`
|
||||
- optional `description`, `dueDate`, `start`, `labels`
|
||||
|
||||
### 5. Return auditable output
|
||||
|
||||
After creation, always report:
|
||||
- board name
|
||||
- list name
|
||||
- card name
|
||||
- card id
|
||||
- card url
|
||||
|
||||
## Safety Rules
|
||||
|
||||
- Always pass `boardId: 69b25ef1ed862e287ff0b657` explicitly on Trello calls used by this skill.
|
||||
- Never use the active board as an implicit fallback.
|
||||
- Never fuzzy-match a board or list name.
|
||||
- Never create in `Backlog`, `To Do`, or any other list as a fallback.
|
||||
- Never silently drop user-provided details.
|
||||
- Never guess labels or due dates.
|
||||
- If the request is ambiguous, ask instead of writing.
|
||||
|
||||
## Quick Reference
|
||||
|
||||
| Need | Action |
|
||||
|---|---|
|
||||
| User wants a card created from plain language | Extract title, put remaining details in description |
|
||||
| Title is unclear | Ask for title or propose one for confirmation |
|
||||
| Target list missing or renamed | Stop and report exact mismatch |
|
||||
| User repeats same request | Warn that creation is not idempotent and may duplicate cards |
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- **Using the current active board** instead of the fixed destination — forbidden.
|
||||
- **Creating with only a vague title** when the instruction is too ambiguous — ask first.
|
||||
- **Guessing metadata** like labels or due dates — only use explicit user input.
|
||||
- **Reporting only “done”** — always return card id and URL.
|
||||
Reference in New Issue
Block a user