github-issue-creator
Skill566 starsChanged 13 days agoApache-2.0View on GitHub
Create GitHub issues with full metadata (type, labels, priority, effort, milestone), sub-issue hierarchy, and project assignment. Use when asked to create issues, file bugs, plan features, or organize work into parent/child issue trees.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- delorenj/skillstheir own version, first seen Nov 7, 2026
- MithunWijayasiri/dotclaudetheir own version, first seen Nov 1, 2026
- ericwood8/skillstheir own version, first seen Nov 1, 2026
- JayMeDotDot/jmdd-agent-skillstheir own version, first seen Oct 17, 2026
- google-gemini/gemini-clitheir own version, first seen Oct 13, 2026
- nek1987/auto-agent-harnesstheir own version, first seen Oct 11, 2026
Used with
Projects with it also use pr-creator.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
GoogleSkillpr-creator
Also in 3 projects that use this
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- google-gemini/gemini-cli★ 109ksame name
- microsoft/agent-skills★ 3.2ksame name
- microsoft/skills★ 3.2ksame name
- alex-ilgayev/MCPSpy★ 519same name
- bd-dxg/skills★ 28same name
- ChatisTech/skills★ 17same name
- delorenj/skills★ 17same name
- MithunWijayasiri/dotclaude★ 4same name
- nek1987/auto-agent-harness★ 4same name
- ericwood8/skills★ 1same name
2 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
- android-fastlane-releaseSkill
- close-chatSkill
- firebase-hosting-configSkill
- flutter-feature-iterationSkill
- flutter-test-repairSkill
- github-actions-repository-workflowsSkill
- github-issue-implementationSkill
- github-project-managerSkill
- project-taskSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 8 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Create one or more GitHub issues with complete metadata, sub-issue hierarchy, and project-board assignment — all non-interactively via gh …
- Very specific: line 14
Default repository is osociety/vernet unless the user specifies otherwise.
- Distinctive: line 15
If the request is ambiguous about metadata, infer reasonable defaults from the content:
- Distinctive: line 23
Before creating issues, resolve the available values for this repository:
- Very specific: line 49
Use gh issue create for each parent.
- Very specific: line 63
Create each sub-issue the same way.
- Very specific: line 90
Use the GraphQL updateIssue mutation.
- Distinctive: line 138
Before creating new issues, check for existing similar or duplicate issues:
- Distinctive: line 148
If a similar issue exists, offer to add the new work as a sub-issue of the existing one instead of creating a duplicate parent.
- Very specific: line 153
Use for loops for repetitive operations (linking N sub-issues, setting metadata on N issues).
- Distinctive: line 159
After creating all issues, report:
- Distinctive: line 167
Never create issues without the user's explicit request or approval.
- Distinctive: line 168
Never modify or close existing issues unless explicitly asked.
- Distinctive: line 169
Never expose credentials or tokens in issue bodies.
- Very specific: line 170
Default to osociety/vernet but confirm if the user mentions a different repo.
- Very specific: line 171
If gh CLI is unavailable or auth fails, state the exact error and what scope or tool is needed.
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
GitHub Issue Creator
Create one or more GitHub issues with complete metadata, sub-issue hierarchy, and project-board assignment — all non-interactively via gh CLI and GraphQL.
Intake
- Accept a plain-language description, a list of issues, or a structured brief (title + body + metadata).
- Default repository is
osociety/vernetunless the user specifies otherwise. - If the request is ambiguous about metadata, infer reasonable defaults from the content:
- Bugs → type
Bug, labelsbug, priorityHighorMedium - Features → type
Feature, labelsenhancement, feature request, priorityMedium - Tasks/chore → type
Task, labelsenhancement, priorityLoworMedium
- Bugs → type
- Confirm the plan with the user before creating if there are more than 5 issues or the metadata choices are non-obvious.
Metadata reference
Before creating issues, resolve the available values for this repository:
# Labels
gh label list --limit 50
# Milestones (number = API ID)
gh api repos/{owner}/{repo}/milestones --jq '.[] | "\(.number): \(.title)"'
# Issue types
gh api graphql -f query='query { repository(owner:"OWNER", name:"REPO") { issueTypes(first:10) { nodes { id name } } } }'
# Issue fields (Priority, Effort, etc.)
# Use the MCP tool list_issue_fields or inspect existing issues for field names and option values.
# Project ID
gh project list --owner {org} --format json --jq '.projects[] | "\(.number): \(.id) — \(.title)"'
# Milestone GraphQL node IDs
gh api graphql -f query='query { repository(owner:"OWNER", name:"REPO") { milestones(first:10) { nodes { id number title } } } }'Issue creation procedure
Step 1 — Create parent issues
Use gh issue create for each parent. This avoids OAuth restrictions that block the MCP issue_write tool for creation.
gh issue create --repo {owner}/{repo} \
--title "Issue title" \
--body '## Summary\n\n...\n\n## Sub-issues\n\n- [ ] Sub 1\n- [ ] Sub 2\n\n## Notes\n\n...' \
--label "label1,label2" \
--type "Feature"Capture the returned issue URL to extract the issue number.
Step 2 — Create sub-issues
Create each sub-issue the same way. Include Parent: #NNN in the body for traceability.
Step 3 — Link sub-issues to parents
Get node IDs, then use the GraphQL addSubIssue mutation:
# Get node IDs for recent issues
gh api graphql -f query='query { repository(owner:"OWNER", name:"REPO") {
issues(first:N, orderBy:{field:CREATED_AT, direction:DESC}) {
nodes { number id title }
}
} }'
# Link sub-issue to parent
gh api graphql -f query='mutation {
addSubIssue(input: {
issueId: "PARENT_NODE_ID",
subIssueId: "CHILD_NODE_ID"
}) { clientMutationId }
}'Important: The GraphQL field for the parent is issueId, not parentIssueId.
Step 4 — Set metadata (Priority, Effort, Milestone, Type)
Use the GraphQL updateIssue mutation. This works non-interactively and bypasses the MCP OAuth restriction.
# Set Priority + Effort + Milestone on a parent
gh api graphql -f query='mutation {
updateIssue(input: {
id: "NODE_ID",
milestoneId: "MILESTONE_NODE_ID",
issueFieldUpdates: [
{fieldName: "Priority", operation: SET, value: "Medium"},
{fieldName: "Effort", operation: SET, value: "Low"}
]
}) { issue { number } }
}'
# Set Type on a sub-issue
gh api graphql -f query='mutation {
updateIssue(input: {
id: "NODE_ID",
issueTypeId: "TASK_TYPE_NODE_ID"
}) { issue { number } }
}'Issue type node IDs (osociety org-level):
- Task:
IT_kwDOBrhdxM4BDejs - Bug:
IT_kwDOBrhdxM4BDeju - Feature:
IT_kwDOBrhdxM4BDejx
Step 5 — Add to project
PROJECT_ID="PVT_kwDOBrhdxM4AGto0" # Vernet project
gh api graphql -f query='mutation {
addProjectV2ItemById(input: {
projectId: "PROJECT_ID",
contentId: "ISSUE_NODE_ID"
}) { item { id } }
}'Requires the project scope on the gh CLI token. If missing, tell the user to run:
gh auth refresh -h github.com -s projectConsolidation checks
Before creating new issues, check for existing similar or duplicate issues:
# Search for similar issues
gh search issues "query" --repo {owner}/{repo} --limit 10
# Or list all open issues and scan titles
gh api repos/{owner}/{repo}/issues --paginate -q '.[] | select(.state == "open" and .pull_request == null) | "#\(.number) \(.title)"'If a similar issue exists, offer to add the new work as a sub-issue of the existing one instead of creating a duplicate parent.
Batch efficiency
- Parallelize independent GraphQL mutations (multiple
gh api graphqlcalls in the same block). - Use
forloops for repetitive operations (linking N sub-issues, setting metadata on N issues). - Get all node IDs in one query before starting mutations.
- Group operations by type: all creates first, then all links, then all metadata updates, then all project additions.
Completion report
After creating all issues, report:
- Parent issue numbers and URLs with their metadata (type, priority, effort, milestone).
- Sub-issue hierarchy as a table.
- Any issues that could not be created or linked, with the reason.
- Project assignment status.
Safety boundaries
- Never create issues without the user's explicit request or approval.
- Never modify or close existing issues unless explicitly asked.
- Never expose credentials or tokens in issue bodies.
- Default to
osociety/vernetbut confirm if the user mentions a different repo. - If
ghCLI is unavailable or auth fails, state the exact error and what scope or tool is needed.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

