Link Ticket To Session
Link a Claude Code session to a Linear/Jira/GitHub ticket or PR in the karma dashboard
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · d510258
Cloned the repo, spun up the real karma FastAPI server (uvicorn main:app --port 8020) in an isolated HOME, and ran the skill's actual curl commands. BASELINE (naive: POST a GitHub PR with url .../issues/42) stored the PR mislabeled as an issue; SKILL-followed (preserve the /pull/ kind, per Step 4) stored url .../pull/42 for the same octocat/repo#42 — a concrete, observable difference the karma UI uses to render issue-vs-PR. Also verified live: Step 5 PUT with URL-encoded key (octocat%2Frepo%2342) set title="Fix linting"/status="MERGED"; a bare "#42" was rejected with HTTP 400 and the exact hint SKILL.md describes; a bare LINEAR-123 with provider hint produced the search-URL fallback. Frontmatter parses (name+description), no hardcoded machine paths (uses ${KARMA_API_URL} and ${CLAUDE_SESSION_ID}), no security smells (read-only, loopback-only). Real friction worth noting: it needs the karma server running, but I ran it and all endpoints behaved exactly as documented.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 8/10
- Docs & honesty 5/5
What Link Ticket To Session does
A slash command that links the current Claude Code session to a ticket (Linear, Jira, GitHub Issue, or GitHub PR) by POSTing to the local karma observability API, optionally caching title/status fetched via an installed provider MCP. Triggers only when the user explicitly asks to link, attach, associate, or connect the session to a ticket/issue/PR — not on passing ticket-key mentions. Requires the karma API server running (default localhost:8020).
How to install Link Ticket To Session
git clone --depth 1 https://github.com/JayantDevkar/claude-code-karma.git /tmp/link-ticket-to-session-src
mkdir -p ~/.claude/skills
cp -R /tmp/link-ticket-to-session-src/skills/link-ticket-to-session ~/.claude/skills/link-ticket-to-session
# PREREQUISITE: the karma API server must be running for the POST/PUT to succeed.
# cd /tmp/link-ticket-to-session-src/api && pip install -r requirements.txt
# uvicorn main:app --port 8020
# Override host/port with env KARMA_API_URL (default http://localhost:8020).
# OPTIONAL: install the provider MCP (Linear / Atlassian / github plugin) to cache title+status;
# without it the link is still created with NULL metadata (refreshable later).
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Link Ticket To Session
-
/link-ticket-to-sessionLink a Claude Code session to a Linear/Jira/GitHub ticket or PR in the karma dashboard
It also activates on plain-language prompts like these:
-
Link this session to LINEAR-42 -
Attach this session to PR octocat/repo#7 -
Associate this work with issue #15
Frequently asked questions
- Is the Link Ticket To Session skill free?
- Yes. The skill itself is free from JayantDevkar/claude-code-karma. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Link Ticket To Session work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Cloned the repo, spun up the real karma FastAPI server (uvicorn main:app --port 8020) in an isolated HOME, and ran the skill's actual curl commands. BASELINE (naive: POST a GitHub PR with url .../issues/42) stored the PR mislabeled as an issue; SKILL-followed (preserve the /pull/ kind, per Step 4) stored url .../pull/42 for the same octocat/repo#42 — a concrete, observable difference the karma UI uses to render issue-vs-PR. Also verified live: Step 5 PUT with URL-encoded key (octocat%2Frepo%2342) set title="Fix linting"/status="MERGED"; a bare "#42" was rejected with HTTP 400 and the exact hint SKILL.md describes; a bare LINEAR-123 with provider hint produced the search-URL fallback. Frontmatter parses (name+description), no hardcoded machine paths (uses ${KARMA_API_URL} and ${CLAUDE_SESSION_ID}), no security smells (read-only, loopback-only). Real friction worth noting: it needs the karma server running, but I ran it and all endpoints behaved exactly as documented.
- What is the Link Ticket To Session SkillProof Score?
- 9.2/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 5/5.
- How do I install Link Ticket To Session?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Link Ticket To Session with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.