Module Federation is a system for sharing code, resources, and dependencies between separate JavaScript applications, allowing a large application to be split into independently developed micro-frontends. It is used by web developers building applications from multiple cooperating front-end modules, with runtime loading, manifests, type hints, and plugins supporting that architecture.
Borrowing it
Nothing to install: this file belongs to module-federation/core. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/module-federation/core/main/.codex/skills/turborepo/SKILL.mdgit clone --depth 1 https://github.com/module-federation/coreWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/module-federation/core/turborepo)<a href="https://agentmods.dev/skills/module-federation/core/turborepo"><img src="https://agentmods.dev/badge/skills/module-federation/core/turborepo/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/module-federation/core/turborepo"><img src="https://agentmods.dev/badge/skills/module-federation/core/turborepo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00111 | $0.06475 |
| Opus 5.5 | $0.00044 | $0.02590 |
| Sonnet 5.5 | $0.00022 | $0.01295 |
| Haiku 4.5 | $0.00011 | $0.00647 |
Grade A, and why
turborepo scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
91% identical to turborepo — 912 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 915 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Turborepo Skill
Build system for JavaScript/TypeScript monorepos. Turborepo caches task outputs and runs tasks in parallel based on dependency graph.
IMPORTANT: Package Tasks, Not Root Tasks
DO NOT create Root Tasks. ALWAYS create package tasks.
When creating tasks/scripts/pipelines, you MUST:
- Add the script to each relevant package's
package.json - Register the task in root
turbo.json - Root
package.jsononly delegates viaturbo run <task>
DO NOT put task logic in root package.json. This defeats Turborepo's parallelization.
// DO THIS: Scripts in each package
// apps/web/package.json
{ "scripts": { "build": "next build", "lint": "eslint .", "test": "vitest" } }
// apps/api/package.json
{ "scripts": { "build": "tsc", "lint": "eslint .", "test": "vitest" } }
// packages/ui/package.json
{ "scripts": { "build": "tsc", "lint": "eslint .", "test": "vitest" } }
// turbo.json - register tasks
{
"tasks": {
"build": { "dependsOn": ["^build"], "outputs": ["dist/**"] },
"lint": {},
"test": { "dependsOn": ["build"] }
}
}
// Root package.json - ONLY delegates, no task logic
{
"scripts": {
"build": "turbo run build",
"lint": "turbo run lint",
"test": "turbo run test"
}
}
// DO NOT DO THIS - defeats parallelization
// Root package.json
{
"scripts": {
"build": "cd apps/web && next build && cd ../api && tsc",
"lint": "eslint apps/ packages/",
"test": "vitest"
}
}
Root Tasks (//#taskname) are ONLY for tasks that truly cannot exist in packages (rare).
Secondary Rule: turbo run vs turbo
Always use turbo run when the command is written into code:
// package.json - ALWAYS "turbo run"
{
"scripts": {
"build": "turbo run build"
}
}
# CI workflows - ALWAYS "turbo run"
- run: turbo run build --affected
The shorthand turbo <tasks> is ONLY for one-off terminal commands typed directly by humans or agents. Never write turbo build into package.json, CI, or scripts.
What ships with it
25 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- command/turborepo.md 2.5 KB
- references/best-practices/dependencies.md 4.2 KB
- references/best-practices/packages.md 6.1 KB
- references/best-practices/RULE.md 4.8 KB
- references/best-practices/structure.md 4.8 KB
- references/boundaries/RULE.md 1.9 KB
- references/caching/gotchas.md 2.8 KB
- references/caching/remote-cache.md 2.5 KB
- references/caching/RULE.md 2.2 KB
- references/ci/github-actions.md 2.7 KB
- references/ci/patterns.md 2.5 KB
- references/ci/RULE.md 2.1 KB
- references/ci/vercel.md 2.1 KB
- references/cli/commands.md 5.4 KB
- references/cli/RULE.md 2.1 KB
- references/configuration/global-options.md 4.4 KB
- references/configuration/gotchas.md 7.9 KB
- references/configuration/RULE.md 4.2 KB
- references/configuration/tasks.md 5.3 KB
- references/environment/gotchas.md 2.9 KB
- references/environment/modes.md 2.4 KB
- references/environment/RULE.md 1.7 KB
- references/filtering/patterns.md 2.4 KB
- references/filtering/RULE.md 4.1 KB
- references/watch/RULE.md 1.9 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 915 lines · 111 tokens per session scan A a42a36619745
turborepo is a skill published in the GitHub repository module-federation/core (2,677 stars, last pushed today), licensed MIT. It adds 111 tokens to every session and 6,475 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 91% identical to turborepo, differing in 912 lines, and is treated as a copy.
turborepo compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| turborepomodule-federation/core | Skill | 2.7k | today | MIT | A | 111 | Codex |
| magic-uimagicuidesign/magicui | Skill | 23k | yesterday | MIT | A | 56 | Claude Code, Codex |
| fast-typescript-checkinternet-development/www-sacred | Skill | 1.6k | 2d ago | MIT | A | 84 | Claude Code, Codex |
| port-sacred-terminal-ui-to-typescript-cliinternet-development/www-sacred | Skill | 1.6k | 2d ago | MIT | A | 0 | Claude Code, Codex |
| typescript-languageHoangNguyen0403/agent-skills-standard | Skill | 583 | today | MIT | A | 35 | Claude Code, Codex |
| typescript-toolingHoangNguyen0403/agent-skills-standard | Skill | 583 | today | MIT | A | 41 | Claude Code, Codex |
| typescript-best-practicesHoangNguyen0403/agent-skills-standard | Skill | 583 | today | MIT | A | 37 | Claude Code, Codex |