Code Pluginsource linked

Frontend Craftv2.4.0

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

frontend-craft·runtime frontend-craft·by @bovinphang
Community code plugin. Review compatibility and verification before install.
openclaw plugins install clawhub:frontend-craft
Latest release: v2.4.0Download zip

Capabilities

configSchema
Yes
Executes code
Yes
HTTP routes
0
Runtime ID
frontend-craft

Compatibility

Built With Open Claw Version
2026.4.20
Plugin Api Range
>=2026.4.20
Plugin Sdk Version
2026.4.20
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The package purpose is frontend development assistance through skills, commands, workspace templates, design MCP references, formatting, and safety hooks; the executable code matches that purpose.
Instruction Scope
The instructions can lead an agent to edit project files, run validation commands, initialize workspace rules, and use design MCP tools, but these behaviors are disclosed and tied to frontend workflows.
Install Mechanism
The package installs as an OpenClaw plugin extension with no npm install scripts; it declares code execution and exposes two user-configurable behaviors: post-write formatting and completion notification.
Credentials
Runtime access is proportionate: it reads package metadata and lockfiles for context, formats files just written or edited, and copies templates only through the optional init tool. The bundled MCP config is a reference and is not automatically merged.
Persistence & Privilege
The main persistent effects are project/workspace template files and optional design-system recommendation files when explicitly requested; no background daemon, autostart, credential capture, or broad local indexing was found.
Scan Findings in Context
[SkillSpector:clean] expected: SkillSpector reported no issues; artifact review is consistent with that low-risk result.
[VirusTotal:clean] expected: VirusTotal reported no malicious or suspicious engine detections; this supports but does not determine the benign verdict.
[pre-scan:unicode-control-chars] unexpected: The pre-scan flag was investigated, but artifact search did not corroborate hidden bidi/control-character behavior, so it was not treated as a material concern.
Assessment
Install only if you want frontend workflow automation. Be aware that the default configuration can automatically run Prettier on files the agent writes or edits, and the optional init tool can add or update workspace rule files. Review the MCP reference before copying it into your gateway because those design-tool servers may use local tokens such as FIGMA_API_KEY or SKETCH_API_KEY.
dist/index.js:187
Shell command execution detected (child_process).
!
dist/index.js:152
Potential obfuscated payload detected.
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.

Verification

Tier
source linked
Scope
artifact only
Summary
Validated package structure and linked the release to source metadata.
Commit
8f89466e9d63
Tag
v2.4.0
Provenance
No
Scan status
clean

Tags

latest
2.4.0

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

SkillPurpose
fec-code-reviewArchitecture, type safety, rendering, styles, accessibility, tests, security
fec-security-reviewXSS, CSRF, sensitive data leakage, unsafe input handling
fec-accessibility-checkWCAG-oriented semantic structure, keyboard support, focus, labels
fec-react-project-standardReact + TypeScript project standards
fec-vue3-project-standardVue 3 + TypeScript project standards
fec-implement-from-designImplement UI from Figma, Sketch, MasterGo, Pixso, Modao, or screenshots
fec-validation-fixRun validation commands, diagnose failures, and fix safely
fec-legacy-web-standardJavaScript + jQuery + HTML/CSS legacy frontend standards
fec-legacy-to-modern-migrationjQuery / MPA migration strategy to React or Vue + TypeScript
fec-testing-strategyTesting layer selection, risk matrix, and coverage planning
fec-e2e-testingPlaywright / Cypress E2E structure, artifacts, CI, and flaky test handling
fec-nextjs-project-standardNext.js App Router, SSR/SSG, routing, metadata, middleware
fec-nuxt-project-standardNuxt 3 SSR/SSG, composables, routing, middleware
fec-monorepo-project-standardpnpm workspace, Turborepo, Nx structure and task orchestration
fec-data-fetchingTanStack Query / server-state fetching, caching, invalidation, optimistic updates
fec-state-managementState ownership, store selection, URL/server/form/local state boundaries
fec-form-handlingReact Hook Form + Zod forms, dynamic fields, uploads, multi-step flows
fec-tailwind-design-systemTailwind tokens, theme extension, variants, class governance, dark mode
fec-responsive-layoutMobile-first layouts, container queries, data-dense responsive UI
fec-browser-storagelocalStorage/sessionStorage/IndexedDB/Cookies selection and safe client persistence
fec-route-protectionAuthenticated and permissioned routes for React Router, Next.js, Vue Router, Nuxt
fec-component-testingReact Testing Library / Vue Test Utils component tests and regression scenarios
fec-storybook-component-docStorybook component docs, addons, MDX, interaction and visual test integration
fec-list-virtualizationLarge-list windowing with react-window / TanStack Virtual and measurement strategies
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-ui-designUI direction, visual identity, polish, states, visual QA
fec-typescript-type-safetyType contracts, DTO mapping, type guards, generics, and type-level checks
fec-dependency-upgradeDependency upgrades, lockfile review, CVE remediation, migration verification
fec-vite-project-standardVite config, env safety, HMR, dev proxy, build optimization, library mode

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 jQuery → React/Vue migrationfec-legacy-to-modern-migration“We have static/app.js in jQuery + MPA. Outline a phased migration to React + TypeScript 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/queries/useReports.ts for TanStack Query patterns: caching keys, invalidation, and optimistic updates.”
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 with Zod validation, file upload, and dynamic conditional fields using React Hook Form.”
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—virtualize it with react-window or TanStack Virtual and measure scroll performance.”
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.”
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 table below lists common OpenClaw examples; 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.”

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