About lynx-api-docs
lynx-api-docs is a reference-guided skill for writing and editing Lynx page code. It directs developers to consult the relevant installed API documentation first, rather than relying on web platform assumptions.
Key features
- 01Task-based documentation lookup
- 02Lynx layout and CSS guidance
- 03Element and selector references
- 04Web-to-Lynx migration guidance
- 05Pre-edit documentation checks
Use cases
- 01Checking supported CSS before styling a page
- 02Choosing a Lynx layout system
- 03Verifying element APIs before editing
- 04Adapting web code to Lynx
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ lynx-community/ skills --skill lynx-api-docsAfter installing, type/lynx-api-docsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
best-practices.mdcss/pseudo-classes.mdselectors.mdsupported-properties.mdvalues-and-units.mdelements/blur-view.mdimage.mdinput.mdlist.mdoverlay.mdpage.mdrefresh.mdscroll-coordinator.mdscroll-view.mdsvg.mdtext.mdtextarea.mdview.mdviewpager.mdwebview.mdexamples/bottom-nav.mdcard-list.mdsidebar-layout.mdsticky-header.mdwaterfall.mdlayout/flex-layout.mdgrid-layout.mdlinear-layout.mdrelative-layout.mdlynx-vs-web/css-differences.mdDetails
From the project READMEUsing Lynx API Docs
Overview
Pre-training knowledge is insufficient for Lynx. Lynx is a rendering platform (like a browser) with its own elements, non-standard CSS behavior, unique layout systems, and web-incompatible defaults. Always retrieve from the installed API docs before writing or modifying Lynx page code.
Core Rule
MUST ALWAYS read the relevant API docs BEFORE writing or editing any Lynx code.
Do not rely on web CSS knowledge. Do not assume standard HTML behavior. Do not guess element APIs. Lynx is a distinct platform with its own rules.
Why Web Knowledge Fails
Lynx is not a web browser. Web assumptions produce broken Lynx code:
- Elements:
<view>,<text>,<image>— not<div>,<span>,<img> - CSS defaults:
box-sizing: autonormally uses border-box sizing; no margin collapsing; Linear layout (not Flow) - Properties: Many CSS properties are unsupported or behave differently — always check
css/docs
Every web assumption is a potential bug.
How to Use the Docs
- Identify what you're working on (layout, CSS, element, migration, pattern)
- Look up the relevant doc file from the table below
- Read the doc BEFORE writing or editing code
- Apply the rules and constraints from the doc
- If uncertain, search the
elements/orcss/directories
Quick Reference
| Task | Read These Files First |
|---|---|
| Choose layout | layout/linear-layout.md (default), layout/flex-layout.md, layout/grid-layout.md, layout/relative-layout.md |
| CSS properties/units | css/supported-properties.md, css/values-and-units.md |
| CSS selectors | css/selectors.md, css/pseudo-classes.md |
| Use an element | elements/<element-name>.md |
| Migrate from web | lynx-vs-web/migration-guide.md, lynx-vs-web/css-differences.md |
| Theming/animation/responsive | patterns/theming.md, patterns/animation.md, patterns/responsive.md |
| General lookup | quick-reference.md, best-practices.md |
Core Rules
The compact layout decision rules and key CSS constraints are documented in quick-reference.md. Most critical:
- Text must use
<text>component - Box sizing initially uses
auto, normally with border-box sizing; set an explicit value when compatibility settings may differ - No margin collapsing
- Use
rem+vwfor screen adaptation
Red Flags — Stop and Read Docs
- Adding a
<div>or<span>→ Lynx uses<view>,<text> - Using
marginwithout checking if margin collapsing applies → It doesn't - Assuming
content-box→autonormally uses border-box sizing; checkcss/supported-properties.md#box-model - Using web CSS properties without checking
css/supported-properties.md - Guessing element attributes → Read
elements/<name>.md - Choosing
rpxfor web-portable code →rpxis Lynx-specific; userem+vwfor web compatibility - Writing plain text without
<text>wrapper → Invalid in Lynx - Using web pseudo-classes without checking
css/pseudo-classes.md - Assuming standard HTML flow layout → Lynx uses linear layout by default