Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/stefan-stepzero/shipkit/shipkit-qa-visualnpx skills add stefan-stepzero/shipkit --skill shipkit-qa-visualgit clone --depth 1 https://github.com/stefan-stepzero/shipkitWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00045 | $0.02787 |
| Opus 5 | $0.00023 | $0.01393 |
| Sonnet 5 | $0.00009 | $0.00557 |
| Haiku 4.5 | $0.00005 | $0.00279 |
Grade A, and why
shipkit-qa-visual scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
2. Probe common ports: `curl -s -o /dev/null -w "%{http_code}" http://localhost:3000` (try 3000, 5173, 4321, 8080, 6847) How it starts
The opening of the file, as written. The whole thing — 328 lines — stays where its author put it; the contents beside it link to each section on GitHub.
shipkit-qa-visual
Visual QA for SaaS apps using Playwright as a lightweight browser automation library — not a test framework. Write an inline script, run it, screenshot meaningful states, read the screenshots, report against UI goals.
Modes
Parse $ARGUMENTS to determine mode:
--setup→ Run the Setup flow (one-time per project)- Anything else (or empty) → Run the Visual QA flow
Setup Mode (--setup)
One-time project setup. Walk through each step, skip any that are already done.
1. Install Playwright
Check if playwright is in package.json devDependencies. If not:
npm install -D @playwright/test playwright
Then install Chromium (warn user about ~200MB download):
npx playwright install chromium
2. Create playwright.config.ts
Only if it doesn't exist at the project root. Detect the app's base URL first:
- Check
$ARGUMENTSfor a URL - Probe common ports:
curl -s -o /dev/null -w "%{http_code}" http://localhost:3000(try 3000, 5173, 4321, 8080, 6847) - Check
package.jsonscripts for port hints - Ask the user if none found
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './e2e',
fullyParallel: false,
retries: 0,
timeout: 120_000,
expect: { timeout: 30_000 },
use: {
baseURL: '<detected-url>',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
projects: [
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
],
});
3. Create directories
mkdir -p screenshots e2e
Add screenshots/ to .gitignore if not already there.
4. Create UI Goals
This is the interactive step. The goals document grounds all future visual feedback.
Scan the codebase for routes/pages:
- Next.js: glob
app/**/page.{tsx,ts,jsx,js}andpages/**/*.{tsx,ts,jsx,js}(exclude_app,_document,api/) - React Router: grep for
<RouteorcreateBrowserRouter - Other: grep for route definitions
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 328 lines · 45 tokens per session scan A e2556a0ef011
shipkit-qa-visual is a skill published in the GitHub repository stefan-stepzero/shipkit (1 stars, last pushed 1mo ago), licensed MIT. It adds 45 tokens to every session and 2,787 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work.
open-source
Documentation reference for writing Python code using the browser-use open-source library. Use this skill whenever the user needs help with Agent, Browser, or Tools configuration, is writing code that imports from browseruse, asks about @sandbox deployment, supported LLM models, Actor API, custom tools, lifecycle…
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
opencli-sitemap-author
Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.
opencli-browser-sitemap
Use when driving a website with opencli browser and sitemap context is available, requested, or needed to avoid blind navigation. Guides agents to consume site sitemap files lazily, choose adapter/browser fallback paths, resume from state signatures, and mark stale sitemap entries without trusting them over live…
skill-builder
Automatically detect source types and build AI skills using Skill Seekers. Use when the user wants to create skills from documentation, repos, PDFs, videos, or other knowledge sources.