BenMacDeezy
UserÖrn's Forge — autonomous development plugin for Claude Code: markdown work queue, kernel orchestration loop, routed agent roster with adversarial verification. MIT.
Categories
Indexed Skills (46)
accessibility-wcag-aria
The enforceable accessibility bar for frontend work — build to WCAG 2.2 AA (also ISO/IEC 40500:2025), use the ARIA Authoring Practices Guide as the per-widget source of truth for roles/keyboard/focus, meet contrast minimums (4.5:1 text, 3:1 large text and UI), and give every interactive control an accessible name (icon-only buttons always need aria-label). Use when building or reviewing any interactive component, adding a dialog/menu/tabs/combobox, checking color contrast, wiring keyboard interaction, or auditing UI for accessibility.
agent-factory
Generate a custom Forge agent on demand when a recurring task type fits no standing-roster agent. Writes a vetted agent into .forge/agents/ (project) or the plugin agents/ (global), gated by the factory checklist. Defers to skill-creator when the right artifact is a skill, not an agent.
ai-generated-media-pipeline
Turn AI-generated clips and stills into production web hero assets — generate via Higgsfield/Runway/Sora/Veo/Kling (video) and Nano Banana/Flux/Seedream (image), ideally through an MCP so the agent produces assets in-loop, then encode them web-ready (AV1/H.264, faststart, poster extraction, frame sequences) within a weight and licensing budget. Use when sourcing a hero video/background loop/scroll frame-sequence from AI tools, or preparing any generated media for the web. Feeds cinematic-hero-sections (which consumes the assets). Triggers on "Higgsfield", "Nano Banana", "AI hero video", "generate a background video", "Runway/Sora/Veo/Kling", "encode video for web", "ffmpeg hero", "loopable clip", "poster frame".
anti-generic-design-restraint
The taste-and-judgment gate before committing to a visual direction — name and avoid the "AI-generated look", brainstorm-then-critique in two passes, and spend boldness in exactly one place. Use when starting a new UI, choosing a palette/type/layout direction, or sensing a design reads as templated/default. Defers all motion decisions to motion-design-principles. Triggers on "make this less generic", "design direction", "this looks AI-generated", "visual identity", "pick a palette/typeface".
api-design-rest-graphql
Design, add, or review an API endpoint — resource modeling, HTTP status discipline, error envelopes, versioning, pagination, idempotency, rate limiting, and GraphQL schema/resolver design. Use when designing/adding/reviewing a REST resource, a GraphQL schema or resolver, pagination, rate limiting, or a webhook contract.
auth-session-patterns
Build authentication and session handling correctly the first time — OAuth/OIDC flows, session-vs-token storage per platform (httpOnly cookies on web, secure keychain/MMKV on mobile), refresh-token rotation, CSRF, and RBAC basics. Use when adding sign-in, wiring an OAuth/OIDC provider, choosing where a session or token lives, implementing token refresh, or scoping role/permission checks. Triggers on auth, login, sign-in, OAuth, OIDC, session, token, refresh, CSRF, RBAC, permissions.
backend-caching-and-performance
Diagnose or fix backend latency and throughput — profiling before optimizing, cache layer design, invalidation and stampede protection, query caching scope, pagination over unbounded loads, and connection pooling. The backend analog of core-web-vitals-for-ui. Triggers on slow endpoint, performance, caching, latency, optimize backend, load.
backend-scaling-architecture
Design or review backend scalability before demand becomes an outage — horizontal-first services, background work, load shedding, capacity planning, load tests, replicas, shards, and edge tiering. Triggers on scale, scalability, load test, rate limit, queue/background job, replica, shard, capacity, or "will this handle N users".
bug-triage-classification
Reproduce and classify a bug report into a ready queue-task draft without drifting into fixing it. Use when triaging a bug, deciding a bug's severity/priority, reproducing a defect, or turning a raw bug report into an actionable task. Backs the forge-triage agent (Forge intake door 3). This is the door for bare "there's a bug in X" reports; a task-shaped TODO with no defect to reproduce ("we should add X") goes straight to `forge:queue` instead, not through here.
cinematic-hero-sections
Build video-background and scroll-scrubbed "cinematic" hero sections that stay fast — the hero is usually the LCP element and the first impression, so autoplay rules, poster-as-LCP, reduced-motion, mobile/data budgets, and canvas frame-sequence scrubbing are the craft. Use when building a hero with a background video loop, a scroll-driven video/image-sequence narrative (the "Apple product page" effect), or a full-bleed cinematic header. Pairs with gsap-scrolltrigger (scrub choreography) and ai-generated-media-pipeline (where the asset comes from). Triggers on "hero video", "background video", "scroll-scrubbed video", "cinematic hero", "video header", "frame sequence scroll", "scrollytelling hero".
component-system-shadcn-radix
How to build a component layer on shadcn/ui + Radix instead of reinventing it — shadcn as a CLI code-distributor (init/add/view/search, registry.json, registry:base whole-design-system installs), the official shadcn MCP server for agent-driven component installs, Radix Primitives (unstyled, WAI-ARIA-correct, asChild composition), and Radix Colors' 12-step accessible scales. Use when adding a UI component (dialog, dropdown, combobox, toast…), setting up or consuming a component registry, wiring the shadcn MCP, choosing a primitive to build on, or picking accessible color tokens.
core-web-vitals-for-ui
Build UI that passes Core Web Vitals — responsive interactions (INP), stable layout (CLS), and fast largest paint (LCP) as first-class implementation constraints, not an afterthought. Use when an interaction feels laggy, when content jumps as it loads, when reserving space for async data, or when a component must hit the field thresholds. Triggers on "Core Web Vitals", "INP", "CLS", "LCP", "layout shift", "janky/laggy interaction", "main thread".
coverage-gap-analysis
Systematically find untested branches, edge cases, and unasserted behavior in EXISTING code — complements test-driven-development, which governs new code written test-first. Use when asked to "improve coverage" or "find untested edge cases", or when a coverage report shows lines executed but the assertions look weak. Triggers — "increase test coverage", "what's not tested", "coverage gaps", "untested branches", "legacy code has no tests", "characterization tests", "is this well tested".
database-schema-and-migrations
Design a database schema, write or run a migration, add an index, or diagnose a slow query. Covers normalization/denormalization, indexing strategy, reading EXPLAIN output, zero-downtime expand-contract migrations, N+1 detection, and connection pooling. Triggers on schema design, migration, index, slow query, EXPLAIN, N+1, Postgres.
dependency-license-audit
Auditing the license of a dependency, package, vendored code, GitHub repo, skill, or plugin before adopting it; license compatibility; copyleft; NOTICE/attribution files; SPDX. Use before adding a dependency, vendoring code, installing a skill/plugin/MCP server, or when asked to check a license, copyleft risk, or attribution obligations.
design-tokens-pipeline
The single source of truth for design values — author tokens in W3C DTCG format, build them through Style Dictionary into CSS custom properties, and consume them 1:1 in Tailwind v4's @theme. Use when setting up a token system, naming or aliasing tokens, wiring a Figma/Penpot export into code, or deciding where a color/spacing/type value should live. Triggers on "design tokens", "DTCG", "Style Dictionary", "@theme", "token pipeline", "where does this color come from".
differential-debugging-and-bisection
Techniques for regressions, flaky failures, and heisenbugs that superpowers:systematic-debugging doesn't cover — git bisect (including automated bisect run), delta debugging / input minimization, differential debugging across environments and data, and concurrency stress tactics. Triggers — "this used to work", "worked yesterday", "regression", "flaky test", "heisenbug", "only fails in CI", "only fails on prod", "can't reproduce locally", "shrink the repro", "minimal repro", "race condition".
discover
The Forge project charter phase — an adaptive interview that produces .forge/project.md (vision, users, success criteria, non-goals, stack & rationale, architecture, constraints, risks, roadmap). Use on /forge:discover, as the discovery step of onboard for a new project, or when the user wants to define/scope/plan out a whole project — vision, users, stack, architecture, roadmap — before building features. Discover scopes to the WHOLE project charter; when "plan out X" names a single feature or change rather than the whole project, that's forge:spec's job, not discover's.
ears-acceptance-verification
Verify a diff against its EARS acceptance criteria with evidence rather than impression — a criterion-by-criterion evidence table, adversarial re-derivation, gate-vs-criteria passes, constitution check, and a PASS/bounce verdict. Use when verifying a task's diff, checking whether work meets its acceptance criteria, or deciding PASS vs bounce. Backs the forge-verifier agent.
ears-requirements-authoring
Write acceptance criteria in EARS format correctly — the five templates, one assertion per criterion, non-goals, and clarification markers. Use when authoring acceptance criteria, drafting a spec's requirements, converting a feature idea into testable statements, or reviewing criteria for ambiguity. Backs the forge-spec-writer agent.
email-and-templating
Send transactional email correctly — provider choice (Resend/Postmark/SES), react-email/MJML templating, and SPF/DKIM/DMARC deliverability basics. Use when a task sends email — signup confirmation, password reset, receipt, notification digest. Triggers on email, transactional email, Resend, Postmark, SES, react-email, MJML, SPF, DKIM, DMARC, deliverability.
equip
Audit this project's capability surface — plugin + local skills, agent roster and attachments, connected MCP servers, stack-relevant CLIs, hooks/validators — against the project charter, map, and backlog, then propose ranked find/create/wire/skip actions. Use on /forge:equip, or NL asks like "audit our tooling/skills/agents against the project", "what capabilities are we missing", "set this project up with the right skills/agents/MCPs". Proposes only — nothing is installed, created, queued, or enabled without explicit human approval.
error-handling-and-resilience
Build error handling, retries, timeouts, and resilience patterns into a change — the constructive counterpart to silent-failure hunting during review. Use when adding error handling, a retry, a timeout, a circuit breaker, or any code that calls an external service, queue, or dependency that can fail. Triggers on error handling, retry, timeout, resilience, circuit breaker, exception, failure path, external call.
expo-eas-workflow
Operational workflow for shipping an Expo/React Native app with EAS — build profiles in eas.json, eas submit to the App/Play Store, OTA updates via channels and rollout percentages, update-compatibility rules (runtime version, native-code drift), and CI wiring with EAS Workflows YAML. EAS is a paid Expo Application Services product with free-tier limits — build/compute minutes and update bandwidth cost money past the free tier. Use when a task ships a build, submits to a store, publishes an OTA update, sets up a build profile, or wires EAS into CI. Triggers on "eas build", "eas submit", "eas update", "eas.json", "OTA update", "runtime version", "build profile", "EAS Workflows", "app store submission".
feature-legal-risk-checklist
Legal risk review of a feature or spec touching PII/personal data, authentication, payments, messaging/email, analytics/tracking, user-generated content, minors, or third-party data; privacy policy; GDPR/CCPA; terms of service needs. Use when a spec or task description mentions collecting personal data, accounts, payments, tracking, UGC, minors, or messaging.
forge-secure-diff-review
Diff-scoped secure code review methodology — OWASP secure code review flow, CWE Top 25 (2025) fast-triage checklist, deep-checks for injection/broken authz/SSRF/insecure deserialization/secrets exposure, a 5-minute STRIDE pass, a secrets-in-diff scan, and a money/financial-logic checklist (TOCTOU, replay, rounding, idempotency). Use when reviewing a diff for security defects, when forge-security starts a review, or before judging changes that touch authentication, input handling, secrets/credentials, or money/payment flows.
forms-and-validation
Build forms with schema-validated inputs and accessible error states — React Hook Form + Zod/Valibot, cross-platform (web + React Native) validation UX, and error-state accessibility. Use when building or reviewing any form, wiring a validation schema, adding client-side field validation, or handling form error messages. Triggers on form, input validation, react-hook-form, zod, valibot, schema validation, field error, form accessibility.
gsap-scrolltrigger
GSAP + ScrollTrigger for pinning, scrubbing, and sequenced scroll-driven timelines. Use when building scroll storytelling, pinning a section while content animates, scrubbing animation progress to scroll position, sequencing multi-property timelines, or animating SVG/motion-path. Triggers on "GSAP", "ScrollTrigger", "pin this section", "scrub animation to scroll", "scroll-driven timeline", "SVG path animation", "gsap.timeline".
i18n-and-localization
Internationalize and localize user-facing strings — message extraction, ICU MessageFormat pluralization, RTL layout, and date/number formatting. Use when adding user-facing strings, adding a new locale, or building a component that must lay out correctly in a right-to-left language. Triggers on i18n, l10n, localization, translation, pluralization, RTL, locale, date formatting, number formatting.
inquest
Adversarial deep-debug tribunal for hunting bugs already in the tree — a maximalist finder, a motivated-skeptic refuter, and a deciding judge. Use for /forge:inquest, a human-requested deep-debug sweep, or an accepted recommendation card proposing a tribunal pass. Never fires on its own — human ask or accepted card only.
lottie-rive-vector-animation
Designer-authored vector/illustration animation — dotLottie (the actively-maintained successor to lottie-web) for playback of After Effects/Lottie JSON exports, and Rive for visually-authored interactive state machines. Use for micro-interaction animations, animated icons, or any "make this Lottie/Rive file play" or "add an interactive animated character/icon" request. Triggers — "Lottie animation", "dotLottie", ".riv file", "Rive state machine", "designer sent an animation", "animated illustration", "onboarding animation".
map
Build or refresh the Forge repo map in .forge/map/ — architecture.md, index.md, conventions.md, hotspots.md. Narrative, not call graphs. Salience seeded from objective signals (git churn, reference counts), curated by judgment. Use for /forge:map, when asked where something lives or how the codebase is structured, before exploring any repo that has a .forge/map/, or when the map is stale/missing.
mobile-visual-testing
Drive and screenshot a running React Native/Expo app on a real device surface for visual verification — adb/xcrun-simctl screenshot capture, Maestro YAML flows (free local CLI only, Maestro Cloud is paid and out of scope), screenshot-diff conventions per platform/device size, and the mobile-specific flake sources (animation settle, keyboard state, permission dialogs) that produce false failures. The device analogue of webapp-visual-testing. Use whenever a Forge agent must confirm rendered mobile output rather than trust the code — forge-mobile-verifier's render-and-observe step, or a forge-mobile self-check before handoff.
motion-design-principles
The taste layer every other animation skill defers to — duration bands, easing, stagger, spring-vs-bezier, and when not to animate. Use when choosing a duration or easing curve, reviewing a transition for feel, deciding whether motion is warranted at all, or setting up prefers-reduced-motion behavior. Triggers on "animation duration", "easing curve", "this transition feels off/slow/janky", "stagger the list", "reduced motion", "should this animate".
motion-react
Framer Motion (now "Motion") for React — component animation, gestures, exit transitions, and shared-element layout. Use when animating React components, adding whileHover/whileTap/drag gestures, animating mount/unmount with AnimatePresence, building shared-element transitions with layoutId, or importing from framer-motion in a React codebase. Triggers on "animate this component", "framer motion", "motion.div", "AnimatePresence", "shared element transition", "drag gesture in React".
native-motion-first
Reach for platform animation APIs before reaching for a library — CSS transitions/keyframes, the Web Animations API, the View Transitions API, and scroll-driven animation-timeline. Use when animating UI state changes, page/state swaps, imperative play/pause/reverse sequences, or scroll-linked effects, and before adding an animation library (GSAP, Framer Motion/Motion, anime.js) to the dependency tree. Triggers — "animate this", "transition between states", "page transition", "scroll animation", "should I use GSAP", "reduce motion", "animation jank".
observability-logging-metrics-tracing
Add or review logging, metrics, or tracing so production behavior is diagnosable — structured logs, correlation IDs, RED/USE metrics, and OpenTelemetry spans. Use when instrumenting code, debugging a production issue, or wiring monitoring. Triggers on logging, metrics, tracing, observability, instrument, debug production, monitoring.
onboard
Set up Forge end to end in any repository — init .forge/, build the map, seed the constitution and forge.md, run a scout pass, and generate a root AGENTS.md bridged into Claude Code's own context via a CLAUDE.md @import. Use on /forge:onboard, or offer it when working in a repo that has no .forge/ directory.
payment-integration-discipline
Integrate payments correctly — Stripe/RevenueCat, the mobile IAP regulatory surface, PCI-scope avoidance, and webhook idempotency. Use when a task touches payments, billing, subscriptions, checkout, or in-app purchase. Triggers on payment, billing, checkout, subscription, Stripe, RevenueCat, IAP, in-app purchase, webhook, invoice.
queue
Forge work-queue operations — create, claim, transition, and schedule task files in .forge/queue/tasks/. Use when the user mentions work to queue or track ("add a task", "queue this", "capture this idea", "add this to the list", "we should fix X later"), asks what's queued ("what's in the queue"), or when creating tasks, updating task state, computing waves, or recovering stale claims. State lives in frontmatter, never folder location. Queue creates a plain task directly for task-shaped work; a bare bug report with repro intent ("there's a bug in X", "X is failing," a stack trace) routes through `forge:triage` first — that's the reproduce + classify door, not queue's.
react-native-motion-gestures
Build native-driven animation and gesture interactions in React Native/Expo with Reanimated 4 + Gesture Handler 3 — worklets, shared values, layout animations, shared-element transitions, and gesture composition (simultaneous/exclusive/race), plus the worklet/JS-thread interop pitfalls (stale closures, runOnJS boundaries) that cause silent bugs. The RN analogue of the web motion suite. Use when a task animates a RN screen, wires a pan/pinch/swipe/drag gesture, composes multiple gestures on one view, or a worklet reads a stale prop/state value. Triggers on "Reanimated", "shared value", "useAnimatedStyle", "worklet", "Gesture Handler", "runOnJS", "layout animation", "shared element transition", "RN swipe/drag/pinch".
react-performance
Make React/Next.js render fast — eliminate data waterfalls, cut bundle size, and stop needless re-renders, as implementation constraints rather than a post-hoc profiling pass. Use when a React app feels slow, a route's data loads in a chain instead of in parallel, a bundle is too big, a list or form re-renders on every keystroke, or you reach for useMemo/memo/useTransition. Complements core-web-vitals-for-ui (which owns the INP/LCP/CLS field thresholds); this skill owns the React-level causes. Triggers on "React performance", "re-render", "useMemo/memo/useCallback", "waterfall", "bundle size", "code splitting", "useTransition", "Server Component perf", "slow list".
responsive-container-queries
Build responsive UI from the component out, not the viewport in — container size queries, fluid typography with clamp(), and Grid-vs-Flexbox layout choice. Use when a component must adapt to its container rather than the page width, when sizing type to scale smoothly between breakpoints, or when picking a layout primitive. Triggers on "container query", "@container", "responsive component", "fluid typography", "clamp()", "grid or flexbox".
scout
Discover and vet skills, MCP servers, CLIs, and reference repos for the current project. Use on onboard, on /forge:scout, when the user asks what tools/MCPs/skills would help this project, or when the kernel hits a capability gap. Produces a vetted, ranked shortlist for human approval — never installs anything.
seo-fundamentals
Make a page discoverable and correctly represented when shared or crawled — meta/OG tags, structured data, sitemap/robots. Use when a task affects a public page's discoverability, social-share preview, or search-engine indexing. Triggers on SEO, meta tags, Open Graph, structured data, schema.org, sitemap, robots.txt, canonical URL, search engine.
ship
The Forge full-tier "done" protocol — gates green, verifier verdict, constitution check, reviewer pass, security when the diff warrants, and the regression-test rule. Use at kernel VERIFY for tier:full tasks before INTEGRATE commits. Bounce/blocked semantics match the kernel.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.