agentleFS
ariaxhanariaxhan/kernel-claude/skills/experiment/SKILL.md

experiment

Skill15 starsChanged 4 months agoMITView on GitHub

Rules as hypotheses: falsifiable tests, confidence updates, graduate or kill. Triggers: experiment, hypothesis, prove, test rule, validate methodology, evidence.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use cost, decide and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • maxvaegaSkill

    cost

    Estimate what Claude Cowork / Claude Code conversations would cost if run on the pay-per-token Claude API instead of the subscription. Reports token counts and cache-aware API cost in USD and EUR, for the current conversation or for the whole history (cost per conversation). Trigger when the user asks things like "how much would this conversation cost on the API", "API cost of my Cowork conversations", "token usage / token count", "cost per conversation", "/cost", or wants to compare subscription vs API pricing.

    Also in 3 projects that use this

  • dirienSkill

    decide

    Three-agent adversarial debate protocol for strategic decisions. Two advocates steelman opposing positions while a moderator identifies risks and synthesizes a binding consensus. Use when choosing between alternatives, evaluating tradeoffs, or making high-stakes decisions.

    Also in 3 projects that use this

  • javatarzSkill

    wiki

    Access and manage the local GitHub Wiki clone. Use this skill when you need to read wiki content (architecture, design docs, guides), update wiki documentation, check wiki status, or push wiki changes. The wiki contains high-level system design and architectural documentation.

    Also in 3 projects that use this

  • HeshamFSSkill

    loop

    Run a command or check on a recurring interval

    Also in 3 projects that use this

  • VercelSkill

    workflow

    Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.

    Also in 3 projects that use this

  • ibahgatSkill

    autopilot

    Run autonomous multi-stage execution loops until acceptance criteria pass or blockers are reached.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. 0 are common, 16 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 25 edited versions we read keep these.

  • 16

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No hypotheses? Seeds them from CLAUDE.md.

    line 20
  2. Distinctive:

    No hypotheses table or empty?

    line 54
  3. Distinctive:

    All have >= 3 experiments?

    line 57
  4. Distinctive:

    test, coverage, edge case, mock → testing

    line 79
  5. Distinctive:

    commit, branch, merge, PR → git

    line 80
  6. Distinctive:

    Every experiment defines BEFORE running: method, quantitative measurement, control condition (what happens WITHOUT the rule), …

    line 115
  7. Distinctive:

    Use when: agentdb has >= 10 sessions or >= 20 learnings in the domain.

    line 122
  8. Distinctive:

    Use when: active experimentation would be disruptive.

    line 130
  9. Distinctive:

    Run the designed experiment.

    line 141
  10. Very specific:

    Write detailed report to _meta/research/experiment-report.md.

    line 189
  11. Distinctive:

    Use AskUserQuestion ONCE at the end of the evolve phase: Ask: "{graduated} rules proven, {killed} rules disproven, {mutated} rules refined.

    line 207
  12. Distinctive:

    Ask: "{graduated} rules proven, {killed} rules disproven, {mutated} rules refined.

    line 208
  13. Distinctive:

    NEVER modify CLAUDE.md autonomously.

    line 236
  14. Distinctive:

    NEVER delete hypotheses. Mark as refuted.

    line 237
  15. Distinctive:

    NEVER fabricate evidence. If experiment can't run, mark inconclusive with reason.

    line 238
  16. Distinctive:

    NEVER run destructive experiments without explicit approval.

    line 239
  17. Distinctive:

    ALWAYS record evidence, even for inconclusive results.

    line 240

“Common” is measured: kept by at least 6 in 10 of the 25 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md
<skill id="experiment"><purpose> Rules without evidence are superstitions. One invocation, no subcommands: the engine figures out what the hypothesis system needs — seeds, tests, graduates, or kills.
  • No hypotheses? Seeds them from CLAUDE.md.
  • Hypotheses exist? Picks the most uncertain, designs an experiment, runs it.
  • Evidence accumulating? Graduates proven rules, kills disproven ones.
  • Everything tested? Reports and stops.

Rules that survive become convictions. Rules that fail become learnings. </purpose>

<reference> Deep patterns, SQL schema, domain design templates, confidence-scoring examples: skills/experiment/reference/experiment-research.md </reference>

