Install
openclaw skills install @wlykan/write-goalHelp the user craft a well-specified goal objective for autonomous mode — turn a rough intention into a completion contract with a clear finish line, proof, boundaries, and stop rule. Use when the user asks for help writing, refining, or improving a goal, wants to set a structured objective for auto
openclaw skills install @wlykan/write-goalTurn a rough user intention into a well-specified goal with a verifiable end state.
| Part | Description |
|---|---|
| Objective | One sentence: what will be true when done. Specific, actionable, verifiable. |
| Completion Criterion | How to check it's met. Concrete tests, commands, or observable outcomes. |
| Boundary | What is explicitly out of scope. Prevents scope creep. |
| Budget | Optional hard limit on turns, tokens, or time. |
Identify from the user's request:
If already specific and verifiable, skip to step 3.
| Gap | Action |
|---|---|
| No clear deliverable | Ask: "What should exist when this is done?" |
| No validation path | Ask: "How will you know it works?" |
| Too broad | Break into sub-goals or pick the most important slice |
| No scope boundary | Ask: "What is explicitly NOT part of this goal?" |
| Subjective quality | Replace with measurable criteria |
If intent is clear from context, infer rather than ask.
Rules:
Good:
"为 UserService 添加 JWT 认证中间件,实现登录/登出/token 刷新,所有现有测试保持通过。"
"Fix the memory leak in WebSocket handler — heap usage must stay stable over 10k messages."
Bad:
"改进代码质量" — vague, no deliverable
"让页面好看一点" — subjective, no validation
Prefer (in order):
npm test passes, tsc --noEmit cleanIf goal management tools are available (e.g., CreateGoal, SetGoalBudget):
objective and completionCriterion.If no goal tools are available:
Show the user:
When improving an existing goal:
For large requests:
Do NOT:
Match the user's language. Technical terms and code identifiers stay in original form.