docs/agi/skills/lab-experimentation/SKILL.md
# Skill: lab-experimentation ## Scope Use lab experiments to answer "how should we do this?" questions about jsgui3 behavior. **Does:** - Run existing lab experiments to confirm behavior. - Create minimal new experiments when behavior is unknown. - Promote stable findings into Skills/Patterns. **Does Not:** - Replace unit tests (labs are for exploration). - Cover production deployment scenarios. ## Lab Structure ``` lab/ ├── experiments/ # Individual experiments │ └── 001-topic-
npx skillsauth add metabench/jsgui3-html docs/agi/skills/lab-experimentationInstall 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.
Use lab experiments to answer "how should we do this?" questions about jsgui3 behavior.
Does:
Does Not:
lab/
├── experiments/ # Individual experiments
│ └── 001-topic-name/
│ ├── README.md # Hypothesis + expected result
│ ├── check.js # Deterministic assertions
│ └── index.html # Optional visual demo
├── fixtures/ # Shared test data
├── results/ # Captured outputs
└── README.md # Lab index
# List experiments
dir lab\experiments
# Read an experiment's README
type lab\experiments\001-example\README.md
# Run check.js
node lab/experiments/001-example/check.js
# Create folder
mkdir lab\experiments\NNN-short-slug
# Add files:
# - README.md (hypothesis)
# - check.js (assertions)
README.md Template:
# Experiment NNN: <Title>
## Hypothesis
<What you expect to happen>
## Setup
<Steps to run>
## Expected Result
<What success looks like>
## Actual Result
<Filled after running>
check.js Template:
'use strict';
const assert = require('assert');
// Setup
// ...
// Test
// ...
// Assertions
assert.strictEqual(actual, expected, 'Description');
console.log('✅ Experiment passed');
process.exit(0);
docs/agi/PATTERNS.md if broadly reusable.tools
# Skill: ui-pick-prompting ## Scope Use the ui-pick tool to present structured choices to the user. **Does:** - Show GUI picker with options. - Wait for user selection. - Return structured result (selection, cancelled, etc.). **Does Not:** - Handle complex multi-step wizards. - Manage state between prompts. ## Inputs - Options array (strings or objects with label/value/description). - Theme (optional): `wlilo` (dark) or `bright` (light). ## Procedure ### Via HTTP (Current Session) ```power
development
# Skill: typescript-types ## Scope Create and maintain TypeScript declaration files (.d.ts) for jsgui3-html components. **Does:** - Generate .d.ts files for controls and modules - Define interfaces for specs, params, and return types - Update package.json exports for TypeScript consumers - Maintain backward compatibility with JavaScript users **Does Not:** - Convert source files to TypeScript - Add runtime type checking - Handle complex generic patterns ## Inputs - File or module to type (e.
development
# Skill: theme-system-integration ## Scope Add theme support to existing controls or integrate theming into new features. **Does:** - Define params schemas for controls - Register variants in the variant registry - Integrate `resolve_params` for merge priority - Add CSS variable hooks and data attributes - Test theme inheritance and override behavior **Does Not:** - Create controls from scratch (see jsgui3-control-creation skill) - Handle runtime theme switching animations ## Inputs - Contro
testing
# Skill: session-discipline ## Scope Maintain structured notes across agent sessions to ensure continuity and knowledge transfer. **Does:** - Initialize session folders with standard structure. - Track active work, findings, and follow-ups. - Enable future agents to resume work seamlessly. **Does Not:** - Persist state between AI context windows (that's the purpose of the docs). - Replace version control (still commit changes). ## Session Structure Each session lives in `docs/sessions/<date