agentleFS
KubementatKubementat/ai_agent_skills/skills/trello-cli/SKILL.md

trello-cli

Skill2 starsChanged 8 months agoMITView on GitHub

Power shell user for Trello via CLI. Execute trello commands, parse JSON output, manage boards/cards/lists programmatically.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Search across your workspace

    line 15
  2. Distinctive:

    Before using any commands, ensure you're authenticated:

    line 20
  3. Distinctive:

    All commands support multiple output formats:

    line 175
  4. Very specific:

    Cache board/list IDs: - Use trello sync to build local ID mappings

    line 243
  5. Distinctive:

    Test with dry-run flags first: when available

    line 247

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Trello CLI Skill

This skill enables you to use the trello CLI tool as a power shell user for Trello operations. It provides a structured way to interact with your Trello workspace through command-line operations.

Overview

The trello-cli is a Node.js-based command-line interface that allows you to:

  • Manage boards, cards, lists, and labels
  • Handle authentication securely
  • Search across your workspace
  • Export data in multiple formats (JSON, CSV)

Authentication Setup

Before using any commands, ensure you're authenticated:

trello auth --help
trello interactive  # Launches a browser-based OAuth flow

Or set environment variables:

export TRELLO_KEY="your-api-key"
export TRELLO_TOKEN="your-api-token"

Core Operations

Board Management

List all boards

trello board:list --format json
trello board:list --format csv  # For spreadsheet export

Show board details

trello board:show -i <board-id> --format json

Create a new board

trello board:create -n "Project Name" \
    -d "Board description" \
    --prefs.permissionLevel public \
    --defaultLists

Update board settings

trello board:update -i <board-id> \
    -n "Updated Board Name" \
    --prefs.cardAging pirate

Delete a board

trello board:delete -i <board-id>

Card Management

List cards in a list

trello card:list -l <list-id> --format json

Show card details

trello card:show -i <card-id> --format json

Create a new card

trello card:create \
    -n "Task Title" \
    --board <board-id> \
    --list <list-id> \
    --description "Detailed description here"
    --due "2026-03-25T17:00:00.000Z"

Move a card to another list

trello card:move -i <card-id> \
    --board <board-id> \
    --list <target-list-id>

Add label to card

trello card:label -i <card-id> \
    --board <board-id> \
    "Red Label" "Blue Label"

Remove label from card

trello card:unlabel -i <card-id> \
    --board <board-id> \
    "Red Label"

Add comment to card

trello card:comment -i <card-id> \
    --text "This is a new comment"

List all comments on a card

trello card:comments -i <card-id> --format json

Archive a card

trello card:archive -i <card-id>

List Management

List lists in a board

trello list:list -b <board-id> --format json

Create a new list

trello list:create \
    -b <board-id> \
    -n "New List Name"

Rename a list

trello list:rename -i <list-id> \
    --name "Updated List Name"

Archive all cards in a list

trello list:archive-cards -i <list-id>

Label Management

Create a label on board

trello label:create \
    -b <board-id> \
    --name "Bug" \
    --color "darkred"

List all labels on a board

trello label:list -b <board-id> --format json

Search Across Trello

trello search -q "urgent task" --format json

Output Formats

All commands support multiple output formats:

  • default: Human-readable formatted output
  • silent: Minimal output, just results
  • json: Structured JSON for scripting
  • csv: Comma-separated values for spreadsheets
trello card:list -l <list-id> --format json | jq .
trello board:list --format csv > boards.csv

Common Workflows

Backup your workspace

# Export all boards as JSON
for board in $(trello board:list --format json | jq -r '.[].id'); do
    trello board:show -i $board --format json > "${board}.json"
done

Bulk card creation from CSV

# Read cards from CSV and create them
while IFS=',' read name description; do
    trello card:create \
        -n "$name" \
        --board $BOARD_ID \
        --list $LIST_ID \
        --description "$description"
done < cards.csv

Automated status updates

# Move all "Done" cards to Done list
for card in $(trello card:list -l InProgress --format json | jq -r '.[] | select(.name | contains("Done")) | .id'); do
    trello card:move -i $card \
        --board $BOARD_ID \
        --list DoneListID
done

Integration with Shell Tools

Using jq for JSON parsing

# Get all cards assigned to me
trello card:assigned-to --format json | jq '.[] | {name, due}'

# Count open tasks per list
for list in $(trello list:list -b $BOARD_ID --format json | jq -r '.[].id'); do
    count=$(trello card:list -l $list --format json | jq '[.[] | select(.closed == false)] | length')
    echo "$count cards in $(trello list:list -b $BOARD_ID --format json | jq -r ".[] | select(.id==\"$list\") | .name")"
done

piping to other tools

# Create a report of overdue tasks
trello card:assigned-to --format json | \
    jq '[.[] | select(..due != null and .due < now * 1000)]' > \
    overdue-tasks.json

Best Practices

  1. Always use --format json for scripting - Makes parsing predictable
  2. Cache board/list IDs - Use trello sync to build local ID mappings
  3. Handle pagination - Large boards may need multiple requests
  4. Rate limiting awareness - Respect Trello's API rate limits (~10 req/sec)
  5. Use environment variables for sensitive credentials
  6. Test with dry-run flags first when available
  7. Combine with jq, sed, awk for powerful text processing pipelines

Troubleshooting

# Debug installation issues
trello debug

# Check authentication status
trello auth --help

# View all installed plugins
trello plugins

Examples

Quick Status Report

#!/bin/bash
BOARD_ID="your-board-id"
echo "=== Trello Workspace Summary ==="
echo "Boards: $(trello board:list | wc -l)"
echo "Cards in progress: $(trello card:list -l $(trello list:list -b $BOARD_ID --format json | jq -r '.[] | select(.name=="In Progress") | .id') | grep -c '^[a-z]')"

Weekly Digest Email

# Generate weekly summary
trello card:assigned-to --format json | \
    jq '[.[] | {name, due, tags}]' > weekly-digest.json
mail -s "Weekly Trello Update" team@company.com < weekly-digest.json

Reference

For complete command reference:

  • trello help - Main help
  • trello <topic> --help - Topic-specific help (board, card, list, label)
  • trello <command> --help - Specific command help (e.g., trello board:create --help)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.