figloops-discover
Auto-detect modal/panel/menu/tab scenarios by crawling the running app
Skill by tyburrowbridge
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-discover
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.
About
Reviews
Write a reviewNo 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-discover
What's inside
- Skill name
figloops-discover- Description
- Auto-detect modal/panel/menu/tab scenarios by crawling the running app
- License
- MIT
- Instructions
- 63 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 run from the consuming repo: `cd "<CONSUMING_REPO>" && "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/<name>.ts"`. 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. Config load fail → tell the user to run `/figloops:init`.
---
## Handler
1. From `figloops.config.json` read `devServer.url` (→ `baseUrl`), `devServer.waitFor`, `viewport`, and `routes` (`label` + `path` only).
2. Run the crawler — build the payload and pipe it in:
```bash
echo '{"baseUrl":"<url>","viewport":{"width":<w>,"height":<h>},"waitFor":"<waitFor>","routes":[{"label":"...","path":"..."}, …]}' \
| "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/discover-scenarios.ts"
```
Parse stdout JSON: `{ baseUrl, candidates: [{label, path, setup, waitFor, kind, confidence, triggerText}], skipped: [{path, error}] }`. Progress prints to stderr live.
3. **If `candidates` is empty:** print `"No modal/panel/menu/tab interactions detected. Make sure the dev server is running at <baseUrl>."` If `skipped` is non-empty, list those routes + errors. Stop.
4. Render the candidates table (1-indexed `#`):
```
🔎 Found N interactive scenarios:
| # | Kind | Label | Path | Trigger | Confidence |
|---|---|---|---|---|---|
| 1 | modal | Sign up — modal | / | `#open-signup` | high |
| 2 | panel | Cart — panel | / | `#open-cart` | medium |
```
`Trigger` = `setup[0]`. If `skipped` is non-empty, append a second table `| Path | Error |`.
5. Ask:
```
question: "Add these scenarios to figloops.config.json?"
header: "Scenarios"
options:
- label: "Add all"
- label: "Pick some"
- label: "Cancel"
```
- **Cancel:** print `"Nothing changed."` Stop.
- **Pick some:** prompt plain text — `"Enter the row numbers to add (comma-separated, e.g. 1,3,4):"`. Keep only those candidates; reject out-of-range numbers and re-prompt.
- **Add all:** keep every candidate.
6. Build the chosen scenarios as a JSON array of `{label, path, setup, waitFor, kind}` (drop `confidence`/`triggerText` — not part of the config schema) and merge:
```bash
echo '<scenarios JSON>' | "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/merge-scenarios.ts"
```
Parse stdout: `{ added, skipped, total }`. (`skipped` = candidates already present in config.)
7. Print:
```
✓ Added <added> scenario(s) to figloops.config.json (<skipped> already present, <total> total).
→ Run /figloops:go to capture them in the next round.
```From tyburrowbridge/figloops, MIT.
More from tyburrowbridge/figloops
- 0.491score
figloops-whatsnew
tyburrowbridge
Show latest figloops release notes and check for available upgrade
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-go-plan-ack
tyburrowbridge
Plan-ack phase — render plan frame in Figma, anchor comment threads, refresh on subsequent runs
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-go-review
tyburrowbridge
Review phase — display comments by frame; gate on user decision
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-init
tyburrowbridge
Setup wizard — verifies MCP, PAT, Figma file; collects config
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-uninstall
tyburrowbridge
Remove all local figloops files (state, config, .env keys).
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-go-capture
tyburrowbridge
Capture phase — Playwright screenshots + preview gate
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-go-cluster
tyburrowbridge
Cluster phase — group comments into themes and draft plan
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-go-close
tyburrowbridge
Close phase — write changelog and start next round
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-go-pull
tyburrowbridge
Pull phase — fetch Figma comments and advance
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-go-push
tyburrowbridge
Push phase — upload images and create Figma frames
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-restart
tyburrowbridge
Restart or discard the current round
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-summary
tyburrowbridge
Render every round to date as a single status table
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Jun 25, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/tyburrowbridge/figloops
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tyburrowbridge
- 0.491score
figloops-init
tyburrowbridge
Setup wizard — verifies MCP, PAT, Figma file; collects config
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-whatsnew
tyburrowbridge
Show latest figloops release notes and check for available upgrade
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-go-plan-ack
tyburrowbridge
Plan-ack phase — render plan frame in Figma, anchor comment threads, refresh on subsequent runs
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-go-review
tyburrowbridge
Review phase — display comments by frame; gate on user decision
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
figloops-uninstall
tyburrowbridge
Remove all local figloops files (state, config, .env keys).
SkillCFreshness: C★ 1Claude Code +9 - 0.488score
figloops-summary
tyburrowbridge
Render every round to date as a single status table
SkillCFreshness: C★ 1Claude Code +9
Cite this page
figloops-discover skill. Agent Mart. https://agentmart.dev/skills/tyburrowbridge-figloops-discover (last updated 2026-10-24)