plugins/specweave/skills/github-issue-standard/SKILL.md
Mandatory format standard for ALL GitHub issues created by SpecWeave with checkable acceptance criteria and proper metadata. Use when creating GitHub issues, formatting issue content, or ensuring consistent issue structure. Covers user stories, epics, features, and increments.
npx skillsauth add anton-abyzov/specweave plugins/specweave/skills/github-issue-standardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CRITICAL: This is the MANDATORY format for ALL GitHub issues created by SpecWeave, whether for:
[FS-XXX][US-YYY] User Story Title ← STANDARD (User Stories)
[FS-XXX] Feature Title ← Rare (Feature-level only)
Examples:
[FS-059][US-003] Hook Optimization (P0)[FS-054][US-001] Fix Reopen Desync Bug (P0)[FS-048] Smart Pagination Feature[BUG] Title ← WRONG! Bug is a LABEL, not title prefix
[HOTFIX] Title ← WRONG! Hotfix is a LABEL
[FEATURE] Title ← WRONG! Feature is a LABEL
[DOCS] Title ← WRONG! Docs is a LABEL
[Increment XXXX] Title ← DEPRECATED! Old format
Why? Type-based prefixes like [BUG] break traceability:
Increment → Living Docs → GitHubWhat to do instead?
bug, enhancement, hotfixThe GitHub client (github-client-v2.ts) enforces this:
[BUG], [HOTFIX], [FEATURE], etc.[Increment XXXX] format[FS-XXX][US-YYY] or [FS-XXX] formatsEvery GitHub issue MUST include:
Checkable Acceptance Criteria
- [x] or - [ ]- [x] **AC-US4-01**: Description (P1, testable)Checkable Tasks
- [x] [T-008: Title](https://github.com/owner/repo/tree/develop/.specweave/increments/0031/tasks.md#t-008-title)Working GitHub URLs (v5.0.0+ - NO _features folder)
https://github.com/owner/repo/tree/develop/.specweave/docs/internal/specs/{project}/FS-031https://github.com/owner/repo/tree/develop/.specweave/docs/internal/specs/{project}/FS-031/us-004-*.mdhttps://github.com/owner/repo/tree/develop/.specweave/increments/0031/tasks.md#task-anchorhttps://github.com/owner/repo/tree/develop/.specweave/increments/0031Note: Feature ID is DERIVED from increment (0031 → FS-031)
Extracted Priority
**Priority**: P1NO Project Field
**Project**: ... - not needed for GitHub issues../../{project}/FS-031)**Priority**: undefined)File: plugins/specweave-github/lib/user-story-content-builder.ts
This is the gold standard implementation. All other builders must follow this pattern.
Key features:
// 1. Accept GitHub repo parameter
async buildIssueBody(githubRepo?: string): Promise<string>
// 2. Auto-detect repo from git remote
private async detectGitHubRepo(): Promise<string | null>
// 3. Extract priority from ACs
private extractPriorityFromACs(criteria: AcceptanceCriterion[]): string | null
// 4. Generate GitHub URLs (not relative) - v5.0.0+: No _features folder
const featureUrl = `https://github.com/${repo}/tree/develop/.specweave/docs/internal/specs/${project}/${featureId}`;
// 5. Convert task links to GitHub URLs
if (repo && taskLink.startsWith('../../')) {
const relativePath = taskLink.replace(/^\.\.\/\.\.\//, '.specweave/');
taskLink = `https://github.com/${repo}/tree/develop/${relativePath}`;
}
**Feature**: [FS-031](https://github.com/owner/repo/tree/develop/.specweave/docs/internal/specs/{project}/FS-031)
**Status**: complete
**Priority**: P1
---
## User Story
**As a** user
**I want** feature
**So that** benefit
📄 View full story: [`us-004-name.md`](https://github.com/owner/repo/tree/develop/.specweave/docs/internal/specs/{project}/FS-031/us-004-name.md)
---
## Acceptance Criteria
Progress: 4/6 criteria met (67%)
- [x] **AC-US4-01**: Description (P1, testable)
- [x] **AC-US4-02**: Description (P1, testable)
- [ ] **AC-US4-03**: Description (P2, testable)
- [ ] **AC-US4-04**: Description (P2, testable)
---
## Implementation Tasks
Progress: 3/6 tasks complete (50%)
**Increment**: [0031-name](https://github.com/owner/repo/tree/develop/.specweave/increments/0031-name)
- [x] [T-008: Title](https://github.com/owner/repo/tree/develop/.specweave/increments/0031/tasks.md#t-008-title)
- [x] [T-009: Title](https://github.com/owner/repo/tree/develop/.specweave/increments/0031/tasks.md#t-009-title)
- [ ] [T-010: Title](https://github.com/owner/repo/tree/develop/.specweave/increments/0031/tasks.md#t-010-title)
---
🤖 Auto-synced by SpecWeave
All GitHub issue content is generated by these builders:
UserStoryIssueBuilder (plugins/specweave-github/lib/user-story-issue-builder.ts)
us-*.md files[FS-XXX][US-YYY] Title formatGitHubFeatureSync (plugins/specweave-github/lib/github-feature-sync.ts)
All GitHub sync commands use the Universal Hierarchy:
sw-github:sync - Sync increments via Feature/UserStory hierarchysw-github:create-issue - Create issue using standard formatsw-github:update-user-story - Update user story issueWhen creating/updating a GitHub issue, verify:
../../)Always! This is the ONLY acceptable format for GitHub issues created by SpecWeave.
No exceptions. No shortcuts. Every issue follows this standard.
plugins/specweave-github/lib/user-story-issue-builder.tsplugins/specweave-github/lib/github-feature-sync.tstools
Generate AI videos from text prompts or images. Supports Google Veo 3.1 and Pollinations.ai (free). Use when generating video, creating animations, text-to-video, AI video, video generation, make clip, animate.
tools
Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
tools
Create and manage umbrella workspaces for multi-repo projects. Activate when the user wants to: create umbrella, umbrella init, wrap in umbrella, create workspace, setup multi-repo, migrate repos to umbrella, umbrella create, new workspace, restructure into umbrella, "wrap this repo", "create umbrella for these repos", "setup workspace with repos", "move repos into umbrella". Do NOT activate for: add a repo to existing umbrella (use sw:get), add a feature, add an increment, clone a repo (use sw:get).
tools
--- description: Merge completed parallel agent work and trigger GitHub sync per increment. Activates for: team merge, merge agents, combine work, team finish. --- # Team Merge **Verify all teammates completed, run quality gates, close increments, and trigger sync.** ## Usage ```bash sw:team-merge sw:team-merge --dry-run # Preview merge plan sw:team-merge --skip-sync # Merge without GitHub/JIRA sync ``` ## What This Skill Does 1. **Verify all teammates completed** -- bl