skills/datahub-mfe-create-app/SKILL.md
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.
npx skillsauth add datahub-project/datahub-skills datahub-mfe-create-appInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
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.
app_nameGiven an app_name like team-dashboard:
team-dashboard-mfe/ (append -mfe if not already present)MF_NAME): convert to camelCase and append MFE — teamDashboardMFEteam-dashboard-mfeTeam DashboardCreate 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.
package.jsonwebpack.config.jssrc/mount.tsxsrc/index.tsxsrc/App.tsxtsconfig.jsonpublic/index.htmlFirst 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.
http://localhost:<PORT>/remoteEntry.js in a browser or curl it.
It should return JavaScript (not a 404 or HTML error page).http://localhost:<PORT>/ — the standalone dev page should render.If either check fails, review the webpack output for errors and fix before proceeding.
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
data-ai
This skill provides routing guidance for all DataHub interaction skills. It is injected at session start and helps map user intent to the correct skill. Do not invoke this skill directly — it is loaded automatically.
development
Loads all 22 DataHub connector golden standards into context. Use before starting connector development or review work to ensure the full set of standards is available for reference. Triggers on: "load standards", "show standards", "what are the connector standards", "load golden standards", "review standards", or any request to load DataHub connector development guidelines.
tools
Use this skill when the user needs to set up a DataHub connection, install the DataHub CLI, configure authentication, verify connectivity, set default scopes, or create agent configuration profiles. Triggers on: "set up DataHub", "connect to DataHub", "install datahub CLI", "configure DataHub", "set default platform", "focus on domain X", "create profile", or any request to establish, configure, or troubleshoot DataHub connectivity.
testing
Use this skill when the user wants to search the DataHub catalog, discover entities, answer ad-hoc questions about their data, find datasets, or browse by platform or domain. Triggers on: "search DataHub", "find datasets", "who owns X", "what tables contain PII", "what columns does X have", or any request to search, discover, browse, or answer one-off questions about DataHub metadata. For lineage questions ("what feeds into X"), use `/datahub-lineage`. For systematic audits ("how complete is our metadata"), use `/datahub-audit`.