@frontmcp/skills 0.0.1 → 1.0.0-beta.10
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.
- package/README.md +2 -2
- package/catalog/TEMPLATE.md +58 -13
- package/catalog/frontmcp-config/SKILL.md +143 -0
- package/catalog/frontmcp-config/references/configure-auth.md +238 -0
- package/catalog/frontmcp-config/references/configure-elicitation.md +178 -0
- package/catalog/frontmcp-config/references/configure-http.md +205 -0
- package/catalog/frontmcp-config/references/configure-session.md +205 -0
- package/catalog/frontmcp-config/references/configure-throttle.md +229 -0
- package/catalog/frontmcp-config/references/configure-transport.md +195 -0
- package/catalog/frontmcp-config/references/setup-redis.md +4 -0
- package/catalog/frontmcp-config/references/setup-sqlite.md +4 -0
- package/catalog/frontmcp-deployment/SKILL.md +127 -0
- package/catalog/frontmcp-deployment/references/build-for-browser.md +138 -0
- package/catalog/frontmcp-deployment/references/build-for-cli.md +138 -0
- package/catalog/{deployment/build-for-sdk/SKILL.md → frontmcp-deployment/references/build-for-sdk.md} +65 -24
- package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +213 -0
- package/catalog/{deployment/deploy-to-lambda/SKILL.md → frontmcp-deployment/references/deploy-to-lambda.md} +76 -63
- package/catalog/{deployment/deploy-to-node/references/Dockerfile.example → frontmcp-deployment/references/deploy-to-node-dockerfile.md} +13 -4
- package/catalog/{deployment/deploy-to-node/SKILL.md → frontmcp-deployment/references/deploy-to-node.md} +68 -40
- package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +60 -0
- package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +224 -0
- package/catalog/frontmcp-development/SKILL.md +121 -0
- package/catalog/frontmcp-development/references/create-adapter.md +165 -0
- package/catalog/{development/create-agent/references/llm-config.md → frontmcp-development/references/create-agent-llm-config.md} +5 -5
- package/catalog/{development/create-agent/SKILL.md → frontmcp-development/references/create-agent.md} +82 -44
- package/catalog/{development/create-job/SKILL.md → frontmcp-development/references/create-job.md} +61 -19
- package/catalog/{plugins/create-plugin-hooks/SKILL.md → frontmcp-development/references/create-plugin-hooks.md} +63 -11
- package/catalog/{plugins/create-plugin/SKILL.md → frontmcp-development/references/create-plugin.md} +65 -60
- package/catalog/{development/create-prompt/SKILL.md → frontmcp-development/references/create-prompt.md} +62 -26
- package/catalog/{development/create-provider/SKILL.md → frontmcp-development/references/create-provider.md} +62 -27
- package/catalog/{development/create-resource/SKILL.md → frontmcp-development/references/create-resource.md} +62 -30
- package/catalog/{development/create-skill-with-tools/SKILL.md → frontmcp-development/references/create-skill-with-tools.md} +69 -24
- package/catalog/{development/create-skill/SKILL.md → frontmcp-development/references/create-skill.md} +96 -22
- package/catalog/{development/create-tool/SKILL.md → frontmcp-development/references/create-tool.md} +62 -26
- package/catalog/{development/create-workflow/SKILL.md → frontmcp-development/references/create-workflow.md} +60 -18
- package/catalog/{development/decorators-guide/SKILL.md → frontmcp-development/references/decorators-guide.md} +123 -34
- package/catalog/frontmcp-development/references/official-adapters.md +194 -0
- package/catalog/{plugins/official-plugins/SKILL.md → frontmcp-development/references/official-plugins.md} +96 -31
- package/catalog/frontmcp-guides/SKILL.md +420 -0
- package/catalog/frontmcp-guides/references/example-knowledge-base.md +636 -0
- package/catalog/frontmcp-guides/references/example-task-manager.md +512 -0
- package/catalog/frontmcp-guides/references/example-weather-api.md +292 -0
- package/catalog/frontmcp-production-readiness/SKILL.md +253 -0
- package/catalog/frontmcp-setup/SKILL.md +130 -0
- package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +265 -0
- package/catalog/{setup/multi-app-composition/SKILL.md → frontmcp-setup/references/multi-app-composition.md} +65 -23
- package/catalog/{setup/nx-workflow/SKILL.md → frontmcp-setup/references/nx-workflow.md} +78 -21
- package/catalog/frontmcp-setup/references/project-structure-nx.md +246 -0
- package/catalog/frontmcp-setup/references/project-structure-standalone.md +212 -0
- package/catalog/{setup/setup-project/SKILL.md → frontmcp-setup/references/setup-project.md} +62 -62
- package/catalog/{setup/setup-redis/SKILL.md → frontmcp-setup/references/setup-redis.md} +59 -86
- package/catalog/{setup/setup-sqlite/SKILL.md → frontmcp-setup/references/setup-sqlite.md} +64 -76
- package/catalog/frontmcp-testing/SKILL.md +127 -0
- package/catalog/{testing/setup-testing/SKILL.md → frontmcp-testing/references/setup-testing.md} +78 -67
- package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-tool-unit.md +1 -0
- package/catalog/skills-manifest.json +39 -378
- package/package.json +2 -2
- package/src/loader.js +0 -1
- package/src/loader.js.map +1 -1
- package/src/manifest.d.ts +3 -3
- package/src/manifest.js +2 -3
- package/src/manifest.js.map +1 -1
- package/catalog/adapters/create-adapter/SKILL.md +0 -127
- package/catalog/adapters/official-adapters/SKILL.md +0 -136
- package/catalog/auth/configure-auth/SKILL.md +0 -250
- package/catalog/auth/configure-session/SKILL.md +0 -201
- package/catalog/config/configure-elicitation/SKILL.md +0 -136
- package/catalog/config/configure-http/SKILL.md +0 -167
- package/catalog/config/configure-throttle/SKILL.md +0 -189
- package/catalog/config/configure-transport/SKILL.md +0 -151
- package/catalog/deployment/build-for-browser/SKILL.md +0 -95
- package/catalog/deployment/build-for-cli/SKILL.md +0 -100
- package/catalog/deployment/deploy-to-cloudflare/SKILL.md +0 -192
- package/catalog/deployment/deploy-to-vercel/SKILL.md +0 -196
- package/catalog/deployment/deploy-to-vercel/references/vercel.json.example +0 -60
- package/catalog/setup/frontmcp-skills-usage/SKILL.md +0 -200
- package/catalog/setup/project-structure-nx/SKILL.md +0 -186
- package/catalog/setup/project-structure-standalone/SKILL.md +0 -153
- /package/catalog/{auth/configure-auth/references/auth-modes.md → frontmcp-config/references/configure-auth-modes.md} +0 -0
- /package/catalog/{config/configure-throttle/references/guard-config.md → frontmcp-config/references/configure-throttle-guard-config.md} +0 -0
- /package/catalog/{config/configure-transport/references/protocol-presets.md → frontmcp-config/references/configure-transport-protocol-presets.md} +0 -0
- /package/catalog/{development/create-tool/references/tool-annotations.md → frontmcp-development/references/create-tool-annotations.md} +0 -0
- /package/catalog/{development/create-tool/references/output-schema-types.md → frontmcp-development/references/create-tool-output-schema-types.md} +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-auth.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-browser-build.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-cli-binary.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-direct-client.md +0 -0
- /package/catalog/{testing/setup-testing → frontmcp-testing}/references/test-e2e-handler.md +0 -0
|
@@ -2,413 +2,74 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"skills": [
|
|
4
4
|
{
|
|
5
|
-
"name": "frontmcp-
|
|
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",
|
|
5
|
+
"name": "frontmcp-config",
|
|
96
6
|
"category": "config",
|
|
97
|
-
"description": "
|
|
98
|
-
"path": "config
|
|
7
|
+
"description": "Use when you want to configure auth, set up CORS, add rate limiting, throttle requests, manage sessions, choose transport, set HTTP options, add authentication, configure JWT, or set up OAuth. The skill for server CONFIGURATION.",
|
|
8
|
+
"path": "frontmcp-config",
|
|
99
9
|
"targets": ["all"],
|
|
100
10
|
"hasResources": true,
|
|
101
|
-
"tags": ["
|
|
102
|
-
"bundle": ["recommended", "full"]
|
|
103
|
-
"install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
|
|
104
|
-
},
|
|
105
|
-
{
|
|
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" }
|
|
11
|
+
"tags": ["router", "config", "transport", "http", "auth", "session", "redis", "sqlite", "throttle", "guide"],
|
|
12
|
+
"bundle": ["recommended", "full"]
|
|
126
13
|
},
|
|
127
14
|
{
|
|
128
|
-
"name": "
|
|
129
|
-
"category": "
|
|
130
|
-
"description": "
|
|
131
|
-
"path": "
|
|
15
|
+
"name": "frontmcp-deployment",
|
|
16
|
+
"category": "deployment",
|
|
17
|
+
"description": "Use when you need to deploy, build for production, containerize, or ship a FrontMCP server. Covers Vercel, Lambda, Cloudflare, Docker, edge runtime, serverless, bundle for CLI, and Node targets. Triggers: deploy, build for production, dockerize, serverless, go live.",
|
|
18
|
+
"path": "frontmcp-deployment",
|
|
132
19
|
"targets": ["all"],
|
|
133
20
|
"hasResources": true,
|
|
134
|
-
"tags": ["
|
|
135
|
-
"bundle": ["recommended", "full"]
|
|
136
|
-
"install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
|
|
21
|
+
"tags": ["router", "deployment", "node", "vercel", "lambda", "cloudflare", "cli", "browser", "sdk", "guide"],
|
|
22
|
+
"bundle": ["recommended", "minimal", "full"]
|
|
137
23
|
},
|
|
138
24
|
{
|
|
139
|
-
"name": "
|
|
25
|
+
"name": "frontmcp-development",
|
|
140
26
|
"category": "development",
|
|
141
|
-
"description": "
|
|
142
|
-
"path": "development
|
|
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",
|
|
27
|
+
"description": "Use when you want to create a tool, add a resource, build a prompt, write a provider, implement an adapter, add OpenAPI integration, create a plugin, agent, job, or workflow. The skill for BUILDING any FrontMCP component.",
|
|
28
|
+
"path": "frontmcp-development",
|
|
154
29
|
"targets": ["all"],
|
|
155
30
|
"hasResources": true,
|
|
156
|
-
"tags": ["tools", "
|
|
157
|
-
"bundle": ["recommended", "minimal", "full"]
|
|
158
|
-
"install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
|
|
31
|
+
"tags": ["router", "development", "tools", "resources", "prompts", "agents", "skills", "guide"],
|
|
32
|
+
"bundle": ["recommended", "minimal", "full"]
|
|
159
33
|
},
|
|
160
34
|
{
|
|
161
|
-
"name": "
|
|
162
|
-
"category": "
|
|
163
|
-
"description": "
|
|
164
|
-
"path": "
|
|
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" }
|
|
181
|
-
},
|
|
182
|
-
{
|
|
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",
|
|
35
|
+
"name": "frontmcp-guides",
|
|
36
|
+
"category": "guides",
|
|
37
|
+
"description": "Tutorials, walkthroughs, and end-to-end examples for building FrontMCP servers. Use when you want a getting started guide, how to build a complete project, learn best practices, or follow a step-by-step example. Triggers: tutorial, walkthrough, how to build, getting started, learn FrontMCP.",
|
|
38
|
+
"path": "frontmcp-guides",
|
|
187
39
|
"targets": ["all"],
|
|
188
40
|
"hasResources": true,
|
|
189
|
-
"tags": ["
|
|
190
|
-
"bundle": ["recommended", "full"]
|
|
191
|
-
"install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
|
|
41
|
+
"tags": ["guides", "examples", "best-practices", "architecture", "walkthrough", "end-to-end"],
|
|
42
|
+
"bundle": ["recommended", "full"]
|
|
192
43
|
},
|
|
193
44
|
{
|
|
194
|
-
"name": "
|
|
195
|
-
"category": "
|
|
196
|
-
"description": "
|
|
197
|
-
"path": "
|
|
45
|
+
"name": "frontmcp-production-readiness",
|
|
46
|
+
"category": "production",
|
|
47
|
+
"description": "Pre-production audit and checklist for FrontMCP servers. Use before go-live to verify security hardening, performance checks, observability, monitoring, and health checks. Triggers: production ready, security audit, performance check, production checklist, hardening, go live.",
|
|
48
|
+
"path": "frontmcp-production-readiness",
|
|
198
49
|
"targets": ["all"],
|
|
199
50
|
"hasResources": false,
|
|
200
|
-
"tags": ["
|
|
201
|
-
"bundle": ["recommended", "full"]
|
|
202
|
-
"install": { "destinations": ["project-local", ".claude/skills"], "mergeStrategy": "skip-existing" }
|
|
51
|
+
"tags": ["production", "security", "performance", "reliability", "observability", "audit", "best-practices"],
|
|
52
|
+
"bundle": ["recommended", "full"]
|
|
203
53
|
},
|
|
204
54
|
{
|
|
205
|
-
"name": "
|
|
206
|
-
"category": "
|
|
207
|
-
"description": "
|
|
208
|
-
"path": "
|
|
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" }
|
|
214
|
-
},
|
|
215
|
-
{
|
|
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",
|
|
242
|
-
"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
|
-
"hasResources": true,
|
|
266
|
-
"tags": ["deployment", "vercel", "serverless", "edge"],
|
|
267
|
-
"bundle": ["recommended", "full"],
|
|
268
|
-
"install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
|
|
269
|
-
},
|
|
270
|
-
{
|
|
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",
|
|
55
|
+
"name": "frontmcp-setup",
|
|
56
|
+
"category": "setup",
|
|
57
|
+
"description": "Domain router for project setup, scaffolding, and organization. Use this skill whenever someone asks to create a new FrontMCP project, set up an Nx monorepo, configure Redis or SQLite storage, organize project structure, compose multiple apps into one server, or manage the skills system. Also triggers for questions like 'how do I start', 'project layout', 'folder structure', 'add redis', 'set up database', or 'create a new app'.",
|
|
58
|
+
"path": "frontmcp-setup",
|
|
330
59
|
"targets": ["all"],
|
|
331
60
|
"hasResources": true,
|
|
332
|
-
"tags": ["
|
|
333
|
-
"bundle": ["recommended", "full"]
|
|
334
|
-
"install": { "destinations": ["project-local"], "mergeStrategy": "overwrite" }
|
|
335
|
-
},
|
|
336
|
-
{
|
|
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" }
|
|
61
|
+
"tags": ["router", "setup", "scaffold", "project", "nx", "redis", "sqlite", "structure", "guide"],
|
|
62
|
+
"bundle": ["recommended", "minimal", "full"]
|
|
401
63
|
},
|
|
402
64
|
{
|
|
403
|
-
"name": "
|
|
65
|
+
"name": "frontmcp-testing",
|
|
404
66
|
"category": "testing",
|
|
405
|
-
"description": "
|
|
406
|
-
"path": "
|
|
67
|
+
"description": "Use when you want to write tests, run tests, add e2e tests, improve test coverage, test a tool, test a resource, or learn how to test any FrontMCP component. The skill for ALL testing needs.",
|
|
68
|
+
"path": "frontmcp-testing",
|
|
407
69
|
"targets": ["all"],
|
|
408
70
|
"hasResources": true,
|
|
409
|
-
"tags": ["testing", "jest", "e2e", "quality"],
|
|
410
|
-
"bundle": ["recommended", "full"]
|
|
411
|
-
"install": { "destinations": ["project-local"], "mergeStrategy": "skip-existing" }
|
|
71
|
+
"tags": ["router", "testing", "jest", "e2e", "coverage", "quality", "guide"],
|
|
72
|
+
"bundle": ["recommended", "full"]
|
|
412
73
|
}
|
|
413
74
|
]
|
|
414
75
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frontmcp/skills",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "1.0.0-beta.10",
|
|
4
4
|
"description": "Curated skills catalog for FrontMCP projects",
|
|
5
5
|
"author": "AgentFront <info@agentfront.dev>",
|
|
6
6
|
"homepage": "https://docs.agentfront.dev",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"main": "./src/index.js",
|
|
26
26
|
"types": "./index.d.js",
|
|
27
27
|
"engines": {
|
|
28
|
-
"node": ">=
|
|
28
|
+
"node": ">=24.0.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"tslib": "^2.3.0"
|
package/src/loader.js
CHANGED
|
@@ -25,7 +25,6 @@ const path = tslib_1.__importStar(require("node:path"));
|
|
|
25
25
|
function loadManifest(catalogDir) {
|
|
26
26
|
const dir = catalogDir ?? path.resolve(__dirname, '..', 'catalog');
|
|
27
27
|
const manifestPath = path.join(dir, 'skills-manifest.json');
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
29
28
|
return require(manifestPath);
|
|
30
29
|
}
|
|
31
30
|
/**
|
package/src/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAWH,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/loader.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAWH,oCAIC;AAMD,8CAIC;AAKD,kDAEC;AAKD,8CAIC;AAMD,4DAEC;AAMD,8CAEC;AASD,4CAGC;;AAnED,wDAAkC;AAGlC;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,UAAmB;IAC9C,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC,YAAY,CAAkB,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAA2B,EAAE,MAAc;IAC3E,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAA8C,CAAC,CACvG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAA2B,EAAE,QAAgB;IAC/E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAA2B,EAAE,MAAc;IAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAiF,CAAC,CACtG,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,MAA2B;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,MAA2B;IAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,KAAwB,EAAE,UAAmB;IAC5E,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC","sourcesContent":["/**\n * Skills catalog loader and filtering helpers.\n *\n * Provides functions to query the catalog manifest by target, category, and bundle.\n *\n * @module skills/loader\n */\n\nimport * as path from 'node:path';\nimport type { SkillCatalogEntry, SkillManifest } from './manifest';\n\n/**\n * Load the skills manifest from the catalog directory.\n *\n * @param catalogDir - Absolute path to the catalog directory. Defaults to the bundled catalog.\n * @returns The parsed skills manifest\n */\nexport function loadManifest(catalogDir?: string): SkillManifest {\n const dir = catalogDir ?? path.resolve(__dirname, '..', 'catalog');\n const manifestPath = path.join(dir, 'skills-manifest.json');\n return require(manifestPath) as SkillManifest;\n}\n\n/**\n * Filter skills by deployment target.\n * Returns skills that include the given target or 'all'.\n */\nexport function getSkillsByTarget(skills: SkillCatalogEntry[], target: string): SkillCatalogEntry[] {\n return skills.filter(\n (s) => s.targets.includes('all') || s.targets.includes(target as SkillCatalogEntry['targets'][number]),\n );\n}\n\n/**\n * Filter skills by category.\n */\nexport function getSkillsByCategory(skills: SkillCatalogEntry[], category: string): SkillCatalogEntry[] {\n return skills.filter((s) => s.category === category);\n}\n\n/**\n * Filter skills by bundle membership.\n */\nexport function getSkillsByBundle(skills: SkillCatalogEntry[], bundle: string): SkillCatalogEntry[] {\n return skills.filter((s) =>\n s.bundle?.includes(bundle as SkillCatalogEntry['bundle'] extends (infer U)[] | undefined ? U : never),\n );\n}\n\n/**\n * Get only instruction-only skills (no scripts/, references/, or assets/ directories).\n * These are safe to use with `instructions: { file: ... }` wrappers.\n */\nexport function getInstructionOnlySkills(skills: SkillCatalogEntry[]): SkillCatalogEntry[] {\n return skills.filter((s) => !s.hasResources);\n}\n\n/**\n * Get only resource-carrying skills (have scripts/, references/, or assets/).\n * These need full directory loading via `skillDir()`.\n */\nexport function getResourceSkills(skills: SkillCatalogEntry[]): SkillCatalogEntry[] {\n return skills.filter((s) => s.hasResources);\n}\n\n/**\n * Resolve the absolute path to a skill directory.\n *\n * @param entry - The catalog entry\n * @param catalogDir - Absolute path to the catalog directory\n * @returns Absolute path to the skill directory\n */\nexport function resolveSkillPath(entry: SkillCatalogEntry, catalogDir?: string): string {\n const dir = catalogDir ?? path.resolve(__dirname, '..', 'catalog');\n return path.resolve(dir, entry.path);\n}\n"]}
|
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' | '
|
|
15
|
+
export type SkillCategory = 'setup' | 'deployment' | 'development' | 'config' | 'testing' | 'guides' | 'production';
|
|
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
|
|
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,9 @@ exports.VALID_CATEGORIES = [
|
|
|
16
16
|
'deployment',
|
|
17
17
|
'development',
|
|
18
18
|
'config',
|
|
19
|
-
'auth',
|
|
20
|
-
'plugins',
|
|
21
|
-
'adapters',
|
|
22
19
|
'testing',
|
|
20
|
+
'guides',
|
|
21
|
+
'production',
|
|
23
22
|
];
|
|
24
23
|
/** Valid bundles for manifest validation */
|
|
25
24
|
exports.VALID_BUNDLES = ['recommended', 'minimal', 'full'];
|
package/src/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
|
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;IACR,YAAY;CACb,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' | 'production';\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 'production',\n];\n\n/** Valid bundles for manifest validation */\nexport const VALID_BUNDLES: readonly SkillBundle[] = ['recommended', 'minimal', 'full'];\n"]}
|