@frontmcp/skills 0.0.1 → 1.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/catalog/TEMPLATE.md +58 -13
  2. package/catalog/frontmcp-config/SKILL.md +140 -0
  3. package/catalog/frontmcp-config/references/configure-auth.md +238 -0
  4. package/catalog/frontmcp-config/references/configure-elicitation.md +178 -0
  5. package/catalog/frontmcp-config/references/configure-http.md +205 -0
  6. package/catalog/frontmcp-config/references/configure-session.md +205 -0
  7. package/catalog/frontmcp-config/references/configure-throttle.md +229 -0
  8. package/catalog/frontmcp-config/references/configure-transport.md +195 -0
  9. package/catalog/frontmcp-config/references/setup-redis.md +4 -0
  10. package/catalog/frontmcp-config/references/setup-sqlite.md +4 -0
  11. package/catalog/frontmcp-deployment/SKILL.md +124 -0
  12. package/catalog/frontmcp-deployment/references/build-for-browser.md +138 -0
  13. package/catalog/frontmcp-deployment/references/build-for-cli.md +138 -0
  14. package/catalog/{deployment/build-for-sdk/SKILL.md → frontmcp-deployment/references/build-for-sdk.md} +65 -24
  15. package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +213 -0
  16. package/catalog/{deployment/deploy-to-lambda/SKILL.md → frontmcp-deployment/references/deploy-to-lambda.md} +73 -60
  17. package/catalog/{deployment/deploy-to-node/references/Dockerfile.example → frontmcp-deployment/references/deploy-to-node-dockerfile.md} +11 -2
  18. package/catalog/{deployment/deploy-to-node/SKILL.md → frontmcp-deployment/references/deploy-to-node.md} +65 -37
  19. package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +60 -0
  20. package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +224 -0
  21. package/catalog/frontmcp-development/SKILL.md +118 -0
  22. package/catalog/frontmcp-development/references/create-adapter.md +165 -0
  23. package/catalog/{development/create-agent/references/llm-config.md → frontmcp-development/references/create-agent-llm-config.md} +5 -5
  24. package/catalog/{development/create-agent/SKILL.md → frontmcp-development/references/create-agent.md} +82 -44
  25. package/catalog/{development/create-job/SKILL.md → frontmcp-development/references/create-job.md} +61 -19
  26. package/catalog/{plugins/create-plugin-hooks/SKILL.md → frontmcp-development/references/create-plugin-hooks.md} +63 -11
  27. package/catalog/{plugins/create-plugin/SKILL.md → frontmcp-development/references/create-plugin.md} +65 -60
  28. package/catalog/{development/create-prompt/SKILL.md → frontmcp-development/references/create-prompt.md} +62 -26
  29. package/catalog/{development/create-provider/SKILL.md → frontmcp-development/references/create-provider.md} +62 -27
  30. package/catalog/{development/create-resource/SKILL.md → frontmcp-development/references/create-resource.md} +62 -30
  31. package/catalog/{development/create-skill-with-tools/SKILL.md → frontmcp-development/references/create-skill-with-tools.md} +69 -24
  32. package/catalog/{development/create-skill/SKILL.md → frontmcp-development/references/create-skill.md} +71 -20
  33. package/catalog/{development/create-tool/SKILL.md → frontmcp-development/references/create-tool.md} +62 -26
  34. package/catalog/{development/create-workflow/SKILL.md → frontmcp-development/references/create-workflow.md} +60 -18
  35. package/catalog/{development/decorators-guide/SKILL.md → frontmcp-development/references/decorators-guide.md} +123 -34
  36. package/catalog/frontmcp-development/references/official-adapters.md +194 -0
  37. package/catalog/{plugins/official-plugins/SKILL.md → frontmcp-development/references/official-plugins.md} +68 -22
  38. package/catalog/frontmcp-guides/SKILL.md +417 -0
  39. package/catalog/frontmcp-guides/references/example-knowledge-base.md +636 -0
  40. package/catalog/frontmcp-guides/references/example-task-manager.md +512 -0
  41. package/catalog/frontmcp-guides/references/example-weather-api.md +292 -0
  42. package/catalog/frontmcp-setup/SKILL.md +127 -0
  43. package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +265 -0
  44. package/catalog/{setup/multi-app-composition/SKILL.md → frontmcp-setup/references/multi-app-composition.md} +65 -23
  45. package/catalog/{setup/nx-workflow/SKILL.md → frontmcp-setup/references/nx-workflow.md} +78 -21
  46. package/catalog/frontmcp-setup/references/project-structure-nx.md +246 -0
  47. package/catalog/frontmcp-setup/references/project-structure-standalone.md +212 -0
  48. package/catalog/{setup/setup-project/SKILL.md → frontmcp-setup/references/setup-project.md} +62 -62
  49. package/catalog/{setup/setup-redis/SKILL.md → frontmcp-setup/references/setup-redis.md} +59 -86
  50. package/catalog/{setup/setup-sqlite/SKILL.md → frontmcp-setup/references/setup-sqlite.md} +64 -76
  51. package/catalog/frontmcp-testing/SKILL.md +121 -0
  52. package/catalog/{testing/setup-testing/SKILL.md → frontmcp-testing/references/setup-testing.md} +78 -67
  53. package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-tool-unit.md +1 -0
  54. package/catalog/skills-manifest.json +34 -383
  55. package/package.json +1 -1
  56. package/src/manifest.d.ts +3 -3
  57. package/src/manifest.js +1 -3
  58. package/src/manifest.js.map +1 -1
  59. package/catalog/adapters/create-adapter/SKILL.md +0 -127
  60. package/catalog/adapters/official-adapters/SKILL.md +0 -136
  61. package/catalog/auth/configure-auth/SKILL.md +0 -250
  62. package/catalog/auth/configure-session/SKILL.md +0 -201
  63. package/catalog/config/configure-elicitation/SKILL.md +0 -136
  64. package/catalog/config/configure-http/SKILL.md +0 -167
  65. package/catalog/config/configure-throttle/SKILL.md +0 -189
  66. package/catalog/config/configure-transport/SKILL.md +0 -151
  67. package/catalog/deployment/build-for-browser/SKILL.md +0 -95
  68. package/catalog/deployment/build-for-cli/SKILL.md +0 -100
  69. package/catalog/deployment/deploy-to-cloudflare/SKILL.md +0 -192
  70. package/catalog/deployment/deploy-to-vercel/SKILL.md +0 -196
  71. package/catalog/deployment/deploy-to-vercel/references/vercel.json.example +0 -60
  72. package/catalog/setup/frontmcp-skills-usage/SKILL.md +0 -200
  73. package/catalog/setup/project-structure-nx/SKILL.md +0 -186
  74. package/catalog/setup/project-structure-standalone/SKILL.md +0 -153
  75. /package/catalog/{auth/configure-auth/references/auth-modes.md → frontmcp-config/references/configure-auth-modes.md} +0 -0
  76. /package/catalog/{config/configure-throttle/references/guard-config.md → frontmcp-config/references/configure-throttle-guard-config.md} +0 -0
  77. /package/catalog/{config/configure-transport/references/protocol-presets.md → frontmcp-config/references/configure-transport-protocol-presets.md} +0 -0
  78. /package/catalog/{development/create-tool/references/tool-annotations.md → frontmcp-development/references/create-tool-annotations.md} +0 -0
  79. /package/catalog/{development/create-tool/references/output-schema-types.md → frontmcp-development/references/create-tool-output-schema-types.md} +0 -0
  80. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-auth.md +0 -0
  81. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md +0 -0
  82. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-cli-binary.md +0 -0
  83. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md +0 -0
  84. /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-e2e-handler.md +0 -0
