by narnia-sh
A browser coding agent interface for selecting elements and sending instructions directly to Claude Code.
# Add to your Claude Code skills
git clone https://github.com/narnia-sh/layrrLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "geist: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "next: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-05-30T15:16:57.914Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how layrr compares with popular alternatives.
layrr is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by narnia-sh. A browser coding agent interface for selecting elements and sending instructions directly to Claude Code. It has 266 GitHub stars.
Yes. layrr passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/narnia-sh/layrr" and add it to your Claude Code skills directory (see the Installation section above).
layrr is primarily written in TypeScript. It is open-source under narnia-sh on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh layrr against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
You can see the issue in the browser: the button is too wide, the copy is wrong, the spacing is off, or the component needs a quick behavior change. The slow part is finding the right file, line, and context before your coding agent can make a useful edit.
Layrr sits between your browser and local dev server. It injects a small overlay, maps clicked elements back to source, and gives your coding agent the instruction plus the selected code location.
Install Layrr globally:
npm install -g layrr
Start your app first:
pnpm dev
Then run Layrr against the dev server port:
layrr --port 3000
Layrr opens a proxied version of your app at http://localhost:4567.
In the browser:
For a local checkout:
pnpm install
pnpm build
node dist/cli.js --port 3000
layrr --port <number> [project-root] [options]
| Option | Description |
|---|---|
-p, --port <number> |
Local dev server port. Required. |
--proxy-port <number> |
Layrr proxy port. Defaults to 4567. |
--agent <name> |
AI agent to use: claude, codex, or gemini. |
--gemini-model <model> |
Save and use a Gemini model, for example gemini-2.5-flash. |
--configure-gemini |
Reconfigure the Gemini model and API key. |
--no-open |
Do not open the browser automatically. |
-h, --help |
Show help. |
Layrr supports:
claude - Claude Codecodex - Codex CLIgemini - Gemini via Pi coding agent, installed as a Layrr dependencyIf no agent is configured, Layrr prompts you to pick one.
To configure Gemini without starting a session:
layrr --configure-gemini
Layrr uses git as its undo path:
[layrr] prefixMIT