Install
$ agentstack add skill-connorgriffin-skills-drive-local-webapp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Drive a local web app
Use the bundled Playwright driver instead of writing a one-off browser script. It keeps one page alive while reading commands from standard input and reports each command as OK or FAIL.
One-time setup
Resolve this installed skill's directory, then run:
cd
npm ci
npx playwright install chromium
Node.js 20 or newer is recommended. Browser binaries are cached by Playwright. Verify the installation reproducibly:
npm run self-check
Workflow
- Start the target application's normal development or demo server. Use
throwaway fixtures, never production or personal data. Check that the chosen port is free before binding it.
- Run
node scripts/driver.mjsfrom this skill directory and pipe one command
per line:
```sh DRIVERSCREENSHOTDIR=/tmp/webapp-shots node scripts/driver.mjs wait-for click fill :: set :: press wait eval screenshot [absolute-path] console --errors
Use `:text-is("Label")` for exact text. Playwright's `:has-text()` is
case-insensitive substring matching and can silently click the wrong control.
Keep screenshots outside the target repository. The driver defaults to the
system temporary directory, or use `DRIVER_SCREENSHOT_DIR`. It refuses to
overwrite an existing screenshot path.
## Common failures
- Selectors containing spaces require the literal ` :: ` separator for
`fill` and `set`.
- Hidden tab content may exist in the DOM; click the actual tab before waiting
on its contents.
- Charts initialized inside `display:none` containers may have zero width.
Activate the tab, wait, and verify the app resizes or lazily initializes the
chart.
- A client-side token gate may leave the screen loading without a console
error. Inspect the application's setup UI and use a demo token.
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [ConnorGriffin](https://github.com/ConnorGriffin)
- **Source:** [ConnorGriffin/skills](https://github.com/ConnorGriffin/skills)
- **License:** Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.