Skip to content
Agentmart
Submit a tool

figloops-go-capture

Capture phase — Playwright screenshots + preview gate

Skill by tyburrowbridge

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/tyburrowbridge-figloops-go-capture

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Capture phase — Playwright screenshots + preview gate

Use cases: testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/figloops-go-capture

What's inside

Skill name
figloops-go-capture
Description
Capture phase — Playwright screenshots + preview gate
License
MIT
Instructions
77 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

## Setup
Resolve `FIGLOOPS_PLUGIN_DIR` from env or `.env`. If unset, abort: `"FIGLOOPS_PLUGIN_DIR is not set. Add it to .env or your shell. See README."` Scripts: `cd "<CONSUMING_REPO>" && "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/<name>.ts" <args>`. Always double-quote paths.

## Style
Tables for 2+ comparable fields (escape `|` → `\|`, newlines → spaces in cells). `AskUserQuestion` options carry no descriptions.

## Errors
TS exits non-zero → relay stderr verbatim, don't retry. State load fail → abort + tell user to restore backup and re-run `/figloops:init`.

Auth-gated pages: if captures show a sign-in/SSO screen instead of the real page, the target is behind auth. Two options in `figloops.config.json` under `auth` (if both set, `cdpEndpoint` wins) — see README "Auth-gated pages":
- **CDP attach** — `"auth": { "cdpEndpoint": "http://localhost:9222" }`. User quits Chrome, then runs the launcher (opens their real Chrome with the debug port + profile, navigates to the app); they ensure VPN on + signed in, leave it running:
  ```bash
  "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/auth-cdp.ts"
  ```
  Capture reuses that live session; figloops never closes their Chrome. Best for hard-to-reproduce VPN+SSO sessions. Capture errors with a connect hint if Chrome isn't listening.
- **storageState** — `"auth": { "storageState": "feedback/.auth/storageState.json" }`. Gitignore that path, then run the login helper (headed browser; user signs in, presses Enter to save):
  ```bash
  "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/auth-login.ts"
  ```
  Re-run when capture hits sign-in pages again (session expired). Capture errors with a pointer here when `storageState` is set but the file is missing.

---

## Handler

1. Mark task `[FIGLOOPS] Capture screenshots` as `in_progress` via `TaskUpdate`.

2. Run:
   ```bash
   "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/capture.ts"
   ```
   Parse stdout JSON: `{ round, captures: [{label, path, filename}], failed: [] }`.

3. **Preview gate.** Print a markdown table — one row per capture:

   ```
   📸 Captured N items for Round <round>:

   | # | Filename | Source | Figma frame |
   |---|---|---|---|
   | 01 | `01-login.jpg` | route | "01 - Login" |
   | 02 | `02-sign-up-modal.jpg` | scenario | "02 - Sign up modal" |

   Expected Figma layout on page "Round <round>": 3 columns wide, rows added as needed.
   ```

   Columns: `#` (2-digit, 1-indexed), `Filename`, `Source` (`route` or `scenario`), `Figma frame` (the frame name it will become). If `failed` is non-empty, append a second table:

   ```
   Failed (N):

   | Label | Error |
   |---|---|
   | Old checkout | net::ERR_ABORTED at /old-checkout |
   ```

   Then use `AskUserQuestion`:
   ```
   question: "Do these captures look right?"
   header: "Preview"
   options:
     - label: "Approve — push to Figma  (Recommended)"
     - label: "Re-capture"
     - label: "Cancel"
   ```

4. **On "Approve — push to Figma":** mark task `[FIGLOOPS] Capture screenshots` as `completed`. Run:
   ```bash
   "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/advance-phase.ts" push
   ```
   Then invoke skill `figloops-go-push`.

5. **On "Re-capture":** re-run step 2.

6. **On "Cancel":** stop here. Do not advance state.

From tyburrowbridge/figloops, MIT.

More from tyburrowbridge/figloops

Signals

Stars
1
Forks
1
Open issues
0
Last commit (this folder)
Jul 15, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from tyburrowbridge

Cite this page

figloops-go-capture skill. Agent Mart. https://agentmart.dev/skills/tyburrowbridge-figloops-go-capture (last updated 2026-10-24)