Automated summary
This skill turns a feature request into a structured GitHub issue by scanning the codebase and writing a PRD (Product Requirements Document) grounded in what already exists.
Strengths
- Scans source files and CLAUDE.md before writing, so the PRD reflects the real state of the project
- Enforces a complete, repeatable issue format: overview, problem statement, current state, requirements, technical approach, acceptance criteria, out of scope
- Handles P0–P3 priorities through labels and creates the `prd` label if it is missing
- The `amend` mode appends revisions without ever rewriting the original PRD, preserving decision history
Limitations
- Tightly coupled to a specific Rust project (src/lib.rs, matrix/calc/layer/neural_network modules): the title conventions and stated constraints are not generic
- Requires an installed and authenticated GitHub CLI (`gh`) to create or amend issues
- Does not cover the downstream pipeline: the skill stops once the issue is created
Use it when a feature idea needs to be formalized as a GitHub issue with a detailed PRD and a priority inside a Rust project.
Avoid it on non-Rust projects, without a configured GitHub CLI, or for trivial fixes that do not warrant a PRD.
Security analysis
CautionThe skill legitimately uses powerful tooling and network access via the GitHub CLI to create and amend issues. There is no destructive filesystem activity, secret exfiltration, obfuscated payload, or safety-disabling instruction. The main risk is operational: issue bodies can be edited or overwritten, so the amend workflow should be implemented carefully, but the skill itself is not malicious.
- •Uses shell/`gh` CLI commands to create and edit GitHub issues, including network access to GitHub.
- •`gh issue edit --body` can overwrite an issue body; the amend workflow intends append-only behavior but the example body contains a placeholder rather than an explicit safe append mechanism.
- •Creates labels and issues without an explicit confirmation step, though this is within the skill's stated purpose.
Examples
/po add batch multiplication to the matrix module --priority P1/po what should we build next for the neural_network module?/po amend 42 use a fixed-size buffer instead of a growable Vec for CPU stack operationsname: po description: Product Owner - scans codebase and creates or amends GitHub issues with PRD. Use when: PRD, feature, issue, create issue, amend issue, what should we build, plan feature, design feature, scope, requirements.
Product Owner
Scan the codebase, write a PRD, and open a GitHub issue.
Usage
/po <prompt>- Create a GitHub issue from the given feature description/po <prompt> --priority <P0|P1|P2|P3>- Create issue with explicit priority/po- Ask user what to build, then create the issue/po amend <issue_number> <summary>- Append a revision to an existing issue
If no --priority is given, ask the user which priority to assign.
Workflow
- Scan the codebase to understand current state:
- Read
src/lib.rsto see existing modules and exports - Explore relevant source files for what's already implemented
- Identify gaps, dependencies, and integration points
- Read
- Read CLAUDE.md if the prompt maps to a known roadmap item
- Write the PRD as the issue body (no local file)
- Create GitHub issue with conventional title and PRD body
Issue Title
Conventional format:
feat(<module>): <short description>
Examples:
feat(matrix): add batch multiplicationfeat(neural_network): implement learning rate decayfeat(computer): add stack operations to CPUfix(alu): handle carry overflow in 4-bit addition
Rules:
- Lowercase after prefix
- Present tense imperative ("add", not "added")
- Under 70 characters
- Module name matches
src/*.rsorsrc/computer/*.rsor domain area
Issue Body (PRD)
## Overview
What we're building and why.
## Problem Statement
What user problem does this solve?
## Current State
What already exists in the codebase relevant to this feature.
## Requirements
- [ ] R-1: Description
## Technical Approach
- Affected modules
- New structs/traits needed
- Data flow and ownership model
## Acceptance Criteria
Given/When/Then scenarios.
## Out of Scope
What we're explicitly NOT doing.
Creating the Issue
gh issue create \
--title "feat(<module>): <description>" \
--body "$(cat <<'EOF'
<PRD content>
EOF
)" \
--label "prd" \
--label "P2: medium"
Replace "P2: medium" with the chosen priority label (P0: critical, P1: high, P2: medium, P3: low).
If the prd label doesn't exist, create it first:
gh label create prd --description "Product Requirements Document" --color "0075ca"
Report the issue URL to the user when done.
Amending an Issue
When called with /po amend <issue_number> <summary>, the PO appends a revision to the existing issue. The original PRD is immutable — never edit or overwrite it.
Amend Workflow
- Fetch the current issue using
gh issue view <number> --json title,body - Read the summary provided by the engineer
- Research the codebase if needed to validate the proposed changes
- Append a revision block to the issue body:
gh issue edit <number> --body "$(cat <<'EOF'
<original body unchanged>
---
## Revision <N> — <date>
**Source:** implementer research
### Changes
- <what changed and why>
### Updated Requirements
- [ ] R-X: <new or modified requirement>
### Removed/Deferred
- ~~R-Y: <requirement removed or moved to out of scope>~~
EOF
)"
Amend Rules
- Never modify the original PRD text — append only
- Increment revision number (Revision 1, Revision 2, ...)
- Each revision is self-contained — reader can understand what changed without diffing
- Link back to the source — who requested the change and why
- The PO may push back on the amendment if it contradicts product goals — surface disagreement to the user
Constraints
- Rust — ownership, borrowing, lifetimes
- No external deps unless strictly necessary (zero deps currently)
- Core library is the priority — matrix, calc, layer, neural_network
Pipeline
/po <prompt> -> GitHub issue -> /dev -> /review -> /commit -> /pr
^ |
| | (PRD feedback)
+--- /po amend --+
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/product-owner-mrwakde4/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/product-owner-mrwakde4' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/product-owner-mrwakde4/download' --output '.skill-downloads/product-owner-mrwakde4/SKILL.md.part' && mv '.skill-downloads/product-owner-mrwakde4/SKILL.md.part' '.skill-downloads/product-owner-mrwakde4/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/product-owner-mrwakde4/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.