design-patterns
Design Patterns
Identify the right pattern for a problem, explain it precisely, and apply it with minimal disruption to the existing codebase. Patterns are vocabulary for communicating structure — not solutions to be force-fitted.
Skill workflow — patterns often follow from structural review:
refactoring (prepare the ground for a pattern) → design-patterns (apply the pattern) → adr (record the architectural decision)
Philosophy
Patterns are named solutions to recurring design problems in a given context. Their value is not the solution itself — it's the name. When you say "Decorator", everyone on the team knows the structure, the intent, and the tradeoffs. Bad pattern usage happens in two ways:
- Over-application — using a pattern because it's a pattern, not because it solves a real problem. The Pattern Astronaut disease.
- Misidentification — implementing something that looks like a pattern but violates its invariants (e.g., a "Factory" that also manages object state — that's not a Factory).
"Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem." — Christopher Alexander (precursor to GoF)
More from yldgio/vibe-grimoire
pre-mortem
>-
13create-prd
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue, Azure DevOps work item, or local file. Use when the user wants to create or write a PRD, create a product requirements document, design a new feature, or capture requirements.
11setup-repo
>-
11prd-slice
Break a PRD into independently-deliverable work items (vertical slices / tracer bullets) and create them in Azure DevOps, GitHub Issues, or Jira. Use when a user wants to convert a PRD into implementation tickets, decompose a product spec into trackable slices, create work items from requirements, or break down a PRD for any issue tracker — even if they don't say "vertical slice" or "tracer bullet".
11plan-from-prd
Turn a PRD into a multi-phase, local Markdown implementation plan using tracer-bullet vertical slices, saved to ./plans/. Use when the user wants to create an implementation plan from a PRD, plan phases from a PRD, break a PRD into development phases, or mentions "tracer bullets" or "implementation phases". For creating tracker work items (GitHub Issues, Azure DevOps, Jira) use the prd-slice skill instead.
11tdd
>-
9