@@ -2,413 +2,64 @@
2
2
  "version": 1,
3
3
  "skills": [
4
4
  {
5
- "name": "frontmcp-skills-usage",
5
+ "name": "frontmcp-setup",
6
6
  "category": "setup",
7
- "description": "Search, install, and manage FrontMCP development skills for Claude Code and Codex. Use when setting up skills for AI-assisted development, choosing between static and dynamic skill delivery, or configuring skill providers.",
8
- "path": "setup/frontmcp-skills-usage",
9
- "targets": ["all"],
10
- "hasResources": false,
11
- "tags": ["skills", "cli", "install", "claude", "codex", "search", "catalog"],
12
- "bundle": ["recommended", "minimal", "full"],
13
- "install": { "destinations": ["project-local", ".claude/skills", "codex"], "mergeStrategy": "skip-existing" }
14
- },
15
- {
16
- "name": "setup-project",
17
- "category": "setup",
18
- "description": "Scaffold and configure a new FrontMCP MCP server project. Use when creating a new project, setting up @FrontMcp and @App decorators, or choosing a deployment target.",
19
- "path": "setup/setup-project",
20
- "targets": ["all"],
21
- "hasResources": false,
22
- "tags": ["setup", "project", "scaffold", "getting-started"],
23
- "bundle": ["recommended", "minimal", "full"],
24
- "install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
25
- },
26
- {
27
- "name": "setup-redis",
28
- "category": "setup",
29
- "description": "Configure Redis for session storage and distributed state management. Use when adding Redis, Docker Redis, Vercel KV, or setting up pub/sub for resource subscriptions.",
30
- "path": "setup/setup-redis",
31
- "targets": ["node", "vercel"],
32
- "hasResources": false,
33
- "storageDefault": { "node": "redis-docker", "vercel": "vercel-kv" },
34
- "tags": ["setup", "redis", "storage", "session"],
35
- "bundle": ["recommended", "full"],
36
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite", "dependencies": ["setup-project"] }
37
- },
38
- {
39
- "name": "setup-sqlite",
40
- "category": "setup",
41
- "description": "Configure SQLite for local development and single-instance deployments. Use when setting up local storage, CLI tools, unix-socket daemons, or WAL mode.",
42
- "path": "setup/setup-sqlite",
43
- "targets": ["node"],
44
- "hasResources": false,
45
- "storageDefault": { "node": "sqlite" },
46
- "tags": ["setup", "sqlite", "storage", "local"],
47
- "bundle": ["minimal", "full"],
48
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite", "dependencies": ["setup-project"] }
49
- },
50
- {
51
- "name": "multi-app-composition",
52
- "category": "setup",
53
- "description": "Compose multiple apps in a single server with shared tools, scoped auth, and external app loading. Use when building multi-app servers, sharing tools between apps, loading ESM or remote apps, or configuring per-app auth.",
54
- "path": "setup/multi-app-composition",
55
- "targets": ["all"],
56
- "hasResources": false,
57
- "tags": ["multi-app", "composition", "architecture", "scope", "shared-tools"],
58
- "bundle": ["recommended", "full"],
59
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
60
- },
61
- {
62
- "name": "nx-workflow",
63
- "category": "setup",
64
- "description": "Complete Nx monorepo workflow for FrontMCP with all generators, build, test, and deployment commands. Use when working in an Nx workspace, running generators, or managing monorepo builds.",
65
- "path": "setup/nx-workflow",
66
- "targets": ["all"],
67
- "hasResources": false,
68
- "tags": ["nx", "monorepo", "generators", "workflow", "scaffold"],
69
- "bundle": ["recommended", "full"],
70
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
71
- },
72
- {
73
- "name": "project-structure-standalone",
74
- "category": "setup",
75
- "description": "Best practices for organizing a standalone FrontMCP project — file layout, naming conventions, and folder hierarchy. Use when scaffolding with frontmcp create or organizing an existing standalone project.",
76
- "path": "setup/project-structure-standalone",
77
- "targets": ["all"],
78
- "hasResources": false,
79
- "tags": ["project", "structure", "standalone", "organization", "best-practices"],
80
- "bundle": ["recommended", "minimal", "full"],
81
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
82
- },
83
- {
84
- "name": "project-structure-nx",
85
- "category": "setup",
86
- "description": "Best practices for organizing a FrontMCP Nx monorepo — apps, libs, servers, generators, and multi-app composition. Use when working with frontmcp create --nx or an Nx workspace.",
87
- "path": "setup/project-structure-nx",
88
- "targets": ["all"],
89
- "hasResources": false,
90
- "tags": ["project", "structure", "nx", "monorepo", "organization", "best-practices"],
91
- "bundle": ["recommended", "full"],
92
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
93
- },
94
- {
95
- "name": "configure-transport",
96
- "category": "config",
97
- "description": "Choose and configure transport protocols — SSE, Streamable HTTP, stateless API, or legacy. Use when deciding between transport modes, enabling distributed sessions, or configuring event stores.",
98
- "path": "config/configure-transport",
7
+ "description": "Domain router for project setup and scaffolding \u2014 new projects, project structure, Nx workspaces, storage backends, multi-app composition, and the skills system. Use when starting or organizing a FrontMCP project.",
8
+ "path": "frontmcp-setup",
99
9
  "targets": ["all"],
100
10
  "hasResources": true,
101
- "tags": ["transport", "sse", "streamable-http", "stateless", "protocol", "session"],
102
- "bundle": ["recommended", "full"],
103
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
11
+ "tags": ["router", "setup", "scaffold", "project", "nx", "redis", "sqlite", "structure", "guide"],
12
+ "bundle": ["recommended", "minimal", "full"]
104
13
  },
105
14
  {
106
- "name": "configure-elicitation",
107
- "category": "config",
108
- "description": "Enable interactive user input requests from tools during execution. Use when tools need to ask the user for confirmation, choices, or additional data mid-execution.",
109
- "path": "config/configure-elicitation",
110
- "targets": ["all"],
111
- "hasResources": false,
112
- "tags": ["elicitation", "user-input", "interactive", "confirmation", "form"],
113
- "bundle": ["full"],
114
- "install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
115
- },
116
- {
117
- "name": "configure-http",
118
- "category": "config",
119
- "description": "Configure HTTP server options including port, CORS, unix sockets, and entry path. Use when customizing the HTTP listener, enabling CORS, or binding to a unix socket.",
120
- "path": "config/configure-http",
121
- "targets": ["all"],
122
- "hasResources": false,
123
- "tags": ["http", "cors", "port", "socket", "server", "configuration"],
124
- "bundle": ["recommended", "full"],
125
- "install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
126
- },
127
- {
128
- "name": "configure-throttle",
129
- "category": "config",
130
- "description": "Set up rate limiting, concurrency control, timeouts, and IP filtering at server and per-tool level. Use when protecting against abuse, limiting request rates, or configuring IP allow/deny lists.",
131
- "path": "config/configure-throttle",
132
- "targets": ["all"],
133
- "hasResources": true,
134
- "tags": ["throttle", "rate-limit", "concurrency", "timeout", "security", "guard", "ip-filter"],
135
- "bundle": ["recommended", "full"],
136
- "install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
137
- },
138
- {
139
- "name": "decorators-guide",
15
+ "name": "frontmcp-development",
140
16
  "category": "development",
141
- "description": "Complete reference for all FrontMCP decorators and when to use each one. Use when choosing between decorators, understanding the architecture, or looking up decorator signatures.",
142
- "path": "development/decorators-guide",
143
- "targets": ["all"],
144
- "hasResources": false,
145
- "tags": ["decorators", "reference", "architecture", "guide"],
146
- "bundle": ["recommended", "minimal", "full"],
147
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
148
- },
149
- {
150
- "name": "create-tool",
151
- "category": "development",
152
- "description": "Create and register an MCP tool with Zod input validation and typed output. Use when building tools, defining input schemas, adding output validation, or registering tools in an app.",
153
- "path": "development/create-tool",
17
+ "description": "Domain router for building MCP components \u2014 tools, resources, prompts, agents, providers, jobs, workflows, and skills. Use when starting any FrontMCP development task and need to find the right skill.",
18
+ "path": "frontmcp-development",
154
19
  "targets": ["all"],
155
20
  "hasResources": true,
156
- "tags": ["tools", "mcp", "zod", "schema"],
157
- "bundle": ["recommended", "minimal", "full"],
158
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
159
- },
160
- {
161
- "name": "create-resource",
162
- "category": "development",
163
- "description": "Create MCP resources and resource templates with URI-based access. Use when exposing data via URIs, creating resource templates, or serving dynamic content.",
164
- "path": "development/create-resource",
165
- "targets": ["all"],
166
- "hasResources": false,
167
- "tags": ["resources", "mcp", "uri", "templates"],
168
- "bundle": ["recommended", "full"],
169
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
170
- },
171
- {
172
- "name": "create-prompt",
173
- "category": "development",
174
- "description": "Create MCP prompts for reusable AI interaction patterns. Use when building prompts, defining prompt arguments, or creating conversation templates.",
175
- "path": "development/create-prompt",
176
- "targets": ["all"],
177
- "hasResources": false,
178
- "tags": ["prompts", "mcp", "templates"],
179
- "bundle": ["recommended", "full"],
180
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
21
+ "tags": ["router", "development", "tools", "resources", "prompts", "agents", "skills", "guide"],
22
+ "bundle": ["recommended", "minimal", "full"]
181
23
  },
182
24
  {
183
- "name": "create-agent",
184
- "category": "development",
185
- "description": "Create autonomous AI agents with inner tools, LLM providers, and multi-agent swarms. Use when building agents, configuring LLM adapters, adding inner tools, or setting up agent handoff.",
186
- "path": "development/create-agent",
25
+ "name": "frontmcp-deployment",
26
+ "category": "deployment",
27
+ "description": "Domain router for shipping MCP servers \u2014 deploy to Node, Vercel, Lambda, Cloudflare, or build for CLI, browser, and SDK. Use when choosing a deployment target or build format.",
28
+ "path": "frontmcp-deployment",
187
29
  "targets": ["all"],
188
30
  "hasResources": true,
189
- "tags": ["agent", "ai", "llm", "tools", "autonomous"],
190
- "bundle": ["recommended", "full"],
191
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
192
- },
193
- {
194
- "name": "create-skill-with-tools",
195
- "category": "development",
196
- "description": "Create skills that reference and orchestrate MCP tools for multi-step workflows. Use when building skills with tool references, SKILL.md directories, or workflow instructions.",
197
- "path": "development/create-skill-with-tools",
198
- "targets": ["all"],
199
- "hasResources": false,
200
- "tags": ["skill", "tools", "workflow", "instructions"],
201
- "bundle": ["recommended", "full"],
202
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
203
- },
204
- {
205
- "name": "create-skill",
206
- "category": "development",
207
- "description": "Create instruction-only skills that guide AI through workflows without tool references. Use when building knowledge packages, coding guidelines, or workflow templates.",
208
- "path": "development/create-skill",
209
- "targets": ["all"],
210
- "hasResources": false,
211
- "tags": ["skill", "instructions", "knowledge", "workflow", "guide"],
212
- "bundle": ["recommended", "full"],
213
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
31
+ "tags": ["router", "deployment", "node", "vercel", "lambda", "cloudflare", "cli", "browser", "sdk", "guide"],
32
+ "bundle": ["recommended", "minimal", "full"]
214
33
  },
215
34
  {
216
- "name": "create-provider",
217
- "category": "development",
218
- "description": "Create dependency injection providers for database connections, API clients, and singleton services. Use when tools and resources need shared services, DB pools, or configuration objects.",
219
- "path": "development/create-provider",
220
- "targets": ["all"],
221
- "hasResources": false,
222
- "tags": ["provider", "di", "dependency-injection", "singleton", "database", "service"],
223
- "bundle": ["recommended", "full"],
224
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
225
- },
226
- {
227
- "name": "create-job",
228
- "category": "development",
229
- "description": "Create long-running jobs with retry policies, progress tracking, and permission controls. Use when building background tasks, data processing pipelines, or scheduled operations.",
230
- "path": "development/create-job",
231
- "targets": ["all"],
232
- "hasResources": false,
233
- "tags": ["job", "background", "retry", "progress", "long-running"],
234
- "bundle": ["full"],
235
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
236
- },
237
- {
238
- "name": "create-workflow",
239
- "category": "development",
240
- "description": "Create multi-step workflows that connect jobs into managed execution pipelines with dependencies and conditions. Use when orchestrating sequential or parallel job execution.",
241
- "path": "development/create-workflow",
35
+ "name": "frontmcp-testing",
36
+ "category": "testing",
37
+ "description": "Domain router for testing MCP servers \u2014 unit tests, E2E tests, coverage, and quality assurance. Use when starting any testing task for a FrontMCP application.",
38
+ "path": "frontmcp-testing",
242
39
  "targets": ["all"],
243
- "hasResources": false,
244
- "tags": ["workflow", "pipeline", "orchestration", "steps", "jobs"],
245
- "bundle": ["full"],
246
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
247
- },
248
- {
249
- "name": "deploy-to-node",
250
- "category": "deployment",
251
- "description": "Deploy a FrontMCP server as a standalone Node.js application with Docker. Use when deploying to a VPS, Docker, or bare metal server.",
252
- "path": "deployment/deploy-to-node",
253
- "targets": ["node"],
254
- "hasResources": true,
255
- "tags": ["deployment", "node", "docker", "production"],
256
- "bundle": ["recommended", "full"],
257
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
258
- },
259
- {
260
- "name": "deploy-to-vercel",
261
- "category": "deployment",
262
- "description": "Deploy a FrontMCP server to Vercel serverless functions. Use when deploying to Vercel, configuring Vercel KV, or setting up serverless MCP.",
263
- "path": "deployment/deploy-to-vercel",
264
- "targets": ["vercel"],
265
40
  "hasResources": true,
266
- "tags": ["deployment", "vercel", "serverless", "edge"],
267
- "bundle": ["recommended", "full"],
268
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
41
+ "tags": ["router", "testing", "jest", "e2e", "coverage", "quality", "guide"],
42
+ "bundle": ["recommended", "full"]
269
43
  },
270
44
  {
271
- "name": "deploy-to-lambda",
272
- "category": "deployment",
273
- "description": "Deploy a FrontMCP server to AWS Lambda with API Gateway. Use when deploying to AWS, setting up SAM or CDK, or configuring Lambda handlers.",
274
- "path": "deployment/deploy-to-lambda",
275
- "targets": ["lambda"],
276
- "hasResources": false,
277
- "tags": ["deployment", "lambda", "aws", "serverless"],
278
- "bundle": ["recommended", "full"],
279
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
280
- },
281
- {
282
- "name": "deploy-to-cloudflare",
283
- "category": "deployment",
284
- "description": "Deploy a FrontMCP server to Cloudflare Workers. Use when deploying to Cloudflare, configuring wrangler.toml, or setting up Workers KV storage.",
285
- "path": "deployment/deploy-to-cloudflare",
286
- "targets": ["cloudflare"],
287
- "hasResources": false,
288
- "tags": ["deployment", "cloudflare", "workers", "serverless"],
289
- "bundle": ["full"],
290
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
291
- },
292
- {
293
- "name": "build-for-cli",
294
- "category": "deployment",
295
- "description": "Build a distributable CLI binary (SEA) or JS bundle from an MCP server. Use when creating standalone executables, CLI tools, or self-contained binaries.",
296
- "path": "deployment/build-for-cli",
297
- "targets": ["node"],
298
- "hasResources": false,
299
- "tags": ["deployment", "cli", "binary", "sea", "executable"],
300
- "bundle": ["full"],
301
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
302
- },
303
- {
304
- "name": "build-for-browser",
305
- "category": "deployment",
306
- "description": "Build a FrontMCP server for browser environments. Use when creating browser-compatible MCP clients, embedding MCP in web apps, or building client-side tool interfaces.",
307
- "path": "deployment/build-for-browser",
308
- "targets": ["all"],
309
- "hasResources": false,
310
- "tags": ["deployment", "browser", "client", "web", "frontend"],
311
- "bundle": ["full"],
312
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
313
- },
314
- {
315
- "name": "build-for-sdk",
316
- "category": "deployment",
317
- "description": "Build a FrontMCP server as an embeddable SDK library for Node.js applications without HTTP serving. Use when embedding MCP in existing apps, using connect()/connectOpenAI()/connectClaude(), or distributing as an npm package.",
318
- "path": "deployment/build-for-sdk",
319
- "targets": ["all"],
320
- "hasResources": false,
321
- "tags": ["deployment", "sdk", "library", "embed", "programmatic", "connect"],
322
- "bundle": ["recommended", "full"],
323
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
324
- },
325
- {
326
- "name": "configure-auth",
327
- "category": "auth",
328
- "description": "Set up authentication with public, transparent, local, or remote auth modes. Use when adding auth, OAuth, login, session security, or protecting tools and resources.",
329
- "path": "auth/configure-auth",
45
+ "name": "frontmcp-config",
46
+ "category": "config",
47
+ "description": "Domain router for configuring MCP servers \u2014 transport, HTTP, throttle, elicitation, auth, sessions, and storage. Use when configuring any aspect of a FrontMCP server.",
48
+ "path": "frontmcp-config",
330
49
  "targets": ["all"],
331
50
  "hasResources": true,
332
- "tags": ["auth", "oauth", "security", "session"],
333
- "bundle": ["recommended", "full"],
334
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
51
+ "tags": ["router", "config", "transport", "http", "auth", "session", "redis", "sqlite", "throttle", "guide"],
52
+ "bundle": ["recommended", "full"]
335
53
  },
336
54
  {
337
- "name": "configure-session",
338
- "category": "auth",
339
- "description": "Configure session storage with Redis, Vercel KV, or in-memory backends. Use when setting up sessions, choosing a storage provider, or configuring TTL and key prefixes.",
340
- "path": "auth/configure-session",
341
- "targets": ["node", "vercel"],
342
- "hasResources": false,
343
- "tags": ["session", "storage", "redis", "memory"],
344
- "bundle": ["recommended", "full"],
345
- "install": { "destinations": ["project-local"], "mergeStrategy": "overwrite", "dependencies": ["configure-auth"] }
346
- },
347
- {
348
- "name": "create-plugin",
349
- "category": "plugins",
350
- "description": "Build a FrontMCP plugin with lifecycle hooks and context extensions. Use when creating custom plugins, extending tool context, or adding cross-cutting concerns.",
351
- "path": "plugins/create-plugin",
352
- "targets": ["all"],
353
- "hasResources": false,
354
- "tags": ["plugins", "extensibility", "hooks", "context"],
355
- "bundle": ["full"],
356
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
357
- },
358
- {
359
- "name": "create-plugin-hooks",
360
- "category": "plugins",
361
- "description": "Create plugins with flow lifecycle hooks using @Will, @Did, @Stage, and @Around decorators. Use when intercepting tool calls, adding logging, modifying request/response, or implementing cross-cutting middleware.",
362
- "path": "plugins/create-plugin-hooks",
363
- "targets": ["all"],
364
- "hasResources": false,
365
- "tags": ["plugin", "hooks", "will", "did", "stage", "around", "flow", "middleware"],
366
- "bundle": ["full"],
367
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
368
- },
369
- {
370
- "name": "official-plugins",
371
- "category": "plugins",
372
- "description": "Install and configure official FrontMCP plugins including CodeCall, Remember, Approval, Cache, Feature Flags, and Dashboard. Use when adding caching, memory, tool approval, feature gating, or CodeCall orchestration.",
373
- "path": "plugins/official-plugins",
374
- "targets": ["all"],
375
- "hasResources": false,
376
- "tags": ["plugins", "codecall", "remember", "approval", "cache", "feature-flags", "dashboard"],
377
- "bundle": ["recommended", "full"],
378
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
379
- },
380
- {
381
- "name": "official-adapters",
382
- "category": "adapters",
383
- "description": "Use the OpenAPI adapter to convert REST APIs into MCP tools automatically. Use when integrating external APIs, OpenAPI specs, or converting Swagger docs to MCP tools.",
384
- "path": "adapters/official-adapters",
385
- "targets": ["all"],
386
- "hasResources": false,
387
- "tags": ["adapters", "openapi", "rest-api", "swagger", "integration"],
388
- "bundle": ["recommended", "full"],
389
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
390
- },
391
- {
392
- "name": "create-adapter",
393
- "category": "adapters",
394
- "description": "Create custom adapters that convert external definitions into MCP tools, resources, and prompts. Use when building integrations beyond OpenAPI, connecting to proprietary APIs, or generating tools from custom schemas.",
395
- "path": "adapters/create-adapter",
396
- "targets": ["all"],
397
- "hasResources": false,
398
- "tags": ["adapter", "custom", "dynamic-adapter", "integration", "codegen"],
399
- "bundle": ["full"],
400
- "install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
401
- },
402
- {
403
- "name": "setup-testing",
404
- "category": "testing",
405
- "description": "Configure and run unit and E2E tests for FrontMCP applications. Use when writing tests, setting up Jest, configuring coverage, or testing tools and resources.",
406
- "path": "testing/setup-testing",
55
+ "name": "frontmcp-guides",
56
+ "category": "guides",
57
+ "description": "End-to-end examples and best practices for building FrontMCP MCP servers. Use when starting a new project from scratch, learning architectural patterns, or following a complete build walkthrough.",
58
+ "path": "frontmcp-guides",
407
59
  "targets": ["all"],
408
60
  "hasResources": true,
409
- "tags": ["testing", "jest", "e2e", "quality"],
410
- "bundle": ["recommended", "full"],
411
- "install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
61
+ "tags": ["guides", "examples", "best-practices", "architecture", "walkthrough", "end-to-end"],
62
+ "bundle": ["recommended", "full"]
412
63
  }
413
64
  ]
