← Back to Skills Marketplace
magicscape

mofang-page-builder

by Peng · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
68
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install mofang-page-builder
Description
Build Magicflu/Mofang web-table custom pages from the jsonv2 records API. Use when users ask for Magicflu/Mofang forms, records, lists, create/edit/detail/ad...
README (SKILL.md)

魔方网表页面生成

Use this skill to generate and publish Magicflu/Mofang web-table pages. The safe path is:

  1. Confirm spaceId, formId, and page type.
  2. Fetch or import the real fielddef.
  3. Generate page code using only field name values from fielddef.fields[].
  4. Test with local mock-jsonv2 or proxy.
  5. Set CONFIG.apiBase to '' before same-origin publishing.

Install Locations

Copy the whole mofang-page-builder/ folder, not only SKILL.md.

Client Project install Global install
Claude Code .claude/skills/mofang-page-builder/ ~/.claude/skills/mofang-page-builder/
Trae .trae/skills/mofang-page-builder/ ~/.trae/skills/mofang-page-builder/
Trae CN .trae/skills/mofang-page-builder/ ~/.trae-cn/skills/mofang-page-builder/

Keep these directories with the skill: examples/, assets/, references/, and scripts/.

Required Workflow

Never guess real form field names from Chinese labels. For real data:

  1. Ask for or identify spaceId and formId.
    • If only a space name is known, resolve it with /magicflu/service/json/spaces/feed.
    • To traverse all spaces, use /magicflu/service/json/spaces/feed?start=0&limit=-1&bq=(created,orderby,desc).
    • If only a form label is known, resolve it with /magicflu/service/s/json/{spaceId}/forms/feed.
  2. Run scripts/fetch-form-spec.mjs, or ask the user for an exported fielddef JSON and import it.
  3. Use only fielddef.fields[].name as API keys, submit keys, and filter field names.
  4. Use fielddef.fields[].label only for UI text.
  5. Test locally before deployment.

Example fields in examples/ and assets/mock-data/ are demos only.

Page Contract

Generated pages must include:

const CONFIG = {
  apiBase: '', // local debug: 'http://127.0.0.1:3847'; same-origin production: ''
  spaceId: 'YOUR_SPACE_ID',
  formId: 'YOUR_FORM_ID',
};

function apiUrl(path) {
  const origin = CONFIG.apiBase ? CONFIG.apiBase.replace(/\/$/, '') : '';
  return `${origin}${path}`;
}

Same-origin pages rely on browser Cookie auth. Do not set an Authorization header in page code.

API Summary

Read references/api-summary.md when you need endpoint details, bq syntax, response shape, or field value formats.

Core paths:

Capability Method Path
List all spaces GET /magicflu/service/json/spaces/feed?start=0&limit=-1&bq=(created,orderby,desc)
Find spaces by label GET /magicflu/service/json/spaces/feed?start=0&limit=10&bq=(label,eq,{spaceLabel})
List forms in a space GET /magicflu/service/s/json/{spaceId}/forms/feed?start=0&limit=-1
Find forms by label GET /magicflu/service/s/json/{spaceId}/forms/feed?start=0&limit=10&bq=(label,eq,{formLabel})
Field definition GET /magicflu/service/s/jsonv2/{spaceId}/forms/{formId}?selector=fielddef&lng=en
List records GET /magicflu/service/s/jsonv2/{spaceId}/forms/{formId}/records/entry
Create record POST /magicflu/service/s/jsonv2/{spaceId}/forms/{formId}/records
Update record PUT /magicflu/service/s/jsonv2/{spaceId}/forms/{formId}/records/entry/{recordId}
Delete record DELETE /magicflu/service/s/jsonv2/{spaceId}/forms/{formId}/records/entry/{recordId}

Use the spaces endpoint when the user gives only a space name. The returned space id is items[].id; the display name is items[].label. Use the form-list endpoint when the user gives only a spaceId or form label. The returned form id is feed.entry[].id; the display name is feed.entry[].content.form.label; the English form key is feed.entry[].content.form.name.

Field rules:

  • API payload keys must be name, not label.
  • Omit empty values before submit.
  • Never submit "" for number fields.
  • Do not submit system, serial, secondary reference, image, attachment, location, webpage, comment, or external field-group fields.

Fetch Field Definitions

Account/password:

BASE_URL="http://appdev.com.magicflu.com:9999" \
MOFANG_USERNAME="你的账号" \
MOFANG_PASSWORD='你的密码' \
node scripts/fetch-form-spec.mjs \
  --spaceId \x3C空间UUID> \
  --formId \x3C表单UUID> \
  --out ./mock-data

If only names are known, resolve and fetch in one command:

BASE_URL="http://appdev.com.magicflu.com:9999" \
MOFANG_USERNAME="你的账号" \
MOFANG_PASSWORD='你的密码' \
node scripts/fetch-form-spec.mjs \
  --spaceLabel "空间名称" \
  --formLabel "表单名称" \
  --out ./mock-data

Cookie:

node scripts/fetch-form-spec.mjs \
  --baseUrl https://你的魔方域名 \
  --spaceId \x3C空间UUID> \
  --formId \x3C表单UUID> \
  --out ./mock-data \
  --cookie "浏览器 Cookie"

Offline import:

