Link Ticket To Session

Lie une session Claude Code à un ticket Linear/Jira/GitHub ou une PR dans le tableau de bord karma

par JayantDevkar · JayantDevkar/claude-code-karma

Testé · Fonctionne ★ 9.2/10

Link Ticket To Session — Lie une session Claude Code à un ticket Linear/Jira/GitHub ou une PR dans le tableau de bord karma

Ce que fait

Une commande slash qui lie la session Claude Code actuelle à un ticket (Linear, Jira, GitHub Issue ou GitHub PR) en effectuant un POST vers l'API d'observabilité karma locale, en mettant éventuellement en cache le titre/statut récupéré via un MCP de fournisseur installé. Se déclenche uniquement lorsque l'utilisateur demande explicitement de lier, d'attacher, d'associer ou de connecter la session à un ticket/issue/PR — pas sur des mentions de clé de ticket passantes. Nécessite que le serveur API karma soit en cours d'exécution (par défaut localhost:8020).

Rapport de test

Dépôt cloné, serveur FastAPI karma réel (uvicorn main:app --port 8020) démarré dans un HOME isolé, et exécution des commandes curl réelles de la compétence. La BASELINE (naïve : POST d'une PR GitHub avec url .../issues/42) a stocké la PR mal étiquetée comme une issue ; la version SKILL-followed (conservant le type /pull/, selon l'Étape 4) a stocké url .../pull/42 pour le même octocat/repo#42 — une différence concrète et observable que l'interface utilisateur karma utilise pour rendre issue-vs-PR. Également vérifié en direct : l'Étape 5 PUT avec la clé encodée en URL (octocat%2Frepo%2342) a défini title="Fix linting"/status="MERGED" ; un simple "#42" a été rejeté avec HTTP 400 et l'indice exact décrit par SKILL.md ; un simple LINEAR-123 avec indice de fournisseur a produit le fallback d'URL de recherche. Le frontmatter est parsé (name+description), pas de chemins machine codés en dur (utilise ${KARMA_API_URL} et ${CLAUDE_SESSION_ID}), pas de failles de sécurité (lecture seule, loopback uniquement). Friction réelle à noter : il nécessite que le serveur karma soit en cours d'exécution, mais je l'ai exécuté et tous les points d'extrémité se sont comportés exactement comme documenté.

Testé le: 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).

Commandes et exemples de prompts

  • /link-ticket-to-sessionLie une session Claude Code à un ticket Linear/Jira/GitHub ou une PR dans le tableau de bord karma

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

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