skills/fetch-ticket/SKILL.md
Internal helper called by /resolve and /mentor. Retrieves tickets from YouTrack, GitHub, or file (auto-detected from ticket ID pattern) and outputs normalized markdown. Not intended for direct invocation.
npx skillsauth add nicolas-codemate/claudecodeconfig fetch-ticketInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill retrieves ticket/issue information from various sources and normalizes it to a consistent markdown format.
PROJ-123, ABC-1, any UPPERCASE-NUMBER formatmcp__youtrack__get_issuemcp__youtrack__get_issue_comments#123, 123 (when github repo configured), owner/repo#123gh issue view or gh pr view.md fileInput ID → Detect Source
├── Matches /^[A-Z]+-\d+$/ → YouTrack
├── Matches /^#?\d+$/ → GitHub (issue/PR number)
├── Matches /^[\w-]+\/[\w-]+#\d+$/ → GitHub (explicit repo)
├── File exists at path → File
└── Otherwise → Error: Unknown format
mcp__youtrack__get_issue with issueIdmcp__youtrack__get_issue_comments for discussion contextsummary → Titledescription → Descriptionstate.name → Statuspriority.name → Prioritytype.name → Typeassignee.name → Assigneetags[].name → LabelscustomFields → Additional metadataWhen processing YouTrack issues, extract the target branch from milestone/sprint fields:
Look for milestone fields in customFields:
Parse milestone format to extract branch:
YYYY-MM-suffix (e.g., "2025-12-continue", "2026-01")YYYY-MM as branch name (e.g., "2025-12", "2026-01")Verify branch exists on origin:
git ls-remote --heads origin "{extracted-branch}" 2>/dev/null
main (release branch not yet created)Add to metadata table:
| Target Branch | {branch} |
Example:
gh issue view <number> --json title,body,state,labels,assignees,milestone,commentsgh pr view <number> --json ...title → Titlebody → Descriptionstate → Statuslabels[].name → Labelsassignees[].login → Assigneescomments[].body → Discussion---)All sources output a normalized markdown document:
---
source: youtrack|github|file
ticket_id: PROJ-123
fetched_at: 2024-01-15T10:30:00Z
url: https://...
---
# [Ticket Title]
## Metadata
| Field | Value |
|-------|-------|
| Status | Open |
| Type | Feature |
| Priority | High |
| Assignee | @username |
| Labels | label1, label2 |
## Description
[Original ticket description]
## Comments
### Comment by @author (2024-01-14)
[Comment content]
---
### Comment by @author2 (2024-01-15)
[Comment content]
This skill is typically invoked by:
/resolve command - as first step/fetch-ticket standalone commandReads from project's .claude/ticket-config.json:
default_source: Preferred source when ambiguousyoutrack.project_prefix: Default prefix for short IDsgithub.repo: Default repository for GitHub issuesWhen invoked:
.claude/ticket-config.json if existsOutput ticket content in its original language. Metadata labels in English for consistency.
tools
--- name: deep-review description: Performs deep code review via an isolated fresh agent (triple perspective, anti-bias). Use when the user asks for an in-depth review of current branch changes, or when invoked by /resolve step 08. Do NOT use for reviewing PRs from GitHub (use review-pr skill instead) or for a quick correctness scan with effort levels (use bundled /code-review instead). argument-hint: [--ticket <id>] [--base <branch>] [--fix] [--severity <level>] allowed-tools: Read, Glob, Grep,
tools
Resolve git rebase conflicts methodically. Classifies each conflict (imports/namespace cleanup vs real logic clash), analyzes the commit introducing the change against the current ticket context, auto-fixes only trivial cases with a per-file summary, and asks the user when ambiguous. Verifies static analysis tools pass at the end and optionally runs functional tests. Use after `git rebase` triggers conflicts, or when the user asks to "resolve conflicts", "fix rebase", "j'ai des conflits", "aide-moi sur ce rebase".
development
Synchronize the markdown test plan in docs/qa/ with the current state of the codebase. Use after adding or modifying features to keep the plan up to date, or to bootstrap a test plan for the first time. Do NOT use to execute tests (use /qa-run instead) and do NOT use to design product specs (use /express-need instead).
tools
Execute the markdown test plan in docs/qa/ via Playwright MCP and create a ticket on each failing scenario. Use after /qa-sync, before a release, or to validate a feature end-to-end. Do NOT use to design or update scenarios (use /qa-sync instead) and do NOT use for visual regression (use visual-verify agent instead).