datahub-mfe-create-app
Scaffold a new DataHub Micro Frontend (MFE) app with all boilerplate files. Use when the user wants to create a new micro frontend, MFE, remote app, or Module Federation app for DataHub.
How do I install this agent skill?
npx skills add https://github.com/datahub-project/datahub-skills --skill datahub-mfe-create-appIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill scaffolds a React-based micro-frontend for DataHub. It generates boilerplate files using local templates, installs standard development dependencies via npm, and starts a local development server. The operations are consistent with standard frontend development workflows.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Create a DataHub MFE App
Scaffolds a complete, working Micro Frontend app that integrates with DataHub via Webpack Module Federation. Generates all 7 required files and guides the user through building and verifying.
Step 1: Gather Information
Use the AskQuestion tool to collect the following in a single call.
| Question | ID | Options |
|---|---|---|
App name (kebab-case, e.g. team-dashboard) | app_name | test-app / N/A - I'll fill it in later |
| Brief description of what the app does | app_desc | test-description / N/A - I'll fill it in later |
| Dev server port | port | 3002 / 3003 / 3004 / 3005 / 3006 |
| Does the app need to call the DataHub GraphQL API? | needs_graphql | Yes / No |
For app_name and app_desc, present only the N/A - I'll fill it in later
option — do NOT suggest values from the workspace. The user will type their own.
Deriving names from app_name
Given an app_name like team-dashboard:
- Directory:
team-dashboard-mfe/(append-mfeif not already present) - Module Federation name (
MF_NAME): convert to camelCase and appendMFE—teamDashboardMFE - Package name: same as directory name, e.g.
team-dashboard-mfe - Display label: title-case the words, e.g.
Team Dashboard
Step 2: Generate Files
Create the directory at the workspace root (sibling to datahub-web-react/).
Generate all 7 files using the templates in templates.md.
Apply these substitutions to every template:
| Placeholder | Value |
|---|---|
__APP_DIR__ | Directory name |
__PACKAGE_NAME__ | Package name |
__APP_DESCRIPTION__ | User's description |
__PORT__ | Dev server port |
__MF_NAME__ | Module Federation name (camelCase + MFE) |
__DISPLAY_LABEL__ | Title-cased label |
__PUBLIC_PATH_DEV__ | http://localhost:<PORT>/ |
If needs_graphql is Yes, include the GraphQL proxy block in webpack.config.js
(marked with {{GRAPHQL_PROXY}} in the template). If No, omit it entirely.
Files to generate
package.jsonwebpack.config.jssrc/mount.tsxsrc/index.tsxsrc/App.tsxtsconfig.jsonpublic/index.html
Step 3: Install and Start
First cd into the app directory — webpack must be started from within it,
not from the workspace root.
cd __APP_DIR__
npm install
npm start
Wait for webpack to compile. The dev server should start on the configured port.
Step 4: Verify
- Open
http://localhost:<PORT>/remoteEntry.jsin a browser or curl it. It should return JavaScript (not a 404 or HTML error page). - Open
http://localhost:<PORT>/— the standalone dev page should render.
If either check fails, review the webpack output for errors and fix before proceeding.
Step 5: Next Steps
Tell the user:
Your MFE app is running! To integrate it with DataHub, use the datahub-mfe-configure-app skill — it will walk you through adding this app to the DataHub frontend config so it appears at
/mfe/<path>and optionally in the nav sidebar.
Provide a summary of what was created:
Created __APP_DIR__/ with 7 files:
package.json — dependencies and scripts
webpack.config.js — Module Federation + dev server
src/mount.tsx — mount() contract for DataHub
src/index.tsx — standalone dev entry point
src/App.tsx — starter React component
tsconfig.json — TypeScript config
public/index.html — dev HTML shell
Module Federation name: __MF_NAME__ ← use this as "MFE app name" in datahub-mfe-configure-app
Remote entry URL: http://localhost:__PORT__/remoteEntry.js
Module path: __MF_NAME__/mount
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/datahub-project/datahub-skills/datahub-mfe-create-app">View datahub-mfe-create-app on skillZs</a>