414
65
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/skills",
3
- "version": "0.0.1",
3
+ "version": "1.0.0-beta.9",
4
4
  "description": "Curated skills catalog for FrontMCP projects",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "homepage": "https://docs.agentfront.dev",
package/src/manifest.d.ts CHANGED
@@ -12,7 +12,7 @@ export type SkillTarget = 'node' | 'vercel' | 'lambda' | 'cloudflare' | 'all';
12
12
  /**
13
13
  * Skill categories for organizing the catalog.
14
14
  */
15
- export type SkillCategory = 'setup' | 'deployment' | 'development' | 'config' | 'auth' | 'plugins' | 'adapters' | 'testing';
15
+ export type SkillCategory = 'setup' | 'deployment' | 'development' | 'config' | 'testing' | 'guides';
16
16
  /**
17
17
  * Bundle membership for curated scaffold presets.
18
18
  */
@@ -61,8 +61,8 @@ export interface SkillCatalogEntry {
61
61
  tags: string[];
62
62
  /** Bundle membership for scaffold presets */
63
63
  bundle?: SkillBundle[];
64
- /** Install configuration for future distribution */
65
- install: SkillInstallConfig;
64
+ /** Install configuration for future distribution (optional — not yet used by CLI) */
65
+ install?: SkillInstallConfig;
66
66
  }
