Agent skill

Homarr Custom Widget

by homarr-labs in homarr-labs/homarr

Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets.

Apache-2.0Auto-check passedFrontend & Design

Install Homarr Custom Widget

skills CLI
$ npx skills add homarr-labs/homarr --skill homarr-custom-widget -a claude-code

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

GitHub CLI
$ gh skill install homarr-labs/homarr homarr-custom-widget --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/homarr-labs/homarr.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/homarr-custom-widget .claude/skills/homarr-custom-widget && 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
homarr-custom-widget
GitHub stars
5.1k
Token cost
~1.1k tokens
SKILL.md length
462 words
Files
5 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets.

  • Works in 4 steps: Build a credential-free definition from… → Send the coherent complete definition… → Test every returned query/simulated… → …
  • Tasks that involve React components
  • SKILL.md covers Bounded lifecycle and Delivery
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Homarr Custom Widget is an agent skill from homarr-labs/homarr. Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `agents/openai.yaml`, `references/runtime.md` and `references/schema.md`).

It sits in Frontend & Design, covering React components. The repository describes itself as: A modern and easy to use dashboard. 80+ integrations. 20K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve React components

Example prompts

  • “/homarr-custom-widget”

Workflow steps

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

  1. Build a credential-free definition from request, verified context, and sample. Preserve a migration's API path, method,
  2. Send the coherent complete definition directly to customWidget_previewCreate; it validates both manifest and JSX.
  3. Test every returned query/simulated action once, batching independent queries. On a concrete schema/preview error, fix only
  4. If previewCreate used definitionId, persist with customWidget_updateFromPreview; otherwise use

What it can do on your machine

Read from SKILL.md and the folder at commit bab37f7. 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.

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

  • Network

    No URLs in SKILL.md.

    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

Homarr Custom Widget loads about 1.1k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 29 tokens; SKILL.md has 462 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~29
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

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 homarr-labs/homarr at commit bab37f7, republished under its Apache-2.0 licence (© homarr-labs). 462 words, ~1,088 tokens.

Download SKILL.mdSave it as .claude/skills/homarr-custom-widget/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
homarr-custom-widget
description
Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets.

Homarr Custom Widget

Author requested widgets with release context; validate, test, persist, and return artifacts.

  • Read primary API docs when missing/changed. Samples and successful previews are binding; load only needed schema, runtime, security, or component context.
  • Batch unknown component searches/details. contextAlreadyLoaded reuses context; phaseComplete advances. Stop only for genuine provider/model, lifecycle-service, or workbench-closure failure.
  • Community widgets use customWidget_workshopSearch, customWidget_workshopGet, and customWidget_workshopInstall; configure and persist.

Return one fenced json block with the complete definition; keep evidence prose outside it. The definition has keyed sources, requests, template, and optional options; actions are requests with kind: "action".

  • sources.default is required. HTTP has baseUrl, networkScope, and credential-free auth; localhost/loopback requires networkScope: "loopback"; never widen an explicit scope. Saved sources use type: "integration"/integrationKind; Homarr holds credentials.
  • Saved integrations: discover kinds/full-access entries with integration_getKinds/integration_all, bind integrationId before preview, omit URL/auth, and keep non-GET requests as actions.
  • Paths are slash-prefixed: strings use {option:name}/{param:name}; query/body uses {"$option":"name"}/{"$param":"name"}. Loads use trigger: "load"; manual helpers use trigger: "manual".
  • Actions stay manual; preserve confirmation, permission, and invalidates; DELETE requires full permission/confirmation. $param is manual-only; $option may drive loads.
  • Load data.requestId/status.requestId with RefreshButton; status.requestId?.ok === false is error. Manual SubFetch never populates data/status; its child receives (result, metadata) and renders its fields.
  • Options have label, control, default; installation config is options.name, never inputs. Request-bound TextInput, Select, NumberInput, Pagination use literal bind + default and manual SubFetch params map inputs.<name> to $param. Dependent pagination uses defaultValue={1}/resetKey={inputs.query}. Remove controls without an option/request/helper; guard arrays/nested with ??; preserve documented timezone values; use UTC only when the contract says UTC.
  • Templates are one expression: no imports, hooks, refs, raw HTML/events, browser requests, eval, recursion, IIFEs, statement blocks, or arbitrary functions. Use registered component names; Icon may alias TablerIcon. Keep hierarchy, theme tokens, useful states, and narrow/wide layouts purposeful.
Show full SKILL.md (173 more words)Show less

Bounded lifecycle

  1. Build a credential-free definition from request, verified context, and sample. Preserve a migration's API path, method, body, options, and behavior; omit unknown requests rather than guessing.
  2. Send the coherent complete definition directly to customWidget_previewCreate; it validates both manifest and JSX. Use customWidget_validateTemplate only for isolated JSX diagnostics, never as a preview prerequisite. Use customWidget_previewReviseTemplate for JSX-only corrections after a preview exists. In the Assistant wrapper, multiline JSX uses templateLines and preview creation receives the complete definition.
  3. Test every returned query/simulated action once, batching independent queries. On a concrete schema/preview error, fix only that field and retry customWidget_previewCreate with the corrected definition; use customWidget_previewReviseTemplate only for JSX errors after a preview exists. Stop only for genuine provider/model, lifecycle-service, or workbench-closure failure.
  4. If previewCreate used definitionId, persist with customWidget_updateFromPreview; otherwise use customWidget_createFromPreview. Follow create nextAction once. Configure credentials in Homarr; never repeat plaintext secrets.

