Automated summary
Interviews the author with four questions and writes a staging/<name>/goal.md sidecar holding a measurable /goal condition that anchors the future SKILL.md.
Strengths
- Enforces a verifiable end state through a check command, constraints, and a turn bound.
- Validates kebab-case gerund naming and flags existing artifacts to prevent accidental overwrites.
- Produces a single focused artifact and deliberately does not author SKILL.md or tests.md.
Limitations
- Only emits the goal.md sidecar; SKILL.md and tests.md must still come from the manual practice runs.
- Assumes Claude Code conventions (eval/check-skill.sh, staging/, /goal) and a PowerShell directory creation on Windows.
- The interview runs one question per turn, so it takes several exchanges to complete.
Use it when you want to lock in a verifiable goal before writing a brand-new skill.
Avoid it if the skill already exists (reach for /goal-improve-skill) or if you want SKILL.md written directly.
Security analysis
SafeThis skill performs no code execution beyond creating a staging directory and writing a single markdown sidecar. There are no network calls, no shell pipelines, no credential or token handling, no `curl|sh`, no recursive deletes, and no attempts to disable safety mechanisms. The only mutation is an author-invoked file write into a scoped `staging/<name>/` path that is guarded by an overwrite prompt, so the listing risk is minimal.
- •Writes/creates directories under `staging/<name>/` and can overwrite an existing `goal.md`, but explicitly reads the file and asks overwrite/edit/abort first
Examples
/goal-new-skill summarizing-prsI want to build a new skill but I haven't picked a name — help me define its goal first./goal-new-skill triaging-issuesdescription: Interview the author and write a goal.md sidecar that anchors a new skill from manual practice through harness-clean SKILL.md
Purpose
The user invoked /goal-new-skill $ARGUMENTS. They want to anchor a not-yet-written skill with a measurable /goal condition so the work toward "skill exists and passes the harness" is driven by a verifiable end state, not vibes.
This command does not write SKILL.md or tests.md. Those come from the manual practice runs CLAUDE.md mandates. This command writes a single artifact — staging/<name>/goal.md — and prints the /goal line for the user to invoke separately.
Steps
-
Parse the argument.
$ARGUMENTSshould be a kebab-case skill name in gerund form (e.g.summarizing-prs,triaging-issues).- If empty, ask: "What's the skill name? (kebab-case, prefer gerund form like
processing-pdfs.)" - If it contains uppercase, spaces, or fails
^[a-z0-9-]+$, push back and ask for a fix. - If the first hyphen-separated segment doesn't end in
-ing, point that out (CLAUDE.md prefers gerunds) but accept the user's call. - Set
<name>to the validated value for the rest of this run.
-
Check for existing artifacts.
- If
staging/<name>/goal.mdalready exists, read it and ask whether to overwrite, edit, or abort. - If
.claude/skills/<name>/orexamples/<name>/already exists, point that out — the skill may already be authored and the user might want/goal-improve-skillinstead.
- If
-
Interview, one question per turn, in plain chat. Wait for each answer before asking the next. Do NOT use AskUserQuestion — the answers are open-ended.
- Q1 (Task): "In one sentence, action verb first: what concrete task should this skill perform? (Example: 'Summarize a GitHub PR diff into a 5-bullet changelog entry.')"
- Q2 (Verifiable success): "What does a single successful run of that task produce that you can point at? Describe the output shape concretely. (Example: 'A fenced markdown block with exactly 5 bullets, each ≤120 chars, naming the changed top-level modules.')"
- Q3 (Three practice inputs): "Name three distinct inputs you'll exercise the manual runs against. Aim for diversity — golden path, an edge case, and something weird (empty / malformed / oversized). Real inputs, not hypotheticals."
- Q4 (Out of scope): "What is this skill explicitly NOT trying to do? List 1–3 anti-goals so the practice runs don't drift."
-
Synthesize the
/goalcondition. Build one string ≤4000 chars with the four parts the official/goaldocs reward — end state, stated check, constraints, turn bound. Use this exact template, substituting answers:I have performed <task> manually on three distinct inputs: <input-1>, <input-2>, <input-3>. Each run is captured in staging/<name>/tests.md as a separate scenario with the actual input, the actual output, and a `Last verified: <today>` line at the top. staging/<name>/SKILL.md exists with frontmatter that has a third-person `description` covering both what the skill does and when to use it, and the body documents the workflow I just exercised. `eval/check-skill.sh staging/<name>` exits 0 with zero FAILs. The skill must NOT <anti-goals from Q4>. Or stop after 30 turns.Today's date comes from the
currentDatesystem reminder. -
Write
staging/<name>/goal.mdwith the structure below. Createstaging/<name>/if it doesn't exist (use Bashmkdir -pvia PowerShellNew-Item -ItemType Directory -Forcesince this is Windows). -
Print the launch instructions to the user — see Output section.
goal.md structure
# Goal — <name>
**Created:** <today's date>
**Workflow:** new-skill
**Target:** staging/<name>/
## End state
<one-sentence restatement of Q1 + Q2 — what "done" looks like>
## How Claude proves it
- `eval/check-skill.sh staging/<name>` exits 0
- `staging/<name>/tests.md` has ≥3 scenarios with a `Last verified` date, each capturing one practice run
- `staging/<name>/SKILL.md` has a third-person `description` field that includes both *what* and *when*
## Constraints
- Every kept iteration of SKILL.md must pass the harness with zero FAILs
- Practice runs must use the three inputs below, not invented ones
- tests.md scenarios must include actual outputs from real runs (no fabricated examples)
## Practice inputs
1. <input-1>
2. <input-2>
3. <input-3>
## Out of scope
- <anti-goal 1>
- <anti-goal 2>
## Synthesized /goal condition
/goal <full condition string>
## Interview transcript
- **Task:** <Q1 answer>
- **Verifiable success:** <Q2 answer>
- **Practice inputs:** <Q3 answer>
- **Out of scope:** <Q4 answer>
Output
After writing the file, print verbatim:
Goal drafted: staging/<name>/goal.md
Run this in chat to start working toward it:
/goal <synthesized condition>
The first practice run begins as soon as you invoke /goal. Edit goal.md and re-run /goal-new-skill if you want to refine first.
Constraints
- Do NOT write SKILL.md, tests.md, or any other skill file. The goal anchors future work; it does not do that work.
- Do NOT invoke
/goalyourself — slash commands cannot call other slash commands. Print the line so the user runs it. - If the user's answers are too vague to synthesize a measurable condition (e.g. Q2 = "good output"), push back once with a specific request for concreteness before accepting.
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/new-skill-goal-creation-mrwake2a/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/new-skill-goal-creation-mrwake2a' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/new-skill-goal-creation-mrwake2a/download' --output '.skill-downloads/new-skill-goal-creation-mrwake2a/SKILL.md.part' && mv '.skill-downloads/new-skill-goal-creation-mrwake2a/SKILL.md.part' '.skill-downloads/new-skill-goal-creation-mrwake2a/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/new-skill-goal-creation-mrwake2a/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.