Product Owner

VerifiedCaution

Scans the codebase, writes a PRD, and creates/amends GitHub issues.

Sby Skills Guide Bot
DevelopmentIntermediate
7/22/2026
Claude Code
#prd#github-issues#product-owner#requirements#feature-planning

Recommended for

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
When to use it

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.

When not to use it

Avoid it on non-Rust projects, without a configured GitHub CLI, or for trivial fixes that do not warrant a PRD.

Security analysis

Caution
Quality score82/100

The 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.

Findings
  • •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.
How this analysis is made

Examples

Create a feature issue
/po add batch multiplication to the matrix module --priority P1
Let the PO ask what to build
/po what should we build next for the neural_network module?
Amend an existing issue
/po amend 42 use a fixed-size buffer instead of a growable Vec for CPU stack operations

name: 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

  1. Scan the codebase to understand current state:
    • Read src/lib.rs to see existing modules and exports
    • Explore relevant source files for what's already implemented
    • Identify gaps, dependencies, and integration points
  2. Read CLAUDE.md if the prompt maps to a known roadmap item
  3. Write the PRD as the issue body (no local file)
  4. Create GitHub issue with conventional title and PRD body

Issue Title

Conventional format:

feat(<module>): <short description>

Examples:

  • feat(matrix): add batch multiplication
  • feat(neural_network): implement learning rate decay
  • feat(computer): add stack operations to CPU
  • fix(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/*.rs or src/computer/*.rs or 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

  1. Fetch the current issue using gh issue view <number> --json title,body
  2. Read the summary provided by the engineer
  3. Research the codebase if needed to validate the proposed changes
  4. 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 files

This 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.md

From 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.

Related skills