From pattern-forge
Use after running detect to interactively select design patterns for your project. Presents patterns by category in a wizard-style Q&A, one question at a time.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pattern-forge:designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Present detected patterns to the user by category, one at a time. The user picks their preferred approach for each category. Record all choices for the generate skill.
Present detected patterns to the user by category, one at a time. The user picks their preferred approach for each category. Record all choices for the generate skill.
The detection report must exist at .claude/pattern-forge/detection-report.json. If it doesn't exist, tell the user to run /pattern-forge:detect first.
Read these files:
.claude/pattern-forge/detection-report.json — the detection report (required).claude/pattern-forge/rejections.json — previous rejections (optional, may not exist)From the detection report, collect all proposed_patterns and suggested_libraries.
If rejections.json exists, filter out patterns whose pattern_id matches a rejection AND whose dependency_context has NOT changed (i.e., no new relevant dependencies were added since the rejection). Patterns with changed dependency context should be re-proposed with an explanation of why they're worth reconsidering.
Organize the proposed patterns into categories. Common categories include:
Only present categories that have at least one proposed pattern. The categories should adapt to the ecosystem — a Rails project won't have "State Management" in the React sense, but may have "Service Layer" or "Background Jobs" instead.
For each category, present ONE question at a time. Do not present multiple categories in a single message.
For each category:
The user can:
Record each choice with:
id: kebab-case identifier for the patterncategory: the category namechoice: description of what the user chosesource: "dependency-driven" if based on specific deps, "industry-best-practice" if a general convention, "user-custom" if the user described their own approachdetails: any additional context about the choice (libraries involved, specific rules)After all pattern categories are presented, if there were complementary library suggestions that weren't covered in a category, present them:
"Based on your stack, these additional libraries might be useful:"
The user can accept or decline each suggestion. Accepted suggestions should be noted in the design choices (they inform the generated agent about tools available in the stack).
Save to .claude/pattern-forge/design-choices.json:
{
"last_updated": "ISO 8601 timestamp",
"dependency_snapshot": ["sorted", "list", "of", "current", "dependencies"],
"patterns": [
{
"id": "pattern-id",
"category": "Category Name",
"choice": "Description of the chosen approach",
"source": "dependency-driven|industry-best-practice|user-custom",
"details": {
"libraries": ["relevant-lib-1"],
"rules": ["specific rule 1", "specific rule 2"],
"examples": "optional code example or reference"
}
}
],
"accepted_library_suggestions": [
{
"name": "library-name",
"reason": "Why it was suggested"
}
]
}
After all categories are complete:
/pattern-forge:generate to create the conventions agent, or continue with /pattern-forge:init if you're in the full setup flow."Commit with: git add skills/design/SKILL.md && git commit -m "feat: add design skill for interactive pattern selection wizard"
Work from: /Users/samuelasselin/pattern-forge
npx claudepluginhub samuelasselin/pattern-forge --plugin pattern-forgeProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.