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 theam/claude-dev-kit --skill issue-fetchgit clone --depth 1 https://github.com/theam/claude-dev-kitWrote 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/theam/claude-dev-kit/issue-fetch)<a href="https://agentmods.dev/skills/theam/claude-dev-kit/issue-fetch"><img src="https://agentmods.dev/badge/skills/theam/claude-dev-kit/issue-fetch/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/theam/claude-dev-kit/issue-fetch"><img src="https://agentmods.dev/badge/skills/theam/claude-dev-kit/issue-fetch.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 Excessive Agency · line 29 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00068 | $0.01507 |
| Opus 5.5 | $0.00027 | $0.00603 |
| Sonnet 5.5 | $0.00014 | $0.00301 |
| Haiku 4.5 | $0.00007 | $0.00151 |
Grade A, and why
issue-fetch scanned grade A with 0 findings 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 25d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Issue Fetch
Fetch full context for a work item before any planning or implementation begins. The tracker is configured once (see below); this skill speaks to whichever one the team uses.
Trigger
Any prompt containing an issue reference, or an explicit request to fetch/work on a story. Reference shapes differ by tracker:
| Tracker | Key shape | Example |
|---|---|---|
| Jira | [A-Z][A-Z0-9]+-\d+ |
PROJ-1234 |
| Linear | [A-Z]+-\d+ |
ENG-42 |
| GitHub Issues | #\d+ or owner/repo#\d+ |
#123 |
| Azure DevOps | #?\d+ (work item id) |
#4567 |
Project configuration
Read .claude/dev-kit.json at the consuming repo root. The tracker block names the active adapter and its settings:
{ "tracker": { "type": "jira" | "linear" | "github" | "azure", ... } }
If the file does not exist (or has no tracker block), run the dev-kit-setup skill first — it detects the tracker, gathers what it needs, persists the file, and returns here. Do not ask the user for values that setup can discover.
If the requested key's project/prefix does not match the configured one, confirm with the user before fetching (it may be a cross-project item — allowed, just not silently).
Adapters — how to fetch
Use the adapter matching tracker.type. In every case request at minimum: summary/title, type, status, priority, assignee, reporter, labels, description, acceptance criteria, and all comments (plus story points and sprint/cycle when the tracker has them).
Jira (type: "jira")
Config: site, cloudId, projectKey, fields (custom field IDs for acceptance criteria / sprint / story points). Optional authMode: "mcp" (default) or "rest".
authMode: "mcp" (default). Use the Atlassian MCP tools against the configured site to get the issue and its comments, reading acceptance criteria via the configured field IDs.
authMode: "rest" — for clients without the Atlassian MCP. Call the Jira REST API directly with credentials from the environment (never from .claude/dev-kit.json, which stays secret-free):
- Jira Cloud: base URL
https://<site>(orJIRA_BASE_URL), headerAuthorization: Basic <base64(JIRA_EMAIL:JIRA_API_TOKEN)>. - Jira Server / Data Center: base URL
JIRA_BASE_URL, headerAuthorization: Bearer <JIRA_PAT>. - Fetch:
GET <base>/rest/api/3/issue/<KEY>?fields=summary,description,status,comment,<ACfieldId>,<sprintFieldId>,<pointsFieldId>(use/rest/api/2/on older Server). Read acceptance criteria from the configuredfieldsIDs and comments fromfields.comment.comments. - If a required env var is missing, stop and tell the user exactly which to set, and to add
.envto.gitignore— never invent credentials or fetch without them.
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.
- 25d ago Changed · +10 lines 68002d6f0447
- 1mo ago First seen · 91 lines · 68 tokens per session scan A 810cfc576c82
issue-fetch is a skill published in the GitHub repository theam/claude-dev-kit (15 stars, last pushed 20d ago), licensed Apache-2.0. It adds 68 tokens to every session and 1,507 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pm
Project manager for GitHub issues: brainstorm design approaches, create structured issues optimized for LLM agent teams, triage and recommend what to work on next, audit and clean up stale issues, or deep-validate a single issue against the codebase. Triggers: create issue, plan work, new task, project manager, write…
triage-task
Reads a ticket from Jira or Azure DevOps and writes .workflow/ /triage.json. Use when asked what to work on, to pick up a ticket by key, or to understand its description, comments and blocking links.
great_cto
Use when the CTO describes a feature, task, or project goal. Orchestrates the full SDLC pipeline automatically based on project type.
opportunity-solution-tree
Build an Opportunity Solution Tree (OST) to structure product discovery — map a desired outcome to customer opportunities, possible solutions, and experiments. Based on Teresa Torres' Continuous Discovery Habits. Use when the team is unclear what to build next, when multiple opportunities compete, or before writing a…
done-blocked
Reusable reporting contract for any agent that hands work back to the pipeline. Forces ONE of two terminal statuses (DONE or BLOCKED) with a specific evidence shape. Stops vague "probably finished" and "kind of stuck" verdicts.
outcome-roadmap
Transform an output-focused roadmap (feature list) into an outcome-focused one. Rewrites initiatives as outcome statements reflecting user and business impact. Use when a roadmap lists features instead of results, when making a roadmap more strategic, or when communicating what success looks like vs what will be built.