Agent skill

Generate Swimlane Swim Solution

by swimlane in swimlane/ngx-ui

Generate Swimlane Lit Element Solution (CDN). An agent skill from swimlane/ngx-ui.

MITAuto-check passedFrontend & Design

Install Generate Swimlane Swim Solution

skills CLI
$ npx skills add swimlane/ngx-ui --skill generate-swimlane-swim-solution -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install swimlane/ngx-ui generate-swimlane-swim-solution --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/swimlane/ngx-ui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/generate-swimlane-swim-solution .claude/skills/generate-swimlane-swim-solution && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
generate-swimlane-swim-solution
GitHub stars
735
Token cost
~3.4k tokens
SKILL.md length
1,717 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Generate Swimlane Lit Element Solution (CDN). An agent skill from swimlane/ngx-ui.

  • Works in 4 steps: Event listeners → Timers → Cleanup order → …
  • Tasks that involve Accessibility
  • SKILL.md covers Input, Output Location and Structure, CDN Imports and Available Swimlane Lit Custom…, plus 6 more sections
  • Reaches cdn.jsdelivr.net and esm.sh

What it does

Generate Swimlane Swim Solution is an agent skill from swimlane/ngx-ui. Generate Swimlane Lit Element Solution (CDN). Requires the use-swim-ui skill for component list, API, CDN, and design rules.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Frontend & Design, covering Accessibility. It works with Angular. The repository describes itself as: 🚀 Style and Component Library for Angular. The licence is MIT.

When your agent uses it

  • Tasks that involve Accessibility

Example prompts

  • “/generate-swimlane-swim-solution”

Requirements

  • Node.js

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Event listeners
  2. Timers
  3. Cleanup order
  4. No long-lived refs

What it can do on your machine

Read from SKILL.md and the folder at commit c98542d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • cdn.jsdelivr.net
    • esm.sh

    Also links to:

    • npmjs.com
    • github.com
    • swimlane.github.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Generate Swimlane Swim Solution loads about 3.4k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 1,717 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from swimlane/ngx-ui at commit c98542d, republished under its MIT licence (© swimlane). 1,717 words, ~3,448 tokens.

