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 cyanheads/openstreetmap-mcp-server --skill report-issue-localgit clone --depth 1 https://github.com/cyanheads/openstreetmap-mcp-serverWrote 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/cyanheads/openstreetmap-mcp-server/report-issue-local)<a href="https://agentmods.dev/skills/cyanheads/openstreetmap-mcp-server/report-issue-local"><img src="https://agentmods.dev/badge/skills/cyanheads/openstreetmap-mcp-server/report-issue-local/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/cyanheads/openstreetmap-mcp-server/report-issue-local"><img src="https://agentmods.dev/badge/skills/cyanheads/openstreetmap-mcp-server/report-issue-local.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00044 | $0.02955 |
| Opus 5 | $0.00022 | $0.01477 |
| Sonnet 5 | $0.00009 | $0.00591 |
| Haiku 4.5 | $0.00004 | $0.00296 |
Grade A, and why
report-issue-local 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 10d 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.
This is a copy
100% identical to report-issue-local — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 310 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to Use
The bug is in this server's code, not in @cyanheads/mcp-ts-core. Typical triggers:
- A tool handler returns wrong results or throws on valid input
- A service integration (external API, database, third-party SDK) fails or misbehaves
- Server-specific config (
server-config.ts) rejects valid env vars or has wrong defaults - Resource handlers return stale, incomplete, or incorrect data
- Domain logic errors — wrong calculations, missing edge cases, bad state transitions
- Missing or incorrect
.describe()on schema fields causing poor LLM tool use
If the issue is in the framework itself (builders, Context, utilities, type exports, linter), use report-issue-framework instead.
For general gh CLI workflows outside issue filing (PRs, workflows, API access), see the github-cli skill.
Before Filing
- Identify the repo:
gh repo view --json nameWithOwner -q '.nameWithOwner'
- Search existing issues — if a close match exists (same symptom, different tool; same tool, different symptom; closed issue that might cover the new case), add a comment on that issue instead of filing a new one — unless the symptom or scope is distinct enough to warrant separate tracking:
gh issue list --search "your error message or keyword" --state all
# Assess a close match before commenting — is it already linked to a fix or referenced elsewhere?
gh issue view <number> --comments
gh api 'repos/{owner}/{repo}/issues/<number>/timeline' --paginate \
--jq '.[] | select(.event=="cross-referenced") | .source.issue | "\(.repository.full_name)#\(.number) — \(.title)"'
-
Reproduce the issue — confirm it's reproducible. Note the exact input, transport mode, and any relevant env vars.
-
Check logs — review
ctx.logoutput and any framework telemetry for clues. If running HTTP, check the response body for structured error details.
Writing Well-Structured Issues
Good issues are scannable, concrete, and self-contained — terse and fact-dense. Default to one or two sentences per bullet; if a bullet runs long, split it or cut it. These patterns apply to both bugs and features — the guidance targets any prose block (Description, Additional context, feature proposals).
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.
- 10d ago First seen · 310 lines · 44 tokens per session scan A 424389e230d2
report-issue-local is a skill published in the GitHub repository cyanheads/openstreetmap-mcp-server (5 stars, last pushed today), licensed Apache-2.0. It adds 44 tokens to every session and 2,955 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to report-issue-local, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
wtf-happened
Retrieve a distilled timeline of the current troubleshooting incident and generate a runbook skeleton. Returns a concise summary by default, or the full untruncated timeline on request.
wtf-now
Add a manual observation to the WTF flight recorder journal. The entry is stored as a crafted (intentional) record. Classification of the entry's action type is handled by the background classifier — do not attempt to infer it here.
wtf
Launch the WTF flight recorder for a new troubleshooting incident. Archives any prior incident, prompts for an optional title, then puts Claude into flight recorder mode where significant observations, theories, and corrective actions are journaled automatically.
api-linter
MCP definition linter rules reference. Use when bun run lint:mcp or bun run devcheck reports a lint error or warning (format-parity, schema-is-object, name-format, server-json-, etc.) and you need to understand the rule, its severity, and how to fix it. Every rule ID the linter emits has an entry in this doc.
api-errors
McpError constructor, JsonRpcErrorCode reference, and error handling patterns for @cyanheads/mcp-ts-core. Use when looking up error codes, understanding where errors should be thrown vs. caught, or using ErrorHandler.tryCatch in services.
report-issue-framework
File a bug or feature request against @cyanheads/mcp-ts-core when you hit a framework issue. Use when a builder, utility, context method, or config behaves contrary to the documented API — not for server-specific application bugs.