From jx-local
Create a reusable prompt specification file under .agent/prompts/ Triggers on: "create prompt spec", "new prompt spec", "add prompt spec", "save prompt spec", /jx-local:create-prompt-spec. Do not trigger for: generic prompts, plugin scaffolding, skill creation, wiki operations, test generation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jx-local:create-prompt-spec [--name <slug>] [--description "..."] [--tags "..."] [--framework stco|create|xml|raw] [--scaffold-only] [--list][--name <slug>] [--description "..."] [--tags "..."] [--framework stco|create|xml|raw] [--scaffold-only] [--list]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a reusable prompt specification file under `.agent/prompts/` using a reusable format.
Create a reusable prompt specification file under .agent/prompts/ using a reusable format.
plugins/jx-local/skills/create-prompt-spec/reference/Prompt-Specification-Frameworks.md — STCO, CREATE, XML, and raw prompt specification frameworks.| Argument | Flag | Required | Default | Notes |
|---|---|---|---|---|
| Prompt name | --name | Yes (unless --list) | — | kebab-case slug (e.g., incident-summary-spec). Prompted if missing. |
| Description | --description | Yes (unless --list) | — | One-line summary. Prompted if missing. |
| Tags | --tags | No | [] | Comma-separated, each tag must match ^[a-z0-9]+(-[a-z0-9]+)*$. |
| Framework | --framework | No | stco | One of stco, create, xml, raw. |
| Scaffold only | --scaffold-only | No | false | If set, use scaffold body instead of interactive body input. |
| List | --list | No | false | List existing prompt specs and exit. |
--name, --description, --tags, --framework, --scaffold-only, --list.--list is set → skip to List Mode.--name missing → ask: "What should this prompt spec be called? (kebab-case, e.g., incident-summary-spec)"--description missing → ask: "One-line description of this prompt spec:"--framework missing and --scaffold-only is set → ask: "Which framework should be used? (stco/create/xml/raw, default: stco)"--scaffold-only and --framework is not set → default stco.python3 "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-creator.py" list| Name | Description | Tags |/jx-local:create-prompt-spec."Run all validations sequentially. Halt on first failure.
Before any Bash call, verify name matches ^[a-z][a-z0-9]*(-[a-z0-9]+)*$ and length <= 50.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-creator.py" validate-name <name>
On failure (exit 1): display the JSON error from stderr, ask user for corrected name.
Each tag must match ^[a-z0-9]+(-[a-z0-9]+)*$. Validate agent-side.
On failure: report invalid tag and expected format.
Must be single-line, max 200 chars. Validate agent-side.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-creator.py" check-collision <name>
On collision (exit 1): display "Prompt spec '' already exists at . Edit it directly or choose a different name." and halt.
Framework must be exactly one of stco, create, xml, or raw.
On invalid value: ask for corrected framework before continuing.
--scaffold-only: use the selected framework scaffold as the body (or raw placeholder).# PROMPT SPECIFICATION: [Task Name]
# Version: 1.0.0 | Target Model: [e.g., GPT-5]
## 1. SYSTEM (Role & Constraints)
- **Persona/Role:** Act as [specific role, expert, or personality]
- **Safety & Guardrails:** [Boundaries and what to avoid]
- **Reasoning Level:** [Low | Medium | High]
## 2. TASK (Core Instruction)
- **Objective:** [Single-sentence objective]
- **Execution Steps:**
1. [Step 1]
2. [Step 2]
3. [Step 3]
## 3. CONTEXT (Reference Data & Variables)
- **Dynamic Inputs:**
- `{{VARIABLE_1}}`: [Description]
- `{{VARIABLE_2}}`: [Description]
- **Background Information:** [Domain context and links]
## 4. OUTPUT (Format & Style)
- **Format:** [Markdown, JSON, table, etc.]
- **Tone & Voice:** [Concise, technical, empathetic]
- **Constraints:** [Length limits, style restrictions]
# CREATE Prompt Spec: [Content Type]
| Element | Specification Instructions |
| :--- | :--- |
| **C**haracter (Role) | Act as [Expert Persona]. |
| **R**equest (Task) | [Action and expected output]. |
| **E**xamples (Few-Shot) | "Insert sample style and structure." |
| **A**udience & Tone | Target audience and tone. |
| **T**arget Constraints | Word count, format, exclusions. |
<prompt_specification>
<meta>
<task_name>[Task Name]</task_name>
<version>1.0.0</version>
<target_engine>[Model]</target_engine>
</meta>
<system_prompt>
<role>[Persona / Agent role]</role>
<safety_and_rules>
<rule>[Security and confidentiality rules]</rule>
<rule>[Behavior constraints]</rule>
</safety_and_rules>
</system_prompt>
<task_flow>
<step id="1">Analyze user request.</step>
<step id="2">Apply context and reference data.</step>
<step id="3">Produce required output format.</step>
</task_flow>
<output_rules>
<format>[JSON | Markdown | Text]</format>
<tone>[Clear and direct]</tone>
</output_rules>
</prompt_specification>
<!-- TODO: Write your prompt spec here -->
## Planned Prompt Specification
File: .agent/prompts/<name>.md
Name: <name>
Description: <description>
Tags: <tags>
Framework: <framework>
--- Preview ---
---
name: <name>
description: '<description>'
tags: [<tags>]
---
<first 5 lines of body or full body if short>
--- End Preview ---
Proceed? (yes/no)
Do NOT proceed until user confirms.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-creator.py" ensure-dirpath from JSON stdout into <prompts-dir>.<prompts-dir>.python3 "${CLAUDE_PLUGIN_ROOT}/scripts/prompt-creator.py" write \
--metadata-file "<prompts-dir>/.<name>.metadata.json" \
--body-file "<prompts-dir>/.<name>.body.md"
On success (exit 0): continue to Phase 5.
On failure (exit 1): show JSON error and stop. If field is collision, tell user the file was created between check and write.
Read .agent/prompts/<name>.md and verify:
---name:, description:, tags: exactly once eachtags: is YAML array--scaffold-only with explicit approval to skip body, if any)## Prompt Specification Created
File: .agent/prompts/<name>.md
Name: <name>
Description: <description>
Tags: <tags>
Framework: <framework>
Usage:
cat .agent/prompts/<name>.md
List all specs:
/jx-local:create-prompt-spec --list
npx claudepluginhub jairosoft-com/jodex-plugins --plugin jx-localCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.