lynx-ui-guidance
Skill1 starsChanged 7 months agoMITView on GitHub
Use read-only @dumbooks/lynx-ui guidance for Lynx-native UI composition, component selection, registry checks, package-import-first usage, exact export surface and examples lookup, proof gates, official-substrate metadata, guarded CLI boundaries, local-workspace/external-consumer framing, and migration planning. Applies when a Lynx app needs components, tokens, forms, overlays, patterns, themes, visual styles, base colors, or a replacement for DOM-oriented UI-kit assumptions.
- Installs packages
In this repository4 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
37 rules. About 0 are common, 21 are distinctive, and 16 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈21
Distinctive · estimate
This author's own choices. Worth a look.
16
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Use this skill when a Lynx.js app exposes a workspace-resolvable @dumbooks/lynx-ui package or needs a Lynx-native fallback when that …
- Very specific: line 18
Read the resolved lynx-ui package only.
- Very specific: line 19
Treat @dumbooks/lynx-ui as a local-workspace/internal-beta dependency unless the consuming project evidence proves a published package …
- Very specific: line 20
Prefer package imports from @dumbooks/lynx-ui for promoted internal-beta package components when the consuming workspace can resolve the …
- Very specific: line 21
Treat @dumbooks/lynx-ui/experimental as an opt-in compatibility alias, not the default recommendation.
- Distinctive: line 22
Do not read secrets, tokens, private registry credentials, or arbitrary files outside approved project paths.
- Distinctive: line 23
Do not perform MCP-driven installs or writes.
- Very specific: line 24
Do not copy DOM/Radix/Tailwind/daisyUI runtime source into Lynx runtime code.
- Very specific: line 25
Keep proof and stability caveats visible: internal-beta, public-web-beta, and tri-platform-stable are separate proof levels.
- Distinctive: line 26
Keep app business logic outside design-system migration suggestions: preserve route-owned calculations, navigation targets, data selectors, …
- Distinctive: line 33
Do not claim it is published, installable from a public registry, or stable for unrelated external projects.
- Distinctive: line 34
If the target app is outside the Dumbooks/workspace context, provide two paths: local workspace integration if available, or a Lynx-native …
- Very specific: line 42
Read the target app's dependency graph (package.json, workspace config, lockfile, aliases, or package manager workspace evidence) for a …
- Distinctive: line 44
If the package manifest is still private, unlicensed, repo-local, or otherwise unpublished, state that package-import guidance is …
- Very specific: line 46
Do not suggest npm install @dumbooks/lynx-ui, public registry installation, external support expectations, or native-stable quality unless …
- Distinctive: line 50
Before recommending a component, import path, migration, stability claim, copy/install plan, or visual-style/base-color choice:
- Distinctive: line 52
Read the registry entry, local docs, registry examples, or MCP component resource from the resolved package root.
- Distinctive: line 53
Check these required fields when present in the manifest/resource:
- Very specific: line 73
Check the registry examples field and the referenced examples/*.tsx files when usage patterns, prop combinations, state ownership, or …
- Very specific: line 74
Prefer package imports for package-owned components whose exportChannel supports root package use and whose workspace resolution is …
- Distinctive: line 75
Keep official substrate status visible:
- Distinctive: line 81
Run or request the lightest validation that proves the claim.
- Distinctive: line 85
After resolving the package root from the target workspace, inspect only the files relevant to the request:
- Distinctive: line 122
If any export is missing, private, source-alias-only, or blocked by the target workspace, do not invent an import path.
- Distinctive: line 126
When usage is unclear, read examples before writing or recommending code:
- Very specific: line 128
Prefer a component registry examples field when present because it is component-scoped.
- Very specific: line 129
Use examples/components.tsx for root component composition patterns.
- Very specific: line 130
Use examples/flavor-gallery.tsx for visual style/base-color/token composition.
- Very specific: line 131
Use workflow-specific examples such as examples/reconciliation-exception-review.tsx when forms, validation messages, review queues, or …
- Distinctive: line 132
Treat examples as usage evidence, not permission to copy private package internals into external projects.
- Distinctive: line 136
Use these as documentation or read-only planning guidance, not as implicit permission to mutate:
- Distinctive: line 152
Use registry/docs to confirm exact availability.
- Distinctive: line 170
If workspace resolution or external-consumer proof is not proven, include a Lynx-native fallback composition using official elements and …
- Distinctive: line 180
Prefer package import first when local workspace resolution is available.
- Very specific: line 181
If copy ownership is explicitly required, return a dry-run plan using pnpm lynx-ui diff <id> --to <dir> --json.
- Distinctive: line 183
Do not perform MCP writes.
- Distinctive: line 195
Keep unavailable capabilities as follow-ups and require validation evidence before broad stability claims.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
Lynx UI Guidance
Use this skill when a Lynx.js app exposes a workspace-resolvable @dumbooks/lynx-ui package or needs a Lynx-native fallback when that package is unavailable.
This package is poised for future open source, but this skill must frame it as local to the current workspace for now. Do not imply public npm availability, public OSS release approval, license clearance, or external consumer stability unless the local package docs/manifest and release proofs explicitly say so.
This skill is a read-time contract checklist. Do not hardcode component counts, stability counts, or schema assumptions from remembered docs; query the local registry/docs/CLI/MCP surface available in the current environment because docs and manifest can diverge.
Hard boundaries
- Resolve the local
lynx-uipackage from the target project's declared dependency or workspace configuration; do not search arbitrary machine paths. - Read the resolved
lynx-uipackage only; do not write to it without a separate explicit package-edit task. - Treat
@dumbooks/lynx-uias a local-workspace/internal-beta dependency unless the consuming project evidence proves a published package source. - Prefer package imports from
@dumbooks/lynx-uifor promoted internal-beta package components when the consuming workspace can resolve the local package. - Treat
@dumbooks/lynx-ui/experimentalas an opt-in compatibility alias, not the default recommendation. - Do not read secrets, tokens, private registry credentials, or arbitrary files outside approved project paths.
- Do not perform MCP-driven installs or writes. Install-like requests should return a guarded local CLI plan.
- Do not copy DOM/Radix/Tailwind/daisyUI runtime source into Lynx runtime code. Adapt behavior with Lynx primitives and independently authored package APIs.
- Keep proof and stability caveats visible:
internal-beta,public-web-beta, andtri-platform-stableare separate proof levels. - Keep app business logic outside design-system migration suggestions: preserve route-owned calculations, navigation targets, data selectors, and service boundaries.
Local-workspace framing
When recommending @dumbooks/lynx-ui:
- State that the evidence comes from the package root resolved through the target workspace's dependency graph.
- Do not claim it is published, installable from a public registry, or stable for unrelated external projects.
- If the target app is outside the Dumbooks/workspace context, provide two paths: local workspace integration if available, or a Lynx-native composition fallback using official Lynx elements and CSS Modules.
- Separate internal package import proof from external package-consumer proof. Source aliases, workspace app runtime proof, and built package proof are not interchangeable.
- Future OSS readiness is a roadmap/status note, not permission to copy package source or make public release claims.
External-consumer availability gate
For any target app that is outside the local Dumbooks/workspace context, first check whether @dumbooks/lynx-ui is actually consumable by that app:
- Read the target app's dependency graph (
package.json, workspace config, lockfile, aliases, or package manager workspace evidence) for a resolvable@dumbooks/lynx-uidependency. - Resolve the package root from that dependency graph, then read its
package.jsonforprivate,license,version,exports, peer dependencies, and package files before making availability claims. - If the package manifest is still private, unlicensed, repo-local, or otherwise unpublished, state that package-import guidance is local-workspace/internal-beta only and give a Lynx-native fallback composition.
- Built package claims require built-dist proof such as
pnpm validate:lynx-ui:package-build; public registry or public OSS claims require explicit package manifest, release, license/originality, and publication evidence. - Do not suggest
npm install @dumbooks/lynx-ui, public registry installation, external support expectations, or native-stable quality unless the current package evidence proves those claims.
Registry-first component selection
Before recommending a component, import path, migration, stability claim, copy/install plan, or visual-style/base-color choice:
- Read the registry entry, local docs, registry examples, or MCP component resource from the resolved package root.
- Check these required fields when present in the manifest/resource:
statusstabilityownership.copyInstallpublicExportexportChannelengineCompatibility.proofruntimeCompatibility.proofGateruntimeCompatibility.targetHostsruntimeCompatibility.verifiedHostssourceProvenancecontentHashproofArtifactsproofRequirementsaiUsageHintslicenseOriginalityNotesofficialSubstrateStatusofficialSubstrateadapterStrategydependencyGate
- Check the registry
examplesfield and the referencedexamples/*.tsxfiles when usage patterns, prop combinations, state ownership, or visual-style/base-color composition are needed. Do not invent component APIs when an example or docs file exists. - Prefer package imports for package-owned components whose
exportChannelsupports root package use and whose workspace resolution is available. - Keep official substrate status visible:
official-backedmeans an approved official Lynx UI package or facade is part of the implementation.official-concept-completemeans official concepts inform the local implementation without an unapproved runtime dependency.local-owned-completemeans local tokens/elements/proof gates own the behavior.- unresolved/deferred substrate or dependency gates must be reported as follow-up risk, not hidden.
- For copy/install-style requests, explain the dry-run-first CLI workflow and require explicit write-mode approval before mutation. Do not mutate through MCP or through this skill.
- Run or request the lightest validation that proves the claim; require host runtime or visual proof before UI-quality/stability claims.
Useful read-only references
After resolving the package root from the target workspace, inspect only the files relevant to the request:
package.jsonREADME.mddocs/AI_TOOLING_CONTRACT.mddocs/COMPONENT_REFERENCE.mddocs/COMPONENT_STRATEGY.mddocs/OFFICIAL_LYNX_UI_HYBRID_STRATEGY.mdsrc/registry/manifest.jsonsrc/index.tsexamples/README.mdexamples/components.tsxexamples/flavor-gallery.tsx
Package, source-alias, and proof distinctions
- The root
@dumbooks/lynx-uientrypoint is the default recommendation for internal-beta package components when the registry says the component is publicly exported through the root channel and the consuming workspace can resolve it. @dumbooks/lynx-ui/experimentalis a compatibility alias for promotion-history consumers and future opt-in experimental entries; do not recommend it by default.- Workspace app runtime proof can be source-alias scoped. Do not treat source-alias behavior as proof that built package artifacts work for external package consumers.
- Built package claims require package-build proof such as
pnpm validate:lynx-ui:package-buildin the resolved package workspace; do not run it unless the user is working in that workspace and asks for validation. - Public/external runtime claims require built-dist package proof or a future host-runtime proof that consumes built artifacts.
- Public web beta and tri-platform stable are separate release profiles; internal beta does not imply public release approval, iOS/Android proof, or native-stable quality.
- License/originality notes and public OSS release gates must stay visible when adapting shadcn-like, daisyUI-like, or official-substrate concepts.
Exact export surface
Confirm the current package.json exports map before recommending imports. As of the current local package contract, the intended import surfaces are:
@dumbooks/lynx-ui— root internal-beta component and token entrypoint; default only when workspace/package resolution is proven.@dumbooks/lynx-ui/tokens— token helpers and registries for code consumers.@dumbooks/lynx-ui/tokens.css— token/theme CSS side-effect import for theme layers.@dumbooks/lynx-ui/token-registry— token registry JSON for tooling/inspection.@dumbooks/lynx-ui/flavors— visual style and base-color registries.@dumbooks/lynx-ui/registry— registry helper module for local tooling.@dumbooks/lynx-ui/registry-manifest— registry manifest JSON for read-only metadata checks.@dumbooks/lynx-ui/experimental— compatibility alias only; never the default recommendation.
If any export is missing, private, source-alias-only, or blocked by the target workspace, do not invent an import path. Report the missing exact export surface and provide a Lynx-native fallback using official elements and CSS Modules.
Examples-first usage lookup
When usage is unclear, read examples before writing or recommending code:
- Prefer a component registry
examplesfield when present because it is component-scoped. - Use
examples/components.tsxfor root component composition patterns. - Use
examples/flavor-gallery.tsxfor visual style/base-color/token composition. - Use workflow-specific examples such as
examples/reconciliation-exception-review.tsxwhen forms, validation messages, review queues, or app-local business logic boundaries are in scope. - Treat examples as usage evidence, not permission to copy private package internals into external projects. Preserve route-owned business logic and adapt only public-safe package imports or Lynx-native composition patterns.
Local CLI boundary
Use these as documentation or read-only planning guidance, not as implicit permission to mutate:
pnpm lynx-ui list --json
pnpm lynx-ui info <component-id> --json
pnpm lynx-ui theme --json
pnpm lynx-ui list --items --json
pnpm lynx-ui doctor --json
pnpm lynx-ui check --json
pnpm lynx-ui diff <component-id> --to <target-dir> --jsondiff is read-only. add, copy, install, and sync are dry-run by default in the package contract; mutating runs require explicit --write, a caller-provided target directory, generated-file markers, rollback/provenance metadata, and conflict guards. This skill must not run those mutating commands unless the user starts a separate approved copy/install task.
Current public categories
Use registry/docs to confirm exact availability. Do not hardcode counts.
- Primitives: text, surfaces, buttons, cards, badges, status, loading, separators, and foundations.
- Forms: fields, labels, input controls, search, selection, validation messages, toggles, sliders, and related controls.
- Interactions: tabs, disclosures, overlays, menus, popovers, dialogs, drawers, tooltips, carousels, pagination, and scroll/command-like surfaces.
- Patterns: breadcrumbs, record lists, detail sections, empty states, metric cards, workspace sections, toolbars, sidebars, tables, charts, and app-composition helpers.
- Platform items: visual styles, base-color palettes, token/theme layer, CLI, MCP, docs, registry, and skill metadata via
list --items, the manifestitemsarray, or local docs.
Recommended output shapes
Component recommendation
- State the chosen
@dumbooks/lynx-uiimport path and that it is local-workspace/internal-beta unless target evidence proves otherwise. - State the exact export surface used, including subpath when relevant.
- Name the registry/doc/example evidence checked.
- List package availability and proof caveats before broad quality/stability claims.
- State
officialSubstrateStatus,officialSubstrate,adapterStrategy, anddependencyGatewhen relevant. - Provide source changes only in the consuming app, not inside
packages/lynx-ui, unless the user starts a package-edit task. - If workspace resolution or external-consumer proof is not proven, include a Lynx-native fallback composition using official elements and CSS Modules.
Unavailable component
- State that the component was not found or lacks the required proof/export/workspace gate.
- Suggest a Lynx-native composition using available primitives/patterns or official elements.
- Mark missing package capability as a follow-up instead of inventing a package API.
Copy/install request
- Prefer package import first when local workspace resolution is available.
- If copy ownership is explicitly required, return a dry-run plan using
pnpm lynx-ui diff <id> --to <dir> --json. - Explain that mutation requires a separate explicit
--writecommand and review of generated rollback/provenance metadata. - Do not perform MCP writes.
Visual style/base color selection
- Query theme/style/base-color metadata (
theme,list --items, registryitems, docs, or MCP resource). - State selected visual style and base-color evidence.
- Record proof limits for the target host before making visual-quality claims.
Migration guidance
- Preserve business logic, navigation, data selectors, accounting/service behavior, and host/native-module boundaries.
- Replace DOM/Radix/Tailwind runtime assumptions with Lynx elements, CSS Modules, tokens, and package APIs.
- Keep unavailable capabilities as follow-ups and require validation evidence before broad stability claims.
- Separate local-workspace import guidance from future OSS/package-release guidance.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

