mcpField
T
trackers

trackers

github.com/gabriel-lafranceDevelopment069 installsUpdated 1d ago
Repository

About trackers

A read-only worker skill for retrieving issue and pull request context from trackers through MCP or gh. It condenses acceptance criteria and constraints into a brief for the parent execution context.

Key features

  1. 01Reads tracker issues and pull requests
  2. 02Fetches relevant comments and QA notes
  3. 03Preserves acceptance criteria and constraints
  4. 04Returns a compact ticket brief

Use cases

  1. 01Gathering context before implementing a ticket
  2. 02Summarizing issue requirements for a parent task

MCP support

Uses MCP and gh to read tracker issues and pull requests; it does not create, update, comment on, or close tickets.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gabriel-lafrance/skills --skill trackers

After installing, type/trackersin Claude Code to confirm it loaded.

Details

From the project README

Trackers

Must read: ../pack-shared/standards.md. Apply the Taste and Architecture sections of AGENTS.md this turn so ticket AC and constraints are not dropped. Do not skip.

Ask style: ../pack-shared/asking.md

This skill is a worker step for /task or /just-do-it, not a typical user start.

This pack talks to trackers via MCP and gh. Return a compact ticket brief in the parent's inline execution context; do not persist it in agent-owned state. Cursor Cloud Agent linking is separate.

Keep taste/architecture acceptance criteria and constraints from the ticket in the brief. Do not drop them.

Hard rule: read only

Allowed: get/list/view issue, PR, comments, statuses (for understanding), checklists in description, linked QA notes.

Forbidden (never):

  • Status / state changes (“In Progress”, Done, close)
  • Comments, replies, or resolution notes
  • save_issue / update_issue / create / assign
  • gh issue comment, gh issue close, gh pr comment (write), or any mutate API
  • Closing or “close-out” after ACHIEVED

Ticket close is the user’s job (manual or PR merge). This skill only reads.

Detect the tracker

InputTracker
IN-1234, ENG-99, TEAM-123 (letters-digits)Linear
linear.app/.../issue/... URLLinear
#123, owner/repo#123, github.com/.../issues/123GitHub
github.com/.../pull/N or PR refGitHub (PR)
Ambiguous number onlyAsk once: Linear or GitHub?

One ticket ID per bounded execution context unless the caller explicitly names several related ones.

Discover tools first

Before calling anything:

  1. GetMcpTools with pattern linear|github (or inspect the Linear / GitHub server directly).
  2. Read the live tool schema — prefer read tools (get_issue, list_comments, get_pull_request, …). Ignore write tools.
  3. If a server is needsAuth, run its mcp_auth once, then rediscover tools.

Fetch

Linear

Prefer MCP read tools matching: get_issue, list_comments, list_issue_statuses (exact names from discovery — statuses are for labeling the brief, not for writing).

Pass the identifier as given (IN-1234). Pull:

  • Title, description, status, priority, labels, assignee
  • Acceptance criteria / QA checklists in the description
  • Comments that add constraints (ignore pure chatter)
  • Linked PRs / git branch if present — then fetch PR title/body/review comments when available (read only)
GitHub

Prefer GitHub MCP read tools if present; otherwise gh view/list only:

gh issue view <N> --json number,title,body,labels,assignees,state,url,comments
# or
gh issue view owner/repo#N --json number,title,body,labels,assignees,state,url,comments

gh pr view <N> --json number,title,body,url,comments,reviews,commits

If gh is missing or unauthenticated, say so and stop — do not invent the ticket/PR body.

Normalize into a ticket brief

# Ticket
- **ID:** IN-1234
- **Tracker:** Linear | GitHub
- **URL:** …
- **Title:** …

# Ask
<what the ticket wants, user perspective>

# Acceptance / QA (from ticket)
1. …
2. …

# Constraints
- …

# Out of scope
- … (explicit non-goals from ticket or comments)

# Linked PR (if any)
- **URL:** …
- **Summary:** …
- **Review notes worth keeping:** …

# Source
<ticket or PR URL only — do not paste the full body into every later prompt>

Missing acceptance criteria → ask one question or derive binary Done when from the Ask (and show it for approval). Do not write that back to the tracker.

How callers use the brief

  • Spec source for the parent brief, acceptance evidence, and /code-review
  • Keep the Ticket / PR reference and relevant acceptance criteria in chat; the parent combines them with Git and repository evidence
  • Do not create a workspace, status, plan, register, or tracker update

Failures

ProblemAction
No Linear MCPTell the user to add Linear from Cursor MCP tools (https://mcp.linear.app/mcp), then retry. Do not fake the ticket.
No gh / not logged inAsk them to install/auth gh, or paste the issue body once.
Ticket / PR not foundStop; confirm ID / team / repo.

Anti-patterns

  • Invoking this skill alone as “update my ticket”
  • Inventing title/AC from the ID alone
  • Any write/close/comment to Linear or GitHub
  • Dumping the full ticket body into every skill turn (keep the brief; link the source)
  • Using Cloud Agent Linear assignment as a substitute for fetch in this chat

Comments

Markdown supported