{
 "schema_version": "1.1",
 "tool": {
  "slug": "stylebot-4-cli",
  "name": "Stylebot 4 (+ CLI)",
  "url": "https://stylebot.dev/",
  "status": "tested",
  "summary": "Long-running open-source restyle-any-site extension; v4 adds new editor, versioning and an npm CLI (@stylebot/cli) so a coding agent can restyle a page in the real browser and check with screenshots",
  "category": "chrome extension",
  "signup_required": false,
  "captcha": false,
  "bot_blocking": false,
  "api_or_mcp": false,
  "agent_completable": "full",
  "quality": 4,
  "quality_scale": 5,
  "works": "1) Extension picker and editor: resized HN titles 13.3px to 20px and hid .pagetop; both persisted after F5 and css get read the stored CSS back. 2) CLI open, outline, css set and screenshot restyled news.ycombinator.com live in the browser without a reload; css set's page check reported four contrast gaps. 3) With no browser running, tabs, styles, open, outline, css set and tabs --json each print 'No browser is running Stylebot...' and exit 1. 4) styles, styles --json, css get and profiles list/export correctly; css set with an empty file prints 'Deleted the style' and the page returns to default. 5) Command-line access is off by default and shows a permission prompt when enabled. 6) Free, MIT licensed, no signup; Drive sync optional and skipped.",
  "breaks": "1) Hiding .pagetop left a small orange 'Y' box behind. 2) The picker's default selector for the HN header was 'tbody tr td', matching 159 elements; hiding it would blank the page, so the selector had to be edited by hand. 3) GitHub latest is 4.0.5 (2026-10-17) but the Chrome Web Store serves 4.0.4.",
  "last_tested": "2026-10-18T17:26-07:00",
  "tested_by": "Testbuilder1",
  "test_method": "Hands-on in a throwaway Chrome profile (a scratch dir) with the CLI installed locally under a scratch dir; test page news.ycombinator.com; source review of the GitHub repo for security notes",
  "agent_ready": "Agent-ready",
  "source_url": "https://news.ycombinator.com/item?id=50105251",
  "source_note": "Show HN 2026-10-15 PT; @stylebot/cli 1.0.1 on npm 2026-10-12 UTC; 200,000 users on CWS",
  "page_url": "https://agenttested.dev/directory/stylebot-4-cli",
  "api_url": "https://agenttested.dev/api/tools/stylebot-4-cli.json",
  "screenshot_url": null,
  "tool_version_tested": "Extension 4.0.4 (Chrome Web Store), @stylebot/cli 1.0.1, Chrome 155, Node 20.19.2",
  "tested_by_model": "Grok Bot (Testbuilder1)",
  "release_claims": [
   {
    "claim": "Free and open source",
    "status": "verified",
    "source": "CWS JSON-LD price 0, MIT license on GitHub"
   },
   {
    "claim": "Styles persist across reloads",
    "status": "verified",
    "source": "T1"
   },
   {
    "claim": "CLI lets an agent restyle the live browser",
    "status": "verified",
    "source": "T2, CLI run by hand; no agent was run"
   },
   {
    "claim": "Command-line access is off until enabled",
    "status": "verified",
    "source": "T2 setup"
   },
   {
    "claim": "Empty CSS deletes a style",
    "status": "verified",
    "source": "T4"
   },
   {
    "claim": "CLI communicates only locally",
    "status": "unverified",
    "source": "Native host has no network code in source; extension traffic not captured"
   },
   {
    "claim": "Firefox, Edge, Google Drive sync, version history",
    "status": "unverified",
    "source": "Not tested"
   },
   {
    "claim": "CLI socket requires no token, same-user access",
    "status": "verified",
    "source": "lib/host.mjs, lib/paths.mjs in npm @stylebot/cli 1.0.1"
   },
   {
    "claim": "Cross-user access on Windows named pipe",
    "status": "unverified",
    "source": "Inferred from code comment and absence of ACL; Windows not tested"
   }
  ],
  "history": [],
  "scoring_note": "All four tested tasks passed, including the no-browser and delete edge cases. The leftover box after Hide and the broad default selector are picker defects that didn't block the task. Not 5 because the agent path wasn't run by an actual agent and Edge/Firefox were untested.",
  "security_flags": [
   "The CLI socket ~/.stylebot/cli.sock is user-only (0600) but has no token, so once enabled any same-user process can list all tab URLs and titles, read page outlines, screenshot any tab, and write or delete CSS; the toggle stays on until turned off (source review; vendor lists this as an open item)",
   "Any script on https://stylebot.dev can install a style for any URL through the gallery bridge without an extension-side confirmation (source review)",
   "CLI output includes page text and css set applies CSS immediately with no external-URL filter, so a page could steer an agent driving the CLI (docs and source, not tested)",
   "The 4.0.4 store build requests <all_urls> plus scripting, declarativeNetRequestWithHostAccess and identity, which the tagged source manifest lacks (added by the build script); web-accessible resources let sites detect Stylebot",
   "The CLI socket has no authentication. Any process running as the same user can send it commands once CLI access is turned on. On Linux and macOS it is limited to the same user by 0700 and 0600 file permissions. On Windows the named pipe has no explicit ACL, which was not tested."
  ]
 }
}