Skip to content
cccskills
FreePublished on GitHub

create-issue

Create comprehensive GitHub issues with TDD plans, acceptance criteria, and agent instructions for autonomous PR lifecycle management

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (1)

  • SKILL.md11.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Create GitHub Issue Skill

Create comprehensive, well-structured GitHub issues with embedded agent instructions for autonomous PR lifecycle management.

Overview

This skill generates GitHub issues that are self-contained work packets. Each issue includes:

  1. Problem/Feature specification with clear scope
  2. Technical specification with types, schemas, and API design
  3. TDD Implementation Plan with test-first cycles
  4. Acceptance Criteria checklist
  5. Agent Instructions for complete PR lifecycle (implementation → review → merge)

Usage

/create-issue

Interactive Flow

Step 1: Issue Type

Ask the user:

What type of issue is this?
1. Feature - New functionality
2. Bug - Something broken
3. Refactor - Improving existing code

Step 2: Brief Description

Brief description of the problem or feature? (1-2 sentences)

Step 3: Complexity Assessment

What's the estimated complexity?
1. Simple (< 1 day)
2. Medium (2-5 days)
3. Complex (> 1 week)

Step 4: Context Gathering

Any related files, services, or issues I should reference?
(Or say "explore codebase" and I'll investigate)

Step 5: Generate Issue

Based on inputs, generate the full issue using the appropriate template below.


Issue Templates

Feature Template

## Summary

[1-2 sentence description]

**Complexity**: [simple|medium|complex]
**Estimated Effort**: [X days]

---

## Problem

[What problem does this solve? Why is it needed?]

### Evidence

[Logs, metrics, user reports, or reasoning]

### Scope

- IN SCOPE: [what's included]
- OUT OF SCOPE: [what's explicitly NOT included]

---

## Architecture Decision

**Decision**: [What approach will be taken]
**Rationale**: [Why this approach, why NOT alternatives]

---

## Technical Specification

### Types/Interfaces

```typescript
// Key type definitions
```

Zod Schemas (if applicable)

// Validation schemas

API Endpoints (if applicable)

MethodPathDescription

Database Changes (if applicable)

[Schema changes, migrations needed]


TDD Implementation Plan

Cycle 1: [Happy Path]

it("should [expected behavior]", async () => {
  // Test code
});

Cycle 2: [Error Handling]

it("should handle [error case]", async () => {
  // Test code
});

Cycle 3: [Edge Cases]

Cycle 4: [Integration]


Error Handling

ScenarioBehaviorLogging

Implementation Phases

Phase 1: [Core] (High Priority)

  • Task 1
  • Task 2

Phase 2: [Enhancement] (Medium Priority)

  • Task 3

Files to Create/Modify

  • NEW: path/to/new/file.ts
  • path/to/existing/file.ts - [what changes]

Acceptance Criteria

  • All TDD cycles implemented with passing tests
  • Zero TypeScript errors (pnpm typecheck)
  • Zero lint warnings (pnpm lint)
  • All tests pass (pnpm test --run)
  • JSDoc documentation added to all new/modified services
  • docs/SERVICE_INVENTORY.md updated (if new/modified service)
  • Mock factories added/updated (if new service)
  • PR created and all CI checks pass
  • ALL code review comments addressed (see Agent Instructions)
  • All review threads resolved
  • PR approved and merged

Agent Instructions

CRITICAL: Follow this protocol when implementing this issue. A PR is NOT complete until ALL steps are done.

Phase 0: Research (BEFORE writing any code)

Read these files first to avoid reinventing the wheel:

  1. Service Inventory - Check for existing services that might already do what you need:

    # Read the service inventory
    cat docs/SERVICE_INVENTORY.md
    # Or search for specific functionality
    grep -i "embedding\|search\|cache" docs/SERVICE_INVENTORY.md
    
  2. Mock Factories - Review existing mocks to reuse patterns:

    ls src/test-utils/factories/
    
  3. Similar Services - Find services with similar patterns:

    # Find orchestrator patterns
    ls src/lib/services/*-orchestrator*.ts
    # Find persistence patterns
    ls src/lib/services/*-persistence*.ts
    

Why this matters: Reusing existing services and patterns saves time, maintains consistency, and prevents duplicate code.

Phase A: Implementation

  1. Create feature branch from main: git checkout -b feat/[short-name]
  2. Follow TDD cycles exactly as specified above
  3. Add JSDoc documentation to all new/modified services
  4. Run local validation: pnpm lint && pnpm typecheck && pnpm test --run
  5. Update service inventory (if new service)
  6. Create PR with comprehensive description using /create-pr

Phase B: Code Review Iteration

Wait for code reviews before proceeding. Do NOT mark complete after pushing code.

For EACH code review iteration:

  1. Fetch ALL comments (including trivial, nitpicks, and out-of-scope):

    PR_NUMBER=XXX
    OWNER=$(gh repo view --json owner -q .owner.login)
    REPO=$(gh repo view --json name -q .name)
    gh api "repos/$OWNER/$REPO/pulls/$PR_NUMBER/comments" --paginate
    
  2. Address ALL comments by category:

    TypeAction
    Critical/MajorFix immediately
    Medium/MinorFix before merge
    Trivial/NitpickFix these too! Do NOT skip
    Out-of-scopeInvestigate thoroughly - often the BEST insights
  3. For each comment:

    • < 1 day of work → Implement the fix in this PR
    • > 1 day OR architectural → Create a new GitHub issue, link in response
    • Disagree → Reply explaining why with technical reasoning
  4. After making changes:

    pnpm lint && pnpm typecheck && pnpm test --run
    git add . && git commit -m "fix: address review feedback" && git push
    
  5. Respond to EVERY comment thread individually:

    COMMENT_ID=XXX
    CURRENT_USER=$(gh api user -q '.login')
    gh api "/repos/$OWNER/$REPO/pulls/$PR_NUMBER/comments/$COMMENT_ID/replies" \
      -X POST \
      -f body="Fixed in commit $(git rev-parse --short HEAD). [explanation]
    
    *(Response by Claude on behalf of @$CURRENT_USER)*"
    
  6. Wait for next review cycle - Do NOT resolve threads yourself

  7. Repeat steps 1-6 until reviewer confirms satisfaction

Phase C: Thread Resolution

Only AFTER reviewer approval:

  1. Re-fetch all threads to get current IDs

  2. Resolve each thread:

    THREAD_ID="PRRT_xxx"
    gh api graphql -f threadId="$THREAD_ID" -f query='
      mutation($threadId: ID!) {
        resolveReviewThread(input: {threadId: $threadId}) {
          thread { id isResolved }
        }
      }'
    
  3. Verify all threads resolved before proceeding

Phase D: Merge Readiness

PR is ready for merge ONLY when ALL are true:

  • All CI checks pass (green)
  • EVERY code review comment addressed (including trivial/out-of-scope)
  • EVERY thread has individual response
  • All threads are resolved (after reviewer approval)
  • GitHub issues created for any deferred work (> 1 day)
  • No pending reviewer comments awaiting response

Phase E: Squash Merge and Cleanup

IMPORTANT: Always use squash merge, never regular merge.

  1. Squash and merge the PR (combines all commits into one clean commit):

    # Via GitHub CLI
    gh pr merge $PR_NUMBER --squash --delete-branch
    
    # Or via GitHub web UI:
    # Click "Squash and merge" (NOT "Merge" or "Rebase and merge")
    
  2. Delete the feature branch (automatically done with --delete-branch flag):

    # If branch wasn't auto-deleted:
    git push origin --delete feat/[branch-name]
    git branch -d feat/[branch-name]
    
  3. Update local main:

    git checkout main
    git pull origin main
    

Reference

See the /metaswarm:handle-pr-comments command for detailed protocol.


Related Issues

  • [Link to related issues]

References

  • [Link to relevant docs, specs, or PRs]

---

### Bug Template

Use the Feature template with these modifications:

**Title format**: `fix: [brief description]`

**Replace "Problem" section with**:

```markdown
## Bug Report

**Priority**: [P0-Critical|P1-High|P2-Medium|P3-Low]
**Affected Users**: [scope of impact]
**First Reported**: [date/source]

### Expected Behavior

[What should happen]

### Actual Behavior

[What actually happens]

### Steps to Reproduce

1. Step 1
2. Step 2
3. Step 3

### Root Cause Analysis

[If known, explain why this is happening]

### Evidence

[Logs, stack traces, screenshots]

Replace "TDD Implementation Plan" with:

## Test Cases

### Test 1: Verify fix for reported issue

```typescript
it("should [correct behavior] when [condition]", async () => {
  // Reproduce the bug scenario
  // Verify it's now fixed
});
```

Test 2: Regression test

it("should not regress [related functionality]", async () => {
  // Ensure fix doesn't break other things
});

---

### Refactor Template

Use the Feature template with these modifications:

**Title format**: `refactor: [brief description]`

**Add after "Summary"**:

```markdown
## Background

[Why is this refactor needed? What triggered it?]

### Review Feedback Being Addressed

> [Quote the review comment that prompted this work]

- Original PR: #XXX
- Comment by: @reviewer

Add to "Acceptance Criteria":

- [ ] No breaking changes to public APIs
- [ ] All existing tests still pass without modification
- [ ] Performance not degraded (if applicable)

After Generation

After generating the issue content:

  1. Show preview to user

  2. Ask for modifications if needed

  3. Create issue with appropriate labels:

    # Feature
    gh issue create --title "feat: [title]" --body "[content]" \
      --label "enhancement" --label "complexity:[level]"
    
    # Bug
    gh issue create --title "fix: [title]" --body "[content]" \
      --label "bug" --label "priority:[level]"
    
    # Refactor
    gh issue create --title "refactor: [title]" --body "[content]" \
      --label "refactor" --label "complexity:[level]"
    
  4. Report issue number to user


Key Principles

  1. Self-contained: Issues should have everything an agent needs to work autonomously
  2. TDD-first: Always include test specifications before implementation
  3. Complete lifecycle: Agent Instructions cover implementation through merge
  4. No shortcuts: ALL review comments must be addressed, including trivial/nitpicks
  5. Out-of-scope = gold: Comments marked out-of-scope often contain the best insights
  6. Iterate until done: PR is not complete until ALL threads are resolved

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Enforces design review gate after brainstorming — bridges superpowers:brainstorming into the metaswarm quality pipeline

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

Automatic review gate that runs after brainstorming completes - spawns PM, Architect, Designer, Security, and CTO agents in parallel, iterates until all approve

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

Delegate implementation and review tasks to external AI CLI tools (Codex, Gemini) with cross-model adversarial review

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

Address PR review feedback systematically — fetch inline comments, review bodies, handle outside-diff-range comments, resolve threads with proper attribution

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

Analyze the current session and write a self-contained handoff document so a fresh agent can resume the work with full context — outputs a single "Read XXX.md and do YYY." sentence

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

Migrate from npm-installed metaswarm to the marketplace plugin — removes redundant files with safety checks

The English summary is being prepared. Showing the original description.

dsifry/metaswarm422Updated Jun 20, 2026

See all skills by dsifry

Report a problem with this skill