trello
SKILL.md
Trello Skill
Interact with Trello boards, lists, and cards via the Trello REST API.
When to Use
✅ USE this skill when:
- Create and manage Trello boards
- Add, move, or archive cards
- Create lists on boards
- Search cards across boards
- Integrate Trello into workflows
❌ DON'T use this skill when:
- Need real-time sync
- Need Trello Power-Up features
- Bulk operations (rate limited)
Prerequisites
- Get API key: https://trello.com/app-key
- Get token: Use the URL from step 1 after logging in
- Set environment variables
export TRELLO_API_KEY="your_api_key"
export TRELLO_TOKEN="your_token"
Commands
Boards
# List your boards
curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
| jq '.[] | {name: .name, id: .id}'
# Get board details
curl -s "https://api.trello.com/1/boards/BOARD_ID?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN"
# Create a board
curl -s -X POST "https://api.trello.com/1/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "New Board", "desc": "Board description"}'
# Archive a board
curl -s -X PUT "https://api.trello.com/1/boards/BOARD_ID/closed?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"value": true}'
Lists
# Get lists on a board
curl -s "https://api.trello.com/1/boards/BOARD_ID/lists?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
| jq '.[] | {name: .name, id: .id}'
# Create a list
curl -s -X POST "https://api.trello.com/1/lists?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "To Do", "idBoard": "BOARD_ID"}'
# Archive a list
curl -s -X PUT "https://api.trello.com/1/lists/LIST_ID/closed?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"value": true}'
Cards
# Get cards in a list
curl -s "https://api.trello.com/1/lists/LIST_ID/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
| jq '.[] | {name: .idShort, title: .name, url: .url}'
# Create a card
curl -s -X POST "https://api.trello.com/1/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "New Task", "idList": "LIST_ID", "desc": "Task description"}'
# Get a card
curl -s "https://api.trello.com/1/cards/CARD_ID?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN"
# Update a card
curl -s -X PUT "https://api.trello.com/1/cards/CARD_ID?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Updated Name", "desc": "Updated description"}'
# Move card to another list
curl -s -X PUT "https://api.trello.com/1/cards/CARD_ID?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"idList": "NEW_LIST_ID"}'
# Archive a card
curl -s -X PUT "https://api.trello.com/1/cards/CARD_ID/closed?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"value": true}'
# Add label to card
curl -s -X POST "https://api.trello.com/1/cards/CARD_ID/labels?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"color": "green", "name": "Done"}'
# Add due date
curl -s -X PUT "https://api.trello.com/1/cards/CARD_ID?key=$TRELLO_API_KEY&token_TOKEN" \
-H "Content-Type: application/json=$TRELLO" \
-d '{"due": "2026-03-01T12:00:00.000Z"}'
Search
# Search all cards
curl -s "https://api.trello.com/1/search?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN&query=searchterm" \
| jq '.cards[] | {name: .name, board: .idBoard}'
# Search with filters
curl -s "https://api.trello.com/1/search?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN&query=task&cards_limit=10" \
| jq '.cards'
Members
# Add member to board
curl -s -X PUT "https://api.trello.com/1/boards/BOARD_ID/members/USER_ID?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN"
# Add member to card
curl -s -X POST "https://api.trello.com/1/cards/CARD_ID/members?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d '{"value": "MEMBER_ID"}'
Helper Functions
# Get board ID by name
trello_board_id() {
BOARD_NAME=$1
curl -s "https://api.trello.com/1/members/me/boards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
| jq -r ".[] | select(.name == \"$BOARD_NAME\") | .id"
}
# Get list ID by name
trello_list_id() {
BOARD_ID=$1
LIST_NAME=$2
curl -s "https://api.trello.com/1/boards/$BOARD_ID/lists?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
| jq -r ".[] | select(.name == \"$LIST_NAME\") | .id"
}
# Create card with due date
trello_add_card() {
LIST_ID=$1
NAME=$2
DUE=$3
curl -s -X POST "https://api.trello.com/1/cards?key=$TRELLO_API_KEY&token=$TRELLO_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"name\": \"$NAME\", \"idList\": \"$LIST_ID\", \"due\": \"$DUE\"}"
}
Quick Reference
| Action | Endpoint |
|---|---|
| List boards | GET /1/members/me/boards |
| Create board | POST /1/boards |
| Get lists | GET /1/boards/{id}/lists |
| Create list | POST /1/lists |
| Get cards | GET /1/lists/{id}/cards |
| Create card | POST /1/cards |
| Move card | PUT /1/cards/{id}?idList={list_id} |
| Archive card | PUT /1/cards/{id}/closed |
| Search | GET /1/search?query={term} |
Notes
- Rate limit: ~10 requests per second
- Board IDs start with specific prefixes (not human readable)
- Use
jqfor JSON parsing - Cards have both
id(long) andidShort(number) identifiers - Use
idShortfor user-friendly references
Weekly Installs
3
Repository
winsorllc/upgra…carnivalFirst Seen
14 days ago
Security Audits
Installed on
opencode3
gemini-cli3
claude-code3
github-copilot3
codex3
kimi-cli3