From create-my-skills
Scaffold a new skill plugin in the personal my-skills marketplace. Use when asked to create a personal skill, add a new skill, or /create-my-skills.
How this skill is triggered — by the user, by Claude, or both
Slash command
/create-my-skills:create-my-skills [skill-name] [description of what the skill should do][skill-name] [description of what the skill should do]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a new skill plugin in the `my-skills` marketplace. These skills are system-agnostic and shared across every machine, so they live in the `nixos-system` repo and **must contain no machine-specific absolute paths or work-specific content**.
Create a new skill plugin in the my-skills marketplace. These skills are system-agnostic and shared across every machine, so they live in the nixos-system repo and must contain no machine-specific absolute paths or work-specific content.
The marketplace lives in the nixos-system repo (remote github:acaloiaro/nixos-system). Work in your local checkout — commonly ~/proj/nixos-system, but confirm the path before writing. Inside that repo:
.claude-plugin/marketplace.json (at the repo root)common/home-manager/ai-agents/plugins/Note: the marketplace is resolved by Claude from GitHub, so a new skill is only installable after it is committed and pushed (see step 7).
Ask the user for (if not provided as arguments):
my-cool-skill)Relative to the nixos-system repo root:
common/home-manager/ai-agents/plugins/{skill-name}/
├── .claude-plugin/
│ └── plugin.json
└── skills/
└── {skill-name}/
└── SKILL.md
.claude-plugin/plugin.json{
"name": "{skill-name}",
"description": "{short description}",
"version": "1.0.0"
}
skills/{skill-name}/SKILL.mdUse this template:
---
name: {skill-name}
description: {description — be specific about when Claude should invoke this skill}
---
{skill content}
Guidelines for the SKILL.md:
/Users/... or /home/...), no work-specific identifiers. This marketplace is shared across all systems.Read the current .claude-plugin/marketplace.json, then append a new entry to the plugins array:
{
"name": "{skill-name}",
"source": "./common/home-manager/ai-agents/plugins/{skill-name}",
"description": "{short description}",
"version": "1.0.0"
}
Each machine that should load the skill enables it in its own programs.claude-code.settings.enabledPlugins, in plugin@marketplace form:
"{skill-name}@my-skills" = true;
The marketplace itself must also be known to that machine (usually already configured once):
extraKnownMarketplaces.my-skills.source = {
source = "github";
repo = "acaloiaro/nixos-system";
};
nixos-system machines, that config lives in the system's home file (e.g. systems/zw/home/adriano.nix).Ask the user which systems should get the new skill, and edit each one's enabledPlugins.
After the user confirms:
nixos-system repo with a descriptive message (e.g., feat: add {skill-name} skill) — use the version-control skill's jj workflow, never git.jj git push so the GitHub-sourced marketplace picks up the new plugin.enabledPlugins change to take effect.Show the user a summary of what was created and where it was enabled.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub acaloiaro/nixos-system --plugin create-my-skills