<skill_load> always: skills/quality/SKILL.md, skills/build/reference/testing.md </skill_load>

<on_start>

agentdb read-start
agentdb emit command "experiment-start" "" '{}'

</on_start>

<cycle id="experiment" max_iterations="20"> <phase id="sense" name="SENSE — Read the State"> Autonomous entry point. Determine what the system needs.
```bash
agentdb hypothesis list 2>/dev/null
```

Decision tree (no human input needed):
1. No hypotheses table or empty? → go to SEED phase.
2. Hypotheses exist but all are unproven? → go to PICK phase.
3. Mix of tested/untested? → go to PICK phase (prioritize untested).
4. All have >= 3 experiments? → go to JUDGE phase.
5. Graduation/kill candidates exist? → go to EVOLVE phase.
</phase> <phase id="seed" name="SEED — Extract Rules as Hypotheses" trigger="sense.no_hypotheses"> Scan every CLAUDE.md in the project hierarchy + rules/*.md + skills/*/SKILL.md.
Parse rule-like patterns:
- Imperative: "Always X", "Never Y", "Prefer Z", "Must W"
- Anti-patterns: block actions, "Don't", "Forbidden"
- Assertions: "X before Y", "X is better than Y"
- Quantitative claims: "reduces by X%", "takes N minutes"
- Conditional: "If X then Y", "When X, do Y"

For each rule:
```bash
agentdb hypothesis add "<statement>" --domain <auto-classify> --source "<file:line>"
```

Domain auto-classification by keyword:
- research, anti-pattern, prior work → methodology
- parallel, agent, spawn, tier → coordination
- test, coverage, edge case, mock → testing
- commit, branch, merge, PR → git
- secret, validation, auth, injection → security
- measure, optimize, latency, profile → performance
- Big 5, review, quality → quality
- module, interface, coupling → architecture

Deduplicate: skip if near-identical statement already exists.
Log count, then immediately proceed to PICK. No pause.

```bash
agentdb emit command "experiment-seed" "" '{"seeded":N}'
```
</phase> <phase id="pick" name="PICK — Select Next Hypothesis"> Choose the hypothesis that will produce the most information.
Priority order:
1. **Most uncertain**: confidence closest to 0.5 (maximum ignorance — any experiment is maximally informative)
2. **Least tested**: fewest total experiments (break ties)
3. **Highest impact domain**: methodology > coordination > security > testing > quality > git > architecture > performance

```sql
SELECT id, statement, domain, confidence, evidence_for + evidence_against as total_evidence
FROM hypotheses
WHERE status NOT IN ('graduated', 'refuted')
ORDER BY ABS(confidence - 0.5) ASC, total_evidence ASC
LIMIT 1;
```
</phase> <phase id="design" name="DESIGN — Create the Experiment"> Autonomously design the minimum viable experiment.
**Falsifiability gate: if no possible outcome could refute the hypothesis, redesign.**
Every experiment defines BEFORE running: method, quantitative measurement, control
condition (what happens WITHOUT the rule), pass_criteria, fail_criteria.

Choose the LIGHTEST experiment type that produces signal:

1. **HISTORICAL** (cheapest — query existing data):
   Query agentdb learnings, session outcomes, error patterns for evidence.
   Use when: agentdb has >= 10 sessions or >= 20 learnings in the domain.
2. **COMPARATIVE** (medium — run a real task two ways):
   Execute WITH the rule applied, then WITHOUT (or find prior without-cases).
   Measure: time, error count, rework, quality.
3. **ABLATION** (medium — remove the rule, observe):
   Temporarily ignore the rule during a real task. Record what breaks.
4. **OBSERVATIONAL** (passive — tag next N tasks):
   Flag the hypothesis; future relevant tasks collect evidence passively.
   Use when: active experimentation would be disruptive.

Minimum sample sizes: methodology/coordination/git/quality >= 3 comparisons;
testing >= 5 tasks per condition; security >= 50 fuzz inputs.

```bash
agentdb experiment add <H_ID> "<method>" "<measurement>" --pass-criteria "<criteria>"
```
</phase> <phase id="run" name="RUN — Execute and Observe"> Run the designed experiment. Record everything.
**Gate: the control condition was actually tested, not just assumed.**

