Link Ticket To Session

Link a Claude Code session to a Linear/Jira/GitHub ticket or PR in the karma dashboard

Tested · Works

Test report

Verdict
Tested · Works
Score
9.2/10
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-session Link 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.