Skip to content
cccskills
FreePublished on GitHub

goal-test

Turn a vague task into a testable definition of done and generate an executable goal-test script for it, optionally with a bounded retry loop around a headless agent. Use when the user wants to run an agent in a loop, asks how to know when an agent task is finished, or says a goal like "improve X" needs to become checkable. Do NOT use for building eval suites over many cases — that is evals-bootstrap.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Write done as a script

Theory: The four parts of a loop and the goal test build page. "Improve the error handling" cannot terminate a loop, because nothing can ever say it is finished. The goal must be phrased so that a program — not a person, not the model — returns true or false against it.

Workflow

  1. Extract the claim. Ask what the user wants true at the end, then restate it as verifiable facts: which command exits 0, which file exists, which string appears, which number crosses which threshold. If a part cannot be checked by a program, say so and negotiate it down to what can.
  2. Prefer checks that already exist. The test suite, the linter, the build, the type checker. A goal test that shells out to make test is better than one that reimplements it.
  3. Write goal-test.sh (or .py if the checks are easier there) in the project root: runs every check, prints one line per check with pass/fail, exits 0 only when all pass. Keep it under ~40 lines; it must run in seconds and be safe to run repeatedly.
  4. Run it now. It should fail before the work is done — a goal test that passes on the current state is testing nothing. Show the failing output.
  5. Offer the loop. If the user wants the agent driven until done, wrap it:
#!/usr/bin/env bash
# goal-loop.sh — run a headless agent until the goal test passes or attempts run out.
set -u
MAX_ATTEMPTS=5
for i in $(seq 1 "$MAX_ATTEMPTS"); do
  FEEDBACK=$(./goal-test.sh 2>&1) && { echo "done in $i attempt(s)"; exit 0; }
  claude -p "Goal: <the goal>. The goal test currently fails with:
$FEEDBACK
Fix the code so the goal test passes." \
    --permission-mode acceptEdits --output-format json > ".attempt-$i.json"
done
echo "goal test still failing after $MAX_ATTEMPTS attempts — falling back to a human"
exit 1

Adjust the agent command to whatever CLI the user runs. Keep the three brakes visible and named: the checker outside the model (goal-test.sh), the stop rule (test passes), the budget (MAX_ATTEMPTS, plus a dollar cap read from the JSON output if they want one).

Rules

  • The checker never asks the model's opinion; self-review is not a checker.
  • Feed the checker's output back verbatim — the failure text is the prompt.
  • If the user cannot state done as a check, they do not have a loopable task yet; tell them that plainly and suggest an interactive session instead.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Audit an agent's context layout against the four places: system prompt, tools, history, tail. Use when the user asks to audit, review or fix their agent's context, prompt caching, token spend per turn, or CLAUDE.md / AGENTS.md layout. Read-only: reports findings and a fix list, changes nothing. Do NOT use for writing evals (evals-bootstrap) or for loop design (goal-test).

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

Scaffold a first eval suite for an agent: mine real failures into cases, write behavioural checks over traces, and generate the runner. Use when the user wants evals, regression tests for an agent, a golden set, or asks how to know a prompt/model change did not break things. Do NOT use for a single task's done-check (goal-test) or for auditing context (context-audit).

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

Find the decisions in a pipeline that do not need the expensive model and propose the gate for each: a rule, a classic classifier, or a small model, with fail-closed routing. Use when the user asks to cut model costs or latency, says the big model handles everything, or wants a triage / routing / filter layer in front of an agent. Analysis plus an optional baseline scaffold. Do NOT use for auditing context layout (context-audit) or for building eval suites (evals-bootstrap).

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

Audit an agent's harness against the four rings: containment, guides, sensors, permissions. Use when the user asks whether their agent setup is safe, wants a review of sandboxing / permissions / hooks / AGENTS.md guardrails, or asks what a bad session could break. Read-only: reports the blast radius and a hardening list, changes nothing. Do NOT use for context layout (context-audit) or cost routing (gate-check).

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

Import a large archive into the vault in controlled batches: triage what is worth ingesting, process oldest first, checkpoint after every batch, and keep cost visible. Use this skill whenever the user wants to import years of bookmarks, an export from another notes app, a downloads folder, a chat history dump, or says "backfill", "bulk import", "process my archive". Do NOT use for ingesting one or a few new sources, which is second-brain-ingest.

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

Trace where the user's recorded position on something has shifted: superseded claims, contradictions between sources of different dates, and what evidence moved them. Use this skill when the user asks what they have changed their mind about, how their thinking on a topic developed, what they used to believe, or wants a quarterly look back at their own positions. Do NOT use for finding contradictions between sources with no time dimension, or for a current-state answer.

The English summary is being prepared. Showing the original description.

undefined-ui/second-brain-os1.1KUpdated Oct 14, 2026

See all skills by undefined-ui

Report a problem with this skill