MCPInstall

trello-use

MANDATORY prerequisite — load this BEFORE calling any Trello MCP tool (trelloRead, trelloWrite, trelloSearch). Covers the ARI id format every tool requires and the cross-cutting rules (current-user lookup, UTC date handling, Inbox vs boards, ordered creation, pagination, and embedded-field previews vs full list records). Skipping it causes malformed-id errors, wrong due-date/timezone results, and answers built on truncated data.

Installs
413
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/atlassian/trello-mcp-server --skill trello-use
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads trello-use automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Trello MCP Server — Usage Skill

Trello MCP tools are action-dispatched (action: "..." selects the operation) and validate strictly: a field not used by the chosen action is rejected, not ignored.

1. Identify the current user first

Call trelloReadMember with action: "get_me" to get the authenticated user's profile, including prefs.timezone. Do this before any relative-time request ("today", "this week") for cards, Inbox, and search — most concretely, before trelloWriteCard/trelloWriteInbox create or update when the user gives a due date/time in local or relative terms (e.g. "tomorrow 1pm"): resolve prefs.timezone first, convert to UTC, then pass that as due. (Planner events use a different timezone source — see §3.)

2. ARI id format (critical — read before passing any id)

Every id-typed parameter (cardId, boardId, listId, workspaceId, checklistId, itemId, labelId, plannerCalendarId, providerAccountId) is an ARI, not a raw Trello object id. Most are workspace-scoped and follow this shape:

ari:cloud:trello::<entity>/workspace/<workspaceObjectId>/<entityObjectId>

The exceptions (last four rows below) are not workspace-scoped: action, member, and planner calendar have no workspace segment, and a third-party account is a different ARI namespace.

EntityShape
boardari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>
cardari:cloud:trello::card/workspace/<workspaceObjectId>/<cardObjectId>
listari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>
checklistari:cloud:trello::checklist/workspace/<workspaceObjectId>/<checklistObjectId>
check itemari:cloud:trello::check-item/workspace/<workspaceObjectId>/<itemObjectId>
labelari:cloud:trello::label/workspace/<workspaceObjectId>/<labelObjectId>
workspaceari:cloud:trello::workspace/<workspaceObjectId>
actionari:cloud:trello::action/<actionObjectId> (no workspace segment)
memberari:cloud:trello::user/<memberObjectId> (no workspace segment)
planner calendarari:cloud:trello::planner-calendar/<calendarObjectId> (no workspace segment)
third-party accountari:third-party:<provider>::account/<providerAccountId> (e.g. Google)

