firstrun

A setup workflow for uSpec’s Figma template library. It checks the configured connection, finds template component keys and the font family, and saves them in uspecs.config.json.

In plain words
What is it for?
Use it during first-time uSpec setup after running uSpec initialization, when configuring an internal or linked Figma template library.
Why use it?
It establishes the library settings that later uSpec workflows need, while checking that the initial configuration is present.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/redongreen/uspec/firstrun
Any agent
npx skills add redongreen/uSpec --skill firstrun
Clone the repo
git clone --depth 1 https://github.com/redongreen/uSpec

Made for: Claude Code, Codex.

Per session 86 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,499 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5 $0.00086 $0.02499
Opus 5 $0.00043 $0.01249
Sonnet 5 $0.00017 $0.00500
Haiku 4.5 $0.00009 $0.00250

Measured 2d ago against content hash dfb55362ca67, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

firstrun scanned grade A with 0 findings 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 2d ago.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/firstrun/SKILL.md · 203 lines

How it starts

The opening of the file, as written. The whole thing — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.

First Run

Configure your Figma template library for uSpec. This skill verifies your MCP connection, navigates your Figma template library, extracts template component keys, detects the font family, and writes everything to uspecs.config.json.

Prerequisite

uspecs.config.json must already exist with mcpProvider and environment set. These are written by npx uspec-skills init. If the config is missing, abort with:

Run npx uspec-skills init first to install uSpec and choose your platform. Then run this skill to configure your Figma template library.

Read mcpProvider and environment from uspecs.config.json and use those values throughout this skill instead of asking the user.

Inputs Expected

This skill collects inputs interactively — do not require them up front.

Workflow

Copy this checklist and update as you progress:

Task Progress:
- [ ] Step 1: Read MCP provider from uspecs.config.json
- [ ] Step 1b: Verify MCP connection
- [ ] Step 4: Ask "Uber employee?" — Yes (use internal library) or No (paste link)
- [ ] Step 4a (Yes only): Write Uber template keys + fontFamily to config, then jump to Step 9
- [ ] Step 5 (No only): Navigate to the library file / extract fileKey
- [ ] Step 6 (No only): Search for template components
- [ ] Step 7 (No only): Extract component keys
- [ ] Step 7b (No only): Detect font family from template
- [ ] Step 8 (No only): Write config to uspecs.config.json
- [ ] Step 9: Display success message

Step 1: Read MCP Provider from Config

Read mcpProvider from uspecs.config.json. It will be one of figma-console or figma-mcp. Save this value as MCP_PROVIDER for use in later steps.

If mcpProvider is missing, abort and tell the user to re-run npx uspec-skills init.

Step 1b: Verify MCP Connection

Verify the selected MCP is connected before continuing — catching a broken connection early avoids wasting time on setup that will fail later.

If MCP_PROVIDER = figma-console:

  • Call figma_get_status — Confirm Desktop Bridge plugin is active

Read the full file on GitHub · 203 lines

Changes

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.

  1. 2d ago First seen · 203 lines · 86 tokens per session scan A dfb55362ca67

Subscribe to this mod's changes

firstrun is a skill published in the GitHub repository redongreen/uSpec (239 stars, last pushed 1mo ago), licensed MIT. It adds 86 tokens to every session and 2,499 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

system-pitch

Write a design system investment pitch with a business case and ROI framing. Trigger when someone says: pitch the design system, make the case for the system, sell this to leadership, justify the investment, business case for design systems, why should we invest in a design system, or anything about building an…

murphytrueman/design-system-ops · 72 tokens

ai-component-description

Generate AI-optimised text descriptions for components, formatted for Figma's MCP server and LLM consumption. This produces prose descriptions in a six-section format (purpose, props, anti-patterns, composition, accessibility, examples), NOT JSON schemas or structured data files. Trigger when someone says: write…

murphytrueman/design-system-ops · 132 tokens

stakeholder-brief

Write a one-page stakeholder brief translating design system health or status into business language. Trigger when someone says: stakeholder update, exec brief, leadership summary, status report for leadership, system status for non-designers, write a brief for the business, or anything about communicating design…

murphytrueman/design-system-ops · 73 tokens

token-audit

Audit a design system's token definitions for naming violations, missing semantic tiers, and structural debt. This audits how tokens are defined and organised, NOT how they are consumed in code. Trigger when someone says: audit my tokens, token naming review, are my tokens consistent, token health check, review my…

murphytrueman/design-system-ops · 93 tokens

accessibility-per-component

Run an accessibility audit on a specific design system component. Trigger when someone says: accessibility check, a11y audit, WCAG compliance, is this accessible, check accessibility, does this meet WCAG, screen reader support, keyboard navigation check, or anything about auditing the accessibility of a specific…

murphytrueman/design-system-ops · 65 tokens

codemod-generator

Generate codemods (automated code transformation scripts) for design system migrations — token renames, component API changes, prop deprecations, and import path updates. Produces ready-to-run jscodeshift or custom AST transform scripts that safely apply changes across consuming codebases. Trigger when someone says…

murphytrueman/design-system-ops · 162 tokens