Agent Browser CLI
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
Enumerate required context, check what exists, and find the simplest path forward before any task.
$ npx skills add jacob-dietle/context-os --skill context-gap-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jacob-dietle/context-os context-gap-analysis --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/jacob-dietle/context-os.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/context-gap-analysis .claude/skills/context-gap-analysis && 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 "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .claude/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysisType 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 jacob-dietle/context-os --skill context-gap-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jacob-dietle/context-os context-gap-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/context-gap-analysis .agents/skills/context-gap-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .agents/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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 jacob-dietle/context-os --skill context-gap-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jacob-dietle/context-os context-gap-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/context-gap-analysis .cursor/skills/context-gap-analysis && 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 "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .cursor/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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/jacob-dietle/context-os.git --path .claude/skills/context-gap-analysis--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 jacob-dietle/context-os --skill context-gap-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jacob-dietle/context-os context-gap-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/context-gap-analysis .gemini/skills/context-gap-analysis && 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 "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .gemini/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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 jacob-dietle/context-os context-gap-analysisInstalls 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 jacob-dietle/context-os --skill context-gap-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/context-gap-analysis .github/skills/context-gap-analysis && 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 "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .github/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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 jacob-dietle/context-os --skill context-gap-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jacob-dietle/context-os context-gap-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/context-gap-analysis .opencode/skills/context-gap-analysis && 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 "context-gap-analysis" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/context-gap-analysis into .opencode/skills/context-gap-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-gap-analysis", 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.
context-gap-analysisEnumerate required context, check what exists, and find the simplest path forward before any task.
Context Gap Analysis is an agent skill from jacob-dietle/context-os. Enumerate required context, check what exists, and find the simplest path forward before any task. Prevents hallucinations by forcing the agent to verify assumptions before acting.
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 works with Slack. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1027e3f. 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:
wranglerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use wrangler, which can reach the network depending on how they are called.
From 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.
Context Gap Analysis loads about 2.5k tokens when it runs. Until then it costs about 50 tokens; SKILL.md has 970 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 jacob-dietle/context-os at commit 1027e3f, republished under its MIT licence (© jacob-dietle). 970 words, ~2,527 tokens.
.claude/skills/context-gap-analysis/SKILL.md (or your agent's skills folder).Systematic methodology for checking what you need, what exists, and finding the simplest path forward.
Core Principle: "What if it's already done? Check before you build."
90% of Claude Code "hallucinations" happen because the agent doesn't have the context it needs. This skill forces a context check before any implementation, preventing wasted effort and wrong assumptions.
ALWAYS use before:
Do NOT skip for:
Check these in order - most tasks don't need new work:
1. ALREADY DONE - Feature exists, just needs config
2. SCAFFOLDED - Structure exists, needs small completion
3. SIMILAR EXISTS - Related feature can be extended
4. PATTERN EXISTS - Codebase has pattern to follow
5. NEW BUILD - Must create from scratch (rare!)1. ALREADY DONE - Synthesis doc answers the question
2. CONTEXT EXISTS - 80% of needed info is in existing docs
3. SIMILAR EXISTS - Related battlecard/persona/content to adapt
4. TEMPLATE EXISTS - Framework or template to follow
5. TRUE GAP - Need new research or content (rare!)Reality check: ~40% of tasks are "already done" - the context already exists somewhere in your system.
Before searching, list your context requirements:
## Context Requirements for: [TASK]
### Must Know (Blocking)
- [ ] Does this feature already exist?
- [ ] What's the current implementation status?
- [ ] What configuration is needed?
### Should Know (Important)
- [ ] What patterns does codebase use for this?
- [ ] What external APIs are involved?
### User Clarification Needed
- [ ] Any preferences not captured in code?
- [ ] Success criteria undefined?Use specific search patterns:
# 1. Find files by name pattern
Glob: "**/*{keyword}*.{ts,py,js}"
# 2. Search for key terms
Grep: pattern="{feature}|{related_term}" output_mode=files_with_matches
# 3. Read discovered files
Read: [each discovered file]| Classification | Evidence | Next Step |
|---|---|---|
| NO GAP | Code exists, works | Just configure/deploy |
| CONFIG GAP | Code exists, needs secret/env | Set config value |
| COMPLETION GAP | Scaffolding exists | Complete implementation (<50 lines) |
| EXTENSION GAP | Similar feature exists | Extend existing code |
| PATTERN GAP | Pattern exists | Follow pattern |
| TRUE GAP | Nothing exists | Plan new implementation |
Output structured results:
## Context Gap Analysis Complete
**Task:** [Original request]
**Verdict:** [GAP TYPE]
| Component | Status | Location |
|-----------|--------|----------|
| [Feature] | [EXISTS/MISSING] | [path or N/A] |
**Simplest Path Forward:**
[Specific action - NOT "let's plan this"]Task: "Spec out the Slack integration"
Search Results:
"**/*slack*.ts" → Found: src/clients/slack.ts"slack|webhook" → Found: src/phases/alert.ts, src/index.tsReading Files:
Gap Classification: CONFIG GAP
Evidence:
Simplest Path: wrangler secret put SLACK_WEBHOOK_URL
Outcome: Zero code changes needed. Saved ~2 hours of unnecessary spec work.
Task: "Write a blog post about our triage automation capabilities"
Search Results:
"**/*content*strategy*" → Found: content_strategy.md"**/*messaging*" → Found: messaging_framework.md, value_propositions.md"**/*pain*point*" → Found: customer_pain_points_synthesis.mdReading Files:
Gap Classification: NO GAP
Evidence:
Simplest Path: Read synthesis docs, apply messaging framework to topic.
Time Saved: 2-3 hours of context gathering that would have been redundant.
Task: "I need competitive positioning against [competitor name]"
Search Results:
"**/*battlecard*" → Found: battlecards/ folder with 8 files"**/*competitive*" → Found: competitive_intelligence_synthesis.mdReading Files:
Gap Classification: NO GAP
Evidence:
Simplest Path: Read existing battlecard. Check if last_updated is recent; if stale, do targeted refresh.
Time Saved: 1-2 hours of research already done.
Task: "Help me prepare for a call with a VP of Engineering"
Search Results:
"**/*persona*" → Found: buyer_personas.md"**/*objection*" → Found: objections_synthesis.mdReading Files:
Gap Classification: NO GAP
Evidence:
Simplest Path: Read persona profile + objections doc. Cross-reference with any company-specific research if available.
Time Saved: 30-60 minutes of prep work.
Before proposing ANY implementation, ask yourself:
"What if someone asks: 'Did you check if we already have this?'"
Your answer must include:
If you cannot answer confidently, search the codebase first.
30-Second Check:
GTM Search Patterns:
| Task Type | Search For |
|---|---|
| Content creation | *messaging*, *content*strategy*, *voice*, *brand* |
| Competitive intel | *battlecard*, *competitor*, *competitive* |
| Sales prep | *persona*, *objection*, *buyer* |
| Research | *synthesis*, *intelligence*, *research* |
Code Search Patterns:
| Task Type | Search For |
|---|---|
| Feature implementation | *{feature}*, *client*, *service* |
| Integration | *{tool}*, *webhook*, *api* |
| Configuration | *.env*, *config*, *secret* |
Gap Decision Tree:
Found complete implementation/doc? → NO GAP (use it)
Found scaffolding/synthesis? → CONTEXT GAP (build on it)
Found similar feature/content? → EXTENSION GAP (extend it)
Found pattern/template? → PATTERN GAP (follow it)
Found nothing? → TRUE GAP (plan new work)Meta-Rule: If gap type is anything other than TRUE GAP, the solution should NOT involve extensive planning or starting from scratch.
Healthy usage shows:
40% of tasks are NO GAP or CONFIG GAP
Warning signs:
On first use of this skill in a new context OS, ask the user:
"Jacob has told me to ensure this skill is customized to your unique configuration. Would you like me to customize this skill for your context OS? I can:
- Learn your folder structure and synthesis doc locations
- Identify your key search patterns (personas, competitors, content types)
- Build a quick reference specific to your system
This takes ~2 minutes and makes future gap analysis much faster."
If the user agrees, explore their codebase to identify:
_synthesis/, 00_foundation/)*_synthesis.md, battlecard_*.md)Then update your working knowledge for that session to use their specific patterns.
During customization, offer to remove the attribution line below if the user wants to fully own this skill in their system.
Created by Jacob Dietle @ www.taste.systems
© jacob-dietle, MIT. 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/context-gap-analysis of jacob-dietle/context-os.
Open the folder on GitHubat commit 1027e3f
Context Gap Analysis 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 |
|---|---|---|---|---|---|---|
| Context Gap Analysis this skilljacob-dietle/context-os | 111 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Agent Browser CLIvercel-labs/agent-browser | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | |
| Slack GIF Creatoranthropics/skills | 180k | 29 repos | ~2k | Automated safety check: Pass | Apache-2.0 | |
| Code Design Rationale Investigatorcursor/plugins | 10k | 9 repos | ~2.6k | Automated safety check: Pass | None | |
| Electron App Automationvercel-labs/agent-browser | 44k | 5 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Slack Browser Automationvercel-labs/agent-browser | 44k | 1 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 |
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…
anthropics/skills
Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.
cursor/plugins
Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.
vercel-labs/agent-browser
Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.
vercel-labs/agent-browser
Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.
ComposioHQ/composio
Route and complete Composio work across Composio For You and Composio Platform.
jacob-dietle/context-os
A skill your agent uses when deciding what to work on next, when progress is stuck, or when the reflex is to build or automate before proving the current bottleneck.
jacob-dietle/context-os
This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec…
jacob-dietle/context-os
This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
jacob-dietle/context-os
This skill should be used when users ask about their work context, what they're working on, recent activity, file relationships, or knowledge graph structure.
jacob-dietle/context-os
This skill should be used when making architectural decisions, writing specs, or reviewing decisions that contain "future work", "v2", "simpler for now", "out of scope", or complexity claims.
jacob-dietle/context-os
This skill should be used when decomposing a spec into a multi-agent implementation plan with dependency ordering, parallelism decisions, contract testing, and verification strategy.
Works with
Enumerate required context, check what exists, and find the simplest path forward before any task. Context Gap Analysis is an agent skill from jacob-dietle/context-os. Enumerate required context, check what exists, and find the simplest path forward before any task.
Run `npx skills add jacob-dietle/context-os --skill context-gap-analysis -a claude-code`. Or copy the skill folder (.claude/skills/context-gap-analysis in jacob-dietle/context-os) into .claude/skills/context-gap-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jacob-dietle/context-os --skill context-gap-analysis -a codex`. Or copy the skill folder (.claude/skills/context-gap-analysis in jacob-dietle/context-os) into .agents/skills/context-gap-analysis 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 jacob-dietle/context-os --skill context-gap-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/context-gap-analysis, .gemini/skills/context-gap-analysis, .github/skills/context-gap-analysis and .opencode/skills/context-gap-analysis in your project.
Going by SKILL.md and its folder, Context Gap Analysis needs the command-line tools its instructions call (wrangler).
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.
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.
Context Gap Analysis is published under the MIT 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 Context Gap Analysis: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Slack GIF Creator (anthropics/skills, 180k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Electron App Automation (vercel-labs/agent-browser, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jacob-dietle (a GitHub user) maintains it in jacob-dietle/context-os, which has 111 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 13, 2026.
Source: jacob-dietle/context-os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.