| Files | Last commit | Last update |
|---|---|---|
feat(skills): rename "agent-browser" skill to "core"; make CLI-served main skill actually useful (#1253) Before this change, the main skill served by the CLI (`agent-browser skills get agent-browser`) was a ~40-line discovery stub whose content was essentially "run `agent-browser skills get <name>` before doing anything." Agents already inside the CLI got no signal from it — the content they needed to actually use the tool lived only in the `--full` references. Split the two jobs apart: - **`skill-data/core/`** (new) — the runtime usage guide. 420-line `SKILL.md` covering the snapshot-and-ref loop, common workflows (login, extract, screenshot, multi-tab, sessions, iframes, dialogs), waiting strategies, element selection strategies, troubleshooting, and when to load a specialized skill. Supplementary `references/` and `templates/` (moved from `skills/agent-browser/`) provide the full command reference under `--full`. - **`skills/agent-browser/SKILL.md`** — still the discovery stub that `npx skills add` installs, now marked `hidden: true` so it stays out of `skills list` inside the CLI. Body is a clean pointer to `agent-browser skills get core` and the specialized skills. The `hidden: true` frontmatter flag is a new, general mechanism: skills marked hidden are omitted from `skills list` and `skills get --all` but can still be fetched by explicit name. This keeps the stub reachable for anyone who installed via `npx skills add` without polluting the CLI-side skill listing. ## Behavior ``` $ agent-browser skills list agentcore Run agent-browser on AWS Bedrock AgentCore cloud browsers... core Core agent-browser usage guide. Read this before running... dogfood Systematically explore and test a web application... electron Automate Electron desktop apps (VS Code, Slack, Discord...) slack Interact with Slack workspaces using browser automation... vercel-sandbox Run agent-browser + Chrome inside Vercel Sandbox microVMs... $ agent-browser skills get core # the actual usage guide # ~420 lines of workflows, patterns, troubleshooting $ agent-browser skills get agent-browser # still works if called explicitly # the thin stub, now pointing at `core` ``` External `npx skills add vercel-labs/agent-browser` behavior is unchanged: it finds and installs the thin `agent-browser` stub, which tells the agent to run `agent-browser skills get core` for real content. Version drift protection is preserved — the stub is the only thing that gets copied; the real content is always runtime-fetched. ## Updated - `cli/src/skills.rs` — `SkillInfo.hidden: bool`, parsed from frontmatter; `run_list` and `run_get --all` filter it. 3 new unit tests for the frontmatter parser. - `cli/src/output.rs` — top-level `--help` and `skills` subcommand help reference `skills get core` / `skills get core --full`. - `AGENTS.md` — "update these files for user-facing features" now points at `skill-data/core/` instead of the stub, with a note that the stub is not the right place for feature content. - `README.md`, `docs/src/app/skills/page.mdx` — describe the new split and `skills get core --full` as the recommended entry point. - `evals/cases/{command-usage,skill-selection}.ts` — expect `skills get core` in agent output instead of `skills get agent-browser`. Eval lib still reads `skills/agent-browser/SKILL.md` (simulating what an agent sees after `npx skills add`). All 11 skills unit tests pass. `cargo clippy -- -D warnings` and `cargo fmt --check` clean. Verified end-to-end: `skills list` shows `core` + specialized (no stub), `skills get core` returns the new content, `skills get agent-browser` still returns the stub on explicit request. | 6 months ago | |
Add MCP server with startup profiles (#1454) * Add MCP server with startup profiles - Add an MCP JSON-RPC server with typed agent-browser tools and protocol handling. - Route agent-browser mcp through the CLI entrypoint while keeping stdout reserved for MCP messages. - Add startup profile parsing for default, composed, and all MCP tool sets. - Default MCP startup to a smaller core profile while preserving full CLI parity behind --tools all. - Add agent_browser_tools_profiles so agents can discover available MCP profiles. - Keep CLI and MCP in sync through AGENTS guidance and MCP parity tests. - Update help, README, docs site, core skill, and command reference for MCP usage. - Add context footprint eval coverage for CLI skills, MCP core, and MCP all profiles. * fix: align MCP argument handling * fix: align MCP plugin parity * fix: satisfy mcp clippy checks | 4 months ago | |
feat(skills): load one reference with skills get --ref (#2310) * feat(skills): load one reference with skills get --ref skills get returned SKILL.md alone or every reference with --full. --ref <ref> returns only the named reference or template, matched by path, file name, or stem, and the MCP skills_get tool takes the same values in refs. The core guide's routing table now loads references this way instead of reading the skill directory. * test(evals): check that agents load one reference with skills get --ref reference-routing gives the model the core guide as already loaded and asks for tasks that need one reference. It passes when the model loads that reference with --ref, and fails on --full or reading the skill directory. A control case checks that a task core covers loads no reference. | 6 days ago | |
Add `agent-browser skills` command with evals (#1225) * Add `agent-browser skills` command Adds a `skills` CLI command that serves bundled skill content at runtime, always matching the installed CLI version. This solves the problem of agents relying on stale cached SKILL.md files after CLI upgrades. The `npx skills add vercel-labs/agent-browser` flow now installs a single thin discovery skill with trigger words for all use cases (browser automation, dogfooding, Electron apps, Slack, etc.) that directs agents to `agent-browser skills get <name>` for current instructions. The other five skills (dogfood, electron, slack, vercel-sandbox, agentcore) are marked `metadata.internal: true` so they are not installed by default but remain accessible via the CLI command. Subcommands: skills [list] List available skills skills get <name> [--full] Get skill content (with optional references) skills get --all Get all skill content skills path [name] Print skill directory path * Fix skills command robustness: UTF-8 safety, flag handling, path output - Make truncate_description UTF-8-safe using char_indices() instead of byte-indexed slicing that panics on multi-byte codepoints - Pass get_all as a bool parameter to run_get instead of embedding --all as a sentinel string in the names list - Canonicalize skills_dir path so `skills path` output is clean - Warn on unrecognized flags in `skills get` instead of silently ignoring them * Add evals framework and strengthen SKILL.md for better agent compliance Strengthen SKILL.md loading instructions to require `skills get` before running commands, and trim skill descriptions to prevent agents from guessing at command syntax. Add TypeScript/Bun eval framework that tests skill-loading, skill-selection, and command-usage via Claude CLI with Vercel AI Gateway. Evals pass 20/20 (100%), up from 85% baseline. * Fix formatting in skills.rs * Add Codex provider to evals framework Add multi-provider support with a shared Provider interface. Codex provider spawns `codex exec --json`, parses JSONL output, and writes ~/.codex/config.toml for AI Gateway routing. Use `--provider codex` to run evals with Codex (default model: openai/o3). First run scores 19/20 (95%) with 100% on skill-loading and skill-selection. * Use scoped temp dir for Codex config instead of overwriting ~/.codex | 6 months ago | |
feat(skills): rename "agent-browser" skill to "core"; make CLI-served main skill actually useful (#1253) Before this change, the main skill served by the CLI (`agent-browser skills get agent-browser`) was a ~40-line discovery stub whose content was essentially "run `agent-browser skills get <name>` before doing anything." Agents already inside the CLI got no signal from it — the content they needed to actually use the tool lived only in the `--full` references. Split the two jobs apart: - **`skill-data/core/`** (new) — the runtime usage guide. 420-line `SKILL.md` covering the snapshot-and-ref loop, common workflows (login, extract, screenshot, multi-tab, sessions, iframes, dialogs), waiting strategies, element selection strategies, troubleshooting, and when to load a specialized skill. Supplementary `references/` and `templates/` (moved from `skills/agent-browser/`) provide the full command reference under `--full`. - **`skills/agent-browser/SKILL.md`** — still the discovery stub that `npx skills add` installs, now marked `hidden: true` so it stays out of `skills list` inside the CLI. Body is a clean pointer to `agent-browser skills get core` and the specialized skills. The `hidden: true` frontmatter flag is a new, general mechanism: skills marked hidden are omitted from `skills list` and `skills get --all` but can still be fetched by explicit name. This keeps the stub reachable for anyone who installed via `npx skills add` without polluting the CLI-side skill listing. ## Behavior ``` $ agent-browser skills list agentcore Run agent-browser on AWS Bedrock AgentCore cloud browsers... core Core agent-browser usage guide. Read this before running... dogfood Systematically explore and test a web application... electron Automate Electron desktop apps (VS Code, Slack, Discord...) slack Interact with Slack workspaces using browser automation... vercel-sandbox Run agent-browser + Chrome inside Vercel Sandbox microVMs... $ agent-browser skills get core # the actual usage guide # ~420 lines of workflows, patterns, troubleshooting $ agent-browser skills get agent-browser # still works if called explicitly # the thin stub, now pointing at `core` ``` External `npx skills add vercel-labs/agent-browser` behavior is unchanged: it finds and installs the thin `agent-browser` stub, which tells the agent to run `agent-browser skills get core` for real content. Version drift protection is preserved — the stub is the only thing that gets copied; the real content is always runtime-fetched. ## Updated - `cli/src/skills.rs` — `SkillInfo.hidden: bool`, parsed from frontmatter; `run_list` and `run_get --all` filter it. 3 new unit tests for the frontmatter parser. - `cli/src/output.rs` — top-level `--help` and `skills` subcommand help reference `skills get core` / `skills get core --full`. - `AGENTS.md` — "update these files for user-facing features" now points at `skill-data/core/` instead of the stub, with a note that the stub is not the right place for feature content. - `README.md`, `docs/src/app/skills/page.mdx` — describe the new split and `skills get core --full` as the recommended entry point. - `evals/cases/{command-usage,skill-selection}.ts` — expect `skills get core` in agent output instead of `skills get agent-browser`. Eval lib still reads `skills/agent-browser/SKILL.md` (simulating what an agent sees after `npx skills add`). All 11 skills unit tests pass. `cargo clippy -- -D warnings` and `cargo fmt --check` clean. Verified end-to-end: `skills list` shows `core` + specialized (no stub), `skills get core` returns the new content, `skills get agent-browser` still returns the stub on explicit request. | 6 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 6 months ago | ||
| 4 months ago | ||
| 6 days ago | ||
| 6 months ago | ||
| 6 months ago |