node scripts/fetch-form-spec.mjs \
  --spaceId \x3C空间UUID> \
  --formId \x3C表单UUID> \
  --out ./mock-data \
  --import-json ./fielddef-export.json

Output: mock-data/manifest.json, mock-data/\x3CformId>/fielddef.json, records.seed.json, typesnippets.md, and api-outline.md.

Local Debug

Use the bundled demo data:

cp -R assets/mock-data ./mock-data
node scripts/mock-jsonv2.mjs --port 3847 --dir ./mock-data

Set page config:

CONFIG.apiBase = 'http://127.0.0.1:3847';

Proxy to a real environment only when the user explicitly wants real data behavior:

BASE_URL="http://appdev.com.magicflu.com:9999" \
MOFANG_USERNAME="你的账号" \
MOFANG_PASSWORD='你的密码' \
node scripts/mock-jsonv2.mjs --mode proxy --port 3847

Proxy mode forwards supported space, json, and jsonv2 calls to the real environment. POST, PUT, and DELETE will change real records.

Publish Same-Origin Pages

Before publishing, set page CONFIG.apiBase to ''.

BASE_URL="http://appdev.com.magicflu.com:9999" \
MOFANG_USERNAME="你的账号" \
MOFANG_PASSWORD='你的密码' \
node scripts/deploy.mjs \
  --spaceId \x3C空间UUID> \
  --label "站点名称" \
  --shortcut custom-page \
  --files index.html

The deploy script logs in, creates a website, warms the session, uploads files through filemanager.jsp, and prints the final URL:

{BASE_URL}/magicflu/html/sites/userfiles/{spaceId}/{websiteId}/index.html

Read references/design.md, references/requirements.md, and references/filemanager.js only when debugging implementation details.

Examples

Stack File Purpose
Vanilla HTML+JS examples/vanilla/list-page.html Same-origin list page
Vanilla HTML+JS examples/vanilla/list-page-with-apibase.html List page wired to local mock
Vanilla HTML+JS examples/vanilla/form-page.html Create-record form
React examples/react/MagicfluList.tsx List component
Vue examples/vue/MagicfluForm.md Text-safe create-record form component

Validation

Run these from the skill root:

npm run check:scripts
npm run smoke:fetch-import
npm run smoke:mock
npm run smoke:upload
Usage Guidance
Install only if you trust the publisher and understand the Magicflu account access involved. Use mock mode by default, prefer a test space/account, avoid running the proxy with production credentials near untrusted web pages, stop the proxy when finished, and review deploy commands before creating sites or uploading files.
Capability Analysis
Type: OpenClaw Skill Name: mofang-page-builder Version: 1.1.0 The skill bundle is a specialized development tool for the Magicflu/Mofang (魔方网表) platform, designed to help AI agents generate and deploy custom web pages. It contains scripts for fetching form definitions (fetch-form-spec.mjs), a local mock server for testing (mock-jsonv2.mjs), and a deployment utility (deploy.mjs) that interacts with the platform's file manager. The code is transparent, uses standard Node.js APIs without external dependencies, and directs all network traffic to user-provided endpoints (BASE_URL). No indicators of data exfiltration, unauthorized persistence, or malicious prompt injection were found.
Capability Tags
requires-oauth-tokenrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The page-building, field-definition fetching, local mock, CRUD-page generation, and publishing features fit the stated Magicflu/Mofang purpose, but they include real account data and site-publishing capabilities.
Instruction Scope
Proxy mode forwards authenticated Magicflu service requests, including mutating methods, and the provided artifacts do not show per-request approval, caller authentication, or a read-only default.
Install Mechanism
There is no install script or external package dependency shown; the included Node scripts are user-run tools and Node >=18 is documented in the package/SKILL metadata.
Credentials
Using a real Magicflu username/password, JWT, or browser cookie is purpose-aligned, but the local authenticated proxy is broader than needed unless tightly restricted to trusted local pages.
Persistence & Privilege
No autostart, self-propagation, hidden background persistence, or credential storage is shown; local servers and generated mock-data appear to be started or written only by explicit commands.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install mofang-page-builder
  3. After installation, invoke the skill by name or use /mofang-page-builder
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Initial release of mofang-page-builder. - Generate custom Magicflu/Mofang web-table pages using jsonv2 records API. - Supports CRUD page generation, H5 extensions, and code examples in React, Vue, and vanilla JS. - Provides clear workflow and API usage for form/field resolution, fielddef importing, and mock/proxy/local debugging. - Includes scripts for fetching field definitions, local data mocking, and same-origin site publishing. - Offers install and usage instructions for multiple platforms (Codex, OpenAI, Claude Code, Trae, Trae CN). - Bundles example code, assets, and references for fast setup and validation.
Metadata
Slug mofang-page-builder
Version 1.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is mofang-page-builder?

Build Magicflu/Mofang web-table custom pages from the jsonv2 records API. Use when users ask for Magicflu/Mofang forms, records, lists, create/edit/detail/ad... It is an AI Agent Skill for Claude Code / OpenClaw, with 68 downloads so far.

How do I install mofang-page-builder?

Run "/install mofang-page-builder" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is mofang-page-builder free?

Yes, mofang-page-builder is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does mofang-page-builder support?

mofang-page-builder is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created mofang-page-builder?

It is built and maintained by Peng (@magicscape); the current version is v1.1.0.

💬 Comments