- HISTORICAL: query agentdb with specific SQL; evidence = query result + interpretation.
- COMPARATIVE: execute the task (spawn agents if needed); evidence = measured delta.
- ABLATION: execute with the rule explicitly ignored; evidence = observed difference.
- OBSERVATIONAL: record the flag; skip to next hypothesis (no blocking).
</phase> <phase id="conclude" name="CONCLUDE — Verdict and Confidence Update"> Compare observations against pass/fail criteria. Issue verdict honestly: **supports** | **refutes** | **inconclusive**.
```bash
agentdb experiment verdict <EXP_ID> <supports|refutes|inconclusive> "<evidence summary>"
```

Confidence update (Bayesian, applied automatically by CLI):
- supports:     confidence += (1 - confidence) * 0.25
- refutes:      confidence -= confidence * 0.3
- inconclusive: no change

Evidence strings must be specific and measurable, never narrative.

Lifecycle transitions:
- unproven → testing: first experiment registered
- testing → supported: confidence >= 0.8 AND evidence_for >= 3 AND ratio >= 3:1
- testing → refuted: confidence < 0.2 AND evidence_against >= 2
- supported → graduated: human approval after sustained confidence
- refuted → killed: human approval to remove from rules
- any → unproven: rule is modified (resets all evidence)

```bash
agentdb learn pattern|failure "<what we learned>" "<evidence>"
agentdb emit command "experiment-conclude" "" '{"H":"ID","EXP":"ID","verdict":"X","confidence":0.XX}'
```

Loop back to PICK for next hypothesis.
</phase> <phase id="judge" name="JUDGE — Review All Evidence" trigger="sense.sufficient_evidence"> For each hypothesis with >= 3 experiments: summarize evidence, calculate final confidence, classify graduated | refuted | needs-more-evidence | inconclusive.
```bash
agentdb hypothesis export
```
Write detailed report to _meta/research/experiment-report.md. Proceed to EVOLVE.
</phase> <phase id="evolve" name="EVOLVE — Self-Reconfigure"> The emergent part. The system reconfigures based on evidence.
**Graduate** (confidence >= 0.8, evidence_for >= 3, ratio >= 3:1):
promote via the artifact ladder with human approval — hook if enforceable, agent if
a role, skill if methodology; CLAUDE.md prose only as last resort.

**Kill** (confidence < 0.2, evidence_against >= 2):
propose rule removal from CLAUDE.md (present to human).

**Mutate** (inconclusive after 5+ experiments):
the hypothesis may be poorly stated; propose a refined version as a NEW hypothesis,
linked to the original (evolution chain).

<ask_user>
  Use AskUserQuestion ONCE at the end of the evolve phase:
  Ask: "{graduated} rules proven, {killed} rules disproven, {mutated} rules refined. Apply changes?"
  Options: apply all, review individually, skip for now
</ask_user>

```bash
agentdb emit command "experiment-evolve" "" '{"graduated":N,"killed":N,"mutated":N}'
```
</phase></cycle>

<loop_control> continue_if: untested hypotheses remain OR new evidence changes confidence significantly pause_at: EVOLVE phase (only human checkpoint — graduation/kill decisions) stop_if: all hypotheses have >= 3 experiments AND no graduation/kill candidates on_stop: write final report to _meta/research/experiment-report.md, agentdb write-end Iteration budget: max 20 cycles per invocation. </loop_control>

<anti_patterns> <never>Confirm a hypothesis without running a real experiment.</never> <never>Use a single data point to graduate a hypothesis.</never> <never>Ignore refuting evidence because the rule "feels right".</never> <never>Test a hypothesis with a method that can only confirm (design for falsifiability).</never> <never>Modify the hypothesis after seeing results (that is a new hypothesis).</never> </anti_patterns>

<hard_stops>

  • NEVER modify CLAUDE.md autonomously. Present changes at EVOLVE, human decides.
  • NEVER delete hypotheses. Mark as refuted. Audit trail is sacred.
  • NEVER fabricate evidence. If experiment can't run, mark inconclusive with reason.
  • NEVER run destructive experiments without explicit approval.
  • ALWAYS record evidence, even for inconclusive results. </hard_stops>

<on_end>

agentdb write-end '{"skill":"experiment","cycles":N,"experiments_run":N,"graduated":N,"refuted":N,"mutated":N}'

</on_end>

</skill>

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.