From steelprompt
Use to manually engineer any prompt before sending it. Applies all 7 official Anthropic prompt engineering principles and rewrites a complete, structured version. Also supports switching modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/steelprompt:steelpromptThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Apply Anthropic's official prompt engineering guidelines to any prompt.
Apply Anthropic's official prompt engineering guidelines to any prompt.
/steelprompt "your prompt to improve"
/steelprompt mode full|preview|ask-only|off
If the received prompt matches /steelprompt mode X:
Bash(echo $CLAUDE_PLUGIN_ROOT) to get the plugin root path, then write {"mode": "X"} to <CLAUDE_PLUGIN_ROOT>/.steelpromptrc using the Write tool with the absolute pathAvailable modes:
| Mode | Automatic hook behavior |
|---|---|
full | Applies 3-tier framework silently (default) |
preview | Same logic as full, shows the engineered prompt before executing |
ask-only | Asks only if critical information is missing; does not apply the full framework |
off | Hook completely disabled |
(critical context is missing that would significantly change the result)
Use AskUserQuestion with 1–2 concrete questions. Do not proceed further.
Threshold: file unspecified = vague; output type unspecified = vague; "fix" without context = vague.
Before rewriting: does the task explicitly combine two or more sequential operations, connected by "then", "and then", "+", "after", or a comma joining separate actions? Operations: refactor, test, document, deploy, migrate, review, implement, verify, analyze, fix, write, run
Examples that trigger chain detection: "refactor then test", "implement and document", "analyze + fix + deploy" Examples that do NOT trigger: "refactor this function", "test the login flow", "document the API"
If yes — do NOT rewrite as a single prompt. Show a chain plan:
Chain detected (N prompts): -> Prompt 1: [task A — produces: output description] -> Prompt 2: [task B — uses: output of Prompt 1] -> ... (one prompt per operation) -> Prompt N: [final task — uses: all prior outputs]
Then use AskUserQuestion:
Apply all applicable Anthropic principles:
Principles to apply (all, if relevant):
You are a [precise role based on task domain]<context>) — all relevant context BEFORE the task: files, project, environment, known constraints from the conversation. If the task references long files or documents, embed them inside <context> BEFORE the task description — never after.<task>) — imperative mood ("Analyze", "Implement", "Fix"); numbered steps if multi-step<constraints>) — what NOT to do, edge cases, limits, style requirements. If the task involves irreversible operations (delete, drop, rm, mv to overwrite, remove, overwrite, truncate, push --force, git reset --hard, destroy, wipe, DROP TABLE, DELETE FROM, ALTER TABLE...DROP), automatically add: (a) explicit confirmation before each destructive action; (b) minimal scope — only touch what is explicitly mentioned; (c) intermediate checkpoints for long operations.<output_format>) — exact structure: type (code/list/prose), length, sections, format. If the format is rigidly critical (JSON, YAML, SQL), add a prefill note: begin the response with the opening character of that format ({, ---, SELECT).Think through this step by step before answering for complex or multi-step tasks<examples>) — 2–3 <example>Input: ... Output: ...</example> if the task is ambiguous or the output format is non-obvious, ONLY if inferable from existing context (conversation, codebase). For ambiguous tasks or where format precision matters, add one <bad_example> alongside each <example> — show what NOT to produce.Base template:
You are a [precise role].
<context>
[all relevant context: files, project, environment, known constraints]
</context>
<task>
[task in imperative mood, numbered steps if multi-step]
1. ...
2. ...
</task>
<constraints>
[what NOT to do, edge cases, limits]
</constraints>
<output_format>
[exact expected structure: type, length, sections, format]
</output_format>
<examples>
<example>
Input: ...
Output: ...
</example>
</examples>
Think through this step by step before answering.
Omit inapplicable sections. Do not fill with placeholders.
Everything in the same message, no intermediate text:
**Engineered prompt:**AskUserQuestion with these options:
npx claudepluginhub bhutano/steelprompt --plugin steelpromptProvides 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.