Automated summary
Interviews the user to write a goal.md sidecar that gives an improving-skills run against an existing SKILL.md a measurable success condition.
Strengths
- Checks prerequisites (SKILL.md, tests.md with at least 3 scenario headings, non-empty test-prompts.md) and stops naming the exact missing file
- Estimates current token count and inspects prior runs' results.tsv so the target is a meaningful delta
- Synthesizes a full /goal string: numeric target, behavior-preservation constraints, and iteration cap
- Runs the interview one question per turn, with a closed choice for the primary axis
Limitations
- Only writes goal.md — it does not start the improvement loop; the user must invoke /improving-skills afterward
- The token baseline is deliberately rough (word count × 1.3)
- Assumes the test scaffolding already exists, otherwise the command halts early
Use it when you want an improving-skills loop to stop on genuine measurable progress instead of the default iteration cap or stuck threshold.
Skip it when the skill has no tests.md with at least three scenarios and no non-empty test-prompts.md, or when a quick manual edit is enough.
Security analysis
SafeThe skill is pure instruction/planning text: it reads SKILL.md and sidecars, conducts a Q&A, and writes one markdown file. There are no shell commands, no network calls, no obfuscated payloads, no secret handling, and explicit constraints against modifying SKILL.md/tests.md/test-prompts.md or auto-launching the improving-skills loop. The only real concern is a tooling/allowlist mismatch (undeclared Read/Write) rather than any destructive behavior.
- •Declared allowed-tools is empty, but the workflow requires file Read (steps 1-3) and a single Write of `<skill-dir>/goal.md` (step 6), plus optional AskUserQuestion; an agent honoring an empty allowlist will fail or silently skip steps — this should be declared explicitly.
- •Writes into the inspected skill directory (goal.md) and can overwrite an existing goal.md; the skill does ask before overwriting (step 3), which mitigates accidental clobbering.
- •The synthesized `/goal` string is built from free-text user answers and later fed to another agent loop as an evaluator condition — a mildly interesting prompt-injection surface, though the loop is local and user-driven.
Examples
/goal-improve-skill .claude/skills/pdf-extract — the main axis is tighter triggers. I want trigger accuracy to be 1.0 on the positive prompts and nothing else should change./goal-improve-skill staging/report-writer/SKILL.md. Axis: smaller body. Target: tokens ≤ 600, keeping every existing section and example./goal-improve-skill examples/baz — the last run had composite 0.72 in results.tsv, I want at least 0.85 this time with a 30-iteration cap.description: Interview the user and write a goal.md sidecar that anchors an improving-skills run against an existing SKILL.md with measurable targets
Purpose
The user invoked /goal-improve-skill $ARGUMENTS. They want a measurable /goal condition for an autoresearch run against an existing SKILL.md, so the loop stops on real progress rather than only on the default iteration cap or stuck threshold.
This command writes one artifact — <skill-dir>/goal.md — and prints the /goal line plus the /improving-skills follow-up for the user to invoke.
Steps
-
Parse the argument.
$ARGUMENTSshould be a path to a SKILL.md or its containing directory (e.g..claude/skills/foo,staging/bar/SKILL.md,examples/baz/).- Normalize to
<skill-dir>(the directory containing SKILL.md). - If empty or path doesn't exist, ask: "Which SKILL.md? Give me a path like
.claude/skills/<name>orstaging/<name>/SKILL.md."
-
Verify prerequisites —
improving-skillsrequires all three before it will run:<skill-dir>/SKILL.mdexists<skill-dir>/tests.mdexists with ≥3##scenario headings<skill-dir>/test-prompts.mdexists and is non-empty
If any are missing, stop and tell the user exactly which file to create. Do not proceed.
-
Inspect current state to inform the interview:
- Read SKILL.md. Compute a rough token estimate (word count × 1.3 is fine — this is for the suggestion, not a contract).
- Check whether
runs/exists for previous improving-skills runs on this skill. If so, mention the most recent run's results.tsv so the user can pick a target relative to known scores. - If
<skill-dir>/goal.mdalready exists, read it and ask whether to overwrite.
-
Interview, one question per turn. Use plain chat for freeform answers; you MAY use AskUserQuestion for Q1 since it's a closed choice.
- Q1 (Primary axis): Which is the main improvement axis?
- Tighter triggers (raise trigger accuracy on
test-prompts.md) - Smaller body (reduce token count without quality loss)
- Sharper instructions (raise quality scores on
tests.mdscenarios) - Progressive disclosure (move detail into supporting files)
- Other (let user describe)
- Tighter triggers (raise trigger accuracy on
- Q2 (Numeric target): "What concrete number marks success? Examples:
tokens ≤ 600,composite ≥ 0.85,trigger accuracy = 1.0 on positive prompts,body ≤ 150 lines. Give one number tied to the axis from Q1." Note the current baseline (tokens or whatever applies) in your question so they pick a meaningful delta. - Q3 (Behavior to preserve): "What must NOT change? At minimum, every positive prompt in
test-prompts.mdmust still fire. Anything else — a specific section, a tone, a code example?" - Q4 (Iteration cap): "Default cap is 20 iterations (set in
improving-skills/templates/eval.json.template). Accept default or override?"
- Q1 (Primary axis): Which is the main improvement axis?
-
Synthesize the
/goalcondition. Build one string ≤4000 chars with end state, stated check, constraints, turn bound. Template:The improving-skills loop on <skill-dir>/SKILL.md has produced a kept iteration whose row in runs/<run-id>/results.tsv shows <numeric target from Q2>. The most recent kept iteration's harness column is PASS. All rows marked positive in <skill-dir>/test-prompts.md still fire under the candidate's description (trigger accuracy on positive prompts = 1.0). <Behavior-preservation constraints from Q3>. Or stop after <Q4 cap> iterations or 5 consecutive iterations with no score improvement. -
Write
<skill-dir>/goal.mdwith the structure below. -
Print the launch instructions — see Output section.
goal.md structure
# Goal — improve <skill-name>
**Created:** <today's date>
**Workflow:** improving-skill
**Target:** <skill-dir>/SKILL.md
**Baseline tokens:** <rough estimate from step 3>
## End state
<one-sentence restatement: axis from Q1 + numeric target from Q2>
## How Claude proves it
- A row in `runs/<run-id>/results.tsv` with `kept=yes` shows the target metric
- That row's `harness` column is `PASS`
- The candidate's description still fires every positive prompt in `<skill-dir>/test-prompts.md`
## Must not change
- <each Q3 item>
- All kept iterations pass `eval/check-skill.sh` with zero FAILs
## Iteration cap
<Q4 cap> iterations, or 5 consecutive iterations without improvement.
## Synthesized /goal condition
/goal <full condition string>
## Interview transcript
- **Primary axis:** <Q1 answer>
- **Numeric target:** <Q2 answer>
- **Behavior to preserve:** <Q3 answer>
- **Iteration cap:** <Q4 answer>
Output
After writing the file, print verbatim:
Goal drafted: <skill-dir>/goal.md
Run these two in chat to launch the run with the goal active:
/goal <synthesized condition>
/improving-skills <skill-dir>/SKILL.md
The improving-skills loop will see <skill-dir>/goal.md and can seed runs/<run-id>/program.md from it.
Constraints
- Do NOT start the improving-skills loop yourself — print the lines for the user.
- Do NOT modify SKILL.md, tests.md, or test-prompts.md.
- Do NOT invent baseline numbers. If the token estimate is rough, say so.
- If the user's numeric target in Q2 is unmeasurable from the conversation (e.g. "make it feel sharper"), push back once for a concrete metric the
/goalevaluator can judge.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/generate-goal-condition-for-skill-improvement-mrwake38/download' --output '.skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38/SKILL.md.part' && mv '.skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38/SKILL.md.part' '.skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/generate-goal-condition-for-skill-improvement-mrwake38/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.