Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/jayantdevkar/claude-code-karma/link-ticket-to-sessionnpx skills add JayantDevkar/claude-code-karma --skill link-ticket-to-sessiongit clone --depth 1 https://github.com/JayantDevkar/claude-code-karmaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/jayantdevkar/claude-code-karma/link-ticket-to-session)<a href="https://agentmods.dev/skills/jayantdevkar/claude-code-karma/link-ticket-to-session"><img src="https://agentmods.dev/badge/skills/jayantdevkar/claude-code-karma/link-ticket-to-session.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00091 | $0.01914 |
| Opus 5 | $0.00046 | $0.00957 |
| Sonnet 5 | $0.00018 | $0.00383 |
| Haiku 4.5 | $0.00009 | $0.00191 |
Grade A, and why
link-ticket-to-session scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`${KARMA_API_URL:-http://localhost:8020}` in **every** curl below — bash How it starts
The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are linking the current Claude Code session (${CLAUDE_SESSION_ID}) to: $ARGUMENTS
Karma is a read-only observer on the user's machine. It stores the link and caches title/status for display, but never writes back to the ticket provider. You fetch metadata via the user's already-configured MCP server.
Karma's API URL comes from KARMA_API_URL (set by users on non-default
ports/hosts) with http://localhost:8020 as fallback. Inline
${KARMA_API_URL:-http://localhost:8020} in every curl below — bash
variables don't persist across separate Bash tool calls, so a top-of-script
assignment would be empty by the time the next curl runs.
Step 1 — Parse $ARGUMENTS
Recognized forms:
| Provider | Short ref | URL forms |
|---|---|---|
| Linear | LINEAR-123 |
https://linear.app/.../issue/ABC-123 |
| Jira | PROJ-45 |
https://*.atlassian.net/browse/PROJ-45 |
| GitHub Issue | owner/repo#42 |
https://github.com/owner/repo/issues/42 |
| GitHub PR | owner/repo#42 |
https://github.com/owner/repo/pull/42 |
GitHub issues and pull requests share a single numbering namespace —
owner/repo#42 could be either. The URL kind (/issues/ vs /pull/)
is the only signal, and karma's backend preserves it, so when you have
a URL keep it intact when POSTing (Step 4). For a bare owner/repo#N
with no URL, default to /issues/N — GitHub auto-redirects to /pull/N
when N is actually a PR, so the link still resolves.
A bare #N (no owner/repo) is not accepted — always qualify with
owner/repo#N.
Step 2 — Identify provider and (for GitHub) kind
Set two variables you'll use below:
<provider>∈linear|jira|github- For GitHub:
<kind>∈issue|pull_request(derived from URL path)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 147 lines · 91 tokens per session scan A 46a816595b18
link-ticket-to-session is a skill published in the GitHub repository JayantDevkar/claude-code-karma (323 stars, last pushed 5d ago), licensed Apache-2.0. It adds 91 tokens to every session and 1,914 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
build-flow
Autonomously build a complete Power Automate flow from a description. Use when you need to generate a full flow definition and create it.
add-azuredevops
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making ADO API calls.
route-environments
Check Power Platform environment routing status and understand default environment resolution. Use when the user asks about environment routing, developer environments, or new maker landing. Routing is configured in the admin center, not here. NOT for listing flows or managing connections.
create-flow
Guided flow creation wizard. Use when the user wants to create a new flow interactively.
manage-flows
Manage flow lifecycle - publish, test, batch operations, inventory reports. Use when the user asks to publish, test, batch manage, or get an inventory of flows.
browse-flows
Browse Power Automate environments and flows interactively. Use when the user wants to browse, list, or explore their flows and environments.