VIRIM Infotech
Your AI Assisted Product Developers

vm-github-issue-writer

Skill detail with category, linked agents, and source metadata.

vm-github-issue-writer

Draft properly formatted GitHub issues for planned work. Use when the user wants to create an issue, ticket, backlog item, implementation story, engineering requirement, or a work item from notes, docs, PRDs, architecture decisions, bugs, or rough ideas. Produces a title plus a clean markdown issue body with scope, value, dependencies, risks, and testable acceptance criteria.

Category: requirements-elicitation Used by 3 agents

Source: .github/skills/requirements-elicitation/vm-github-issue-writer/SKILL.md

Used By Agents

Preview

View source preview (first 3000 chars)

# VM GitHub Issue Writer

Create GitHub issues that are ready to hand to engineering without forcing the assignee to reverse-engineer intent.

## When To Use

Use this skill when the user wants to:

- Turn rough work into a GitHub issue
- Convert requirements, PRDs, BRDs, architecture notes, or meeting notes into an implementation ticket
- Create a story or engineering requirement with explicit acceptance criteria
- Tighten an underspecified issue before it is filed

Do not use this skill for:

- Pull request descriptions
- Incident tickets or postmortems
- Full PRDs or architecture documents

## Required Outcome

Produce these two outputs:

1. A concise GitHub issue title
2. A markdown issue body using the template in [github-issue-template.md](./assets/github-issue-template.md)

If the input is missing critical information, produce the best issue you can without inventing facts and add the gaps to `Open Questions`.

## Decision Logic

### 1. Choose the issue framing

- Use **User Story** framing when the work is user-centric and the value is best expressed as "As a..., I want..., so that..."
- Use **Requirement** framing when the work is system-centric, platform-centric, integration-centric, operational, security, or infrastructure-focused
- Use **Bug Fix** framing only if the user clearly describes broken current behavior
- If the framing is ambiguous, default to **Requirement** and state the ambiguity in `Open Questions`

### 2. Extract the minimum issue inputs

Capture, in this order:

- The problem or opportunity
- The desired outcome or value
- The scope of work
- Constraints, assumptions, or non-goals
- Dependencies and impacted systems
- Evidence or source references
- Acceptance criteria that can be verified

### 3. Normalize weak inputs

- Rewrite vague requests into specific implementation intent
- Split business value from implementation notes
- Convert implicit success conditions into explicit acceptance criteria
- Move speculative items into `Open Questions` or `Risks / Constraints`
- Keep the issue self-contained enough that an engineer can start work without reopening discovery from scratch

## Title Rules

Write the title as a short action-oriented statement.

- Prefer verb-first phrasing
- Keep it under 80 characters when practical
- Avoid filler such as "Need to", "Work on", or "Investigate" unless the work is genuinely exploratory
- Do not include markdown headings or ticket IDs in the title

Examples:

- `Add health check endpoint for outage reporter service`
- `Harden prompt logging to avoid sensitive customer data exposure`
- `Fix duplicate event emission during outage status updates`

## Body Construction Rules

Always use the exact section order from [github-issue-template.md](./assets/github-issue-template.md).

### Summary

- Explain the work in 2-4 sentences
- State the business or operational reason the work matters

### Work Type

- Set one of: `User Story`, `Requirement`, `Bug Fix`, `chore`, `Spike`

### Problem