From skillforge
Use when you need to create a new skill with proper structure, reference files, and best practices
npx claudepluginhub jugrajsingh/skillgarden --plugin skillforgeThis skill is limited to using the following tools:
Scaffold a well-structured skill following skillforge best practices.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Scaffold a well-structured skill following skillforge best practices.
Ask via AskUserQuestion:
Plugin name: [existing plugin or new]
Skill name: [verb-noun format, e.g., generating-dockerfile]
Then ask skill type:
What kind of skill is this?
○ Generator (creates files from detection + templates)
○ Auditor (evaluates existing files against checklist)
○ Optimizer (improves existing files)
○ Orchestrator (delegates to other skills)
Ask via AskUserQuestion:
Does this skill have variant content based on detection or user choice?
○ Yes, varies by language/ecosystem (e.g., Python vs Node.js)
○ Yes, varies by user choice (e.g., Helm vs kubectl)
○ Yes, catalog of selectable items (e.g., services)
○ No, single workflow for all cases
If yes, ask for the variant names (languages, choices, or catalog items).
Glob: plugins/{plugin}/skills/
If plugin doesn't exist, create the directory structure:
mkdir -p plugins/{plugin}/{.claude-plugin,commands,skills/{skill-name}/references}
If plugin exists but skill doesn't:
mkdir -p plugins/{plugin}/skills/{skill-name}/references
Read the appropriate template from references/ based on skill type:
| Skill Type | Template |
|---|---|
| Generator | references/template-generator.md |
| Auditor | references/template-auditor.md |
| Orchestrator | references/template-orchestrator.md |
Apply the template with gathered requirements.
If variant content was requested, create stub reference files:
references/{variant}.md
Each stub follows the reference file anatomy:
# {Variant Name}
## Detection
{How to identify when this reference applies}
## Content
{Templates, definitions, or checks specific to this variant}
## Required Variables
{Any configuration the parent skill must provide}
Create commands/{command-name}.md:
---
name: {plugin}:{command-name}
description: {short description}
argument-hint: "{hint}"
---
Invoke the `{plugin}:{skill-name}` skill and follow it exactly.
Use the command naming convention:
generating-dockerfile skill → dockerfile commandgenerating-deploy skill → deploy commandauditing skill → audit commandsetting-up skill → setup command============================================================================
Skill Created: {plugin}:{skill-name}
============================================================================
Files created:
✓ skills/{skill-name}/SKILL.md
✓ commands/{command-name}.md
{✓ skills/{skill-name}/references/{variant}.md (per variant)}
Structure:
{plugin}/
├── commands/{command-name}.md
└── skills/{skill-name}/
├── SKILL.md ({lines} lines)
└── references/
{├── {variant}.md (per variant)}
Next steps:
1. Fill in reference file content for each variant
2. Test: claude --plugin-dir ./plugins/{plugin}
3. Run /skillforge:audit to verify structure
============================================================================
references/template-generator.md - Template for generator skillsreferences/template-auditor.md - Template for auditor skillsreferences/template-orchestrator.md - Template for orchestrator skills