Rules:

  • Always get the ARI from a read tool first, never construct or guess one. trelloWriteCard, trelloWriteChecklist, trelloWriteInbox, and trelloWritePlanner all reject Trello URLs/short links on their id params ("Do NOT pass a Trello URL or short link; use trelloReadCard/trelloReadInbox first to obtain the ARI").
  • Two read get actions also accept a plain Trello URL, as a convenience: trelloReadBoard (get) takes a board URL (https://trello.com/b/<shortLink>/...) and trelloReadCard (get) takes a card URL (.../c/<shortLink>/...), in addition to an ARI. Every other tool — and all write tools — take ARIs only.

3. Dates are always UTC ISO 8601

due (trelloWriteCard, trelloWriteInbox) and start/end (trelloWritePlanner) are UTC ISO 8601 ("2026-06-01T17:00:00.000Z"). For local/relative times, convert using:

  • Cards & Inbox: trelloReadMember (get_me) → prefs.timezone
  • Planner events: trelloReadPlanner (get) → primaryCalendar.timezone
  • No time given → default to 09:00 local.

trelloSearch due-date qualifiers (due:) use the same UTC-boundary rule — resolve prefs.timezone first.

4. Inbox is not a Trello board

Inbox is a personal quick-capture surface with its own tools: trelloReadInbox / trelloWriteInbox. Don't try to access it via trelloReadBoard/trelloWriteBoard — go through the Inbox-specific tools instead. trelloWriteInbox create takes no pos — new Inbox cards always land at the top.

5. Ordered creation

When creating multiple items that must keep a specific order — lists, cards, checklists on a card, or check items in a checklist — set pos to distinct sequential integers (1, 2, 3, …) in the intended order. Scope is per parent: cards per list, lists board-wide, checklists per card, check items per checklist. Distinct values fix the order regardless of which call lands first, so you can create them in parallel. pos also accepts "top"/"bottom" where the field is exposed.

Example — 3 lists on a new board, order matters (To Do → In Progress → Done):

[
  {
    "tool": "trelloWriteList",
    "action": "create",
    "boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
    "name": "To Do",
    "pos": 1
  },
  {
    "tool": "trelloWriteList",
    "action": "create",
    "boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
    "name": "In Progress",
    "pos": 2
  },
  {
    "tool": "trelloWriteList",
    "action": "create",
    "boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
    "name": "Done",
    "pos": 3
  }
]

All three can be issued in parallel — pos is per board, and distinct values (1/2/3) fix the order no matter which call lands first.

Example — 3 cards in one list, order matters (Step 1 → Step 2 → Step 3):

[
  {
    "tool": "trelloWriteCard",
    "action": "create",
    "listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
    "name": "Step 1",
    "pos": 1
  },
  {
    "tool": "trelloWriteCard",
    "action": "create",
    "listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
    "name": "Step 2",
    "pos": 2
  },
  {
    "tool": "trelloWriteCard",
    "action": "create",
    "listId": "ari:cloud:trello::list/workspace/<workspaceObjectId>/<listObjectId>",
    "name": "Step 3",
    "pos": 3
  }
]

pos here is scoped to that one list — a card created with pos: 1 in a different list is independent of this list's pos: 1.

Counter-example — order doesn't matter: just create the item without a pos (or with "bottom"). Don't invent sequential numbers when the user hasn't asked for a specific order — that's unrequested precision.

6. Pagination

Read tools that list collections use cursor pagination (cursor in, pageInfo.endCursor/nextCursor + hasNextPage/hasMore out). Keep paginating while hasNextPage/hasMore is true instead of assuming the first page is complete — this matters especially for trelloReadBoard list/list_by_workspace when filtering by visibility (filtered server-side per page, not globally before pagination).

7. Embedded fields are previews

Fields that nest child objects — lists on a board, labels/comments on a card, cards on a list — are capped previews, in get and list_* responses alike. <field>HasMore: true marks one as truncated: listsHasMore, labelsHasMore, checklistsHasMore, commentsHasMore.

A count, "all X", filtering, or "is that everything?" needs every child. Fetch them with the matching action, paginate until a response reports no next page (§6), and answer from those pages.

Children you need in fullFetch with
a board's liststrelloReadList list_by_board
a list's cardstrelloReadCard list_by_list
a card's checklists and their itemstrelloReadChecklist list_by_card
a board's labelstrelloReadBoard list_labels
a card's commentstrelloReadCard list_comments — gated: when it is absent from the advertised actions, comments are unavailable; say that plainly
a card's own labels or membersno card-scoped action exists — the preview is the ceiling, so present it as partial

Example — "how many lists does this board have?" trelloReadBoard get returns lists with listsHasMore: true. Take the board ARI from that response to the list action, follow the cursor to the last page, then count what you collected:

{
  "tool": "trelloReadList",
  "action": "list_by_board",
  "boardId": "ari:cloud:trello::board/workspace/<workspaceObjectId>/<boardObjectId>",
  "cursor": "<endCursor/nextCursor from the previous page>"
}

FAQ

What does the trello-use skill do?

MANDATORY prerequisite — load this BEFORE calling any Trello MCP tool (trelloRead, trelloWrite, trelloSearch). Covers the ARI id format every tool requires and the cross-cutting rules (current-user lookup, UTC date handling, Inbox vs boards, ordered creation, pagination, and embedded-field previews vs full list records). Skipping it causes malformed-id errors, wrong due-date/timezone results, and answers built on truncated data.

How do I install trello-use?

Run npx skills add https://github.com/atlassian/trello-mcp-server --skill trello-use in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/trello-use/ (personal) or .claude/skills/trello-use/ (project).

Which AI agents can use trello-use?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is trello-use safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains trello-use?

It is published by atlassian in atlassian/trello-mcp-server. It has 413 recorded installs.

Popular ai & agents skills

View category →

google-agents-cli-publish

google/agents-cli

This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).

AI & Agents513.9K installs

google-agents-cli-eval

google/agents-cli

This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).

AI & Agents513.5K installs

skill-creator

anthropics/skills

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

OfficialAI & Agents416.4K installs

codex-pet

prime-skills/runcomfy-agent-skills

Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

AI & Agents402.1K installs

full-output-enforcement

leonxlnx/taste-skill

Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.

AI & Agents401K installs

executing-plans

obra/superpowers

Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available

AI & Agents245.7K installs