67
67
  /**
68
68
  * The skills catalog manifest — single source of truth for scaffold and install tooling.
package/src/manifest.js CHANGED
@@ -16,10 +16,8 @@ exports.VALID_CATEGORIES = [
16
16
  'deployment',
17
17
  'development',
18
18
  'config',
19
- 'auth',
20
- 'plugins',
21
- 'adapters',
22
19
  'testing',
20
+ 'guides',
23
21
  ];
24
22
  /** Valid bundles for manifest validation */
25
23
  exports.VALID_BUNDLES = ['recommended', 'minimal', 'full'];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAsFH,uDAAuD;AAC1C,QAAA,aAAa,GAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAEvG,+CAA+C;AAClC,QAAA,gBAAgB,GAA6B;IACxD,OAAO;IACP,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,SAAS;CACV,CAAC;AAEF,4CAA4C;AAC/B,QAAA,aAAa,GAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Skills catalog manifest types.\n *\n * Defines the contract between the catalog, scaffold tooling, and future installer.\n *\n * @module skills/manifest\n */\n\n/**\n * Supported deployment targets for skill filtering.\n */\nexport type SkillTarget = 'node' | 'vercel' | 'lambda' | 'cloudflare' | 'all';\n\n/**\n * Skill categories for organizing the catalog.\n */\nexport type SkillCategory =\n | 'setup'\n | 'deployment'\n | 'development'\n | 'config'\n | 'auth'\n | 'plugins'\n | 'adapters'\n | 'testing';\n\n/**\n * Bundle membership for curated scaffold presets.\n */\nexport type SkillBundle = 'recommended' | 'minimal' | 'full';\n\n/**\n * Install destination types for future provider wiring.\n */\nexport type SkillDestination = 'project-local' | '.claude/skills' | 'codex' | 'gemini';\n\n/**\n * Merge strategy when installing a skill that already exists at the destination.\n */\nexport type SkillMergeStrategy = 'overwrite' | 'skip-existing';\n\n/**\n * Install configuration for a catalog skill.\n */\nexport interface SkillInstallConfig {\n /** Where this skill can be installed */\n destinations: SkillDestination[];\n /** How to handle existing skills at the destination */\n mergeStrategy: SkillMergeStrategy;\n /** Other skills this depends on (by name) */\n dependencies?: string[];\n}\n\n/**\n * A single entry in the skills catalog manifest.\n *\n * This is the core contract connecting SKILL.md files to scaffolding,\n * future installation, and provider-specific destinations.\n */\nexport interface SkillCatalogEntry {\n /** Unique skill name — matches SKILL.md frontmatter `name` */\n name: string;\n /** Skill category for organization */\n category: SkillCategory;\n /** Short description */\n description: string;\n /** Path to the skill directory, relative to catalog/ */\n path: string;\n /** Deployment targets this skill applies to */\n targets: SkillTarget[];\n /** Whether the skill has scripts/, references/, or assets/ directories */\n hasResources: boolean;\n /** Target-specific storage defaults (e.g., { node: 'redis-docker', vercel: 'vercel-kv' }) */\n storageDefault?: Record<string, string>;\n /** Tags for secondary filtering and search */\n tags: string[];\n /** Bundle membership for scaffold presets */\n bundle?: SkillBundle[];\n /** Install configuration for future distribution */\n install: SkillInstallConfig;\n}\n\n/**\n * The skills catalog manifest — single source of truth for scaffold and install tooling.\n */\nexport interface SkillManifest {\n /** Manifest schema version */\n version: 1;\n /** All catalog skills */\n skills: SkillCatalogEntry[];\n}\n\n/** Valid deployment targets for manifest validation */\nexport const VALID_TARGETS: readonly SkillTarget[] = ['node', 'vercel', 'lambda', 'cloudflare', 'all'];\n\n/** Valid categories for manifest validation */\nexport const VALID_CATEGORIES: readonly SkillCategory[] = [\n 'setup',\n 'deployment',\n 'development',\n 'config',\n 'auth',\n 'plugins',\n 'adapters',\n 'testing',\n];\n\n/** Valid bundles for manifest validation */\nexport const VALID_BUNDLES: readonly SkillBundle[] = ['recommended', 'minimal', 'full'];\n"]}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA8EH,uDAAuD;AAC1C,QAAA,aAAa,GAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAEvG,+CAA+C;AAClC,QAAA,gBAAgB,GAA6B;IACxD,OAAO;IACP,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,SAAS;IACT,QAAQ;CACT,CAAC;AAEF,4CAA4C;AAC/B,QAAA,aAAa,GAA2B,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Skills catalog manifest types.\n *\n * Defines the contract between the catalog, scaffold tooling, and future installer.\n *\n * @module skills/manifest\n */\n\n/**\n * Supported deployment targets for skill filtering.\n */\nexport type SkillTarget = 'node' | 'vercel' | 'lambda' | 'cloudflare' | 'all';\n\n/**\n * Skill categories for organizing the catalog.\n */\nexport type SkillCategory = 'setup' | 'deployment' | 'development' | 'config' | 'testing' | 'guides';\n\n/**\n * Bundle membership for curated scaffold presets.\n */\nexport type SkillBundle = 'recommended' | 'minimal' | 'full';\n\n/**\n * Install destination types for future provider wiring.\n */\nexport type SkillDestination = 'project-local' | '.claude/skills' | 'codex' | 'gemini';\n\n/**\n * Merge strategy when installing a skill that already exists at the destination.\n */\nexport type SkillMergeStrategy = 'overwrite' | 'skip-existing';\n\n/**\n * Install configuration for a catalog skill.\n */\nexport interface SkillInstallConfig {\n /** Where this skill can be installed */\n destinations: SkillDestination[];\n /** How to handle existing skills at the destination */\n mergeStrategy: SkillMergeStrategy;\n /** Other skills this depends on (by name) */\n dependencies?: string[];\n}\n\n/**\n * A single entry in the skills catalog manifest.\n *\n * This is the core contract connecting SKILL.md files to scaffolding,\n * future installation, and provider-specific destinations.\n */\nexport interface SkillCatalogEntry {\n /** Unique skill name — matches SKILL.md frontmatter `name` */\n name: string;\n /** Skill category for organization */\n category: SkillCategory;\n /** Short description */\n description: string;\n /** Path to the skill directory, relative to catalog/ */\n path: string;\n /** Deployment targets this skill applies to */\n targets: SkillTarget[];\n /** Whether the skill has scripts/, references/, or assets/ directories */\n hasResources: boolean;\n /** Target-specific storage defaults (e.g., { node: 'redis-docker', vercel: 'vercel-kv' }) */\n storageDefault?: Record<string, string>;\n /** Tags for secondary filtering and search */\n tags: string[];\n /** Bundle membership for scaffold presets */\n bundle?: SkillBundle[];\n /** Install configuration for future distribution (optional — not yet used by CLI) */\n install?: SkillInstallConfig;\n}\n\n/**\n * The skills catalog manifest — single source of truth for scaffold and install tooling.\n */\nexport interface SkillManifest {\n /** Manifest schema version */\n version: 1;\n /** All catalog skills */\n skills: SkillCatalogEntry[];\n}\n\n/** Valid deployment targets for manifest validation */\nexport const VALID_TARGETS: readonly SkillTarget[] = ['node', 'vercel', 'lambda', 'cloudflare', 'all'];\n\n/** Valid categories for manifest validation */\nexport const VALID_CATEGORIES: readonly SkillCategory[] = [\n 'setup',\n 'deployment',\n 'development',\n 'config',\n 'testing',\n 'guides',\n];\n\n/** Valid bundles for manifest validation */\nexport const VALID_BUNDLES: readonly SkillBundle[] = ['recommended', 'minimal', 'full'];\n"]}