Install
openclaw skills install @lq434239/self-improving-promptRefines ambiguous or high-risk user requests before execution. Trigger when the request is underspecified, likely to benefit from clearer constraints or verification, or when the user explicitly asks to refine, improve, optimize, refactor, or compare approaches. Skip clear single-step instructions and already-well-scoped tasks.
openclaw skills install @lq434239/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
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
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.