agentleFS
seanb4tseanb4t/codegraph-go/.claude/skills/gh-issue-draft/SKILL.md

gh-issue-draft

Skill0 starsChanged 26 days agoMITView on GitHub

File or rewrite a GitHub issue for this repository from a kind (bug, enhancement, feature, chore) and the facts for its body. Reads the matching issue template for sections and labels, writes the body in plain English, and runs gh issue create or gh issue edit. Use when asked to open, file, draft or rewrite an issue here.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read the template file for the kind.

    line 36
  2. Very specific:

    Search for a duplicate: gh issue list --state all --search "<title words> in:title" --limit 10.

    line 42
  3. Very specific:

    Write the body to a file outside the repository, in the session scratchpad or a mktemp directory.

    line 49
  4. Distinctive:

    Follow the writing rules below.

    line 51
  5. Very specific:

    Create or edit the issue with one gh command, not chained with other commands:

    line 55
  6. Very specific:

    create: gh issue create --title "<prefix><title>" --label <label> [--label area:<x>] --body-file <path>

    line 57
  7. Very specific:

    Use can, will and must. Do not use should, would, may, might or could.

    line 73
  8. Distinctive:

    Put a condition before its command: "If the build fails, read the log."

    line 75
  9. Distinctive:

    Write "whether" for an open question, not a trailing "if".

    line 76
  10. Distinctive:

    No contractions, no semicolons, no em dashes.

    line 77
  11. Distinctive:

    Keep code, identifiers, commands, paths, quoted errors and product names exactly as they are, in backticks.

    line 79

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub issue draft

This skill files one issue, or rewrites one, in this repository. It runs in a forked subagent on Haiku. It does not open pull requests and it does not post comments.

Inputs

The caller gives a kind, a title and the facts for the body. For a rewrite, the caller gives the issue number instead of a kind. Keep the kind an existing issue already has.

kindtemplatetitle prefixlabel
bug.github/ISSUE_TEMPLATE/bug_report.ymlfix: bug
enhancement.github/ISSUE_TEMPLATE/enhancement.ymlfeat: enhancement
feature.github/ISSUE_TEMPLATE/feature_request.ymlfeat: feature
chore.github/ISSUE_TEMPLATE/chore.ymlchore: chore

A chore title adds a scope in parentheses when the facts name one, for example chore(test): ... or chore(ci): ....

Steps

  1. Read the template file for the kind. Each body element's label: is a section heading, written as ### <label> in that order. A dropdown section holds one of its options. A checkboxes section reproduces every option as a Markdown checkbox, with [x] only where the facts support it. An element with validations.required: true must have content.
  2. Search for a duplicate: gh issue list --state all --search "<title words> in:title" --limit 10. Name any related issue in the body as #<number>. Check the "Before submitting" box only after this search.
  3. Pick area labels from gh label list: area:ci, area:indexer, area:mcp, area:agents or area:ui, when the facts place the issue in one of those areas. Do not add needs-triage (a workflow adds it), and do not add a priority:* or approved-* label (the maintainer adds those).
  4. Write the body to a file outside the repository, in the session scratchpad or a mktemp directory. Never write it inside the repository. Follow the writing rules below. If a lint hook reports violations after the write, fix them and write again until it reports none.
  5. End the body with the attribution lines from the session's instructions, verbatim. When the session gives none, add no footer.
  6. Create or edit the issue with one gh command, not chained with other commands:
    • create: gh issue create --title "<prefix><title>" --label <label> [--label area:<x>] --body-file <path>
    • rewrite: gh issue edit <number> --body-file <path>, and --title only when the caller asks for a new title.
  7. Report the issue URL, the labels set, and any duplicate the search found.

Writing rules

The body is for a reader who was not in the conversation.

  • Each section states facts with their evidence: a command and its output, a CI run id, a PR or issue number, a file path with a line number.
  • One topic per paragraph, and at most six sentences per paragraph.
  • A descriptive sentence has at most 25 words. An instruction has at most 20 words and gives one instruction.
  • Active voice and simple tenses. Name the actor.
  • Use can, will and must. Do not use should, would, may, might or could.
  • Put a condition before its command: "If the build fails, read the log."
  • Write "whether" for an open question, not a trailing "if".
  • No contractions, no semicolons, no em dashes. Use "because", "but" or two sentences instead.
  • Keep code, identifiers, commands, paths, quoted errors and product names exactly as they are, in backticks.
  • A list is for three or more parallel items or steps. A table is for a comparison with the same columns per row.
  • Say what is wrong or missing, not "TODO". Delete words such as "simply", "robust", "comprehensive", "leverage" and "in order to".

Repository notes

  • A bug title starts with fix: , and both feature and enhancement titles start with feat: . The template's title: field is the source of truth when these change.
  • The chore template asks "Does this touch anything load-bearing?". Tick a box only when the change edits that artifact, and say in the body when a review reads one without changing it.
  • An issue that a pull request will close is named in that PR as Closes #<number>. A proposal-only PR says Refs #<number>.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.