AgentSkillsCN

creating-github-issues

当您看到`/omo`时,可使用此技能。它适用于多智能体协同工作,用于“代码分析/漏洞调查/修复方案规划/实施”。根据任务类型与风险程度,灵活选择最精简的智能体组合及其执行顺序;下方的示例配方展示了常见的协作模式。

SKILL.md
--- frontmatter
name: creating-github-issues
description: Use when creating GitHub issues, making new issues, filing bugs, requesting features, or before running `gh issue create`. Triggers on "new issue", "create issue", "file issue", "gh issue", "open issue". Ensures proper research, labels, and comprehensive issue documentation.

Creating GitHub Issues

Overview

Every GitHub issue should be well-researched and clearly documented. This skill ensures issues contain enough context for anyone to understand and implement them.

Mandatory Workflow

Step 1: Research the Codebase

Before writing the issue, use the Explore agent or search tools to understand:

  • Where relevant code lives (file paths, functions, components)
  • How similar functionality is currently implemented
  • Database tables, API endpoints, or UI components involved
  • Existing patterns that should be followed

Include in the issue:

  • Specific file paths and line numbers
  • Code snippets showing current implementation
  • References to similar existing code as examples

Why: Issues with research reduce back-and-forth questions and give implementers a head start.

Step 2: Create the Issue

Use gh issue create with a well-structured body:

bash
gh issue create --title "Brief descriptive title" --body "$(cat <<'EOF'
## Summary
<1-3 sentences describing what needs to be done>

## Current State
<What exists now, with file paths and code references>

## Proposed Changes
<What should change, with specific details>

## Technical Notes
<File paths, database tables, API endpoints, code snippets>

## Acceptance Criteria
- [ ] Specific testable requirement
- [ ] Another requirement
EOF
)"

Step 3: Add Labels

Discover current labels and apply appropriate ones:

bash
gh label list --limit 50

Common label categories:

  1. Type (pick one):

    • enhancement - New feature or improvement
    • bug - Something isn't working
    • documentation - Documentation improvements
    • question - Further information requested
  2. Priority (if applicable):

    • priority: critical - Production broken, blocking issue
    • priority: high - Important bug fix, urgent feature
    • priority: low - Nice to have, can wait
  3. Area (if applicable):

    • Labels indicating which part of the codebase is affected
bash
gh issue edit <number> --add-label "enhancement"

Step 4: Add to Project (if applicable)

If the repository uses GitHub Projects:

bash
gh issue edit <number> --add-project "Project Name"

Issue Template

markdown
## Summary
<1-3 sentences describing what needs to be done>

## Current State
<What exists now>
- File: `path/to/file.ts:123`
- Current behavior: <description>

## Proposed Changes
<What should change>
1. Change X to do Y
2. Add Z functionality

## Technical Notes
- Relevant files: `src/components/Feature.tsx`, `src/utils/helpers.ts`
- Related functions: `handleSubmit()`, `validateInput()`
- Consider: <architectural notes, edge cases>

## Acceptance Criteria
- [ ] Specific testable requirement
- [ ] Another requirement
- [ ] Tests pass

## Additional Context
<Screenshots, error messages, related issues>

Field Selection Guidelines

Priority

  • Critical - Production broken, blocking issue
  • High - Important bug fix, urgent feature (most bugs default here)
  • Medium - Standard feature work
  • Low - Nice to have, can wait

Default guidance: Bugs default to High unless trivial. Enhancements default to Medium unless urgent.

Common Mistakes

MistakeFix
Create issue without researching code firstUse Explore agent to find relevant files
Generic issue descriptionInclude specific file paths, line numbers, code snippets
Missing acceptance criteriaAlways include testable requirements
No labelsAlways add at least a type label
Vague titleMake titles specific and searchable