Download SKILL.mdSave it as .claude/skills/generate-swimlane-swim-solution/SKILL.md (or your agent's skills folder).
name
generate-swimlane-swim-solution
description
Generate Swimlane Lit Element Solution (CDN). Requires the use-swim-ui skill for component list, API, CDN, and design rules.
disable-model-invocation
true

Generate Swimlane Lit Element Solution (CDN)

Prerequisite: When executing this skill, you must apply the use-swim-ui skill: use it for the component list, CDN/base usage, design rules, and for property/event/slot API (use-swim-ui’s reference.md or component source). Do not generate the solution without that context.

Generate a standalone Lit-based solution (custom widget or small app) that uses SwimlaneElement (wrapper for Lit) and Swimlane custom Lit elements (swim-*) from @swimlane/swim-ui, with all dependencies loaded from CDN. Use lit-elements as-is — do not add additional styling for the elements (no custom colors, borders, shadows, typography on components); only layout styling (flex, grid, spacing, positioning) is allowed. The solution must be professional, consistent, accessible (WCAG), and free of memory leaks. You may use HTML, vanilla JavaScript, and Swimlane Lit custom elements only.

Base library: All custom elements must extend SwimlaneElement and use its exports (css, html, svg, unsafeCSS) — not raw LitElement. For component list, CDN/base usage, and design rules (layout-only styling, tokens), apply the use-swim-ui skill; for full property/event/slot API see use-swim-ui’s reference.md.

Example (solution file):

js
import { SwimlaneElement, css, html, svg, unsafeCSS } from '@swimlane/swimlane-element@2';
import 'https://cdn.jsdelivr.net/gh/surya-pabbineedi/swim-ui@gh-pages/swim-ui.js?v=1';
import { repeat } from 'lit-html@1/directives/repeat.js';

Input

  • Goal/solution required: Use the user's description of the solution (e.g. "dashboard widget", "form with validation", "alert configurator"). If the user does not provide a goal or solution to build, ask them: e.g. "What solution or widget would you like to build? (e.g. dashboard widget, form with validation, alert configurator)" — and do not generate any output until they provide one.
  • Updating an existing solution: If the user refers to the same solution again or points to a specific file (e.g. an existing .js file in projects/swimlane/swim-ui/demo/solutions), update that existing solution file instead of creating a new one. Use the referenced file as the target to modify; preserve or refine behavior based on their new instructions.
  • If the user @-mentions a file or provides a spec, use that as the target (or as the file to update when applicable).
  • You may take inspiration from patterns at Swimlane Platform Custom Widgets (layout, UX, use cases), but all UI elements must be Swimlane Lit custom elements (swim-*) from @swimlane/swim-ui — do not copy non-Lit or framework-specific patterns from that site.

Output Location and Structure

  • Output is a single .js file (ES module) under projects/swimlane/swim-ui/demo/solutions with a unique name.
  • Naming: Derive a unique filename from the solution purpose, e.g. <slug>-solution.js (e.g. alert-configurator-solution.js, dashboard-widget-solution.js). Ensure the name does not conflict with existing files in that directory.
  • When updating: If the user pointed to an existing file or the same solution, write to that existing file (e.g. the same projects/swimlane/swim-ui/demo/solutions/<name>.js) instead of creating a new file.
  • The .js file is a self-contained ES module that imports from CDN (Lit and swim-ui), exports a default class extending SwimlaneElement (the main solution component), composes the UI with swim-* components, and can be loaded by the demo app or a minimal HTML page (e.g. <script type="module" src="...">). No build step required.
  • Do not register the solution class as a custom element (no customElements.define(...)) — custom element registration is handled by the Swimlane platform.

CDN Imports

All runtime dependencies must be loaded from CDN (no npm install or bundling). Follow use-swim-ui for SwimlaneElement base and swim-ui bundle URL; ensure the lit specifier is available (e.g. import map). Solution-specific:

  • In the solution file: import SwimlaneElement (or Lit) first, then the swim-ui bundle; use the same Lit instance.
  • For directives (e.g. repeat): import { repeat } from 'https://esm.sh/lit-html@1/directives/repeat.js' (or lit-html@1/directives/repeat.js with import map).
  • The solution class must extend SwimlaneElement, use html, css, svg, unsafeCSS from that package, and export as default — do not call customElements.define().
  • In the command output, list every import with exact CDN URLs or import-map specifiers so the solution is copy-paste runnable.

Available Swimlane Lit Custom Elements

Use only the swim-* elements listed in the use-swim-ui skill (component list and usage). Do not invent or assume other tag names. For properties, events, slots, and imperative APIs (e.g. drawer), use use-swim-ui and its reference.md; or read projects/swimlane/swim-ui/src/components/<name>/ for the source of truth.

Design and Consistency

Follow the use-swim-ui skill for design rules (lit-elements as-is, layout-only styling, CSS variables, no hardcoded colors on components). In addition for solutions: use semantic HTML (main, section, header, form, label, etc.) and keep the DOM clear and minimal for maintainability and accessibility.

Accessibility (WCAG 2.1)

  • Semantics: Use the correct elements and ARIA roles (e.g. role="button" only when not a <button>, role="tablist" / role="tab" / role="tabpanel" where appropriate). Prefer native elements when they fit (e.g. <button>, <input>, <label>).
  • ARIA: Add aria-label, aria-labelledby, aria-describedby, aria-expanded, aria-selected, aria-controls, aria-disabled, aria-invalid, aria-required where they convey state or relationships. Keep id / aria-controls / aria-labelledby links valid and stable.
  • Keyboard: Full keyboard operation: Tab, Enter/Space to activate, Arrow keys where appropriate (e.g. lists, tabs), Escape to close overlays. No keyboard traps; focus moves logically (e.g. into/out of dialogs and drawers).
  • Focus: Visible focus indicator (e.g. :focus-visible with outline). When opening overlays, move focus as needed (e.g. to first focusable element or close button).
  • Labels: Every form control and interactive region has an accessible name (associated <label>, aria-label, or aria-labelledby).
  • State: Expose state to assistive tech (aria-selected, aria-checked, aria-expanded, aria-disabled, etc.) and keep it in sync with the UI.
  • Contrast: Use design tokens; ensure focus/active/disabled states meet contrast requirements.

No Memory Leaks

If the solution includes custom Lit elements (in addition to swim-*), or attaches listeners/timers in script:

  1. Event listeners

    • Remove any listener added to document, window, or other elements (e.g. slotted content). Use the same bound reference for addEventListener and removeEventListener.
    • Prefer storing the handler as a class field (e.g. this._clickBound = () => this._onClick();) so it can be removed in disconnectedCallback().
  2. Timers

    • Clear every setTimeout, setInterval, and recurring requestAnimationFrame in disconnectedCallback() (or when the relevant UI is torn down). Set stored timer ids to undefined after clearing.
  3. Cleanup order

    • In disconnectedCallback(), remove listeners and clear timers before calling super.disconnectedCallback().
  4. No long-lived refs

    • Avoid holding references to DOM nodes or objects that are no longer in the document after the component is disconnected.

If the solution is only HTML and uses swim-* elements without adding its own listeners or timers, document that no extra cleanup is required beyond what the Swimlane components already do.

Show full SKILL.md (704 more words)Show less

Allowed Technologies

  • HTML5: Structure, semantics, and minimal inline or linked CSS (prefer CSS variables).
  • Vanilla JavaScript (ES module): Logic, event handlers, and dynamic updates. Use type="module" and CDN imports.
  • Swimlane Lit custom elements: All UI components must be swim-* from @swimlane/swim-ui as listed in the use-swim-ui skill.
  • Optional: Custom Lit elements defined in the solution's own script (e.g. a wrapper or app shell) must extend SwimlaneElement and use css, html, svg, unsafeCSS from @swimlane/swimlane-element@2; use directives (e.g. repeat) from lit-html@1/directives/ as needed. The main solution class must be the default export — do not call customElements.define() (registration is handled by the Swimlane platform). Follow the same accessibility and no–memory-leak rules.

What Not to Do

  • Do not use Angular, React, Vue, or any other framework. Only SwimlaneElement (for any custom element you write) and Swimlane's swim-* components. Do not use raw LitElement.
  • Do not add additional styling to swim-* elements (e.g. custom colors, borders, shadows, typography). Use lit-elements as-is; only layout-related CSS (flex, grid, spacing, positioning) is allowed.
  • Do not use components or patterns from other design systems or from the custom-widgets site that are not part of @swimlane/swim-ui. Use only the swim-* elements listed in this command.
  • Do not assume a build step (e.g. bundling or npm install) unless the user explicitly asks for it. Default is runnable in the browser via CDN.
  • Do not call customElements.define() to register the solution class — the Swimlane platform handles registration. Always export default the class instead.
  • Do not leave event listeners or timers attached after the component or page context is gone.

Steps

  1. Apply use-swim-ui: Use the use-swim-ui skill (and its reference.md) for the component list, CDN usage, design rules, and per-component properties/events/slots. Do not rely on memory alone for swim-* API.
  2. Get the goal: If the user did not provide a goal or solution to build, ask for one and stop. Do not generate output until they specify what to build.
  3. Determine create vs update: If the user points to an existing file (e.g. a .js file in projects/swimlane/swim-ui/demo/solutions) or refers to the same solution they had before, update that file. Otherwise, create a new .js file with a unique name in projects/swimlane/swim-ui/demo/solutions.
  4. Clarify scope: From the user's request, determine the solution's purpose (e.g. single widget, form, dashboard), which swim-* components are needed (from use-swim-ui), and whether to add any custom Lit element.
  5. Choose CDN URLs: Decide exact CDN URLs (or import-map specifiers) for SwimlaneElement (@swimlane/swimlane-element@2), any lit-html directives (e.g. lit-html@1/directives/repeat.js), and for swim-ui use the bundle at https://cdn.jsdelivr.net/gh/surya-pabbineedi/swim-ui@gh-pages/swim-ui.js?v=1. Ensure lit is provided (e.g. via import map) so the bundle resolves. Document the import URLs in a short comment at the top of the file if helpful.
  6. Design structure: Outline the structure (semantic sections, form groups, layout) and which Swimlane components go where (from use-swim-ui component list and reference.md). Reuse design tokens from the swim-ui demo for consistency (or inject minimal :root via the script if the solution is loaded standalone).
  7. Implement: Write the single .js file at projects/swimlane/swim-ui/demo/solutions/<unique-name>.js. The file must: import SwimlaneElement, css, html, svg, unsafeCSS from @swimlane/swimlane-element@2; import any needed directives (e.g. repeat from lit-html@1/directives/repeat.js); import swim-ui from CDN; export a default class extending SwimlaneElement (do not call customElements.define() — registration is handled by the Swimlane platform); compose the UI with swim-* elements and wire events using use-swim-ui API (properties, events, slots); ensure every interactive element is accessible; and have any custom element clean up in disconnectedCallback(). When updating an existing file, apply the user's changes while keeping the same file path and unique name.
  8. Verify: Check that (a) all imports resolve (correct CDN URLs or import maps), (b) custom elements extend SwimlaneElement and use its exports, (c) only listed swim-* elements are used (per use-swim-ui), (d) labels/ARIA/keyboard/focus are in place, and (e) there are no listener/timer leaks.

Deliver a professional, consistent, accessible, leak-free solution in one .js file under projects/swimlane/swim-ui/demo/solutions with a unique name, exporting a default class extending SwimlaneElement (from @swimlane/swimlane-element@2) — do not register it as a custom element (no customElements.define()), using only swim-* components from @swimlane/swim-ui, and loading all dependencies from CDN. When the user refers to the same solution or points to a file, update that file instead of creating a new one.

© swimlane, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .cursor/skills/generate-swimlane-swim-solution of swimlane/ngx-ui.

Open the folder on GitHubat commit c98542d

Compare with similar skills

Generate Swimlane Swim Solution next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Generate Swimlane Swim Solution compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Generate Swimlane Swim Solution this skillswimlane/ngx-ui735—~3.4kAutomated safety check: PassMIT
BeeqEndava/BEEQ163—~5.6kAutomated safety check: PassApache-2.0
Kb Web ScanningCommunity-Access/accessibility-agents423—~1.2kAutomated safety check: PassMIT
Angular Accessibilityfmflurry/settings-opencode171—~2.7kAutomated safety check: PassMIT
A11y Auditalirezarezvani/claude-skills28k—~2.4kAutomated safety check: PassMIT
Angular Developeraffaan-m/ECC276k—~2.1kAutomated safety check: PassMIT

Similar skills

  • Beeq

    Endava/BEEQ

    Builds, styles, and reviews UI with BEEQ, Endava's web-component design system.

    163 GitHub stars~5.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Kb Web Scanning

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    423 GitHub stars~1.2k tokensUpdated 17 days ago
    Frontend & DesignAuto-check passed
  • Angular Accessibility

    fmflurry/settings-opencode

    Audit and fix common accessibility issues in Angular templates and Angular Material components.

    171 GitHub stars~2.7k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • A11y Audit

    alirezarezvani/claude-skills

    Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases.

    28k GitHub stars~2.4k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Angular Developer

    affaan-m/ECC

    Angular コードを生成し、アーキテクチャ ガイダンスを提供します。プロジェクトの作成、コンポーネント、またはサービスを作成するとき、または反応性(シグナル、linkedSignal、リソース)、フォーム、依存性注入、ルーティング、SSR、アクセシビリティ(ARIA)、アニメーション、スタイリング(コンポーネント スタイル、Tailwind CSS)、テスト、または CLI…

    276k GitHub stars~2.1k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • A11y Audit

    ricneves-ai/flowgrammers-skills

    Skill de auditoria de acessibilidade para escanear, corrigir e verificar a conformidade WCAG 2.2 Nível A e AA em codebases React, Next.js, Vue, Angular, Svelte e HTML puro.

    115 GitHub stars~2.7k tokensUpdated 15 days ago
    Frontend & DesignAuto-check passed

More from swimlane/ngx-ui

  • Use Swim UI

    swimlane/ngx-ui

    Use Swimlane swim-ui (swim- custom elements) when building custom solutions, record widgets, or report widgets for Turbine.

    735 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Generate Lit Component from Angular Implementation. An agent skill from swimlane/ngx-ui.

    735 GitHub stars~4.2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Generate Swimlane Swim Solution

What does Generate Swimlane Swim Solution do?

Generate Swimlane Lit Element Solution (CDN). An agent skill from swimlane/ngx-ui. Generate Swimlane Swim Solution is an agent skill from swimlane/ngx-ui. Generate Swimlane Lit Element Solution (CDN).

When should I use Generate Swimlane Swim Solution?

Generate Swimlane Swim Solution fits situations like: tasks that involve Accessibility.

How do I install Generate Swimlane Swim Solution in Claude Code?

Run `npx skills add swimlane/ngx-ui --skill generate-swimlane-swim-solution -a claude-code`. Or copy the skill folder (.cursor/skills/generate-swimlane-swim-solution in swimlane/ngx-ui) into .claude/skills/generate-swimlane-swim-solution in your project. Claude Code loads it when a task matches its description.

How do I install Generate Swimlane Swim Solution in Codex?

Run `npx skills add swimlane/ngx-ui --skill generate-swimlane-swim-solution -a codex`. Or copy the skill folder (.cursor/skills/generate-swimlane-swim-solution in swimlane/ngx-ui) into .agents/skills/generate-swimlane-swim-solution in your project. Codex loads it when a task matches its description.

Can I use Generate Swimlane Swim Solution in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add swimlane/ngx-ui --skill generate-swimlane-swim-solution -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/generate-swimlane-swim-solution, .gemini/skills/generate-swimlane-swim-solution, .github/skills/generate-swimlane-swim-solution and .opencode/skills/generate-swimlane-swim-solution in your project.

What does Generate Swimlane Swim Solution need to run?

SKILL.md names no scripts, command-line tools or credentials: Generate Swimlane Swim Solution is instructions for the agent only. Our summary lists: Node.js.

Does Generate Swimlane Swim Solution access the network?

SKILL.md names 5 domains. In commands or code: cdn.jsdelivr.net and esm.sh; the agent is likely to contact these when it follows the instructions. As links in the text: npmjs.com, github.com and swimlane.github.io. This is read from the text; nothing was executed.

Is Generate Swimlane Swim Solution safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Generate Swimlane Swim Solution use?

Generate Swimlane Swim Solution is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Generate Swimlane Swim Solution use?

About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Generate Swimlane Swim Solution?

Skills that share tags, products or a category with Generate Swimlane Swim Solution: Beeq (Endava/BEEQ, 163 stars), Kb Web Scanning (Community-Access/accessibility-agents, 423 stars), Angular Accessibility (fmflurry/settings-opencode, 171 stars) and A11y Audit (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Generate Swimlane Swim Solution?

swimlane (a GitHub organization) maintains it in swimlane/ngx-ui, which has 735 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 10, 2026.

Source: swimlane/ngx-ui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.