Unified browser automation: lightweight exploration via agent-browser + Retina recording via Playwright on a shared Chrome session
Use this agent when a Playwright flow is failing and needs automated diagnosis and repair. Diagnoses root causes using agent-browser snapshots and the interaction log, edits flow code, and re-runs until flows pass. Also use when the explore skill's flow or record mode produces a failing flow file. Triggers: "heal tests", "fix playwright", "tests are failing", "debug e2e", "playwright failures", "flaky tests", "test healing", "flow is failing". <example> Context: User runs a generated flow and it fails. user: "The flow I just generated is failing on the dashboard page." assistant: "Let me engage the playwright-healer agent to diagnose and fix the flow." </example> <example> Context: User recorded a flow but selectors broke after a code change. user: "My recording flow broke after the Angular update." assistant: "I'll use the playwright-healer agent to update the selectors." </example>
Use this agent when the explore skill enters Record mode and needs to generate a Retina-quality recording of browser interactions. Reads the interaction log, generates a Playwright `.flow.ts` with CDP screencast, runs the flow, stitches frames into MP4/GIF via ffmpeg, and returns the output path. If the flow fails, invokes the playwright-healer agent internally. Triggers: "record flow", "generate recording", "screencast", "PR evidence video", "capture browser interaction". <example> Context: The explore skill has finished inspecting and the user wants a recording. user: "Record the site creation flow." assistant: "I'll dispatch the recorder agent to generate the Retina recording." <commentary> Record mode is token-intensive (CDP frames, ffmpeg output, potential healing iterations). Dispatching to the recorder agent keeps the main context lean — only the result path comes back. </commentary> </example> <example> Context: The user wants a GIF alongside the MP4 for a PR description. user: "Record this and also make a GIF for the PR." assistant: "Dispatching the recorder agent with --gif to produce both MP4 and GIF." <commentary> Same reason as above — the GIF pipeline adds palette generation and denoise steps that would further bloat the main context if run inline. </commentary> </example> <example> Context: The user is exploring a page and switches to record mode mid-session. user: "Actually, let's record what I just did." assistant: "The interaction log has your steps. I'll dispatch the recorder agent to turn them into a video." <commentary> The interaction log already captured every agent-browser command via the PostToolUse hook. The recorder agent reads it and translates to a recording flow — no need to repeat the interactions. </commentary> </example>
Use when the user wants to inspect a web page, check UI state, verify element presence, explore an app interactively, create a replayable Playwright flow, or record a Retina-quality video of a browser interaction. Uses agent-browser for lightweight exploration (93% less context than Playwright MCP) and Playwright connectOverCDP for flows and recording — both on the same shared Chrome session. Framework-agnostic — works with any web application on any URL (localhost or remote). Triggers: "explore page", "check the UI", "what does the page look like", "snapshot", "quick look", "inspect the app", "agent-browser", "create a flow", "make this replayable", "record this", "make a video", "screen record", "capture a screencast", "PR evidence video".
Use when the user needs to authenticate into a web app using agent-browser and 1Password, open a persistent browser session, log in as a specific role, switch between users, or manage named agent-browser sessions. Handles automated login via snapshot+refs discovery, session reuse, parallel multi-role login, and already-authenticated detection. Handles form-based login including Auth0 and Angular Material via agent-browser's fill command. Triggers: "login", "browser session", "authenticate", "agent-browser", "persistent session", "op run", "log in as", "switch user", "open app", "browser login".
Executes bash commands
Hook triggers when Bash tool is used
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A personal collection of Claude Code plugins shaped by daily use. These skills started as shortcuts for my own workflow — dealing with messy voice transcriptions, forgetting to investigate before coding, merging branches I forgot to clean up. Over time they became structured enough to share.
Some are portable (you can drop them into any project), others are opinionated (they reflect how I like to work). Take what's useful, ignore what isn't.
/plugins marketplace add denniscalazans/denniscalazans-plugins
/plugins install dc@denniscalazans-plugins
/plugins install forge@denniscalazans-plugins
/plugins install integrations@denniscalazans-plugins
/plugins install code-quality@denniscalazans-plugins
/plugins install browser@denniscalazans-plugins
The bridge between your brain and AI: decode messy input, stress-test ideas, distill insights back. These work as a pipeline: brief decodes messy input → grill stress-tests the plan → distill produces clean output.
| Command | What it does |
|---|---|
/dc:brief | Turn chaotic input (voice transcription, brain dumps, messy notes) into structured, actionable output |
/dc:grill | Stress-test a plan, design, or architecture through relentless prepared questioning |
/dc:distill | Extract key insights and restructure content for human readers |
/dc:writing | Apply one-sentence-per-line markdown convention |
Agent: strategic-thinking-partner — proactive strategic oversight and assumption challenging
SonarQube-driven code quality workflows via MCP.
| Command | What it does |
|---|---|
/code-quality:sonar-status | Check quality gate status and dashboard metrics |
/code-quality:sonar-issues | Browse and search SonarQube issues with safe pagination |
/code-quality:sonar-fix | Fix a SonarQube issue with rule lookup and local verification |
/code-quality:sonar-verify | RED/GREEN validation — cross-reference server issues with local analysis |
/code-quality:sonar-triage | Mark issues as false positive, accepted, or reopened |
/code-quality:sonar-rule | Look up a SonarQube rule with compliant/noncompliant examples |
/code-quality:sonar-setup | Set up SonarQube MCP integration and diagnose connectivity |
/code-quality:sonar-env | Inspect local SonarQube infrastructure (IDE ports, MCP containers) |
Agent: code-quality-agent — orchestrates multi-step quality workflows (audits, batch fixes, PR reviews).
Context-efficient browser automation combining agent-browser for lightweight exploration with Playwright for Retina recording — both on a shared Chrome session.
| Command | What it does |
|---|---|
/browser:login | Authenticate into web apps using agent-browser + 1Password |
/browser:explore | Inspect pages, generate replayable flows, record Retina videos — three modes, one skill |
Agents:
recorder — generates and executes Retina recordings as a subagent, keeping the main context leanplaywright-healer — debug and fix failing Playwright flows using interaction log contextRequires: npm i -g agent-browser && agent-browser install
Install:
/plugins install browser@denniscalazans-plugins
Everything code-specific: start a task clean, investigate before implementing, run the adversarial pipeline, finish by cleaning up.
| Command | What it does |
|---|---|
/forge:start | Return to main with a clean working directory — begin a new task |
/forge:investigate | Explore codebase patterns and produce a TODAY IS / EXPECTED IS report |
/forge:implement | Orchestrate the adversarial pipeline with dynamic routing |
/forge:finish | Delete local branches already integrated into the default branch |
npx claudepluginhub denniscalazans/denniscalazans-plugins --plugin browserSonarQube-driven code quality skills for checking quality gates, browsing issues, fixing violations, verifying fixes locally, and triaging false positives
Codebase support toolkit — task lifecycle, codebase investigation, and adversarial implementation pipeline
External service connectors — Figma REST API and 1Password CLI
Brain round trip toolkit — decode messy input, stress-test plans, distill insights, and write clean markdown
Canary browser automation + recorded QA sessions: a sandbox scripting reference, verify/automate/session/review skills, JTBD subagents, and /canary slash commands.
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script. Originally from OpenAI's curated skills catalog.
Chrome DevTools Protocol (CDP) browser automation, web scraping, and crawling with React compatibility
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows.
Playwright E2E test debugging and interactive browser exploration. Runs tests with action capture (DOM snapshots, network, console, screenshots), diagnoses failures, and provides browser tools for navigating, clicking, and inspecting pages through ARIA snapshots.
Harness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses