name: skillgram-report description: Report a skillgram bug or a missing-skill gap with real evidence: pick the channel, capture the JSON, open the issue.
skillgram-report
Activation Contract
Use this skill when one of these is true:
- skillgram printed
ok:false, exited1/2, crashed, or said something the disk contradicts (registeredwith no entry in the harness config, a link that points nowhere, a mount that reported zero skills while the manifest has some). - an agent needed a capability and
skillgram missing "<query>"answeredfound:false. - an install or registration did not take effect in the harness after the documented restart.
Not for: "how do I run X" (read INSTALL.md), or a feature idea with no observed gap.
Hard Rules
- A bug is never filed as a skill. Never run
proposeto paper over broken behaviour. - A gap is never filed as a bug. Nothing in the hub for a capability is a request.
- No invented evidence: every exit code, path and JSON line comes from a command you ran now.
- Redact before pasting: tokens, passwords, private hosts, customer names. Keep the shape, change the values.
- Never "fix" skillgram by hand-editing a harness config (
config.toml,config.yaml,.claude.json,.cursor/mcp.json) to compensate. That hides the bug. - Read the config back before claiming success:
<harness> mcp get skillgram(ormcp list) andskillgram status. An exit code is not proof.
Decision Gates
| Observation | Channel |
|---|---|
ok:false, non-zero exit, wrong link, lie in the output, crash | bug → bug_report.yml |
found:false for a capability you actually needed | skill request → skill_request.yml |
| The missing thing is a skillgram command, flag or behaviour, not a skill | bug (say "feature" in the title) |
| Works on another machine or harness | note it as evidence; it is not a fix |
| Unsure | collect both evidences and let the user pick the channel |
Execution Steps
- Reproduce once, keeping the exact command line. Use the CLI (
skillgram <command> --json, orpython <repo>/skillgram.py <command> --jsonwhen it is not installed) and record the exit code ($LASTEXITCODEon PowerShell,$?on POSIX). - Capture the environment:
skillgram status --jsonskillgram doctor --json(read-only; strip paths you do not want public)- OS, Python version,
skillgramversion, the harness, and the launcher you used (SKILLGRAM_MCP_CLI_<HARNESS>when the one onPATHis not the right one).
- For any registration claim, capture
<harness> mcp get skillgram(ormcp list) after the command that claimed success. - For a gap, capture
skillgram missing "<query>" --jsonandskillgram demand --limit 20(it ranks the queries nobody could answer, so the issue and the demand log line up). - Compose the issue from the template and show it to the user before posting. Post with
gh issue create --repo Xhuk/skillgram --template bug_report.yml(or--body-file <file>when filling the form yourself), or hand the text over.
Output Contract
Reply with exactly:
- channel:
bugorskill-request - evidence: the command, the exit code, one JSON line
- environment: OS / Python / skillgram / harness / launcher
- expected instead: one sentence, no speculation
- disposition: posted (with the issue URL) or left as text for the user