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 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/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<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="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Data Exfiltration · line 104 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.1 | $0.00091 | $0.01914 |
| Opus 5.5 | $0.00036 | $0.00766 |
| Sonnet 5.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 1mo 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.
- 1mo 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 (333 stars, last pushed 7d ago), licensed Apache-2.0. It adds 91 tokens to every session and 1,914 once invoked, about $0.0004 per session on Opus 5.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
lead
Use when acting as the factory tech lead: classify work, ask the minimum questions, create tickets, and dispatch without implementing.
to-tickets
Use when breaking a plan into tracer-bullet GitHub issues with blocking edges.
forge-sync
Use when checking if .forge/ artifacts are stale after a change to requirements, architecture, or any upstream artifact. Use before running /build, /review, or /ship to confirm the artifact chain is consistent. Use when the user says "is anything out of date" or "what needs to be regenerated".
planning-and-task-breakdown
Use when .forge/prd.md and .forge/architecture.md exist and the work needs to be decomposed before implementation, when sizing tasks for a sprint, when mapping dependencies between modules, or when a critical path needs to be identified before parallel work begins.
feedback
Use when implementation, review, security, scalability, or incident work reveals that an upstream .forge/ artifact is wrong, when a contract is missing an operation, when an ADR is being contradicted by a current need, when security recommends architecture changes, or when the user says "we discovered the spec is…
parallel-execution-strategy
Use when 3+ independent tasks are ready in .forge/tasks.yaml and multiple agents will work concurrently, when assessing file-conflict risk before dispatching parallel work, when planning branch and merge sequencing for a sprint, or when prior parallel runs have caused merge nightmares.