Skip to content

feat(shot-scraper): intégrer shot-scraper CLI comme standard navigateur ulk#141

Merged
izo merged 4 commits intomainfrom
claude/integrate-shot-scraper-K2ouJ
May 6, 2026
Merged

feat(shot-scraper): intégrer shot-scraper CLI comme standard navigateur ulk#141
izo merged 4 commits intomainfrom
claude/integrate-shot-scraper-K2ouJ

Conversation

@izo
Copy link
Copy Markdown
Owner

@izo izo commented May 6, 2026

Summary

  • Ajoute framework/agents/_shared/shot-scraper-protocol.md — protocole partagé CLI avec correspondances Chrome DevTools MCP, commandes clés (screenshot, JS, accessibility, multi, auth), limitations, et règle de migration agents
  • Met à jour les 4 agents concernés pour déclarer extends: _shared/shot-scraper-protocol.md : visual-auditor (03), frontend-qa (02), seo-auditor (32), agamotto (17)
  • Enregistre shot-scraper dans cli-registry.json avec priority: required et replaces_mcp: chrome-devtools-mcp
  • Documente dans .claude/rules/install-reference.md (section CLIs requises) et met à jour la description Visual Auditor dans frontend-agents.md
  • Régénère registry.json / registry.md (87 agents)

Détails

shot-scraper (simonw, MIT) remplace mcp__chrome-devtools__* pour toutes les captures web dans ulk depuis 2026-05-06. Avantages : CLI stateless, zéro config MCP, fonctionne en CI/headless, Playwright intégré.

Test plan

  • Vérifier shot-scraper --version après pip install shot-scraper && shot-scraper install
  • Tester shot-scraper <url> -o out.png sur une URL publique
  • Vérifier que les 4 agents ont bien shot-scraper-protocol.md dans leur frontmatter extends:
  • Confirmer que cli-registry.json contient l'entrée shot-scraper avec priority: required

https://claude.ai/code/session_017e5NQNe53RbzGuV5Cwq5ug


Generated by Claude Code

Summary by CodeRabbit

  • New Features

    • Introduced Shot-Scraper CLI tool, replacing Chrome DevTools approach across multiple agents for enhanced screenshot and accessibility analysis.
    • Added Lighthouse integration for performance metrics in Visual Auditor agent.
  • Documentation

    • Updated agent documentation (Visual Auditor, Frontend QA, SEO Auditor, Agamotto) with shot-scraper guidance.
    • Added comprehensive shot-scraper protocol documentation.
  • Chores

    • Updated agent registry and CLI references to reflect shot-scraper tooling.

…ur ulk

- Ajoute `_shared/shot-scraper-protocol.md` (protocole partagé CLI)
- Met à jour les 4 agents concernés (02, 17, 32, 03) : `extends: shot-scraper-protocol`
- Ajoute shot-scraper à `cli-registry.json` (priority: required, replaces_mcp: chrome-devtools-mcp)
- Documente dans `install-reference.md` (section CLIs requises)
- Met à jour `CLAUDE.md` et `.claude/rules/frontend-agents.md`
- Régénère `registry.json` / `registry.md` (87 agents)

Remplace mcp__chrome-devtools__* pour visual-auditor (03), frontend-qa (02),
seo-auditor (32) et agamotto (17). Source : simonw/shot-scraper (MIT).

https://claude.ai/code/session_017e5NQNe53RbzGuV5Cwq5ug
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 6, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b7d87741-9a2e-4458-b046-31de77bc3269

📥 Commits

Reviewing files that changed from the base of the PR and between d5950cf and a3ef4b1.

📒 Files selected for processing (15)
  • .claude/rules/frontend-agents.md
  • .claude/rules/install-reference.md
  • .github/workflows/test.yml
  • CLAUDE.md
  • framework/agents/_shared/shot-scraper-protocol.md
  • framework/agents/audit/32-seo-auditor.md
  • framework/agents/docs/17-agamotto.md
  • framework/agents/frontend/02-frontend-qa.md
  • framework/agents/frontend/03-visual-auditor.md
  • framework/agents/registry.json
  • framework/agents/registry.md
  • framework/cli/internal/installer/catalog.go
  • framework/cli/internal/installer/modules_test.go
  • framework/tools/cli-registry.json
  • install.sh

📝 Walkthrough

Walkthrough

This PR introduces shot-scraper CLI as a replacement for Chrome DevTools MCP across agent configurations, including new protocol documentation, registry entries, installer support, and individual agent migrations. The build infrastructure is updated to compile the ulk binary in CI and route install.sh commands to the compiled binary.

