figloops-init
Setup wizard — verifies MCP, PAT, Figma file; collects config
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-init
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
Use cases: design, agent-building
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-init
What's inside
- Skill name
figloops-init- Description
- Setup wizard — verifies MCP, PAT, Figma file; collects config
- License
- MIT
- Instructions
- 452 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
## Setup
Resolve `FIGLOOPS_PLUGIN_DIR`: the parent of this skill's parent directory (e.g., `.../figloops`). If `FIGLOOPS_PLUGIN_DIR` env var is set, use it directly. Otherwise resolve from the skill file path, print the resolved path, and write it to `.env` in step 9. Scripts: `cd "<CONSUMING_REPO>" && "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/<name>.ts" <args>`. Always double-quote all paths.
## Style
Tables for 2+ comparable fields (escape `|` → `\|`, newlines → spaces in cells). Icons: `→` checking · `✓` pass · `✗` fail · `⚠` warning. `AskUserQuestion` options carry no descriptions. Blockquote + bold for plain-text input prompts.
## Errors
TS exits non-zero → relay stderr verbatim. MCP fail → relay error and abort. State load fail → abort.
---
## Wizard
### Step 0 — Welcome banner
Print this first, before any tool calls:
````
```
███████╗██╗ ██████╗ ██╗ ██████╗ ██████╗ ██████╗ ███████╗
██╔════╝██║██╔════╝ ██║ ██╔═══██╗██╔═══██╗██╔══██╗██╔════╝
█████╗ ██║██║ ███╗██║ ██║ ██║██║ ██║██████╔╝███████╗
██╔══╝ ██║██║ ██║██║ ██║ ██║██║ ██║██╔═══╝ ╚════██║
██║ ██║╚██████╔╝███████╗╚██████╔╝╚██████╔╝██║ ███████║
╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝
Welcome to figloops — user feedback loops for web prototypes.
Setting up your project now…
```
Before we begin, you'll need:
- **Figma MCP** connected to this Claude Code session — https://github.com/figma/mcp-server-guide
- **Figma Personal Access Token** — https://www.figma.com/developers/api#access-tokens
- **A Figma file URL** to push screenshots into *(recommended: a dedicated file — figloops creates new pages on every round)*
- **Your app URL** — local (`http://localhost:3000`) or deployed (Vercel, Netlify, GitHub Pages, etc.)
````
### Step 1 — MCP preflight
Print `→ Checking for Figma MCP write tool…`. Confirm `use_figma` (or `figma_execute` from southleft/figma-console-mcp) is available. On fail: print `✗ No Figma MCP write tool found`, tell user to install the official Figma MCP server at https://github.com/figma/mcp-server-guide, abort.
Auth probe:
- Check for token: `FIGMA_TOKEN` in process env, or a `FIGMA_TOKEN=` line in `.env`. Extract the value without running any script.
- If no token found: print `→ No FIGMA_TOKEN found — will collect in Step 5.` and continue. Do NOT call validate-token.ts.
- If token found: print `→ Verifying Figma auth…`, then run:
`FIGMA_TOKEN=<token> "<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/validate-token.ts"`
- On success: print `✓ Auth confirmed — **<handle>**`
- On fail (bad token / 401): print `✗ Figma auth failed — <error>` and abort.
### Step 2 — Existing project detection
**2a. `feedback/state.json`** — if present:
```
question: "An in-progress round already exists. What do you want to do?"
header: "Existing round"
options:
- label: "Resume — exit init, just run /figloops:go"
- label: "Archive — rename state.json to a backup and start fresh"
- label: "Purge — delete all figloops files and start fresh"
- label: "Cancel — don't change anything"
```
- Resume: read `currentRound` and `currentPhase` from the file. Print `"Round <N> phase <phase> is in progress. Run /figloops:go to continue."` Abort.
- Archive: rename to `feedback/state.<YYYYMMDD-HHMMSS>.json.bak` (use `date '+%Y%m%d-%H%M%S'`). Tell user the backup path. Continue.
- Purge: run `"<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/uninstall.ts"`. Relay stdout. This hard-deletes `feedback/`, `figloops.config.json`, all `figloops.config.*.json.bak`, and strips `FIGMA_TOKEN`/`FIGLOOPS_PLUGIN_DIR` from `.env` (deletes `.env` if empty after). Figma file untouched. Then continue with this wizard from Step 3 — skip Step 2b entirely (config is gone).
- Cancel: print `"Cancelled. Existing round preserved."` Abort.
**2b. `figloops.config.json`** — if present, try to validate with an existing token. Check `process.env.FIGMA_TOKEN` then `.env` file for a `FIGMA_TOKEN=` line.
If a token is available, run:
```bash
"<PLUGIN_DIR>/node_modules/.bin/tsx" "<PLUGIN_DIR>/scripts/validate-file.ts" "<KEY_FROM_CONFIG>"
```
Three branches:
- **Validation succeeds:**
```
question: "Existing figloops.config.json found and Figma file validates. Reuse it?"
header: "Existing config"
options:
- label: "Reuse — skip wizard, re-init state only"
- label: "Walk through wizard — current values become defaults"
- label: "Start fresh — archive old config and re-collect everything"
```
- Reuse: skip to step 10 (Initialize state). Steps 3–9 are unnecessary.
- Walk through wizard: continue normally; pre-fill answers in steps 5–7 from existing config where options are presented.
- Start fresh: rename `figloops.config.json` to `figloops.config.<YYYYMMDD-HHMMSS>.json.bak`. Continue.
- **Validation fails (401/403/404 or network):** tell user `"Existing figloops.config.json points to a Figma file that isn't accessible (fileKey: <KEY>, error: <msg>)."` Then:
```
question: "How do you want to handle the stale config?"
header: "Stale config"
options:
- label: "Archive it and start fresh"
- label: "Keep it (I'll fix the fileKey manually) — abort init"
```
- Archive: rename to `.bak`. Continue.
- Keep it: abort with a one-line summary of what to fix.
- **No token available:** print `"Existing figloops.config.json found, but no FIGMA_TOKEN is set so it can't be validated yet."` Then:
```
question: "What do you want to do with the existing config?"
header: "Existing config"
options:
- label: "Reuse it — skip wizard, re-init state only"
- label: "Start fresh — archive and re-collect everything"
```
- Reuse: skip to step 10.
- Start fresh: archive + continue.
If neither file exists, skip this step entirely.
### Step 3 — Setup checklist
Create 5 tasks in a single message (all `pending`):
- `[FIGLOOPS] Verify Figma MCP`
- `[FIGLOOPS] Authenticate with Figma`
- `[FIGLOOPS] Connect Figma file`From tyburrowbridge/figloops, MIT.
More from tyburrowbridge/figloops
- 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-discover
tyburrowbridge
Auto-detect modal/panel/menu/tab scenarios by crawling the running app
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-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-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-go-cluster
tyburrowbridge
Cluster phase — group comments into themes and draft plan
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 - 0.488score
figloops-go-await
tyburrowbridge
Await phase — gate until Figma comments arrive
SkillCFreshness: C★ 1Claude Code +9
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
- Repository
- github.com/tyburrowbridge/figloops
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from tyburrowbridge
- 0.491score
figloops-go-review
tyburrowbridge
Review phase — display comments by frame; gate on user decision
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-discover
tyburrowbridge
Auto-detect modal/panel/menu/tab scenarios by crawling the running app
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-init skill. Agent Mart. https://agentmart.dev/skills/tyburrowbridge-figloops-init (last updated 2026-10-24)