Project Release
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
Product-specific frontend wrappers, API clients, and paths for ansible-ui.
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ansible/ansible-ui frontend-overlay --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/frontend-overlay .claude/skills/frontend-overlay && rm -rf skills-srcUse ~/.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/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .claude/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlayType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ansible/ansible-ui frontend-overlay --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/frontend-overlay .agents/skills/frontend-overlay && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .agents/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ansible/ansible-ui frontend-overlay --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/frontend-overlay .cursor/skills/frontend-overlay && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .cursor/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ansible/ansible-ui.git --path .claude/skills/frontend-overlay--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ansible/ansible-ui frontend-overlay --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/frontend-overlay .gemini/skills/frontend-overlay && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .gemini/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ansible/ansible-ui frontend-overlayInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/frontend-overlay .github/skills/frontend-overlay && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .github/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ansible/ansible-ui --skill frontend-overlay -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ansible/ansible-ui frontend-overlay --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ansible/ansible-ui.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/frontend-overlay .opencode/skills/frontend-overlay && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "frontend-overlay" agent skill from https://github.com/ansible/ansible-ui/tree/devel/.claude/skills/frontend-overlay into .opencode/skills/frontend-overlay/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "frontend-overlay", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
frontend-overlayProduct-specific frontend wrappers, API clients, and paths for ansible-ui.
Frontend Overlay is an agent skill from ansible/ansible-ui. Product-specific frontend wrappers, API clients, and paths for ansible-ui. Use when implementing or reviewing UI in this monorepo.
Its SKILL.md is about 2.5k 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 DevOps & Cloud, covering Infrastructure as code and Monorepo tooling. It works with Ansible, npm, Model Context Protocol and Playwright. The repository describes itself as: The UIs for Ansible Projects such as AWX, EDA, and HUB. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 09e86ed. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
npmnpxrgFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
PLATFORM_PASSWORDFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Frontend Overlay loads about 2.5k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 816 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- UI URL: `PLATFORM_UI` in `playwright/.env` (typically `https://localhost:4100`, HTTPS in browser)- Secret file path: `playwright/.env` (`PLATFORM_USERNAME`, `PLATFORM_PASSWORD`). Never print valuesAutomated 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.
The full file from ansible/ansible-ui at commit 09e86ed, republished under its Apache-2.0 licence (© ansible). 816 words, ~2,522 tokens.
.claude/skills/frontend-overlay/SKILL.md (or your agent's skills folder).ref-as-prop, no use(Context) (exact version in package.json)package.json).nvmrc and engines in root package.json (CI uses Node 24;
some jobs still use Node 20). Use the npm that ships with that Node — do not
cite stale npm major versions in skills or comments.framework/ (shared), frontend/{awx,eda,hub,chatbot}/, platform/hooks/ or frontend/common/hooks/awxAPI / edaAPI / hubAPI / gatewayAPI (not a generated typed client)playwright/ (playwright.config.ts, commands/, tests/, utils/)npm test (eslint + tsc + prettier + vitest). There is no npm run checknpm run eslint:guardrails on touched frontend/ / platform/ / framework/ .ts/.tsx. Advisory in CI; thresholds in .eslintrc.guardrails.json; do not add new warnings (see coding_standards §15)npm run vitest (unit); Playwright from playwright/npm start (from platform/)npm run buildnpm run fix (npm run prettier:fix for formatting only)CLAUDE.md (symlink AGENTS.md)Before implementing UI, consult patternfly-mcp for the official PF6 API and
accessibility guidance, then search framework/ and the relevant workspace for
an existing wrapper. For workflow or browser changes, use playwright to
inspect the running UI; use chrome-devtools for console, network, layout, and
performance diagnosis. Do not invent component props when an MCP or official
documentation lookup can answer the question.
Global/shared components live in the framework/ package — search there first
before reaching for raw PatternFly or writing a new component.
| Pattern | Component / hook | Notes |
|---|---|---|
| Page shell | PageLayout | framework/ |
| Page header | PageHeader | framework/ |
| Content panel | Page helpers in framework/ | Search framework/ before new components |
| List + table + pagination | PageTable + useAwxView / useEdaView / useHubView | Workspace view hook |
| Empty (no data / no filter / error) | framework empty states | |
| Confirmation | framework dialog / PF Modal | Reversible vs destructive |
| Error with retry | workspace error adapter | See coding_standards |
| Forms | AwxPageForm / EdaPageForm / HubPageForm / PlatformPageForm | See framework/PageForm/ for shared primitives; use the workspace wrapper, not raw PageForm |
| Toast / alert helper | framework alerts | addAlert({ variant, title, children? }) — body is children, not description; always set variant |
useGet, usePostRequest, …)/api/... paths (ESLint-enforced — custom rule); mocking requestGet instead of MSWframework/react-router. Use <Link> for in-app navigation, <Button> for actionsdocsLinks patterns in-treeplaywright/tests/visual/ (one spec per representative page)npx playwright test tests/visual/ --project "live chromium" from playwright/@not_mock)playwright/tests/visual/ Linux -linux.png suffixvr.overlay.ts): N/Aplaywright/playwright.config.tsnpm run live in playwright/) or mock (npx playwright test --project 'mock chromium')PLATFORM_UI in playwright/.env (typically https://localhost:4100, HTTPS in browser)PLATFORM_SERVER=https://localhost:443; optional AWX_SERVER, EDA_SERVER, HUB_SERVERplaywright/.env (PLATFORM_USERNAME, PLATFORM_PASSWORD). Never print valuesplaywright/):npm run live — live chromiumnpx playwright test --project 'mock chromium'npx playwright test tests/path/to/test.spec.ts --project 'live chromium'--max-failures=1 --retries=0--debug; traces: npx playwright show-trace trace.zipthisisunsafe): .claude/skills/testing_guidelines.mdcreateE2EName() in playwright/commands/setupAfter, resource *.api.delete, confirmAndAssertDeletionnpm run clean then npm ci| Miss | Grep / check |
|---|---|
Raw PageForm in a workspace UI | PageForm import from framework in frontend/ or platform/ |
fireEvent in tests | fireEvent in *.test.tsx |
| Translated string used in logic | if (t( or === t( |
Alert body in description, or addAlert without variant | rg "addAlert\(\{" -A8 --glob '!*.test.*' | rg "description:" (any hit) — body goes in children; every addAlert sets variant (title: may push children: several lines down) |
Resource use*Actions/Filters/Columns hook not under a hooks/ dir | fd "use.*(Actions|Filters|Columns)\.tsx$" | rg -v "/hooks/" (≈95% live under hooks/) |
Test placed in a __tests__/ dir instead of colocated *.test.tsx | fd -t d "__tests__" (repo has none; unit tests colocate beside source) |
userEvent used without a userEvent.setup() handle | test uses userEvent.click/type but has no const user = userEvent.setup() (≈94% use setup()) |
Raw string path in navigate('/...') | rg "navigate\('/" -g '*.tsx' -g '!*.test.tsx' — use usePageNavigate + route enum, or <Link> |
ansible/ansible-ui--since window: 90 days© ansible, 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
Just SKILL.md in .claude/skills/frontend-overlay of ansible/ansible-ui.
Open the folder on GitHubat commit 09e86ed
Frontend Overlay 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Frontend Overlay this skillansible/ansible-ui | 113 | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Project Releaseswimmwatch/cloakbrowser-mcp | 164 | — | ~1.9k | Automated safety check: Pass | MIT | |
| ReleaseWebMCP-org/npm-packages | 104 | — | ~1.6k | Automated safety check: Notes | MIT | |
| Project Docs Maintainerswimmwatch/cloakbrowser-mcp | 164 | — | ~569 | Automated safety check: Pass | MIT | |
| Ever Worksever-works/ever-works | 162 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Repo Hygiene Scan and FixQwenLM/qwen-code | 28k | — | ~1.7k | Automated safety check: Pass | Apache-2.0 |
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
WebMCP-org/npm-packages
Release the @mcp-b monorepo with Changesets and pnpm, using npm trusted publishing in GitHub Actions.
swimmwatch/cloakbrowser-mcp
Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.
ever-works/ever-works
Repo-specific guide to the Ever Works monorepo (ever-works/ever-works) — its pnpm + Turborepo layout, the per-workspace test runners (Jest vs Vitest vs Playwright), file-naming and import-alias…
QwenLM/qwen-code
Scheduled CI skill that scans a repository for small, certain docs, test and code hygiene issues and fixes them on one branch with a commit per finding.
patrickchugh/terravision
Draw cloud architecture diagrams for AWS, Azure or GCP with the official provider icon sets, using TerraVision.
ansible/ansible-ui
Write, run, and debug Playwright E2E / integration / live tests.
Categories
Product-specific frontend wrappers, API clients, and paths for ansible-ui. Frontend Overlay is an agent skill from ansible/ansible-ui. Product-specific frontend wrappers, API clients, and paths for ansible-ui.
Frontend Overlay fits situations like: reviewing UI in this monorepo; tasks that involve Infrastructure as code; tasks that involve Monorepo tooling.
Run `npx skills add ansible/ansible-ui --skill frontend-overlay -a claude-code`. Or copy the skill folder (.claude/skills/frontend-overlay in ansible/ansible-ui) into .claude/skills/frontend-overlay in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ansible/ansible-ui --skill frontend-overlay -a codex`. Or copy the skill folder (.claude/skills/frontend-overlay in ansible/ansible-ui) into .agents/skills/frontend-overlay in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ansible/ansible-ui --skill frontend-overlay -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/frontend-overlay, .gemini/skills/frontend-overlay, .github/skills/frontend-overlay and .opencode/skills/frontend-overlay in your project.
Going by SKILL.md and its folder, Frontend Overlay needs the command-line tools its instructions call (npm, npx and rg) and credentials named PLATFORM_PASSWORD. Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Frontend Overlay 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.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Frontend Overlay: Project Release (swimmwatch/cloakbrowser-mcp, 164 stars), Release (WebMCP-org/npm-packages, 104 stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 164 stars) and Ever Works (ever-works/ever-works, 162 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ansible (a GitHub organization) maintains it in ansible/ansible-ui, which has 113 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 9, 2026.
Source: ansible/ansible-ui on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.