Agent skill

Report Issue Local

by cyanheads in cyanheads/pubmed-mcp-server

File a bug or feature request against this MCP server's own repo.

Apache-2.0Auto-check passedAgent Workflows

Install Report Issue Local

skills CLI
$ npx skills add cyanheads/pubmed-mcp-server --skill report-issue-local -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cyanheads/pubmed-mcp-server report-issue-local --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cyanheads/pubmed-mcp-server.git skills-src && mkdir -p .claude/skills && cp -r skills-src/framework-skills/report-issue-local .claude/skills/report-issue-local && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
report-issue-local
GitHub stars
156
Token cost
~3.3k tokens
SKILL.md length
1,215 words
Files
1
Skills in repo
30
Repo updated
First seen
Licence
Apache-2.0

At a glance

File a bug or feature request against this MCP server's own repo.

  • Works in 4 steps: Identify the repo → Search existing issues — if a close… → Reproduce the issue — confirm it's… → …
  • Server-specific issues — tool logic
  • SKILL.md covers When to Use, Before Filing, Writing Well-Structured Issues and Redact Before Posting, plus 5 more sections
  • Calls gh and bun; reaches hono.dev and supabase.com

What it does

Report Issue Local is an agent skill from cyanheads/pubmed-mcp-server. File a bug or feature request against this MCP server's own repo. Use for server-specific issues — tool logic, service integrations, config problems, or domain bugs that aren't caused by the framework.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol. The repository describes itself as: Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms via MCP. STDIO or Streamable HTTP. The licence is Apache-2.0.

When your agent uses it

  • Server-specific issues — tool logic
  • Service integrations
  • Config problems
  • Domain bugs that arent caused by the framework

