From jx-skill
Scaffold a new skill inside an existing Jodex plugin. Creates SKILL.md, command stub, and evals skeleton with convention enforcement, trigger uniqueness checking, and validated boilerplate. Triggers on: "create skill", "scaffold skill", "new skill", "add skill to plugin", /jx-skill:create, or any request to scaffold or create a new skill in a Jodex plugin. Do not trigger for: plugin scaffolding, skill validation, skill listing, wiki operations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jx-skill:create [--plugin <name>] [--skill <name>] [--triggers "..."] [--description "..."][--plugin <name>] [--skill <name>] [--triggers "..."] [--description "..."]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaffold a new skill inside an existing Jodex plugin with convention enforcement.
Scaffold a new skill inside an existing Jodex plugin with convention enforcement.
| Argument | Flag | Required | Default | Notes |
|---|---|---|---|---|
| Target plugin | --plugin | Yes | — | Plugin directory name (e.g., jx-pm). Prompted if missing. |
| Skill name | --skill | Yes | — | Lowercase, hyphens ok (e.g., idea). Prompted if missing. |
| Trigger phrases | --triggers | Yes | — | Comma-separated (e.g., "capture idea, new idea"). Prompted if missing. |
| Description | --description | Yes | — | One-line summary. Prompted if missing. |
| Argument hint | --argument-hint | No | "" | Bracketed args (e.g., "[--mode lite]"). |
Extract values from invocation flags. For any missing required value, prompt interactively.
If --plugin is not provided:
ls "${CLAUDE_PLUGIN_ROOT}/.."
jx-core (no user-facing skills) and jx-skill (this plugin)If --skill is not provided:
idea)"If --triggers is not provided:
/<plugin>:<name> is auto-added — only provide natural language triggers."If --description is not provided:
Run all validations sequentially. Halt on first failure — show the exact problem and how to fix it.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/skill-creator.py" validate-name <skill_name>
On failure, display the error and ask user for a corrected name.
Verify ${CLAUDE_PLUGIN_ROOT}/../<plugin_name> exists and contains .claude-plugin/plugin.json.
If not found: "Plugin '<plugin_name>' not found. Available plugins: ."
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/skill-creator.py" check-collision <skill_name> "${CLAUDE_PLUGIN_ROOT}/.."
On collision: "Skill '' already exists in at . Choose a different name."
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/skill-creator.py" check-triggers "<triggers_csv>" "${CLAUDE_PLUGIN_ROOT}/.."
On conflict: display each conflicting trigger with the existing skill it overlaps. Ask user to revise triggers.
Display the planned artifacts and require explicit confirmation before writing any files.
## Planned Artifacts
| # | File | Action |
|---|------|--------|
| 1 | plugins/<plugin>/skills/<name>/SKILL.md | CREATE |
| 2 | plugins/<plugin>/commands/<name>.md | CREATE |
| 3 | plugins/<plugin>/skills/<name>/evals/evals.json | CREATE |
Plugin: <plugin>
Skill: <name>
Command: /<plugin>:<name>
Triggers: <trigger list>
Proceed? (yes/no)
Do NOT proceed until user confirms. This is the "plan-before-code" gate.
Run the helper script to create all files atomically:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/skill-creator.py" scaffold <skill_name> "${CLAUDE_PLUGIN_ROOT}/../<plugin_name>" --description "<description>" --triggers "<triggers_csv>" --argument-hint "<hint>"
The helper:
On success: proceed to Phase 5. On failure: display the error and any rollback details.
Read each created file to confirm it was written:
plugins/<plugin>/skills/<name>/SKILL.mdplugins/<plugin>/commands/<name>.mdplugins/<plugin>/skills/<name>/evals/evals.jsonpython3 -m json.tool plugins/<plugin>/skills/<name>/evals/evals.json
Read the generated SKILL.md and verify it contains: name:, user-invocable:, description:.
## Skill Scaffolded
Plugin: <plugin>
Skill: <name>
Command: /<plugin>:<name>
### Files Created
- plugins/<plugin>/skills/<name>/SKILL.md
- plugins/<plugin>/commands/<name>.md
- plugins/<plugin>/skills/<name>/evals/evals.json
### Next Steps
1. Edit SKILL.md to add full phase logic
2. Edit commands/<name>.md to expand allowed-tools as needed
3. Edit evals/evals.json to add test cases
4. Add the skill to the plugin's README.md
npx claudepluginhub jairosoft-com/jodex-pluginsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.