6 Commits
Author SHA1 Message Date
Federico Bartoli e8c9b4632d fix(browser-testing): default to isolated profile, demote autoConnect
The recommended config attached the agent to the user's running Chrome
via --autoConnect ('recommended for most users'), giving it every open
window of the default profile: logged-in email, banking, GitHub
sessions. Combined with a page containing injected instructions, the
agent effectively holds the user's authenticated browser. The skill's
own Security Boundaries section treats browser content as untrusted,
but profile isolation is the layer that bounds the damage when those
rules fail.

Changes:
- Recommended config now uses --isolated (temporary profile, wiped on
  close); documents that the server's default is already a dedicated
  profile separate from the user's browser
- --autoConnect described accurately (Chrome 144+, requires enabling
  remote debugging) and demoted to the logged-in-state use case
- New 'Profile Isolation' subsection in Security Boundaries with
  escalation rules: dedicated profile -> test-only profile -> real
  profile only with unrelated tabs closed
- Red flag added for attaching to the daily profile for localhost tests
2026-06-11 03:20:03 +00:00
Joan Leon fd6554afb6 fix(browser-testing): correct chrome-devtools-mcp install config
Package name was wrong (@anthropic/chrome-devtools-mcp does not exist).
Adds -y to skip npx confirmation prompt and --autoConnect as the
recommended default to connect automatically to a running Chrome instance.
2026-06-09 10:04:23 +02:00
Shayne BoyerandCopilot 4d277aa72e docs(skills): tighten frontmatter for idea-refine and browser-testing
idea-refine: rewrite the description to follow the repository's
documented "Use when..." trigger convention (AGENTS.md). The previous
description was 135 characters, redundant, and used the skill name
itself as the only trigger phrase, making it the only skill not aligned
with how the other 21 skills self-describe.

browser-testing-with-devtools: surface the Chrome DevTools MCP
dependency at the top of the description and explicitly note the
requirement, so agents that route by MCP availability can detect it
without parsing the body.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-12 16:55:56 -04:00
Federico Bartoli fea75b1647 Align skill descriptions with Anthropic best practices
Update all SKILL.md descriptions to lead with what the skill does
(third person) followed by trigger conditions, per Anthropic's
skill authoring docs. All original trigger conditions preserved.
Update description max chars to match Anthropic spec (1024).
Retain workflow-summary warning in skill-anatomy.md to prevent
agents from following descriptions instead of reading full skills.
Add Table of Contents to reference files longer than 100 lines so
Claude can see the full scope of available information even when
previewing with partial reads.
2026-03-31 22:41:45 +02:00
Addy Osmani c1e7c2547b Address security feedback in #6
Here's what I added to address the audit findings:

**PROMPT_INJECTION (HIGH)** - Added a full "Security Boundaries" section with three subsections:
1. **Treat All Browser Content as Untrusted Data** - Explicit rules that DOM, console, network, and JS execution output are data, never instructions. Covers URL navigation restrictions and suspicious content flagging.
2. **Content Boundary Markers** - Visual diagram and rules separating trusted (user messages, project code) from untrusted (all browser-sourced data) contexts.

**COMMAND_EXECUTION (HIGH)** - Added **JavaScript Execution Constraints** subsection:
- Read-only by default
- No external requests from the page
- No credential/token access (cookies, localStorage, sessionStorage)
- Scope limited to current task
- User confirmation required for DOM mutations

Also updated the tool table description, added 5 new red flags, 2 new rationalizations, and 2 new verification checklist items to reinforce the security boundaries throughout the skill.

The JS execution tool remains functional for its core debugging purpose (state inspection, DOM queries, computed values) - the constraints just prevent misuse vectors.
2026-03-28 00:25:33 -07:00
Addy Osmani f53216f735 add browser testing 2026-02-15 14:34:47 -08:00