Changes

Shot-Scraper Tool Introduction & Agent Migration

Layer / File(s) Summary
Protocol & Tool Definition
framework/agents/_shared/shot-scraper-protocol.md, framework/tools/cli-registry.json, framework/cli/internal/installer/catalog.go
New shot-scraper protocol document defines CLI-first approach, installation, key commands (screenshot, batch YAML, JavaScript, accessibility, PDF, auth), MCP mapping table, and agent integration rules. Tool registry entries and installer catalog add shot-scraper as an ExternalModule dependency.
Documentation & Registry
.claude/rules/frontend-agents.md, .claude/rules/install-reference.md, CLAUDE.md, framework/agents/registry.md, framework/agents/registry.json
Registry files updated with timestamp 2026-05-06; visual-auditor description changed to reference shot-scraper; registry.json tool lists adjusted to remove MCP entries and add AskUserQuestionTool; CLAUDE.md expanded with mandatory Shot-Scraper, NotesMD CLI, Defuddle CLI, and Pandoc sections.
Agent Migrations
framework/agents/audit/32-seo-auditor.md, framework/agents/docs/17-agamotto.md, framework/agents/frontend/02-frontend-qa.md, framework/agents/frontend/03-visual-auditor.md
Four agent configurations migrate from MCP Chrome DevTools to shot-scraper: tools lists trimmed, _shared/shot-scraper-protocol.md added to extends, workflow blocks rewritten to use shot-scraper bash/JavaScript commands instead of MCP calls. Visual-auditor substantially restructured to introduce Lighthouse CWV metrics, accessibility tree capture, JS error detection, and asset verification phases.
Test Update
framework/cli/internal/installer/modules_test.go
Replaced exact module count assertion with new TestAllModulesWellFormed to validate non-empty Key and Flag for all modules, removing fragile hardcoded count dependency.

Build Infrastructure & Installation Flow

Layer / File(s) Summary
CI Workflow
.github/workflows/test.yml
Added Setup Go step (using actions/setup-go@v6) and Build ulk binary step (go build targeting framework/cli) to test-shell job, enabling compiled CLI binary availability in CI.
Install Script Routing
install.sh
Replaced default install behavior with case-based command routing: recognized top-level commands (check, verify, doctor, status, self-update, rollback, uninstall, migrate, update, install-deps) are forwarded to ulk binary; all others default to ulk install.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~70 minutes

Possibly related PRs

  • izo/Ulk#51: Implements the same CLI-first migration strategy, replacing MCP-based Chrome DevTools with shot-scraper CLI across agent configurations, registries, and installer components.

Poem

🐰 A rabbit hops through code so fine,
From DevTools MCP to shot-scraper's line,
Screenshots, accessibility, all one CLI—
Our agents now faster! We'll hop and we'll fly! 🚀✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/integrate-shot-scraper-K2ouJ

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.1)

level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies"


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

claude added 3 commits May 6, 2026 17:10
…ot-scraper)

- catalog.go : ExternalModule shot-scraper (dep: pip3, flag: --with-shot-scraper)
- cli-registry.json : champs macos/linux pour compatibilité BundleModule Go struct
- modules_test.go : 43 → 44 modules + shot-scraper dans disabled-by-default

https://claude.ai/code/session_017e5NQNe53RbzGuV5Cwq5ug
…tructurel

- test.yml: ajouter setup-go + build binaire avant bats dans test-shell
- install.sh: router --check/--verify (et variantes sans --) vers ulk check/verify
  au lieu de ulk install (flags inexistants)
- modules_test.go: remplacer TestAllHas44Modules (hardcodé) par
  TestAllModulesWellFormed (structurel — vérifie key/flag non-vides)

Fixes: test 1 (--help exit 0), test 5 (--check affiche outils), test 7 (--verify pass/fail)

https://claude.ai/code/session_017e5NQNe53RbzGuV5Cwq5ug
…amework/cli

go build doit s'exécuter depuis le répertoire du module Go (framework/cli),
pas depuis la racine du dépôt (pas de go.mod à la racine).

https://claude.ai/code/session_017e5NQNe53RbzGuV5Cwq5ug
@izo izo marked this pull request as ready for review May 6, 2026 17:20
@izo izo merged commit 681753e into main May 6, 2026
4 of 6 checks passed
@izo izo deleted the claude/integrate-shot-scraper-K2ouJ branch May 6, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants