@bovinphang

Frontend Craft

OpenClaw native plugin build for Frontend Craft (skills, hooks, workspace init).

Current version
v2.8.0
code-pluginCommunitysource-linked

frontend-craft

Stars CI License TypeScript Node


<div align="center">

Language / 语言

English | 简体中文

</div>

An OpenClaw native plugin build for frontend-craft.

frontend-craft ships the OpenClaw-native package for frontend-craft: workflow skills, markdown commands, OpenClaw workspace templates, typed hooks, a design MCP reference, and the optional frontend_craft_init_workspace tool.

Requirements: Node.js >= 22, OpenClaw plugin API >= 2026.4.20.


Quick Start

1. Install

From ClawHub (recommended when published there):

openclaw plugins install clawhub:frontend-craft

From npm:

openclaw plugins install frontend-craft

From a local tarball built from the main repository:

npm install
npm run pack:openclaw
openclaw plugins install ./frontend-craft-<version>.tgz

For local development, link the package directory:

openclaw plugins install -l /path/to/frontend-craft/npm-packages/openclaw

2. Enable The Plugin

The npm package name and plugin id are both frontend-craft.

{
  plugins: {
    allow: ["frontend-craft"],
    entries: {
      "frontend-craft": {
        enabled: true,
        config: {
          // Optional, see openclaw.plugin.json:
          // formatAfterWrite: true,
          // notifyOnAgentEnd: true,
        },
      },
    },
  },
}

Restart the gateway after changing plugin configuration:

openclaw gateway restart
openclaw plugins inspect frontend-craft

3. Initialize An OpenClaw Workspace

OpenClaw loads agent context from the agent workspace, often ~/.openclaw/workspace. Use the optional frontend_craft_init_workspace tool with:

  • workspaceDir: absolute path to the workspace root
  • overwriteAgents: true only when replacing an existing AGENTS.md

