github-issue-filer

thurstonsand's avatarfrom thurstonsand

File AnyPod GitHub issues (bug or feature) with the official templates and publish them through the gh CLI.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 1, 2026⬇️1downloads

When & Why to Use This Skill

The GitHub Issue Filer skill automates the process of reporting bugs and suggesting features for the AnyPod repository. By leveraging the GitHub CLI (gh) and official repository templates, it ensures that all technical issues are documented with consistent formatting, required fields, and necessary context like logs or environment details, directly from the AI conversation.

Use Cases

  • Automated Bug Reporting: Transform raw error logs and reproduction steps from a chat session into a professionally formatted GitHub bug report using official templates.
  • Feature Request Formalization: Convert user ideas and pain points into structured feature requests that clearly define the problem, proposed solution, and relevant context.
  • CLI-Based Issue Publishing: Streamline the development workflow by publishing issues directly to GitHub via the gh CLI without needing to leave the terminal or manually fill out web forms.
  • Data Extraction for Issues: Automatically extract relevant technical facts (versions, environment, steps to reproduce) from a long conversation to populate issue fields accurately.
namegithub-issue-filer
descriptionFile AnyPod GitHub issues (bug or feature) with the official templates and publish them through the gh CLI.

GitHub Issue Filer

What This Skill Delivers

Files bug reports and feature requests in thurstonsand/anypod using the repository’s issue templates.

Use this skill whenever someone needs to create a GitHub issuefor a bug or feature.

How to Use the Skill

1. Pick the template

  • Bug report → pass bug
  • Feature request → pass feature
  • Inspect the current fields anytime:
    ./.claude/skills/github-issue-filer/scripts/create_issue.py bug --describe
    

Command options

  • --summary: Replaces <summary> in the template title (e.g., [bug] <summary>).
  • --data-file: Provide a path to the JSON payload instead of piping it via STDIN.
  • --describe: Prints the field list (identifier, description, optional flag, type, options) so you can see which inputs are available.

2. Gather inputs

  • Capture a concise summary to replace <summary> in the template title (e.g., “downloads stall on restart”).
  • Required fields:
    • Bug: happened (what went wrong)
    • Feature: problem (why the change matters)
  • If the user did not provide information for the optional fields (logs, YAML, environment, sources, etc.), ask them if they want to include this info. If the user declines, move on—do not block.
  • Keep answers short, remove secrets, and paste raw text; the script will format it.
  • Need a reminder of available fields? Run create_issue.py bug|feature --describe for the relevant template.

3. Build the JSON payload

Create a JSON object whose keys match the template IDs.

Example bug payload:

{
  "happened": "testing out this template",
  "expected": "as expected",
  "steps": "1. start container\n2. call endpoint",
  "source": "X/Twitter",
  "version": "nightly",
  "env": "TrueNAS SCALE",
  "feed_yaml": "feeds:\n  myfeed:\n    url: https://...",
  "logs": "error lines here"
}

Example feature payload:

{
  "problem": "listeners can’t filter Patreon tiers",
  "solution": "allow tier filter per feed",
  "sources": ["Patreon"],
  "context": "original request in Discord #support"
}

If the conversation already contains these facts, extract them yourself instead of re-asking.

4. Run create_issue.py

Execute the helper with the template name, summary, and JSON payload via STDIN:

./.claude/skills/github-issue-filer/scripts/create_issue.py \
  bug \
  --summary "downloads stall on restart" <<'JSON'
{...payload...}
JSON

Feature example:

./.claude/skills/github-issue-filer/scripts/create_issue.py \
  feature \
  --summary "make Patreon feeds filter tiers" <<'JSON'
{...feature payload...}
JSON

5. Share the result

Return the printed URL (and, if helpful, the confirmation output).