OpenCLI Adapter Author
jackwener/OpenCLI
Walks through writing an OpenCLI adapter for a new site or a new command on an existing one, from first recon and field decoding to coding and verification.
“d3k assistant for debugging web apps”
$ npx skills add varandrew/moor --skill d3k -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install varandrew/moor d3k --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/varandrew/moor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/d3k .claude/skills/d3k && 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 "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .claude/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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/varandrew/moor/tree/main/.agents/skills/d3kType 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 varandrew/moor --skill d3k -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install varandrew/moor d3k --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/varandrew/moor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/d3k .agents/skills/d3k && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .agents/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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 varandrew/moor --skill d3k -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install varandrew/moor d3k --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/varandrew/moor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/d3k .cursor/skills/d3k && 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 "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .cursor/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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/varandrew/moor.git --path .agents/skills/d3k--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 varandrew/moor --skill d3k -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install varandrew/moor d3k --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/varandrew/moor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/d3k .gemini/skills/d3k && 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 "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .gemini/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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 varandrew/moor d3kInstalls 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 varandrew/moor --skill d3k -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/varandrew/moor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/d3k .github/skills/d3k && 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 "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .github/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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 varandrew/moor --skill d3k -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install varandrew/moor d3k --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/varandrew/moor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/d3k .opencode/skills/d3k && 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 "d3k" agent skill from https://github.com/varandrew/moor/tree/main/.agents/skills/d3k into .opencode/skills/d3k/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "d3k", 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.
d3kD3k is a skill in varandrew/moor (200 stars). Its SKILL.md is about 1.2k tokens. Licence: Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7f2392d. 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:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
production-url.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
D3k loads about 1.2k tokens when it runs. Until then it costs about 10 tokens; SKILL.md has 390 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 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.
The full file from varandrew/moor at commit 7f2392d, republished under its Apache-2.0 licence (© varandrew). 390 words, ~1,197 tokens.
.claude/skills/d3k/SKILL.md (or your agent's skills folder).d3k captures browser and server logs in a unified log file. Use these commands:
d3k errors # Show recent errors (browser + server combined)
d3k errors --context # Show errors + user actions that preceded them
d3k errors -n 20 # Show last 20 errors
d3k logs # Show recent logs (browser + server combined)
d3k logs --type browser # Browser logs only
d3k logs --type server # Server logs onlyd3k fix # Deep analysis of application errors
d3k fix --focus build # Focus on build errors
d3k crawl # Discover app URLs
d3k crawl --depth all # Exhaustive crawld3k agent-browser auto-connects to the active session's browser via CDP:
d3k agent-browser open http://localhost:3000/page
d3k agent-browser snapshot -i # Get element refs (@e1, @e2)
d3k agent-browser click @e2
d3k agent-browser fill @e3 "text"
d3k agent-browser screenshot /tmp/shot.pngTo target a different browser, run d3k agent-browser connect <port> first.
Use this workflow when the user asks Codex to start d3k with a fresh browser/profile.
Close any stale agent-browser daemon before launching with --profile. Otherwise agent-browser will reuse the existing daemon and print --profile ignored.
d3k agent-browser close --allStart the app through d3k in servers-only mode and keep that command running. In Codex, this is more reliable than asking d3k to launch the browser itself when a fresh profile is required.
d3k --no-agent --no-skills --servers-only --command "npm run dev -- -H 127.0.0.1 -p 3000" --port 3000 --startup-timeout 90 --no-tuiAdjust the package-manager command and port for the project. Prefer --command over --script when passing framework flags. For npm scripts, put flags after --; otherwise tools like Next.js can interpret the port as a project directory.
Verify the server before opening more browser windows:
curl -I http://127.0.0.1:3000Open the fresh profile as a separate browser step:
d3k agent-browser --profile /tmp/d3k-fresh-profile --headed open http://127.0.0.1:3000Sanity-check the opened page:
d3k agent-browser get title
d3k agent-browser snapshot -i
d3k errorsPractical rules:
127.0.0.1 for this workflow. If localhost hangs or flips between IPv4/IPv6 behavior, do not keep retrying browser launches.curl -I hangs, the server is wedged even if the port appears occupied; restart the d3k server process before opening a browser.servers-only mode there is no d3k-monitored CDP browser. Use regular d3k agent-browser commands, not d3k cdp-port.agent-browser opens outside the sandbox when sandbox networking blocks access to 127.0.0.1.Use agent-browser for browser work.
Practical rule:
agent-browser.d3k agent-browser snapshot -i
d3k agent-browser click @e2To make d3k prefer one locally when it launches helper browser commands, use:
d3k --browser-tool agent-browserd3k errors --context - See errors and what triggered themd3k agent-browser open <url> then d3k agent-browser click @e1 to replayd3k errors - Verify fix workedWhen creating a PR for visual changes, always capture before/after screenshots to show the impact:
Before making changes, screenshot the production site:
d3k agent-browser open https://production-url.com/affected-page
d3k agent-browser screenshot /tmp/before.pngAfter making changes, screenshot localhost:
d3k agent-browser open http://localhost:3000/affected-page
d3k agent-browser screenshot /tmp/after.pngOr use the tooling API to capture multiple routes at once:
capture_before_after_screenshots(
productionUrl: "https://myapp.vercel.app",
routes: ["/", "/about", "/contact"]
)Include in PR description using markdown:
### Visual Comparison
| Route | Before | After |
| ----- | --------------------- | ------------------- |
| `/` |  |  |Upload screenshots by dragging them into the GitHub PR description.
© varandrew, 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 .agents/skills/d3k of varandrew/moor.
Open the folder on GitHubat commit 7f2392d
D3k 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 |
|---|---|---|---|---|---|---|
| D3k this skillvarandrew/moor | 200 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| OpenCLI Adapter Authorjackwener/OpenCLI | 30k | 1 repos | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Debugging Executionsn8n-io/n8n | 207k | — | ~2.6k | Automated safety check: Pass | Custom licence | |
| Analyze Logsactivepieces/activepieces | 25k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| OpenCLI Adapter Autofixjackwener/OpenCLI | 30k | 1 repos | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Kimi WebbridgeMoonshotAI/kimi-code | 7.8k | — | ~3.6k | Automated safety check: Pass | MIT |
jackwener/OpenCLI
Walks through writing an OpenCLI adapter for a new site or a new command on an existing one, from first recon and field decoding to coding and verification.
n8n-io/n8n
Debug failed or wrong-output workflow executions using executions tools.
activepieces/activepieces
Analyze application logs from the .evlog/logs/ directory. An agent skill from activepieces/activepieces.
jackwener/OpenCLI
Repairs a broken OpenCLI site adapter after a command fails: collects a trace, patches only the adapter, retries, and files an upstream GitHub issue once fixed.
MoonshotAI/kimi-code
Kimi Browser Extension(Kimi 浏览器扩展,原 Kimi WebBridge)lets AI control the user's real browser — navigate, click, type, read, screenshot, and interact with any website using the user's actual login…
vercel-labs/agent-browser
Records a site's browser traffic into a HAR file, then builds a standalone client or CLI that calls its internal endpoints directly with no browser.
Categories
Run `npx skills add varandrew/moor --skill d3k -a claude-code`. Or copy the skill folder (.agents/skills/d3k in varandrew/moor) into .claude/skills/d3k in your project. Claude Code loads it when a task matches its description.
Run `npx skills add varandrew/moor --skill d3k -a codex`. Or copy the skill folder (.agents/skills/d3k in varandrew/moor) into .agents/skills/d3k 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 varandrew/moor --skill d3k -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/d3k, .gemini/skills/d3k, .github/skills/d3k and .opencode/skills/d3k in your project.
Going by SKILL.md and its folder, D3k needs the command-line tools its instructions call (curl).
SKILL.md names 1 domain. In commands or code: production-url.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
D3k 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 1.2k tokens (SKILL.md is roughly 4.8k 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 D3k: OpenCLI Adapter Author (jackwener/OpenCLI, 30k stars), Debugging Executions (n8n-io/n8n, 207k stars), Analyze Logs (activepieces/activepieces, 25k stars) and OpenCLI Adapter Autofix (jackwener/OpenCLI, 30k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
varandrew (a GitHub user) maintains it in varandrew/moor, which has 200 GitHub stars. The repository was last updated on October 10, 2026.
Source: varandrew/moor on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.