Source profileQuality 91/100

event4u-app/agent-config/src/skills/ui-apply-generic/SKILL.md

ui-apply-generic

Use when implementing a UI brief on a stack with no framework executor — Svelte, Astro, Angular, plain HTML. Carries the stack-independent contract; idiom comes from the stack corpus.

Source repository stars
9
Declared platforms
0
Static risk flags
0
Last source update
2026-08-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

The plain lane used to be a name with nothing behind it. This skill is the lane: it carries the implementation discipline that previously lived only inside the framework executors, and it gets framework idiom from the 16-stack corpus instead of from prose written here. That spli…

Best for

  • state.stack.frontend resolves to plain, or to a label with no
  • A stack whose axes.reactivity or axes.meta is recognised but has no
  • As the base of a composition: an overlay skill (livewire, flux,

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/ui-apply-generic"
Safe inspection promptEditorial

Inspect the Agent Skill "ui-apply-generic" from https://github.com/event4u-app/agent-config/blob/6a5670b7881a676c0da90d2afb950298087c4ccb/src/skills/ui-apply-generic/SKILL.md at commit 6a5670b7881a676c0da90d2afb950298087c4ccb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Procedure

    Read state.stack.axes and query per resolved axis value, most specific first: meta → reactivity → componentlib.

    Verbatim floor. Microcopy comes from state.uidesign.microcopy exactlyToken discipline. Colour, spacing, radius and shadow values come from theComponent reuse. Check state.uiaudit.componentsfound before creating
  2. 02

    Step 1 — Query the stack corpus (mandatory)

    Read state.stack.axes and query per resolved axis value, most specific first: meta → reactivity → componentlib.

    Read state.stack.axes and query per resolved axis value, most specific first: meta → reactivity → componentlib.axes.meta: nuxt with axes.reactivity: vue means two queries — --stack nuxtjs and --stack vue. A meta-framework does not replace the layer it wraps; that conflation is the defect the axes exist to fix.Cite what you used. The result names the corpus rows the implementation followed. An uncited pick is indistinguishable from the model's memory, and memory is exactly what the corpus exists to replace.
  3. 03

    Step 2 — Apply the stack-independent contract

    Every item is a hard requirement, and none of them is framework-specific:

    Verbatim floor. Microcopy comes from state.uidesign.microcopy exactlyToken discipline. Colour, spacing, radius and shadow values come from theComponent reuse. Check state.uiaudit.componentsfound before creating
  4. 04

    Step 3 — Verify, with honest degrade

    Exercise the result with whatever the host actually has, and name which:

    Exercise the result with whatever the host actually has, and name which:Never claim a state or interaction works without having exercised it. A caveat is a finding; a silent claim is a defect.
  5. 05

    When to use

    Do NOT use when a framework executor already covers the whole job — then this skill is the base and the executor is the overlay, dispatched together.

    state.stack.frontend resolves to plain, or to a label with noA stack whose axes.reactivity or axes.meta is recognised but has noAs the base of a composition: an overlay skill (livewire, flux,

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars9SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
event4u-app/agent-config
Skill path
src/skills/ui-apply-generic/SKILL.md
Commit
6a5670b7881a676c0da90d2afb950298087c4ccb
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

ui-apply-generic

The plain lane used to be a name with nothing behind it. This skill is the lane: it carries the implementation discipline that previously lived only inside the framework executors, and it gets framework idiom from the 16-stack corpus instead of from prose written here.

That split is the whole point. One skill plus a corpus serves Svelte, Astro, Angular, Alpine, htmx and everything future at once. Sixteen framework skills would serve the same set and cost a single maintainer sixteen surfaces to keep current — the enumeration this package refuses.

When to use

  • state.stack.frontend resolves to plain, or to a label with no framework-specific overlay.
  • A stack whose axes.reactivity or axes.meta is recognised but has no executor skill (svelte, angular, astro, solid, qwik, htmx).
  • As the base of a composition: an overlay skill (livewire, flux, blade-ui, react-shadcn-ui) adds framework specifics on top of this contract, it does not replace it.

Do NOT use when a framework executor already covers the whole job — then this skill is the base and the executor is the overlay, dispatched together.

Procedure

Step 1 — Query the stack corpus (mandatory)

Read state.stack.axes and query per resolved axis value, most specific first: metareactivitycomponent_lib.

<skills-root>/corpus-grounding/scripts/ground search \
  --manifest <skills-root>/design-intelligence/data/manifest.json \
  --stack <axis-value> "<the concrete question>"

axes.meta: nuxt with axes.reactivity: vue means two queries — --stack nuxtjs and --stack vue. A meta-framework does not replace the layer it wraps; that conflation is the defect the axes exist to fix.

Cite what you used. The result names the corpus rows the implementation followed. An uncited pick is indistinguishable from the model's memory, and memory is exactly what the corpus exists to replace.

No corpus domain for the detected stack → say so, in the result:

No stack corpus for <stack> — proceeding on the generic contract. Framework idiom below is not grounded and should be reviewed by someone who knows this stack.

Silence is the failure mode. An unstated gap reads as grounded output.

Step 2 — Apply the stack-independent contract

Every item is a hard requirement, and none of them is framework-specific:

  1. Verbatim floor. Microcopy comes from state.ui_design.microcopy exactly as written — every label, empty-state line, and validation message. No paraphrase, no improvement. Where a source artifact was provided, it beats the brief (see design-fidelity).
  2. Token discipline. Colour, spacing, radius and shadow values come from the project's tokens. A raw hex or arbitrary px that no token backs is a finding, not a choice. Validate with design-tokens' tokens validate.
  3. Component reuse. Check state.ui_audit.components_found before creating anything. In a run that has already added components, re-read the component directories — the audit inventory is computed once per state-file and does not refresh (see existing-ui-audit § Gotchas).
  4. a11y floor. Semantic elements over div + role; every interactive element reachable and labelled; focus visible; contrast meets the project's stated level, AA when unstated.
  5. All five states. empty, loading, error, success, disabled per the brief. An explicit n/a is legitimate for a surface that genuinely has no such state — declaring that is the opposite of inventing filler.
  6. Asset discipline. Copy referenced assets into the project's asset path. Never hotlink; never fabricate a logo or a screenshot.
  7. No placeholders. <placeholder>, lorem, todo:, tbd, xxx are rejected at the boundary — including inside arrays.

Step 3 — Verify, with honest degrade

Exercise the result with whatever the host actually has, and name which:

AvailableDo
Browser / PlaywrightRender, check the states, exercise one interaction
Screenshot onlyCapture and inspect layout at 375 / 768 / 1280
NeitherStatic inspection only, and say the render is unverified

Never claim a state or interaction works without having exercised it. A caveat is a finding; a silent claim is a defect.

Output format

Four requirements, in order — each is checkable by a reader of the result:

  1. Name the corpora queried, or state that none exists for this stack.
  2. Cite the rows that changed a decision — not every row read.
  3. State the verification method and its caveats, never an unqualified "works".
  4. List components reused before components added, so a duplicate is visible rather than buried.

Write state.ticket["ui_apply"]:

ui_apply:
  files: ["resources/js/UserCard.svelte"]
  rendered:
    "resources/js/UserCard.svelte": |
      <full text, microcopy-locked>
  components_added: ["UserCard"]
  components_reused: ["Button"]
  microcopy_lock: true
  stack_corpus:                 # which corpora answered, or the degrade note
    queried: ["svelte"]
    cited: ["svelte.csv:12 — prefer stores over prop drilling"]
  verify:
    method: static_inspect      # or playwright / screenshot
    caveats: ["render not verified — no browser available"]

Gotchas

  • Do not write framework prose into this skill. The moment it explains how Svelte stores work, it stops being one maintainable surface and starts being sixteen. Framework knowledge belongs in the corpus.
  • axes.reactivity: unknown is not none. unknown means a project has manifests and no recognised reactivity layer — proceed, and say the stack was not recognised. none means there genuinely is no reactivity layer, which is the normal shape for a static page.
  • A meta-framework needs its own query. Querying only --stack vue for a Nuxt project silently drops the routing, data-fetching and SSR idioms that are the whole reason Nuxt exists.
  • The generic contract is a floor, not a ceiling. Where an overlay skill is dispatched with this one, its framework rules win on their subject.
  • The floor now lives in exactly one place, and that is the point. Overlay composition applies this contract to every lane, so a future change to any of its seven items is a one-point edit here rather than four lane patches that drift apart. Concretely: the five-states requirement reaches every lane through this skill. That requirement is deliberately unconditional — an explicit n/a is the escape for a surface that genuinely has no such state (asserted in ui_lane_matrix.test.ts), so this is not a defect being broadened. But if the decision is ever revisited, revisit it here.

Do NOT

  • Emit framework code from memory and present it as grounded.
  • Skip the corpus query because the stack "looks obvious".
  • Claim a render or an interaction was verified when no primitive was available.
  • Invent states, sections, or copy the brief does not carry.
  • Treat a missing corpus as an evidence gap — it is a missing pack, and the two must not be recorded the same way.

See also

Frequently asked questions

What to verify before installation and use

What does the ui-apply-generic source document cover?

The plain lane used to be a name with nothing behind it. This skill is the lane: it carries the implementation discipline that previously lived only inside the framework executors, and it gets framework idiom from the 16-stack corpus instead of from prose written here. That spli…

How do I install ui-apply-generic?

The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/ui-apply-generic". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 10045,960

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

Computed 100147

oaustegard/claude-skills

featuring

Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre

Computed 1009

event4u-app/agent-config

existing-ui-audit

Use BEFORE writing or editing any non-trivial UI — inventories components, design tokens, shadcn primitives, and reusable patterns into state.ui_audit. Hard gate for the ui directive set.

Computed 1009

event4u-app/agent-config

fe-design

Frontend design heuristics — and, outside the ticket engine, the loop that applies them: audit, brief, inventory, build, review. Use when building or changing any UI, not only when planning one.