lamina-forms
SolidForm behavior in contracts — validation timing, field semantics, and recovery UX. Use when data entry blocks workflows or causes scenario gaps.
AI & Automation 65 stars
2 forks Updated today Apache-2.0
Install
Quality Score: 84/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# Forms (agent-native)
Specify **how data entry behaves** in the transactional graph — field semantics, validation timing, and recovery — not CSS or component libraries.
## Contract encoding
| Concern | Where |
|---------|--------|
| Fields per screen | `surfaces[].fields[]` or workflow step notes |
| Validation timing | scenario `trigger.when: validation_failed` |
| Recoverable vs blocking | scenario `category: partial` vs `failure` |
| Data immunity vs integrity | `decisions.md` + form policy in `implement.md` |
**Data immunity** (default for high-volume entry): accept input, flag uncertainty, audit later — never halt batch flow for recoverable format issues.
**Bounded controls**: match widget semantics to data type in screen spec; allow override when domain requires.
## Design checklists
1. Prefer immunity over keystroke-level rejection unless invariant requires hard stop.
2. Batch-review anomalies instead of modal-blocking each error.
3. Preserve entered data on validation failure (scenario + `implement.md`).
4. Required fields only when invariant or workflow depends on them.
5. Map each field to domain entity attribute — not database column names in user-facing copy.
6. Classify date/time fields before choosing a control. A `datetime-local` value has no zone: submit its untouched local components plus the subject/place IANA zone for trusted resolution. Never convert it in the browser and attach another zone afterward.
7. Invalid DST-gap times preserve input and of...
Details
- Author
- aryaniyaps
- Repository
- aryaniyaps/lamina
- Created
- 3 weeks ago
- Last Updated
- today
- Language
- TypeScript
- License
- Apache-2.0
Similar Skills
Semantically similar based on skill content — not just same category
Web & Frontend Solid
lamina-product-behavior
Represented model matches domain — UI must not imply illegal states or permissions. Use when the active GraphVersion domain and screens diverge from implementation shape.
65 Updated today
aryaniyaps AI & Automation Solid
lamina-error-handling
Error and recovery UX in scenarios — slips vs mistakes, root cause in design not actors. Use when mapping failure scenarios in the active GraphVersion.
65 Updated today
aryaniyaps AI & Automation Solid
lamina-controls-and-menus
Actions and reversibility in contracts — primary/destructive actions, undo policy, confirmations. Use when destructive ops lack scenarios.
65 Updated today
aryaniyaps