state-forge
Skill0 starsChanged 2 months agoMITView on GitHub
Map and stress the reachable state space: empty, loading, partial, error, permission, stale, overflow, interrupted, and restored states. Use when an interface has only been designed for the ideal state, or when hardening behavior beyond the happy path.
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 9 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
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
- Distinctive: line 48
Test long headings, labels, descriptions, large values, many items, and nested content.
- Distinctive: line 52
Never allow accidental clipping, hidden actions, invisible horizontal scrolling, overlapping controls, or broken focus.
- Very specific: line 83
Use references/state-report.md to inventory reachable states with their triggers, designed behavior, exercised coverage, and recovery.
- Distinctive: line 93
Before changing anything, identify the actual user outcome, the existing system, the relevant constraints, and the evidence available.
- Distinctive: line 95
Do not begin by choosing a visual treatment.
- Distinctive: line 112
Do not review only the happy path.
- Distinctive: line 129
Use only scenarios that are relevant to the surface.
- Distinctive: line 133
When code exists, verify that the implementation preserves the interface decision.
- Distinctive: line 175
If a change improves none of these and only adds decoration, treat it as suspect.
- Distinctive: line 191
Do not claim a check that did not occur.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
State Forge
Mission
Design the interface for reality, not only the demo state.
Quality depends on how the system behaves across its reachable state space.
State machine
For each interactive surface identify state, trigger, next state, visible change, available actions, failure, and recovery.
Reachability
A state deserves design when it can actually occur through user action, data, network, permissions, time, navigation, or restoration.
State categories
Content: populated, empty, partial, missing, stale.
Process: idle, loading, progress, success, cancelled.
Failure: validation, network, permission, unavailable resource, conflict.
Interaction: focused, hovered, pressed, disabled, selected, dragging.
Environment: offline, constrained storage, reduced motion, narrow viewport, zoomed, restored session.
Empty
Explain why it is empty when useful, whether it is expected, and what can happen next. Do not fill empty space with decorative copy.
Loading
Make clear what is loading, what remains usable, how long it may take when knowable, and whether cancellation is possible.
Errors
Communicate problem, consequence, and next action. Avoid dead-end errors when recovery is possible.
Long content
Test long headings, labels, descriptions, large values, many items, and nested content. Decide intentionally whether to wrap, truncate, scroll, collapse, expand, or resize.
Overflow
Never allow accidental clipping, hidden actions, invisible horizontal scrolling, overlapping controls, or broken focus.
Stale/conflicting data
Determine freshness, refresh behavior, conflict handling, and whether local edits survive.
Permission
Differentiate unavailable, unauthorized, forbidden, and not configured states. Tell users what can be done next.
Recovery
Prefer:
error → explanation → action → restored context
over dead ends.
State matrix
For meaningful components:
| State | Trigger | UI | Actions | Next states |
Stress protocol
Where relevant exercise empty, long, loading, error, disabled, focus, repeated interaction, interruption, narrow layout, and restored state.
Reference artifact
Use references/state-report.md to inventory reachable states with their triggers, designed behavior, exercised coverage, and recovery.
Completion criteria
Reachable states have explicit behavior, important failures have recovery, and the interface has been inspected beyond the happy path.
Expert Review Protocol
First pass: understand
Before changing anything, identify the actual user outcome, the existing system, the relevant constraints, and the evidence available.
Do not begin by choosing a visual treatment.
Second pass: compare
Ask:
- What is the simplest credible solution?
- What is the strongest alternative?
- What does the current solution cost?
- What behavior does each option teach the user?
- Which decision is easiest to reverse?
- Which failure would be most expensive?
Choose deliberately.
Third pass: stress
Do not review only the happy path.
Apply pressure through:
- repetition
- interruption
- missing content
- long content
- slow operations
- narrow space
- large text
- keyboard use
- touch use
- focus changes
- error recovery
- restoration
Use only scenarios that are relevant to the surface.
Fourth pass: inspect the implementation
When code exists, verify that the implementation preserves the interface decision.
Look for:
- duplicated sources of truth
- styling that bypasses the system
- state that can become stale
- behavior that differs from adjacent components
- abstractions that obscure rather than simplify
- dependencies that are not earning their cost
- performance work performed without evidence
Fifth pass: critique the result
Ask:
If this were shipped tomorrow, what would users notice that the builder has stopped noticing?
Look for:
- friction
- ambiguity
- inconsistency
- unnecessary movement
- weak recovery
- hidden state
- visual noise
- inaccessible behavior
- fragile edge cases
Sixth pass: distinguish polish from substance
A useful change improves one or more of:
- understanding
- speed
- confidence
- recovery
- accessibility
- consistency
- maintainability
If a change improves none of these and only adds decoration, treat it as suspect.
Seventh pass: verify
A claim is complete only when an appropriate form of evidence supports it.
Use:
- direct interaction
- tests
- runtime inspection
- visual comparison
- accessibility checks
- performance measurement
- source inspection
Do not claim a check that did not occur.
Completion standard
Stop when:
- the intended outcome is achieved
- important states are handled
- meaningful failure modes were considered
- the interface fits its surrounding system
- important claims are verified
- remaining imperfections are lower-value than the risk of further change
The goal is not maximal polish.
The goal is a result that is difficult to improve without changing the underlying decision.
In this repository10 other files it gives its agents.
- adaptive-interfaceSkill
- interaction-engineSkill
- interface-architectureSkill
- interface-craftSkill
- interface-criticSkill
- interface-forensicsSkill
- interface-intelligenceSkill
- interface-labSkill
- interface-reviewSkill
- interface-shipSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

