victorzhuk/skills

z-prd-to-openspec

Decomposes a PRD into OpenSpec change proposals using vertical slices — each cuts through every layer end-to-end and is independently verifiable — then writes proposal.md, design.md, tasks.md, and spec deltas per slice.

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/victorzhuk/skills --skill z-prd-to-openspec

Avant de commencer

  • L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
  • Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

PRD to OpenSpec

Decompose a PRD into OpenSpec change proposals, one per vertical slice. Each slice is a tracer bullet: a thin path through every layer, independently verifiable when done.

Confirm the OpenSpec surface

  • openspec/ must exist; if not, the user initializes it (openspec init).
  • Discover the installed CLI's verbs via openspec --help or the project's task runner before writing — don't assume command names.
  • Change layout: openspec/changes/<change-id>/ holding proposal.md, design.md, tasks.md, and specs/ deltas per touched capability.

Slice the PRD

  • Vertical, not horizontal: each slice cuts schema → API → UI → tests end-to-end. "All the endpoints" is a layer, not a slice.
  • A finished slice is demoable or verifiable on its own.
  • Prefactoring that makes later slices easy goes in its own first slice — make the change easy, then make the easy change.
  • Use the existing OpenSpec glossary and decisions. Fall back to the project's CONTEXT/ADR convention only when it is the authoritative record.

Quiz the user

Present the breakdown as a numbered list — per slice: title, blocked-by, user stories covered. Ask whether the granularity feels right, the dependencies are correct, and anything should merge or split. Iterate until approved; only then write.

Take testing flow and boundaries from the PRD or other caller-approved record. Preserve tests-after when approved. If missing, propose readable acceptance scenarios at the product boundary per [[z-testing-strategy]] and [[z-bdd]]. Resolve genuinely missing decisions before writing changes. Name any additional unit or integration tests and the residual risks they prove.

Write each change

Per approved slice, in dependency order so blocked-by references point at real change ids:

  • proposal.md — why and what changes; end-to-end behavior, not layer-by-layer steps.
  • design.md — technical approach, only where the slice needs one.
  • tasks.md — implementation checklist with acceptance criteria, ordered by the testing flow: TDD puts each slice's failing test before its implementation tasks ([[z-tdd]]); tests-after puts test tasks last.
  • specs/ — requirement deltas for each capability the slice touches, linked to its authoritative acceptance scenarios.

No file paths or code snippets unless a prototype pinned a decision — then trim to the decision-rich part.

Closing

Done when every approved slice has a change directory that passes validation. Report the change ids and stop — changes are proposals, not work in progress. Ask whether to start implementation now; on yes, go through the project's apply workflow — the openspec CLI's apply step or the project's own apply command, discovered rather than assumed — one change at a time. Never edit source straight from the PRD or the spec deltas.

Do not

  • Slice horizontally by layer.
  • Write changes before the user approves the breakdown.
  • Invent requirements the PRD doesn't contain.
  • Apply or implement anything unprompted — implementation starts only when the user says so, through the apply workflow.
  • Hardcode CLI verbs from memory; discover them.

Verify

fd -t d -d 1 . openspec/changes/ # one directory per approved slice openspec --help # CLI surface confirmed, not assumed

  • Every user story in the PRD maps to a slice; every slice names its stories.
  • Blocked-by references point at real change ids.
  • The project's own openspec validation passes, when the CLI provides it.

see [[z-to-prd]], [[z-testing-strategy]], [[z-tdd]]

du même dépôt

Autres Skills

Tous les Skills
victorzhuk
Communauté

z-accessibility

Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to "improve accessibility", "a11y audit", "WCAG compliance", "screen reader support", "keyboard navigation", or "make accessible".

installations
1
GitHub Stars
0
Mis à jour
22 oct.
victorzhuk
Communauté

z-algo-core

DS/algorithm selection judgment for production code, not competitive tricks — hash map for membership/dedup, slice+sort beats a tree until proven, heap for top-k, two-pointer/sliding-window for scans, BFS/DFS/topo-sort for dependency shapes. Triggers on Big-O, hash map vs tree. Does not cover profiling/tuning; see [[z-go-performance]].

installations
1
GitHub Stars
0
Mis à jour
22 oct.
victorzhuk
Communauté

z-bdd

BDD acceptance contracts for humans and agents across UI, API, and CLI products. Use for Gherkin, Given-When-Then, E2E acceptance, or scenario evidence. Define repeatable scenarios with explicit assertions and required outcomes. Test selection belongs to [[z-testing-strategy]]. Go harness wiring belongs to [[z-go-bdd]].

installations
1
GitHub Stars
0
Mis à jour
22 oct.
victorzhuk
Communauté

z-codegraph

Use an existing CodeGraph integration for call graphs, impact analysis, affected tests, or route discovery. Discover installed tools and index freshness; follow host LSP precedence and verify current source. Do not initialize indexes without user authorization.

installations
1
GitHub Stars
0
Mis à jour
22 oct.