frontend-invariants
Installation
SKILL.md
These survive stack migrations and override conflicting stack mechanics in /stack-registry. Every tolerated escape hatch trains later sessions: fix at source; suppress only with a same-line reason.
Rendering
- Never lie: no fake defaults, lossy display of undecodable data, or truthiness hiding numeric zero. Degraded states name possible causes, preserve the reported reason, and offer retry.
- Put machine truth beside human labels where operators need it; derive labels, never present keys as labels.
- Hide unready features; reserve loading layout to prevent CLS.
- Handle loading, empty, error, no-permission, disabled, and stuck states.
State
- URL holds shareable tabs/filters/sort/page; local/session storage holds preferences; server cache holds server data; component state dies with its component.
- Section entry pushes history; intra-section navigation replaces it.
- Async state must be scoped by full environment/org/user identity. Await teardown before navigation; abort or use last-write-wins; never read defaults before providers resolve.