team-toon-tack
NewLinear/Trello task sync & management CLI with commands and skills
Overview
Optimized task workflow for Claude Code — supports Linear and Trello, saves significant tokens compared to MCP.
Features
- •Token Efficient — Local cycle cache eliminates repeated API calls, saving significant tokens vs MCP
- •Multi-source Support — Works with both Linear and Trello
- •Smart Task Selection — Auto-pick highest priority unassigned work with
/work-on next - •Multi-team Support — Sync and filter issues across multiple teams/boards
- •Flexible Sync Modes — Choose between remote (immediate sync) or local (offline-first, sync later with
--update) - •Completion Modes — Four modes for task completion (Linear): simple, strict review, upstream strict, upstream not strict
- •QA Team Support — Auto-update parent issues in QA team to "Testing" when completing dev tasks (Linear)
- •Attachment Download — Auto-download images and files to local
.ttt/output/for AI vision analysis - •Blocked Status — Set tasks as blocked when waiting on external dependencies
- •Persistent Estimates — Store local human-effort estimates that survive future
ttt sync - •Claude Code Plugin — Install plugin for
/ttt:*commands and auto-activated skills - •Cycle History — Local
.toonfiles preserve cycle data for AI context
Quick Start
1. Install & Initialize
npm install -g team-toon-tack
# For Linear
export LINEAR_API_KEY="lin_api_xxxxx"
# For Trello
export TRELLO_API_KEY="your-api-key"
export TRELLO_TOKEN="your-token"
cd your-project
ttt initDuring init, you'll be prompted to select your task source (Linear or Trello) and configure:
For Linear:
- •Dev team: Your development team (single selection)
- •Dev testing status: Testing/review status for your dev team (optional)
- •QA team(s): For cross-team parent issue updates, each with its own testing status (optional)
- •Completion mode: How task completion is handled (see below)
- •Status source:
remote(update Linear immediately) orlocal(work offline, sync withttt sync --update)
For Trello:
- •Board: The Trello board to sync
- •User: Your Trello username
- •Status mappings: Map Trello lists to Todo (supports multiple lists)/In Progress/Done
- •Label filter: Optional label to filter cards
Completion Modes (Linear only)
| Mode | Behavior |
|---|---|
simple | Mark task as Done + parent as Done. Default when no QA team configured. |
strict_review | Mark task to dev testing + parent to QA testing. |
upstream_strict | Mark task as Done + parent to Testing. Falls back to dev testing if no parent. Default when QA team configured. |
upstream_not_strict | Mark task as Done + parent to Testing. No fallback if no parent. |
Note: Trello always uses simple completion mode as it doesn't support parent issues.
2. Install Claude Code Plugin (Optional)
/plugin marketplace add wayne930242/team-toon-tack
/plugin install team-toon-tack@wayne9302423. Daily Workflow
In Claude Code (with plugin installed):
/ttt:sync # Fetch all issues/cards for current cycle
/ttt:work-on next # Pick highest priority task & start working
/ttt:estimate MP-123 6 # Save a local 6-hour estimate
/ttt:done # Complete task with AI-generated summaryOr using CLI directly:
ttt sync
ttt work-on next
ttt estimate MP-123 6
ttt done -m "Completed the task"CLI Reference
ttt init
Initialize configuration in current directory.
ttt init # Interactive mode (select source)
ttt init --source=linear # Initialize for Linear
ttt init --source=trello # Initialize for Trello
ttt init --user [email protected] # Pre-select user
ttt init --label Frontend # Set default label
ttt init --force # Overwrite existing configttt sync
Sync current cycle issues from Linear/Trello.
ttt sync # Sync Todo/In Progress issues (fast)
ttt sync --all # Sync all issues regardless of status
ttt sync MP-123 # Sync specific issue only
ttt sync --update # Push local status changes to remote (for local mode)ttt work-on
Start working on a task.
ttt work-on # Interactive selection
ttt work-on MP-123 # Specific issue
ttt work-on next # Auto-select highest priorityttt estimate
Save a local human-effort estimate that persists in .ttt/cycle.toon.
ttt estimate MP-123 6 # Save a 6-hour estimate
ttt estimate 2.5 # Save estimate for current in-progress task
ttt estimate MP-123 16 --note "API pending" # Save estimate with a note
ttt estimate MP-123 --clear # Remove saved estimatettt done
Mark task as completed.
ttt done # Auto-select if only one in-progress
ttt done MP-123 # Specific issue
ttt done -m "Fixed the bug" # With completion message
ttt done MP-123 --from-remote # Fetch from remote (bypasses local data check)Use --from-remote (or -r) when the issue exists in remote but not in local sync data.
ttt status
Show or modify task status.
ttt status # Show current in-progress task
ttt status MP-123 # Show specific issue status
ttt status MP-123 --set +1 # Move to next status
ttt status MP-123 --set done # Mark as done
ttt status MP-123 --set blocked # Set as blocked (waiting on dependency)ttt show
Show issue details or search issues from local cycle data.
ttt show # Show all issues in local cycle data
ttt show MP-123 # Show specific issue from local data
ttt show MP-123 --remote # Fetch specific issue from remote
ttt show --label frontend # Filter by label
ttt show --status "In Progress" --user me # My in-progress issues
ttt show --priority 1 # Show urgent issues
ttt show --export # Export as markdownttt config
Configure settings.
ttt config # Show current configuration
ttt config status # Configure status mappings
ttt config filters # Configure label/user filters
ttt config teams # Configure multi-team selectionConfiguration
Directory Structure
your-project/
└── .ttt/
├── config.toon # Team config (gitignore recommended)
├── local.toon # Personal settings (gitignore)
├── cycle.toon # Current cycle data + local estimates (auto-generated)
└── output/ # Downloaded attachments (images, files)Environment Variables
| Variable | Description |
|---|---|
LINEAR_API_KEY | Required for Linear. Your Linear API key |
TRELLO_API_KEY | Required for Trello. Your Trello API key |
TRELLO_TOKEN | Required for Trello. Your Trello authorization token |
TOON_DIR | Config directory (default: .ttt) |
Trello Setup
- Get your API key from: https://trello.com/power-ups/admin
- Generate a token by visiting the authorization URL shown during
ttt init - Set both
TRELLO_API_KEYandTRELLO_TOKENin your environment
Concept Mapping: Linear vs Trello
| Concept | Linear | Trello |
|---|---|---|
| Container | Team | Board |
| Task | Issue | Card |
| Status | Workflow State | List |
| Tag | Label | Label |
| Sprint | Cycle | - (not supported) |
| Parent | Parent Issue | - (not supported) |
Claude Code Plugin
Install the plugin for Claude Code integration:
/plugin marketplace add wayne930242/team-toon-tack
/plugin install team-toon-tack@wayne930242Available Commands
| Command | Description |
|---|---|
/ttt:sync | Sync issues to local cycle data |
/ttt:work-on | Start working on a task |
/ttt:estimate | Save a local human-effort estimate |
/ttt:done | Mark current task as completed |
/ttt:status | Show or modify task status |
/ttt:show | Show issue details or search issues |
Auto-Activated Skill
The plugin includes a linear-task-manager skill that automatically activates when working with tasks, providing workflow guidance and best practices.
License
MIT
Install & Usage
mkdir -p .claude/skillsmkdir -p .claude/skills && curl -o .claude/skills/team-toon-tack.md https://raw.githubusercontent.com/wayne930242/team-toon-tack/main/SKILL.md/team-toon-tackFrequently Asked Questions
What is team-toon-tack?
Linear/Trello task sync & management CLI with commands and skills
How to install team-toon-tack?
To install team-toon-tack, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /team-toon-tack.
What is team-toon-tack best for?
team-toon-tack is a community categorized under General. Created by wayne930242.