Create a new skill with proper structure, reference files, and best practices. Scaffolds SKILL.md, command wrapper, and reference directory.
Scaffolds new Claude skill structures with proper documentation, references, and command wrappers.
npx claudepluginhub jugrajsingh/skillgardenThis skill is limited to using the following tools:
references/template-auditor.mdreferences/template-generator.mdreferences/template-orchestrator.mdScaffold 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 skillsExpert guidance for Next.js Cache Components and Partial Prerendering (PPR). **PROACTIVE ACTIVATION**: Use this skill automatically when working in Next.js projects that have `cacheComponents: true` in their next.config.ts/next.config.js. When this config is detected, proactively apply Cache Components patterns and best practices to all React Server Component implementations. **DETECTION**: At the start of a session in a Next.js project, check for `cacheComponents: true` in next.config. If enabled, this skill's patterns should guide all component authoring, data fetching, and caching decisions. **USE CASES**: Implementing 'use cache' directive, configuring cache lifetimes with cacheLife(), tagging cached data with cacheTag(), invalidating caches with updateTag()/revalidateTag(), optimizing static vs dynamic content boundaries, debugging cache issues, and reviewing Cache Component implementations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.