The tool copies:

  • templates/openclaw/AGENTS.md -> workspace AGENTS.md
  • templates/shared/rules/*.md -> workspace skills/frontend-craft-rules/

You can also copy those files manually. See templates/openclaw/OPENCLAW-CONFIG.md for OpenClaw configuration notes.

4. Configure Design MCP Servers

The bundled .mcp.json is a reference for Figma, Sketch, MasterGo, Pixso, and Modao. Native OpenClaw plugins do not automatically merge MCP config, so copy the mcpServers block into your embedded Pi / gateway MCP configuration.

Common environment variables:

VariableTool
FIGMA_API_KEYFigma / Desktop
SKETCH_API_KEYSketch
MG_MCP_TOKENMasterGo
MODAO_TOKENModao

Pixso uses the local MCP URL shown in .mcp.json. MockingBot has no MCP integration; use screenshots or exported specs.


Package Layout

frontend-craft/
|-- dist/                  # Bundled OpenClaw plugin entry
|-- skills/                # Workflow skills
|-- commands/              # Markdown command specs loaded as skills
|-- templates/openclaw/    # OpenClaw AGENTS.md and config notes
|-- templates/shared/      # Shared frontend rules
|-- .mcp.json              # Design MCP reference
|-- openclaw.plugin.json   # Plugin metadata and config schema
|-- package.json

Features

Skills

The OpenClaw package includes all 45 public workflow skills from skills/, grouped here by use case.

Project standards

SkillPurpose
fec-react-project-standardReact + TypeScript project standards
fec-vue3-project-standardVue 3 + TypeScript project standards
fec-nextjs-project-standardNext.js App Router, SSR/SSG, routing, metadata, middleware
fec-nuxt-project-standardNuxt 3 SSR/SSG, composables, routing, middleware
fec-vite-project-standardVite config, env safety, HMR, dev proxy, build optimization
fec-monorepo-project-standardpnpm workspace, Turborepo, Nx structure and task orchestration
fec-typescript-project-standardTypeScript config, public API types, declarations, DTOs, and generics

Implementation capabilities

SkillPurpose
fec-data-fetchingServer-state fetching, caching, invalidation, SSR, and infinite loading
fec-api-integrationTyped API clients, auth refresh, uploads, and realtime integration
fec-state-managementState ownership, store selection, URL/server/form/local state boundaries
fec-form-handlingFramework-aware forms, schema validation, dynamic fields, uploads, multi-step flows
fec-browser-storagelocalStorage/sessionStorage/IndexedDB/Cookies selection and safe persistence
fec-route-protectionAuthenticated and permissioned routes for React Router, Next.js, Vue Router, Nuxt
fec-pwa-implementationManifest, service worker, offline cache, install prompts, update handling
fec-web-workersWeb Worker integration, transferable objects, Comlink, worker pools
fec-canvas-threejsCanvas 2D, Three.js, React Three Fiber, WebGL performance and accessibility
fec-svg-animationSVG animation with CSS, Framer Motion, GSAP, reduced-motion fallbacks
fec-list-virtualizationFramework-aware virtualization, item measurement, grids, and infinite scrolling

Testing

SkillPurpose
fec-testing-strategyTesting layer selection, risk matrix, and coverage planning
fec-component-testingReact Testing Library / Vue Test Utils component tests and regression
fec-e2e-testingPlaywright / Cypress E2E structure, artifacts, CI, and flaky test handling
fec-tdd-workflowTest-first frontend implementation with red-green-refactor

Review and quality

SkillPurpose
fec-code-reviewArchitecture, type safety, rendering, styles, accessibility, tests, security
fec-debug-frameworkSystematic diagnostics for build, runtime, UI, and API/data failures
fec-security-reviewXSS, CSRF, sensitive data leakage, unsafe input handling
fec-accessibility-checkWCAG-oriented semantic structure, keyboard support, focus, labels
fec-dependency-upgradeDependency upgrades, lockfile review, CVE remediation, migration verification
fec-validation-fixRun validation commands, diagnose failures, and fix safely
fec-performance-optimizationCore Web Vitals, bundle, rendering, memory, network, and budget reviews
fec-refactor-cleanSafe dead-code, unused export, style, route, and dependency cleanup

Design UI

SkillPurpose
fec-ui-designUI direction, visual identity, polish, states, visual QA
fec-image-generationDiagrams, image generation/editing, visual assets, and PNG QA repair loops
fec-drawio-studioEditable draw.io / diagrams.net technical diagrams, shape lookup, and code maps
fec-web-video-presentationRecordable 16:9 step-driven web presentations from articles, scripts, lessons, demos
fec-tailwind-design-systemTailwind tokens, theme extension, variants, class governance, dark mode
fec-responsive-layoutMobile-first layouts, container queries, data-dense responsive UI
fec-motion-interactionContext-aware motion, page transitions, scroll animation, reduced motion
fec-implement-from-designImplement UI from Figma, Sketch, MasterGo, Pixso, Modao, or screenshots
fec-storybook-component-docStorybook component docs, design-system presentation, isolated state previews

Legacy migration

SkillPurpose
fec-legacy-web-standardJavaScript + jQuery + HTML/CSS legacy frontend standards
fec-legacy-to-modern-migrationLegacy frontend modernization, target-stack selection, and phased migration

Project evolution

SkillPurpose
fec-alchemyAbsorb reference system ideas through original, project-native redesign

Maintenance docs

SkillPurpose
fec-backend-requirements-handoffFrontend-to-backend handoff for UI data needs, actions, states, rules, questions
fec-doc-syncKeep frontend docs in sync with code, config, scripts, routes, APIs, and env facts
fec-source-driven-developmentVerify version-sensitive frontend decisions against project facts and sources

Using skills (scenarios & examples)

Skills live under skills/<id>/SKILL.md. OpenClaw exposes them as plugin skill roots (openclaw.plugin.json lists skills and commands). The harness typically auto-selects a workflow when your plain-language request matches a skill’s frontmatter description; exact behavior depends on your OpenClaw / agent setup. You do not need to know internal skill ids—describe the outcome you want. (Power users may still mention an id if they know it.)

This section is a quick OpenClaw-oriented sample, not the full prompt catalog. For complete scenario-based prompts across skills, agents, commands, design workflows, testing, maintenance, and runtime setup, see docs/example-prompts.md.

Tips

  • Point to paths or components when asking for reviews or refactors.
  • For design-to-code, attach a Figma link / node id, screenshot, or say which MCP you configured.
  • When lint, typecheck, tests, or build fail, name the exact commands you run if they are non-standard.

OpenClaw quick scenarios and example prompts

ScenarioSkill (reference)Example prompt (no skill names)
PR or branch review before mergefec-code-review“Please review src/features/checkout/ before I merge: architecture, types, a11y, and tests. Save a markdown report under reports/.”
Focus on XSS, secrets, dangerous DOMfec-security-review“Audit src/lib/auth.ts and anything that renders or stores user-controlled HTML for XSS and secret leaks; list fixes by severity.”
New dialog / form — keyboard & ARIAfec-accessibility-check“Check src/components/ConfirmDialog.tsx for keyboard traps, focus order, labels, and ARIA; suggest concrete fixes.”
Align a React module with team conventionsfec-react-project-standard“We use React 18 and TanStack Query. Review src/pages/Dashboard/ against solid React + TS patterns and our existing abstractions.”
Align a Vue module with team conventionsfec-vue3-project-standard“Review src/views/Settings.vue and its composables for Vue 3 + TS best practices and consistency with the rest of the app.”
Implement from Figma / screenshotfec-implement-from-design“Implement this screen from Figma node 123:456: match spacing and design tokens, reuse our Button, and note any assumptions.”
CI red or local script failuresfec-validation-fixpnpm lint and pnpm test are failing—find the root causes, fix them, and don’t weaken types or skip checks.”
Maintain jQuery / MPA legacy pagesfec-legacy-web-standard“For public/js/legacy/*.js, suggest safe refactors and patterns that keep current behavior; we still ship this in production.”
Plan legacy frontend modernizationfec-legacy-to-modern-migration“We have static/app.js in jQuery + MPA. Evaluate keeping the MPA, local modernization, or moving to our target stack with risks and milestones.”
Plan frontend test coveragefec-testing-strategy“For this checkout refactor, map risks to static checks, unit/component tests, E2E, visual, a11y, and security coverage before we write tests.”
Add or stabilize E2Efec-e2e-testing“Add a Playwright smoke test for login; use a clear folder layout and Page Objects, and mention how to run it in CI.”
Next.js App Router featurefec-nextjs-project-standard“Review app/(dashboard)/reports/page.tsx and related server actions for Next.js App Router best practices (data fetching, errors, metadata).”
Nuxt 3 feature or layoutfec-nuxt-project-standard“Review pages/admin/*.vue and composables/useApi.ts for Nuxt 3 SSR/data/composables conventions.”
Monorepo boundaries and tasksfec-monorepo-project-standardapps/web depends on packages/ui—check package boundaries, workspace config, and Turborepo task graph for issues.”
Server-state data fetchingfec-data-fetching“Review src/data/reports.ts for server-state fetching, cache keys, invalidation, SSR hydration, and whether a query library is warranted.”
State ownership and store selectionfec-state-management“Audit our dashboard state: decide what belongs in URL params, TanStack Query, local state, or the global store, then propose a safe migration.”
Complex form with validationfec-form-handling“Build a multi-step registration form; choose the project-appropriate form library and schema validation approach, with uploads and dynamic fields.”
Add route guards to an appfec-route-protection“Secure the /admin routes in our React Router app: redirect unauthenticated users and enforce role-based access.”
Write component unit testsfec-component-testing“Add RTL tests for src/components/UserCard.tsx: render, user-event interactions, and snapshot for regression.”
Document a component libraryfec-storybook-component-doc“Set up Storybook for packages/ui/ with MDX docs, accessibility addon, and interaction tests.”
Render thousands of list rowsfec-list-virtualization“Our ProductList renders 10k items—choose a virtualization approach for our framework, dynamic heights, browser search, and SEO constraints.”
Add offline supportfec-pwa-implementation“Make this React app a PWA: manifest, service worker, offline cache strategy, and install prompt.”
Heavy computation off main threadfec-web-workers“Move the image-processing logic to a Web Worker with Comlink to keep the UI responsive.”
Build an interactive 3D scenefec-canvas-threejs“Add a Three.js product viewer to src/components/ProductViewer.tsx with performance and fallback considerations.”
Add SVG motion to a landing pagefec-svg-animation“Animate the hero SVG with Framer Motion, and ensure reduced-motion users get a static fallback.”
Design and polish UIfec-ui-design“Review src/components/Dashboard.tsx for UI direction, visual identity, spacing, states, and motion polish.”
Build a recordable web presentationfec-web-video-presentation“Turn this product demo script into a 16:9 browser presentation with script beats, chapter steps, theme tokens, and recording guidance.”
Optimize Vite build configfec-vite-project-standard“Audit our vite.config.ts for HMR, dev proxy, env variable safety, and library mode best practices.”

Slash commands (markdown under commands/)

These are loaded as command specs; use them when you want a fixed checklist instead of free-form matching. In chat, describe what you want—the agent can follow the matching command doc without you naming it. The complete command prompt set is in docs/example-prompts.md.

Command docWhen to useExample (plain language)
fec-init.mdBootstrap Claude-style .claude/ templates in a project repo (paths in the doc target .claude/).“Initialize this repo’s .claude/ with the frontend-craft templates and rules from the plugin; ask before overwriting.”
fec-review.mdGuided review + save reports/code-review-*.md.“Review the files changed in my last commit and write a structured markdown report under reports/.”
fec-scaffold.mdPage / feature / component folder layout.“Scaffold a new React page UserDetail with the usual src/pages/... layout and empty components/ and hooks/ folders.”
fec-plan.mdArchitecture or test planning before implementation.“Plan the checkout rewrite first: component boundaries, state flow, risks, and test coverage.”
fec-tdd.mdRed-green-refactor implementation workflow.“Use a TDD loop for this filter component: write the failing test first, then implement the minimum behavior.”
fec-debug.mdDiagnose build, runtime, UI, or API/data failures.“The dashboard crashes after login; inspect the error path, isolate the cause, and write a debug report.”
fec-refactor-clean.mdClassify and safely remove dead code, unused exports, styles, and dependencies.“Clean up unused exports and styles in src/features/billing/, preserving behavior and reporting what changed.”
fec-doc-sync.mdSync README, docs, env notes, script lists, API/route notes, and deploy facts.“Check whether the README command list still matches package scripts and update the docs that drifted.”

Hooks

HookBehavior
before_tool_callBlocks dangerous shell / exec-style commands
after_tool_callOptionally runs Prettier on write/edit targets (formatAfterWrite, default on)
before_prompt_buildPrepends a one-time framework and package-manager hint per session
agent_endEmits a completion bell/log line when a run succeeds (notifyOnAgentEnd, default on)

Plugin Config

KeyTypeDefaultMeaning
formatAfterWritebooleantrueRun Prettier after write/edit tool calls
notifyOnAgentEndbooleantrueEmit a completion bell/log line when an agent run succeeds

Build From Source

From the main frontend-craft repository:

npm install
npm run typecheck:openclaw
npm run pack:openclaw

npm run pack:openclaw builds and verifies the OpenClaw bundle, refreshes npm-packages/openclaw, and writes frontend-craft-<version>.tgz to the npm-packages/openclaw/ directory.


License

MIT

Source and release

Source repository

bovinphang/frontend-craft

Open repo

Source commit

1cc82c36f050208f4dbd88e99aec5be68deb6334

View commit

Install command

openclaw plugins install clawhub:frontend-craft

Metadata

  • Package: frontend-craft
  • Created: 2026/03/26
  • Updated: 2026/06/25
  • Executes code: No
  • Source tag: v2.8.0

Compatibility

  • Built with OpenClaw: 2026.4.20
  • Plugin API range: >=2026.4.20
  • Tags: latest
  • Files: 187