Link Ticket To Session

Verknüpft eine Claude Code-Sitzung mit einem Linear-/Jira-/GitHub-Ticket oder PR im Karma-Dashboard

von JayantDevkar · JayantDevkar/claude-code-karma

Getestet · Funktioniert ★ 9.2/10

Link Ticket To Session — Verknüpft eine Claude Code-Sitzung mit einem Linear-/Jira-/GitHub-Ticket oder PR im Karma-Dashboard

Was es kann

Ein Slash-Befehl, der die aktuelle Claude Code-Sitzung mit einem Ticket (Linear, Jira, GitHub Issue oder GitHub PR) verknüpft, indem er an die lokale karma-Observability-API POSTet, optional Titel/Status, die über einen installierten Provider MCP abgerufen wurden, zwischenspeichert. Wird nur ausgelöst, wenn der Benutzer explizit darum bittet, die Sitzung mit einem Ticket/Issue/PR zu verknüpfen, anzuhängen, zuzuordnen oder zu verbinden — nicht bei beiläufigen Erwähnungen von Ticket-Schlüsseln. Erfordert den laufenden karma API-Server (Standard localhost:8020).

Testbericht

Das Repo geklont, den echten karma FastAPI-Server (uvicorn main:app --port 8020) in einem isolierten HOME gestartet und die tatsächlichen curl-Befehle des Skills ausgeführt. BASELINE (naiv: POST eines GitHub PR mit url .../issues/42) speicherte den PR fälschlicherweise als Issue; SKILL-followed (behält den /pull/-Typ bei, gemäß Schritt 4) speicherte url .../pull/42 für dasselbe octocat/repo#42 — ein konkreter, beobachtbarer Unterschied, den die karma UI zur Darstellung von Issue vs. PR verwendet. Auch live verifiziert: Schritt 5 PUT mit URL-kodiertem Schlüssel (octocat%2Frepo%2342) setzte title=„Fix linting“/status=„MERGED“; ein bloßes „#42“ wurde mit HTTP 400 und dem exakten Hinweis, den SKILL.md beschreibt, abgelehnt; ein bloßes LINEAR-123 mit Provider-Hinweis erzeugte den Such-URL-Fallback. Frontmatter parst (name+description), keine fest codierten Maschinenpfade (verwendet ${KARMA_API_URL} und ${CLAUDE_SESSION_ID}), keine Sicherheitslücken (read-only, loopback-only). Bemerkenswerte reale Reibung: Es benötigt den laufenden karma-Server, aber ich habe ihn ausgeführt und alle Endpunkte verhielten sich genau wie dokumentiert.

Getestet am: 2026-07-31 · Claude Code 2.x (agent harness)

Installation

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).

Befehle & Beispiel-Prompts

  • /link-ticket-to-sessionVerknüpft eine Claude Code-Sitzung mit einem Linear-/Jira-/GitHub-Ticket oder PR im Karma-Dashboard

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Link this session to LINEAR-42
  • Attach this session to PR octocat/repo#7
  • Associate this work with issue #15