Example prompts

  • “/report-issue-local”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Identify the repo
  2. Search existing issues — if a close match exists (same symptom, different tool; same tool, different symptom; closed issue that might…
  3. Reproduce the issue — confirm it's reproducible. Note the exact input, transport mode, and any relevant env vars.
  4. Check logs — review ctx.log output and any framework telemetry for clues. If running HTTP, check the response body for structured error…

What it can do on your machine

Read from SKILL.md and the folder at commit 5a417fb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • bun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • hono.dev
    • supabase.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Report Issue Local loads about 3.3k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 1,215 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~55
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cyanheads/pubmed-mcp-server at commit 5a417fb, republished under its Apache-2.0 licence (© cyanheads). 1,215 words, ~3,255 tokens.

Download SKILL.mdSave it as .claude/skills/report-issue-local/SKILL.md (or your agent's skills folder).
name
report-issue-local
description
File a bug or feature request against this MCP server's own repo. Use for server-specific issues — tool logic, service integrations, config problems, or domain bugs that aren't caused by the framework.
metadata.author
cyanheads
metadata.version
1.12
metadata.audience
external
metadata.type
workflow

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

  1. Identify the repo:
bash
gh repo view --json nameWithOwner -q '.nameWithOwner'
  1. 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:
bash
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>              # body
gh issue view <number> --comments   # thread only — without a TTY it prints no body
gh api 'repos/{owner}/{repo}/issues/<number>/timeline' --paginate \
  --jq '.[] | select(.event=="cross-referenced") | .source.issue | "\(.repository.full_name)#\(.number) — \(.title)"'
  1. Reproduce the issue — confirm it's reproducible. Note the exact input, transport mode, and any relevant env vars.

  2. Check logs — review ctx.log output and any framework telemetry for clues. If running HTTP, check the response body for structured error details.

Writing Well-Structured Issues

Good issues are terse and fact-dense. Budget: a bug reads in ~150 words, a feature in ~250, code and logs excluded. Every section past the form's required fields must earn its place — a section you could delete without changing the fix is noise. One or two sentences per bullet; if a bullet runs long, split it or cut it.

  • Cut what dilutes the signal. Mechanism walkthroughs (link the PR or doc instead), ceremonial framings ("This issue covers…"), conversation references ("as discussed", "per offline"), restated context the reader already has, and kitchen-sink Additional context blocks. If a paragraph isn't pulling weight, drop it.
  • Lead with specifics. Name the tool, service, resource, or symptom. "Currently search_docs returns an empty array for queries containing &" beats "Search is broken." A reader should know what's wrong before the end of the first sentence.
  • Embed library/service links on first mention. [Hono](https://hono.dev/), [Supabase](https://supabase.com/). Link to the canonical repo or homepage so readers can verify the dependency and reach docs in one click.
  • Use owner/repo#N for cross-repo issue references. GitHub auto-renders them as linked references (e.g. cyanheads/mcp-ts-core#46). Bare #N only works for same-repo issues — useful when the bug depends on or relates to a framework issue.
  • Add a Related: #N line near the top when the issue grows from prior context (discussions, other issues, PRs). Makes provenance clickable.
  • Cite cross-references once per body. Link an issue/PR in Related:, the description, or Additional context — not all three. The reader sees them all; redundant linking dilutes signal.
  • Prefer Markdown tables for comparisons. When showing options, data sources, strategies, or tradeoffs — tables are the highest-density format for scanning N rows × M attributes.
  • Use Depends on: owner/repo#N to declare ordering explicitly when implementation is blocked on an upstream framework change or another issue landing first.
  • Skip collaborator-framing sign-offs. Lines like "Happy to open a PR", "let me know if you'd like", "willing to contribute", "if that's the preferred flow" read as noise. A PR link beats an offer; if you're the maintainer filing against your own repo, the offer is redundant. End the body at the last substantive point.

Redact Before Posting

GitHub issues are public. Do not include secrets, credentials, API keys, or tokens. Redact sensitive values from env vars, headers, and logs before submitting. Replace with obvious placeholders: REDACTED, sk-...REDACTED. Do not rely on partial masking — partial keys can still be exploited.

Filing a Bug

This repo includes YAML form issue templates (scaffolded from the framework). Use --web to open the form in the browser (preferred when available), or pass --title + --body for non-interactive use.

Browser (interactive)
bash
gh issue create --template "Bug Report" --web
CLI (non-interactive)

Structure the --body to match the template's form fields. Description is two or three sentences; the reproduction is the exact input and the observed output, nothing else. Add ### Additional context only when it changes the fix (a workaround, a related issue, the one log line that matters) — omitted by default.

bash
gh issue create \
  --title "bug(tool_name): concise description" \
  --label "bug" \
  --assignee "@me" \
  --body "$(cat <<'ISSUE'
### Server version

<package.json version>

### mcp-ts-core version

<installed version from node_modules/@cyanheads/mcp-ts-core/package.json — not the ^ range>

### Runtime

Bun

### Runtime version

<bun --version>

### Transport

stdio

### Description

What happened and what you expected instead.

### Steps to reproduce

1. Call `tool_name` with input: `{ "key": "value" }`
2. Observe error / wrong output

### Actual behavior

```
Error or incorrect output here
```

### Expected behavior

What should have happened.
ISSUE
)"
Title conventions

Format: type(scope): description

  • type: bug, feat, docs, chore
  • scope: tool name, service name, resource name, config, auth, or domain area

Examples:

  • bug(search_docs): returns empty results for queries with special characters
  • feat(analytics): add date range filter to usage_report tool
  • docs(setup): .env.example missing REDIS_URL
Show full SKILL.md (481 more words)Show less
Labels

Every issue needs exactly one primary label. Stack secondary labels on top when applicable.

Primary (required — pick one):

LabelWhen
bugSomething broken
enhancementNew feature or improvement
documentationDocumentation is wrong, missing, or misleading

Secondary (optional — stack on top of primary):

LabelWhen
regressionWorked before, broken after a change
performanceMemory, CPU, latency, or resource usage
securityVulnerability, CVE, or hardening work
breaking-changeChange will break public API or an existing tool contract
blocked-by-frameworkFix requires a released change in @cyanheads/mcp-ts-core; pairs with a Depends on: cyanheads/mcp-ts-core#N line in the body
blocked-by-sdkFix requires changes in @modelcontextprotocol/sdk
surplus-token-ideaWorth exploring when token budget allows

blocked-by-framework comes off when this server adopts the release that ships the fix. An issue blocked on the SDK through the framework takes blocked-by-framework, not blocked-by-sdk — the server's own unblock is still a framework release.

Combine labels: --label "bug" --label "regression".

Secondary labels are not GitHub defaults — if gh issue create --label "regression" fails with label not found, create it once:

bash
gh label create regression --color e99695 --description "Worked before, broken after a change"
gh label create performance --color 5319e7 --description "Memory, CPU, latency, or resource usage"
gh label create security --color b60205 --description "Vulnerability, CVE, or hardening work"
gh label create breaking-change --color d93f0b --description "Change will break public API or an existing tool contract"
gh label create blocked-by-framework --color fbca04 --description "Fix requires a released change in @cyanheads/mcp-ts-core"
gh label create blocked-by-sdk --color c5def5 --description "Fix requires changes in @modelcontextprotocol/sdk"
gh label create surplus-token-idea --color FF10F0 --description "Worth exploring when token budget allows"
Attaching logs or large output

Note: --body-file replaces the entire body — it does not supplement a --body flag. For structured bugs with logs, either embed the log content in the Additional context section of a normal --body, or file the issue first and add the log as a comment:

bash
bun run rebuild && bun run start:stdio 2>&1 | head -200 > /tmp/server-error.log

# As part of a new issue (the log becomes the entire body — no template fields)
gh issue create \
  --title "bug(ingest): crashes on large payload" \
  --label "bug" \
  --assignee "@me" \
  --body-file /tmp/server-error.log

# Or as a comment on an existing issue (preferred — keeps the structured body intact)
gh issue comment <number> --body-file /tmp/server-error.log

Filing a Feature Request

Browser (interactive)
bash
gh issue create --template "Feature Request" --web
CLI (non-interactive)

The first three headings are the Feature Request form's own fields, in its order — Use case and Proposed behavior are required by the form, so a body without them does not satisfy it. Out of scope is one or two lines. Nothing else by default: a Scope, Flow, Design / Tradeoffs, or Depends on block is added only when the reader cannot act without it, and each stays to a few lines.

bash
gh issue create \
  --title "feat(scope): concise description" \
  --label "enhancement" \
  --assignee "@me" \
  --body "$(cat <<'ISSUE'
### Use case

One or two sentences: who hits this gap and why it matters. Name the specific tool, service, resource, or domain area. Kept short on purpose — a field that invites a paragraph gets padded with background and skipped by the next reader.

Related: #N

### Proposed behavior

What you want the server to do, then the new behavior or surface. For tool/resource changes, show example input/output or the new schema fields. Link external libraries or services on first mention: [lib name](https://github.com/owner/repo).

```ts
// Example: new input field or output shape
```

### Alternatives considered

What you tried or evaluated instead, and why it didn't fit.

### Out of scope

- Adjacent work that belongs in a separate issue
ISSUE
)"

Triage: Framework vs Server

Not sure where the bug lives? Quick checks:

SignalLikely frameworkLikely server
Error originates in node_modules/@cyanheads/mcp-ts-core/Yes
Error in src/mcp-server/tools/ or src/services/Yes
Same bug reproduces with a bare tool() definition (no services)Yes
Bug disappears when you swap in a dummy handlerYes
ctx.state, ctx.log, ctx.inputs behave wrong on any toolYes
Only one specific tool/resource is affectedYes

When genuinely ambiguous, file against this server's repo and note that it might be a framework issue. The maintainer can transfer it upstream.

Following Up

bash
# View the issue body, then its comment thread (--comments without a TTY prints no body)
gh issue view <number>
gh issue view <number> --comments

# Add context
gh issue comment <number> --body "Additional findings..."

# List your open issues
gh issue list --author @me

# Close if resolved
gh issue close <number> --reason completed --comment "Fixed in <commit or PR>"

Checklist

  • Confirmed bug is in server code, not the framework
  • Searched existing issues — no duplicate found; close matches commented instead of duplicated
  • All secrets, credentials, and tokens redacted
  • Title follows type(scope): description format
  • Primary label assigned (bug / enhancement / documentation)
  • If bug: version, runtime, repro steps, actual vs expected behavior included
  • If feature: Use case and Proposed behavior present (the form's required fields), Alternatives considered third; Out of scope defined
  • Inside the budget — ~150 words for a bug, ~250 for a feature, code and logs excluded — and every section past the form's fields earns its place

© cyanheads, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in framework-skills/report-issue-local of cyanheads/pubmed-mcp-server.

Open the folder on GitHubat commit 5a417fb

Compare with similar skills

Report Issue Local next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Report Issue Local compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Report Issue Local this skillcyanheads/pubmed-mcp-server156—~3.3kAutomated safety check: PassApache-2.0
Setting Up Papergraphlotchuazzz-crypto/papergraph-mcp285—~3.3kAutomated safety check: PassMIT
Just PRs MCPClawBio/ClawBio1.2k—~3.5kAutomated safety check: PassMIT
Patsnap Current Awarenesspatsnap/mcp113—~671Automated safety check: PassApache-2.0
Patsnap Scientific Translational Evidencepatsnap/mcp113—~728Automated safety check: PassApache-2.0
Peer Review Loophashgraph-online/awesome-codex-plugins1.3k—~2.3kAutomated safety check: PassApache-2.0

Similar skills

  • Setting Up Papergraph

    lotchuazzz-crypto/papergraph-mcp

    A skill your agent uses when a user has cloned PaperGraph MCP and asks to install, initialize, configure, set up, or start using it with an agent or MCP client.

    285 GitHub stars~3.3k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Just PRs MCP

    ClawBio/ClawBio

    Compute evidence-aware polygenic risk scores from a local VCF or WGS file through the validated just-prs engine and a pinned local just-prs MCP server.

    1.2k GitHub stars~3.5k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Patsnap Current Awareness MCP for AI agents. An agent skill from patsnap/mcp.

    113 GitHub stars~671 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Peer Review Loop

    hashgraph-online/awesome-codex-plugins

    Peer Review Ralph Loop — combines Cavekit kits with a Ralph Loop and true cross-model peer review using Codex (OpenAI).

    1.3k GitHub stars~2.3k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed

More from cyanheads/pubmed-mcp-server

All 30 skills in this repo
  • Add App Tool

    cyanheads/pubmed-mcp-server

    Scaffold an MCP App tool + UI resource pair. An agent skill from cyanheads/pubmed-mcp-server.

    156 GitHub stars~3.2k tokensUpdated 5 days ago
    Auto-check passed
  • Add Prompt

    cyanheads/pubmed-mcp-server

    Scaffold a new MCP prompt template. An agent skill from cyanheads/pubmed-mcp-server.

    156 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Add Resource

    cyanheads/pubmed-mcp-server

    Scaffold a new MCP resource definition. An agent skill from cyanheads/pubmed-mcp-server.

    156 GitHub stars~3k tokensUpdated 5 days ago
    Auto-check passed
  • Add Service

    cyanheads/pubmed-mcp-server

    Scaffold a new service integration. An agent skill from cyanheads/pubmed-mcp-server.

    156 GitHub stars~3.6k tokensUpdated 5 days ago
    Auto-check passed
  • Add Test

    cyanheads/pubmed-mcp-server

    Scaffold a test file for an existing tool, resource, or service.

    156 GitHub stars~4.1k tokensUpdated 5 days ago
    Auto-check passed
  • API Auth

    cyanheads/pubmed-mcp-server

    Authentication, authorization, and multi-tenancy patterns for @cyanheads/mcp-ts-core.

    156 GitHub stars~2.7k tokensUpdated 5 days ago
    Auto-check passed

Questions about Report Issue Local

What does Report Issue Local do?

File a bug or feature request against this MCP server's own repo. Report Issue Local is an agent skill from cyanheads/pubmed-mcp-server. File a bug or feature request against this MCP server's own repo.

When should I use Report Issue Local?

Report Issue Local fits situations like: server-specific issues — tool logic; service integrations; config problems; domain bugs that arent caused by the framework.

How do I install Report Issue Local in Claude Code?

Run `npx skills add cyanheads/pubmed-mcp-server --skill report-issue-local -a claude-code`. Or copy the skill folder (framework-skills/report-issue-local in cyanheads/pubmed-mcp-server) into .claude/skills/report-issue-local in your project. Claude Code loads it when a task matches its description.

How do I install Report Issue Local in Codex?

Run `npx skills add cyanheads/pubmed-mcp-server --skill report-issue-local -a codex`. Or copy the skill folder (framework-skills/report-issue-local in cyanheads/pubmed-mcp-server) into .agents/skills/report-issue-local in your project. Codex loads it when a task matches its description.

Can I use Report Issue Local in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cyanheads/pubmed-mcp-server --skill report-issue-local -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/report-issue-local, .gemini/skills/report-issue-local, .github/skills/report-issue-local and .opencode/skills/report-issue-local in your project.

What does Report Issue Local need to run?

Going by SKILL.md and its folder, Report Issue Local needs the command-line tools its instructions call (gh and bun).

Does Report Issue Local access the network?

SKILL.md names 3 domains. In commands or code: hono.dev, supabase.com and github.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Report Issue Local safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Report Issue Local use?

Report Issue Local is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Report Issue Local use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Report Issue Local?

Skills that share tags, products or a category with Report Issue Local: Setting Up Papergraph (lotchuazzz-crypto/papergraph-mcp, 285 stars), Just PRs MCP (ClawBio/ClawBio, 1.2k stars), Patsnap Current Awareness (patsnap/mcp, 113 stars) and Patsnap Scientific Translational Evidence (patsnap/mcp, 113 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Report Issue Local?

cyanheads (a GitHub user) maintains it in cyanheads/pubmed-mcp-server, which has 156 GitHub stars. The repository holds 30 skills in this directory. The repository was last updated on October 4, 2026.

Source: cyanheads/pubmed-mcp-server on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.