Delivery

Report actual lifecycle results. If unavailable, add one post-artifact Unverified: line naming missing validation, preview, renderer, or persistence. Never claim rendering/persistence from schema checks.

© homarr-labs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in .agents/skills/homarr-custom-widget of homarr-labs/homarr.

  • SKILL.md
  • agents/openai.yaml
  • references/runtime.md
  • references/schema.md
  • references/security.md

Open the folder on GitHubat commit bab37f7

Compare with similar skills

Homarr Custom Widget 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.

Homarr Custom Widget compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Homarr Custom Widget this skillhomarr-labs/homarr5.1k—~1.1kAutomated safety check: PassApache-2.0
Web Artifacts Builderanthropics/skills180k40 repos~769Automated safety check: PassApache-2.0
Tailwindcss Developmentanonaddy/anonaddy4.9k10 repos~865Automated safety check: PassMIT
Core Component Library PatternsChrisWiles/claude-code-showcase6.1k8 repos~1.2kAutomated safety check: PassNone
React Router Developmentremix-run/react-router57k1 repos~1.5kAutomated safety check: PassMIT
React UI State PatternsChrisWiles/claude-code-showcase6.1k8 repos~1.6kAutomated safety check: PassNone

Similar skills

  • Web Artifacts Builder

    anthropics/skills

    Official

    Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.

    180k GitHub starsUsed in 40 repos~769 tokens
    Frontend & DesignAuto-check passed
  • Tailwindcss Development

    anonaddy/anonaddy

    Always invoke when the user's message includes 'tailwind' in any form.

    4.9k GitHub starsUsed in 10 repos~865 tokens
    Frontend & DesignAuto-check passed
  • Core Component Library Patterns

    ChrisWiles/claude-code-showcase

    Reference for building UI with a token-based core component library: spacing, color and typography tokens, Box, stacks, Text, Button, Input and Card, plus layout patterns.

    6.1k GitHub starsUsed in 8 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • React Router Development

    remix-run/react-router

    Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Frontend & DesignAuto-check passed
  • React UI State Patterns

    ChrisWiles/claude-code-showcase

    Sets patterns for React interfaces: when to show loading spinners or skeletons, how to surface errors, how to disable buttons during async work and how to handle empty lists.

    6.1k GitHub starsUsed in 8 repos~1.6k tokens
    Frontend & DesignAuto-check passed
  • React View Transitions Guide

    vercel-labs/next-beats

    Official

    Guides implementing animated page and state transitions in React with the native View Transition API, covering shared elements, list reorders and directional navigation.

    168 GitHub starsUsed in 11 repos~3.1k tokens
    Frontend & DesignAuto-check passed

More from homarr-labs/homarr

  • Documentation Sync

    homarr-labs/homarr

    Write Homarr docs only when users need information to set up, use, or troubleshoot the app.

    5.1k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • MCP Integration

    homarr-labs/homarr

    Expose Homarr tRPC procedures safely through MCP. An agent skill from homarr-labs/homarr.

    5.1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Codebase Context

    homarr-labs/homarr

    Navigate Homarr's monorepo architecture and reuse shared packages.

    5.1k GitHub stars~679 tokensUpdated today
    Auto-check passed

Questions about Homarr Custom Widget

What does Homarr Custom Widget do?

Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets. Homarr Custom Widget is an agent skill from homarr-labs/homarr. Author, validate, preview, test, install, or configure API-backed Homarr Custom JSX v2 widgets.

When should I use Homarr Custom Widget?

Homarr Custom Widget fits situations like: tasks that involve React components.

How do I install Homarr Custom Widget in Claude Code?

Run `npx skills add homarr-labs/homarr --skill homarr-custom-widget -a claude-code`. Or copy the skill folder (.agents/skills/homarr-custom-widget in homarr-labs/homarr) into .claude/skills/homarr-custom-widget in your project. Claude Code loads it when a task matches its description.

How do I install Homarr Custom Widget in Codex?

Run `npx skills add homarr-labs/homarr --skill homarr-custom-widget -a codex`. Or copy the skill folder (.agents/skills/homarr-custom-widget in homarr-labs/homarr) into .agents/skills/homarr-custom-widget in your project. Codex loads it when a task matches its description.

Can I use Homarr Custom Widget 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 homarr-labs/homarr --skill homarr-custom-widget -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/homarr-custom-widget, .gemini/skills/homarr-custom-widget, .github/skills/homarr-custom-widget and .opencode/skills/homarr-custom-widget in your project.

What does Homarr Custom Widget need to run?

SKILL.md names no scripts, command-line tools or credentials: Homarr Custom Widget is instructions for the agent only.

Does Homarr Custom Widget access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Homarr Custom Widget 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 Homarr Custom Widget use?

Homarr Custom Widget is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Homarr Custom Widget use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.

What are the alternatives to Homarr Custom Widget?

Skills that share tags, products or a category with Homarr Custom Widget: Web Artifacts Builder (anthropics/skills, 180k stars), Tailwindcss Development (anonaddy/anonaddy, 4.9k stars), Core Component Library Patterns (ChrisWiles/claude-code-showcase, 6.1k stars) and React Router Development (remix-run/react-router, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Homarr Custom Widget?

homarr-labs (a GitHub organization) maintains it in homarr-labs/homarr, which has 5,063 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 11, 2026.

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