skills/experiment/SKILL.md
--- tldr: Log-based iterative exploration with emergent phases and intent/try/outcome steps category: planning --- # /eidos:experiment Iterative exploration where each step's outcome determines the next step's intent. For work where the shape isn't known upfront — UI design, prototyping, debugging, spikes. The log IS the artifact, mineable for specs and learnings after. ## Usage ``` /eidos:experiment [topic] # start a new experiment /eidos:experiment continue # resume an existing
npx skillsauth add agenticnotetaking/eidos skills/experimentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Iterative exploration where each step's outcome determines the next step's intent. For work where the shape isn't known upfront — UI design, prototyping, debugging, spikes. The log IS the artifact, mineable for specs and learnings after.
/eidos:experiment [topic] # start a new experiment
/eidos:experiment continue # resume an existing experiment
Check ARGUMENTS:
continue → go to Continue ModeBrief dialogue — 1–2 questions, skip what's obvious from the topic. Focus on:
Always run date '+%y%m%d%H%M' to get the actual current time.
Create memory/experiment - <timestamp> - <claim>.md (per [[spec - naming - prefixes structure filenames as prefix claim pairs]], e.g. experiment - 2602141030 - iterating on drag feel.md):
---
tldr: Brief description of what we're exploring
status: active
---
# Experiment: [Brief description]
## Context
- Related: [[...]]
**Desired outcome:** [from the dialogue]
**Resolution:** _[filled at experiment end]_
## Invariants
_[none yet — added as they're discovered]_
## Phase 1: [name or "TBD"] - status: open
Include Context links if related specs, plans, or prior experiments exist. Include known invariants if any were identified during clarification.
Create a branch (task/experiment-<name>) unless already on a working branch.
Commit the experiment file.
Ask for or propose the first step's intent. Format:
Experiment started: [[experiment - <timestamp> - <claim>]]
**Phase 1** — what should we try first?
Search memory/ for experiment - *.md files with status not completed or abandoned.
Single active experiment: load it directly. Multiple active experiments: present a selection list. No active experiments: offer to start a new one.
Read the experiment file thoroughly. Determine:
status: completed or status: abandoned)If open tasks/steps exist in current phase — infer the next step from context and propose it:
Resuming: [[experiment - <timestamp> - <claim>]]
**Phase N: [name]** — [M steps completed]
Last outcome: [brief summary]
Invariants: [count] active
Proposed next step:
**Intent:** [inferred from last outcome]
Proceed, or different direction?
If current phase is complete — summarise and ask for direction:
Resuming: [[experiment - <timestamp> - <claim>]]
**Phase N: [name]** — done
Takeaway: [phase takeaway summary]
Invariants: [count] active
What's the next intent? Or is the experiment done?
If a direction shift is apparent — suggest a new phase:
The last outcome suggests a shift from [old focus] to [new focus].
Start Phase N+1, or continue in Phase N?
These apply in both modes once work is underway.
Each step follows the intent/try/outcome pattern. Write the step to the experiment file as work progresses:
### Step N.M
**Intent:** [what we're trying]
**Try:** [what we did]
**Outcome:** [what happened]
- => [inline observations]
- => invariant: [promoted to Invariants section]
- => {[!] concrete follow-up task} or {[?] idea to explore later}
Steps can contain checkbox tasks for concrete sub-actions:
**Try:**
- [x] Changed the layout to flex
- [x] Added responsive breakpoints
- [ ] Tested on mobile viewport
Steps can contain an Analysis sub-section for diagnostic or investigative steps where the "try" is instrumenting, logging, or reasoning rather than changing behaviour:
### Step N.M
**Intent:** Identify what causes the layout jump at depth transitions.
**Analysis:**
Three discrete jump sources identified:
- Source 1: integer depth transition ...
- Source 2: arc-based path flipping ...
**Try:**
- [x] Added diagnostic logging
- [x] Traced the discontinuity to winnerMask
**Outcome:** Root cause confirmed — the winnerMask creates a binary decision.
A new phase starts when:
When closing a phase:
completedWhen the user reports testing observations during an experiment, structure them inline in the current phase — after the step that produced the testable state. Use the same format as plan observations:
#### Observations (from YYMMDDHHMM user testing)
##### PN-O1 — Short description — STATUS
**Was:** what happened
**Expected:** what should happen
FIXED, ACCEPTED, DEFERRED{[!]} items for laterWhen starting a new phase:
Invariants are constraints that must hold across phases. They can be:
=> invariant: and promoted to the Invariants sectionFormat in the top-level section:
## Invariants
- [description of what must remain true]
- origin: Phase 1, Step 1.2
- [notes on why this matters]
Before starting each new phase, surface the invariants list as a reminder.
Follow-up work that emerges during an experiment uses the standard eidos inline markers:
{[!] description} — planned, will be done{[?] description} — aspirational, worth investigatingThese live inline in step outcomes or phase takeaways — no separate section needed.
/eidos:next and future_items.py pick them up automatically.
When ending the experiment, scan for any {[!]} / {[?]} items and surface them.
An experiment ends when:
To end:
status to completed or abandoned{[!]} / {[?]} items and surface themExperiment completed: [[experiment - <timestamp> - <claim>]]
Open items:
- {[!] ...} (N planned)
- {[?] ...} (N aspirational)
Options:
1 - Extract specs with /eidos:toeidos
2 - Create a plan from learnings with /eidos:plan
3 - Act on open items
4 - Done
The experiment file MUST be updated as part of every step's commit cycle. This is not optional cleanup — it's part of the step itself.
After each step:
implement → commit code → update experiment file (outcome) → commit experiment → continue
memory/experiment - <timestamp> - <claim>.mdtask/experiment-<name> (unless on existing working branch)tools
--- tldr: Generate a manim explainer video through staged research → outline → scenes → code → render → merge, with the outline doubling as a plan/state document category: utility --- # /eidos:video Turn a topic (or a folder of wiki-linked md) into a rendered manim video through a fixed pipeline. Pauses after each stage for review by default. Outline doubles as the plan/state document — wiki-linked checklist tracks progress. Full design in [[spec - video skill - outline driven manim pipeline
tools
--- tldr: Surface session status to the human via a native OS notification category: utility --- # /eidos:ping Send a short out-of-band signal to the human — "I'm done", "I have a question", "I hit a wall" — as a native OS notification. The agent picks the moment; the human gets a popup without watching the terminal. ## Setup (macOS, opt-in) This skill is a no-op until the human has installed the **eidos-ping** menubar app and pointed at it in `.eidos-config.yaml`: ```yaml ping_macos: /path
tools
--- tldr: Persist behaviour corrections to CLAUDE.md category: utility --- # /eidos:toclaude Update CLAUDE.md or specs to correct undesired behaviour. ## Usage ``` /eidos:toclaude [description of correction] ``` ## Instructions 1. Understand the correction — what went wrong, what should happen instead 2. Identify the right location: - **`inject/core/*.md`** — plugin rules that apply to all eidos projects (pick the matching section file) - **`inject/feature/*.md`** — rules tied to a c
development
--- tldr: Create persistent plan for multi-step work category: planning --- # /eidos:plan Create a persistent plan file for multi-step work. ## Usage ``` /eidos:plan [brief description] ``` ## Instructions ### 1. Gather Context If the target file already exists with `status: seed`, read it — its content is raw context that seeds the plan. Use the seed's notes, links, and brain dumps to draft phases and actions. Skip clarification questions the seed already covers. Search for related arti