npx claudepluginhub jmagar/claude-homelab --plugin plugin-labThis skill uses the workspace's default tool permissions.
template.mdProvides 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.
Builds 3-5 year financial models for startups with cohort revenue projections, cost structures, cash flow, headcount plans, burn rate, runway, and scenario analysis.
Target path relative to plugin root: skills/my-plugin/SKILL.md
This template intentionally shows the full skill shape we expect plugin authors to fill in.
Plugin-safe fields shown in the live example:
namedescriptionargument-hintdisable-model-invocationuser-invocableallowed-toolsmodeleffortcontextagenthookspathsshellBroader notes:
description is the most important field for model-driven invocation.context: fork and agent are paired fields when you want isolated execution.MCP mode: Use when the plugin tool is installed and available.
HTTP fallback mode: Use only when MCP tooling is unavailable.
Credential source:
${user_config.my_service_mcp_url}$CLAUDE_PLUGIN_OPTION_MY_SERVICE_URL$CLAUDE_PLUGIN_OPTION_MY_SERVICE_API_KEYSingle tool:
mcp__my-plugin-mcp__my_pluginCommon fields used by the action/subaction pattern:
actionsubactionidnamequerypagepage_sizesortorderfiltersconfirmlistgetcreateupdatedeletemcp__my-plugin-mcp__my_plugin
action: "list"
query: "active"
page: 1
page_size: 25
sort: "created_at"
order: "desc"
mcp__my-plugin-mcp__my_plugin
action: "get"
id: "resource-123"
mcp__my-plugin-mcp__my_plugin
action: "create"
name: "example"
subaction: "validate"
mcp__my-plugin-mcp__my_plugin
action: "update"
id: "resource-123"
subaction: "enable"
mcp__my-plugin-mcp__my_plugin
action: "delete"
id: "resource-123"
confirm: true
Use curl with MY_SERVICE_URL and MY_SERVICE_API_KEY.
# List resources
curl -s "$CLAUDE_PLUGIN_OPTION_MY_SERVICE_URL/api/v1/resources" \
-H "X-Api-Key: $CLAUDE_PLUGIN_OPTION_MY_SERVICE_API_KEY"
# Get resource
curl -s "$CLAUDE_PLUGIN_OPTION_MY_SERVICE_URL/api/v1/resources/$RESOURCE_ID" \
-H "X-Api-Key: $CLAUDE_PLUGIN_OPTION_MY_SERVICE_API_KEY"
# Create resource
curl -s -X POST "$CLAUDE_PLUGIN_OPTION_MY_SERVICE_URL/api/v1/resources" \
-H "X-Api-Key: $CLAUDE_PLUGIN_OPTION_MY_SERVICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"example"}'
Preferred response contract:
successactionsubactiondatamessageerrorstimestampAlways confirm before delete or irreversible update operations.