GitHub Issues Workflow
Bootstrap an issue-driven development workflow for monorepo projects.
What This Skill Produces
- GitHub Label Setup Script —
scripts/github/setup-labels.sh
- Issue Templates —
.github/ISSUE_TEMPLATE/{default,bug,feature}.md
- PR Template —
.github/PULL_REQUEST_TEMPLATE.md
- Claude Code Commands —
.claude/commands/{PREFIX}-{issue,start,review,address}.md
Workflow
Phase 1: Gather Project Information
Ask the user for:
- GitHub repo (e.g.,
org/repo-name)
- Project short name — used as prefix for Claude commands (e.g.,
frk produces /frk-issue, /frk-start)
- Workspace areas — which modules exist and their paths. Ask:
- What backend tech? (Rust, Python, Go, Java, or none)
- What frontend tech? (React, Next.js, Svelte v5, or none)
- Mobile apps? (iOS, Android, or none)
- Tooling crates/packages? (Rust crates, Python packages, Go modules, etc.)
- Infrastructure/DevOps? (Docker, CI/CD, etc.)
- Architecture style — if applicable (hexagonal, layered, clean, microservices, monolith, etc.)
- Branching strategy — main branch name (
main or master), branch naming convention
Consult references/tech-stacks.md for tech-specific check commands, package managers, and workspace patterns.
Phase 2: Generate Labels Script
Generate scripts/github/setup-labels.sh using the script template in scripts/generate-labels.sh.
Customize area labels based on the project's actual workspace areas. Keep type, priority, and status labels standard.
Phase 3: Generate Issue Templates
Copy and customize templates from assets/issue-templates/:
default.md — General issue (solution-agnostic, focus on WHAT/WHY not HOW)
bug.md — Bug report with environment details
feature.md — Feature request with user story format
Replace area checkboxes with the project's actual workspace areas.
Phase 4: Generate PR Template
Copy and customize assets/pull-request-template.md. Replace:
- Area checkboxes with project's workspace areas
- Testing checklist with tech-appropriate check commands (from
references/tech-stacks.md)
Phase 5: Generate Claude Code Commands
Generate four slash commands in .claude/commands/ using the project short name as prefix. Consult references/commands-guide.md for the full workflow specification and customize per-project.
| Command |
File |
Purpose |
/{PREFIX}-issue |
{PREFIX}-issue.md |
Create GitHub issue with proper labels and templates |
/{PREFIX}-start |
{PREFIX}-start.md |
Full issue-to-PR workflow: branch, design doc, task file, implement, PR |
/{PREFIX}-review |
{PREFIX}-review.md |
Structured PR review with tech-specific checklist |
/{PREFIX}-address |
{PREFIX}-address.md |
Address PR/issue feedback systematically |
Key customizations per project:
- Repo name in all
gh commands
- Workspace areas table with paths and check commands
- Tech-specific quality checks (from
references/tech-stacks.md)
- Architecture-specific review criteria
Phase 6: Run Label Setup
Ask if the user wants to run the label setup script now:
bash scripts/github/setup-labels.sh
Phase 7: Commit
Stage and commit all generated files:
git add scripts/github/ .github/ .claude/commands/
git commit -m "chore: add GitHub workflow infrastructure"
Key Design Principles
- Solution-agnostic issues — Issues describe WHAT and WHY, never HOW. No file paths or code specifics in issues.
- Self-contained design docs —
.claude/issues/issue-N/design.md copies all specs verbatim; never references external files by path.
- Task tracking —
.claude/issues/issue-N/task.md with checkbox tasks checked off during implementation.
- Issue lifecycle — Active work in
.claude/issues/, archived to .claude/history/ after PR merge.
- Conventional commits —
feat:, fix:, docs:, refactor:, test:, chore:
- No AI attribution — Never add
Co-Authored-By: Claude or similar to commits.
Source: descoped/llm-skills — distributed by TomeVault.
1---2name: descoped-llm-skills-github-issues-workflow3description: GitHub Issues Workflow4---56# GitHub Issues Workflow78Bootstrap an issue-driven development workflow for monorepo projects.910## What This Skill Produces11121. **GitHub Label Setup Script** — `scripts/github/setup-labels.sh`132. **Issue Templates** — `.github/ISSUE_TEMPLATE/{default,bug,feature}.md`143. **PR Template** — `.github/PULL_REQUEST_TEMPLATE.md`154. **Claude Code Commands** — `.claude/commands/{PREFIX}-{issue,start,review,address}.md`1617## Workflow1819### Phase 1: Gather Project Information2021Ask the user for:22231. **GitHub repo** (e.g., `org/repo-name`)242. **Project short name** — used as prefix for Claude commands (e.g., `frk` produces `/frk-issue`, `/frk-start`)253. **Workspace areas** — which modules exist and their paths. Ask:26 - What backend tech? (Rust, Python, Go, Java, or none)27 - What frontend tech? (React, Next.js, Svelte v5, or none)28 - Mobile apps? (iOS, Android, or none)29 - Tooling crates/packages? (Rust crates, Python packages, Go modules, etc.)30 - Infrastructure/DevOps? (Docker, CI/CD, etc.)314. **Architecture style** — if applicable (hexagonal, layered, clean, microservices, monolith, etc.)325. **Branching strategy** — main branch name (`main` or `master`), branch naming convention3334Consult `references/tech-stacks.md` for tech-specific check commands, package managers, and workspace patterns.3536### Phase 2: Generate Labels Script3738Generate `scripts/github/setup-labels.sh` using the script template in `scripts/generate-labels.sh`.3940Customize area labels based on the project's actual workspace areas. Keep type, priority, and status labels standard.4142### Phase 3: Generate Issue Templates4344Copy and customize templates from `assets/issue-templates/`:4546- `default.md` — General issue (solution-agnostic, focus on WHAT/WHY not HOW)47- `bug.md` — Bug report with environment details48- `feature.md` — Feature request with user story format4950Replace area checkboxes with the project's actual workspace areas.5152### Phase 4: Generate PR Template5354Copy and customize `assets/pull-request-template.md`. Replace:55- Area checkboxes with project's workspace areas56- Testing checklist with tech-appropriate check commands (from `references/tech-stacks.md`)5758### Phase 5: Generate Claude Code Commands5960Generate four slash commands in `.claude/commands/` using the project short name as prefix. Consult `references/commands-guide.md` for the full workflow specification and customize per-project.6162| Command | File | Purpose |63|---------|------|---------|64| `/{PREFIX}-issue` | `{PREFIX}-issue.md` | Create GitHub issue with proper labels and templates |65| `/{PREFIX}-start` | `{PREFIX}-start.md` | Full issue-to-PR workflow: branch, design doc, task file, implement, PR |66| `/{PREFIX}-review` | `{PREFIX}-review.md` | Structured PR review with tech-specific checklist |67| `/{PREFIX}-address` | `{PREFIX}-address.md` | Address PR/issue feedback systematically |6869Key customizations per project:70- Repo name in all `gh` commands71- Workspace areas table with paths and check commands72- Tech-specific quality checks (from `references/tech-stacks.md`)73- Architecture-specific review criteria7475### Phase 6: Run Label Setup7677Ask if the user wants to run the label setup script now:78```bash79bash scripts/github/setup-labels.sh80```8182### Phase 7: Commit8384Stage and commit all generated files:85```bash86git add scripts/github/ .github/ .claude/commands/87git commit -m "chore: add GitHub workflow infrastructure"88```8990## Key Design Principles9192- **Solution-agnostic issues** — Issues describe WHAT and WHY, never HOW. No file paths or code specifics in issues.93- **Self-contained design docs** — `.claude/issues/issue-N/design.md` copies all specs verbatim; never references external files by path.94- **Task tracking** — `.claude/issues/issue-N/task.md` with checkbox tasks checked off during implementation.95- **Issue lifecycle** — Active work in `.claude/issues/`, archived to `.claude/history/` after PR merge.96- **Conventional commits** — `feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`97- **No AI attribution** — Never add `Co-Authored-By: Claude` or similar to commits.9899---100> Source: [descoped/llm-skills](https://github.com/descoped/llm-skills) — distributed by [TomeVault](https://tomevault.io).101<!-- tomevault:4.0:skill_md:2026-05-23 -->