Automates creating, listing, and updating GitHub issues based on documentation.

Install

mkdir -p .claude/skills/issue-jiangzhe && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17475" && unzip -o skill.zip -d .claude/skills/issue-jiangzhe && rm skill.zip

Installs to .claude/skills/issue-jiangzhe

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Automate GitHub Issues lifecycle workflows with deterministic scripts. Use when creating, triaging, assigning, updating, linking, or closing issues in this repository, especially when converting planning documents in docs/tasks or docs/rfcs into trackable GitHub issues with required type labels and default priority handling.
326 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

Key capabilities

  • Validate planning document paths before issue creation.
  • Create GitHub issues from planning documents.
  • Sync `github_issue: <issue-id>` back into source planning docs.
  • Derive labels from planning-doc metadata or CLI arguments.
  • Handle default labels for task, epic, and priority.
  • List existing issues by state, assignee, or labels.

How it works

This skill automates GitHub Issue lifecycle workflows by validating planning document paths, creating issues from these documents, and syncing issue IDs back to the source documents, while also supporting issue listing.

Inputs & outputs

You give it
planning document path or issue query parameters
You get back
created GitHub issue, updated planning document, or list of issues

When to use issue

  • Create issue from RFC
  • Triage tasks from docs
  • List project issues
  • Sync issue IDs to docs

About this skill

GitHub Issue Automation

Use these scripts for issue creation and listing. Avoid interactive gh prompts. Scripts are executable; invoke them directly (no cargo +nightly -Zscript prefix).

Enforce Document-First Creation

Before creating an issue, validate the planning document path:

tools/issue.rs validate-doc-path --path docs/tasks/000001-example.md

Accepted paths:

  • docs/tasks/<6 digits>-<slug>.md
  • docs/rfcs/<4 digits>-<slug>.md

Create operations must fail if no valid planning document is provided.

If user input is id-only shorthand (for example $issue create task 000047), resolve id to exactly one document first:

tools/doc-id.rs search-by-id --kind task --id 000047 --scope open

Create Issue From Planning Doc

tools/issue.rs create-issue-from-doc \
  --doc docs/tasks/000001-example.md \
  --labels "type:task,priority:high" \
  --assignee "@me"

create-issue-from-doc must use assignee @me. After successful issue creation, the tool also syncs github_issue: <issue-id> back into the source planning doc immediately (task or RFC) so later workflows can read issue linkage directly from doc content.

--labels is optional. If omitted, labels can be derived from planning-doc metadata:

Issue Labels:
- type:task
- priority:high
- codex

When both metadata and --labels are present:

  • CLI type:* and priority:* override metadata values.
  • codex is unioned from both sources.

Defaults when no source provides a value:

  • task doc -> type:task
  • RFC doc -> type:epic
  • priority -> priority:medium

For a task whose explicit Parent RFC: block names one RFC document, validate that RFC document and read its github_issue value. Fail if the block is ambiguous or the RFC has no issue. Pass the resolved issue number to the task creation command:

tools/issue.rs validate-doc-path \
  --path docs/rfcs/0001-example.md

tools/issue.rs create-issue-from-doc \
  --doc docs/tasks/000002-subtask.md \
  --labels "type:task" \
  --assignee "@me" \
  --parent 42

The tool forwards --parent to the same gh issue create command so GitHub creates a native sub-issue. Do not add Part of #<parent> to the body and do not run a follow-up linking command. Omit --parent for standalone tasks and RFC documents.

This script always uses --body-file to avoid body-length command issues. Issue bodies include planning metadata plus selected document context:

  • task docs: Summary, Context, Goals, and Non-Goals
  • RFC docs: Summary, Context, and Decision

Allowed labels are strictly validated:

  • type: type:doc, type:perf, type:feature, type:question, type:bug, type:chore, type:epic, type:task
  • priority: priority:low, priority:medium, priority:high, priority:critical
  • special: codex

List Issues

tools/issue.rs list-issues --state open --assignee "@me" --limit 50

Use --label repeatedly for multiple labels:

tools/issue.rs list-issues --label type:task --label priority:high

Reference

If workflow details are needed, read:

  • references/workflow.md

When not to use it

  • Do not use interactive `gh` prompts.
  • Create operations must fail if no valid planning document is provided.
  • Do not use for labels outside the strictly validated types, priorities, and 'codex'.

Limitations

  • The skill requires planning documents to follow specific path formats.
  • It strictly validates allowed labels.
  • It does not use interactive `gh` prompts.

How it compares

This skill enforces a document-first approach to GitHub issue creation and management, automatically syncing issue IDs and deriving labels, which is more structured than manual issue creation.

Compared to similar skills

issue side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
issue (this skill)01moReviewBeginner
github-manage68moReviewBeginner
jira116moNo flagsBeginner
github-issues52moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry