Source profileQuality 91/100

garrytan/gbrain/skills/skill-autobench/SKILL.md

skill-autobench

Author an eval for an existing skill from its REAL usage history, not its spec. Mine invocations from the brain's conversation archive (conversations/) and per-harness session transcripts — a user correction after an invocation is the gold signal — then synthesize an eval_contract plus 4-8 replayable cases with honesty labels (SPEC-DERIVED vs HISTORY-IMPLIED) and stage the result at skills/<name>/eval/autobench-<date>.md as PENDING-HUMAN-APPROVAL. Never rewrites SKILL.md. Ships two guard compani

Source repository stars
29,095
Declared platforms
0
Static risk flags
0
Last source update
2026-08-26
Source checked
2026-08-26

Decision brief

What it does: where it fits

Convention: see conventions/brain-first.md — mining starts in the brain. Search the conversation archive before touching raw transcript files, and never declare "no history" without having queried the brain first. Convention: see conventions/model-routing.md — mining and synthes…

Best for

    Not for

    • ❌ Auto-merging a synthesized eval into SKILL.md. The human gate is the
    • ❌ Presenting SPEC-DERIVED dimensions as history-grounded — fabricating

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/garrytan/gbrain --skill "skills/skill-autobench"
    Safe inspection promptEditorial

    Inspect the Agent Skill "skill-autobench" from https://github.com/garrytan/gbrain/blob/872c3d6ae4073eb6e77c661d0a72f30b31c4c999/skills/skill-autobench/SKILL.md at commit 872c3d6ae4073eb6e77c661d0a72f30b31c4c999. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      3. STAGE — human gate, always

      Write skills//eval/autobench-.md with frontmatter status: PENDING-HUMAN-APPROVAL.

      Write skills//eval/autobench-.md with frontmatter status: PENDING-HUMAN-APPROVAL.This skill NEVER rewrites SKILL.md — not the evalcontract, not the body, not the triggers. Merging the staged eval is the human's decision. (This is a workflow contract the agent must honor, not a mechanically-enforced…
    2. 02

      Spec-vs-usage gaps

      spec says X; users ask Y (windows: ...)

      spec says X; users ask Y (windows: ...)- spec says X; users ask Y (windows: ...)
    3. 03

      Pipeline

      Substrates, in priority order:

      Brain conversation archive — pages under conversations/, populated byPer-harness session transcripts, as available — use what the harnessA proposed evalcontract: goal, dimensions, hardfails. Dimensions come
    4. 04

      1. MINE — extract real invocation windows

      Substrates, in priority order:

      Brain conversation archive — pages under conversations/, populated byPer-harness session transcripts, as available — use what the harnessSubstrates, in priority order:
    5. 05

      2. SYNTH — turn windows into a proposed eval

      From the mined windows plus the current SKILL.md, produce:

      A proposed evalcontract: goal, dimensions, hardfails. Dimensions come4-8 replayable cases, each shapedSpec-vs-usage gaps: "the spec says X, users consistently ask Y."

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars29,095SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    garrytan/gbrain
    Skill path
    skills/skill-autobench/SKILL.md
    Commit
    872c3d6ae4073eb6e77c661d0a72f30b31c4c999
    License
    MIT
    Collected
    2026-08-26
    Default branch
    master
    View the original SKILL.md

    skill-autobench — write the eval from lived usage

    Convention: see conventions/brain-first.md — mining starts in the brain. Search the conversation archive before touching raw transcript files, and never declare "no history" without having queried the brain first.

    Convention: see conventions/model-routing.md — mining and synthesis run on the cheap tier by default. The full multi-model judging pass is an explicit opt-in (see Contract).

    The self-improving loop has three legs: an eval, a variant generator (SkillOpt), and a replay + judge harness (gbrain eval cross-modal). The generator and the judge ship with gbrain. The persistently missing leg is the eval author — someone has to WRITE the eval, and a spec-derived benchmark only tests what the skill promised, not what users actually asked for or what actually went wrong. This skill writes the eval from reality instead of imagination.

    Pipeline

    1. MINE — extract real invocation windows

    Substrates, in priority order:

    1. Brain conversation archive — pages under conversations/, populated by the conversation-archive skill (hard dependency for this substrate: if it hasn't ingested your history yet, run it first). Search for the target skill's name, trigger phrases, and output shapes:

      gbrain search "<skill-name>"
      gbrain query "when did I use <skill-name> and what did I ask for"
      
    2. Per-harness session transcripts, as available — use what the harness exposes; do not assume a layout. gbrain transcripts recent --full reads the configured local transcript corpus (local-only by design). Claude Code keeps per-project session JSONL under ~/.claude/projects/; other harnesses have their own session stores. Absent stores are simply skipped.

    From each hit, extract an invocation window: the user ask before the invocation, the invocation turn itself, and the 2 turns after — because that is where corrections live. A user correction after an invocation is the gold signal: it is a real, observed failure mode, and it becomes a hard_fail plus a replayable case.

    FAIL-CLOSED: if no substrate yields a single real invocation of the target skill, emit an honest no-history report (substrates checked, queries run, windows scanned, zero matches) and stop. Do NOT invent "typical" invocations. For a skill with no history, the right tool is gbrain skillopt <name> --bootstrap-from-skill (spec-derived, and honest about it) — see Dedup.

    2. SYNTH — turn windows into a proposed eval

    From the mined windows plus the current SKILL.md, produce:

    • A proposed eval_contract: goal, dimensions, hard_fails. Dimensions come from observed asks; hard_fails encode observed corrections.
    • 4-8 replayable cases, each shaped {input, expected_behavior, failure_mode_to_catch} — realistic input, a checkable expected behavior, and the named failure mode the case exists to catch.
    • Spec-vs-usage gaps: "the spec says X, users consistently ask Y."

    HONESTY LABELS are mandatory. Every dimension and every case is labeled:

    • HISTORY-IMPLIED — a real mined window backs it; cite which one.
    • SPEC-DERIVED — inferred from SKILL.md only; no usage evidence.

    Never conflate the two. If history is thin or off-target, say so prominently at the top of the staged file ("GROUNDING WARNING: only N windows found, none exercised the core path") instead of padding with fabricated evidence.

    Privacy scrub before staging: staged evals live in the skill repo and are distributable. Mined windows contain real names, companies, and deals — rewrite every case onto placeholder slugs (alice-example, acme-example) before writing the file. A history-grounded case keeps its shape and failure mode, never its real entities.

    3. STAGE — human gate, always

    Write skills/<name>/eval/autobench-<date>.md with frontmatter status: PENDING-HUMAN-APPROVAL.

    This skill NEVER rewrites SKILL.md — not the eval_contract, not the body, not the triggers. Merging the staged eval is the human's decision. (This is a workflow contract the agent must honor, not a mechanically-enforced gate.)

    The loop (after approval)

    1. Human reviews, edits, and approves the staged eval; the approved eval_contract is merged into the skill's frontmatter explicitly.

    2. Convert approved cases into skills/<name>/skillopt-benchmark.jsonl lines and run gbrain skillopt <name> — this is the SkillOpt surface extension: a history-grounded benchmark replacing the spec-derived bootstrap.

    3. Judge outputs through the native gate:

      gbrain eval cross-modal --task "<what the output was meant to achieve>" --output <path>
      
    4. Re-run autobench after more usage accumulates; diff against the prior staged baseline.

    Panel integrity — trust no aggregate

    Multi-model judging is only as good as the panel being real. The silent failure class: a model-id normalizer strips provider prefixes and every "different model" call lands on one host, so a "3-frontier consensus" is one model's opinion in a trench coat. Before trusting any multi-model verdict, assert over the result object:

    1. Each named model returned a non-empty response. An empty or failed slot is the first tell of a collapse.
    2. Responses came from DISTINCT provider endpoints. If three "different models" all report the same provider, the panel collapsed to one host.
    3. No two "different models" returned byte-identical output. If two differently-named models return the same bytes, they are the same model. This catches a collapse even when provider metadata is missing or faked.

    gbrain eval cross-modal already exits 2 (INCONCLUSIVE) when fewer than 2/3 models return parseable scores; the byte-identical duplicate check and the distinct-endpoint check are the independent backstops this skill layers on top. Run them over the receipt JSON (written to the receipt dir) before treating a PASS/FAIL as authoritative. The integrity check is pure assertion logic over an existing result — it never calls a model itself: no network, no cost.

    Fail-improve taxonomy — what mined failures become

    Classify each mined correction/failure case by its cheapest durable fix:

    ClassSignal in historyDurable fix
    DETERMINISTIC-CODIFIABLEAn LLM fallback repeatedly handles the same input shape (regex, parsing, slugs, dates)Convert to deterministic code + a permanent test case. The LLM is not the solution; it is the training-data generator for the code that replaces it.
    PROMPT-FIXABLEThe correction targets tone, format, or an omission the SKILL.md could specifyAn eval case + a gbrain skillopt run
    SPEC-GAPUsers consistently ask for something the spec never promisedA spec-vs-usage gap observation for the human
    ROUTING-MISSThe skill fired on the wrong ask, or failed to fireA routing-eval.jsonl case, not a benchmark case

    Direction of travel: every fixed failure becomes a permanent test, the deterministic share rises, and the LLM-fallback share falls. Log and improve; never silently drop a mined failure.

    Contract

    • Input: a skill name that exists under skills/.
    • Substrates: conversations/ archive pages (brain-first), then per-harness session transcripts as available (gbrain transcripts recent is local-only by design). No usable substrate → honest no-history report, never fabricated evidence.
    • Output: one staged file at skills/<name>/eval/autobench-<date>.md, status: PENDING-HUMAN-APPROVAL — or the no-history report. Never an edit to SKILL.md, triggers, or any routing surface.
    • Cost posture: cheap-model default for mining and synthesis. The full multi-model judging pass (3 provider slots per cycle) is an explicit opt-in, and judging goes through native gbrain eval cross-modal — no bespoke judging harness.
    • Honesty: every dimension and case carries a SPEC-DERIVED or HISTORY-IMPLIED label; thin history is flagged, not papered over.
    • Privacy: mined cases are rewritten onto placeholder entities before staging.

    Output Format

    ---
    skill: <name>
    status: PENDING-HUMAN-APPROVAL
    generated: <date>
    substrate: { conversation_pages: N, transcript_files: M, windows: K, corrections: C }
    ---
    
    # Autobench: <name> — <date>
    
    ## Grounding
    <one paragraph: how much real history backs this eval; GROUNDING WARNING if thin>
    
    ## Proposed eval_contract
    goal / dimensions (each labeled HISTORY-IMPLIED|SPEC-DERIVED) / hard_fails
    
    ## Cases (4-8)
    ### case-01 [HISTORY-IMPLIED — window ref]
    input: ...
    expected_behavior: ...
    failure_mode_to_catch: ...
    
    ## Spec-vs-usage gaps
    - spec says X; users ask Y (windows: ...)
    
    ## Fail-improve classification
    - case-03 → DETERMINISTIC-CODIFIABLE (same date-format fallback, 4 windows)
    

    Anti-Patterns

    • ❌ Auto-merging a synthesized eval into SKILL.md. The human gate is the contract.
    • ❌ Presenting SPEC-DERIVED dimensions as history-grounded — fabricating usage evidence is the cardinal sin.
    • ❌ Mining nothing and still emitting a confident eval. Fail loudly or label honestly.
    • ❌ Trusting "3 models scored it 8/10" without checking that three providers actually returned distinct, non-identical responses.
    • ❌ Calling a model inside the panel-integrity check — it is pure assertion logic over a result object.
    • ❌ Building a bespoke judging harness when gbrain eval cross-modal is the native gate.
    • ❌ Staging mined cases with real people/companies in them. Placeholders only.

    Dedup (sharp boundaries)

    • skill-optimizer (SkillOpt, host-side) — optimizes a skill's body against an EXISTING benchmark; its --bootstrap-from-skill derives tasks from the spec. THIS skill authors the benchmark from lived usage and feeds it into skills/<name>/skillopt-benchmark.jsonl — it extends SkillOpt's surface, never duplicates it. Read the skill-optimizer SKILL.md (on the host, where its engine lives) before the handoff. No history at all → use --bootstrap-from-skill, not this.
    • BrainBench (gbrain eval suites) — evals the ENGINE (retrieval, memory conformance, calibration). This evals SKILLS over their history.
    • skills/skillify/SKILL.md / skills/skill-creator/SKILL.md — create skills from descriptions; they don't mine lived usage.
    • skills/cross-modal-review/SKILL.md / gbrain eval cross-modal — RUN judging panels; they don't author evals. The panel-integrity assertions here verify their panels were real.
    • skills/skillpack-check/SKILL.md — audits skill structure/conformance, not behavior quality.
    • routing-eval.jsonl — tests dispatch (does the right skill fire); autobench tests behavior after dispatch. ROUTING-MISS findings route there.

    Frequently asked questions

    What to verify before installation and use

    What does the skill-autobench source document cover?

    Convention: see conventions/brain-first.md — mining starts in the brain. Search the conversation archive before touching raw transcript files, and never declare "no history" without having queried the brain first. Convention: see conventions/model-routing.md — mining and synthes…

    How do I install skill-autobench?

    The source record exposes this install command: npx skills add https://github.com/garrytan/gbrain --skill "skills/skill-autobench". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 10045,643

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10029,095

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10024,975

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 1005,248

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing