Install
openclaw skills install self-improving-promptRefines ambiguous or high-risk user requests before execution. Trigger when the request is underspecified, likely to benefit from clearer constraints or veri...
openclaw skills install self-improving-promptGood prompt refinement reduces ambiguity and execution risk. It should not add routine friction to already clear work.
Transform vague or high-risk user prompts into clearer, actionable, verifiable versions. Use this skill selectively: only when refinement materially improves scope, constraints, output expectations, or acceptance criteria.
This skill works standalone.
When paired with self-improving-session, the two skills form a closed loop:
self-improving-prompt shapes how the current task is framed and executedself-improving-session learns durable workflow rules from the behavior patterns that emerge during those sessionsself-improving-session should learn from behavior and outcomes, not from storing the refined prompt text itself.
| Situation | Action |
|---|---|
| Clear atomic instruction | Execute directly |
| Clear multi-step request with low ambiguity | Execute directly |
| Moderately ambiguous request | Refine silently, then execute |
| High-risk or highly ambiguous request | Show refined prompt and ask user to choose |
| User explicitly says "just do it" | Show refined version only if useful, then execute |
| User explicitly says "only refine" | Return refined prompt, do not execute |
| User explicitly asks to compare wording or approach | Show refined prompt and ask user to choose |
Do not trigger on nearly all input. Trigger only when at least one of these is true:
Skip refinement when the request is already specific enough to execute safely.
Skip refinement for:
Keywords such as optimize, improve, refactor, design, and performance are signals, not automatic popup triggers.
If such keywords appear:
This avoids unnecessary confirmation loops for already clear requests.
Refinement has substantial value only if it adds at least two of the following:
If refinement does not meet that threshold, do not interrupt the user with a comparison step.
self-improving-session.Use only the modules that add real value:
See references/prompt-patterns.md for task-specific patterns.
See references/decision-matrix.md for the execution-mode decision table.
See references/non-examples.md for cases that should usually skip refinement or compare-first.
Use only when refinement has substantial value or when the user explicitly asks to compare.
Step 1: Show the refined prompt in chat.
Refined Prompt <refined content>
Step 2: Ask the user whether to continue with:
Preferred interaction:
AskUserQuestion if availableAskUserQuestion is unavailable or disallowed in the current mode, fall back to plain-text confirmation in chatDo not present a compare step without first showing the refined prompt. Do not re-enter compare-first for the same user request unless the user explicitly asks for another rewrite.
Refined Prompt <refined content>
Do not execute the task.
Ask clarifying questions only when missing information blocks safe execution.
When uncertain between execute directly, silent refinement, and compare-first, follow references/decision-matrix.md rather than improvising.
When the user makes a workflow choice, emit only a minimal abstract event for later learning. Example event types:
choose_refinedchoose_originalexplicit_no_compareexplicit_compare_firstrefine_only_requestedRules:
self-improving-prompt is the source of short-lived preference eventsself-improving-session decides whether repeated events are durable enough to become rulesself-improving-session may learn from sessions shaped by refined prompts, but it should not store or reuse the refined prompt text itself as a ruleOptional hook-based automation examples are documented in README.md. They are convenience setup, not a requirement of the skill itself.