@frontmcp/skills 1.0.0-beta.9 → 1.0.0

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 (284) hide show
  1. package/README.md +2 -2
  2. package/catalog/TEMPLATE.md +69 -0
  3. package/catalog/frontmcp-config/SKILL.md +38 -22
  4. package/catalog/frontmcp-config/examples/configure-auth/multi-app-auth.md +87 -0
  5. package/catalog/frontmcp-config/examples/configure-auth/public-mode-setup.md +63 -0
  6. package/catalog/frontmcp-config/examples/configure-auth/remote-oauth-with-vault.md +76 -0
  7. package/catalog/frontmcp-config/examples/configure-auth-modes/local-self-signed-tokens.md +77 -0
  8. package/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md +73 -0
  9. package/catalog/frontmcp-config/examples/configure-auth-modes/transparent-jwt-validation.md +64 -0
  10. package/catalog/frontmcp-config/examples/configure-elicitation/basic-confirmation-gate.md +83 -0
  11. package/catalog/frontmcp-config/examples/configure-elicitation/distributed-elicitation-redis.md +87 -0
  12. package/catalog/frontmcp-config/examples/configure-http/cors-restricted-origins.md +52 -0
  13. package/catalog/frontmcp-config/examples/configure-http/entry-path-reverse-proxy.md +72 -0
  14. package/catalog/frontmcp-config/examples/configure-http/unix-socket-local.md +64 -0
  15. package/catalog/frontmcp-config/examples/configure-session/multi-server-key-prefix.md +68 -0
  16. package/catalog/frontmcp-config/examples/configure-session/redis-session-store.md +52 -0
  17. package/catalog/frontmcp-config/examples/configure-session/vercel-kv-session.md +52 -0
  18. package/catalog/frontmcp-config/examples/configure-throttle/distributed-redis-throttle.md +94 -0
  19. package/catalog/frontmcp-config/examples/configure-throttle/per-tool-rate-limit.md +92 -0
  20. package/catalog/frontmcp-config/examples/configure-throttle/server-level-rate-limit.md +83 -0
  21. package/catalog/frontmcp-config/examples/configure-throttle-guard-config/full-guard-config.md +99 -0
  22. package/catalog/frontmcp-config/examples/configure-throttle-guard-config/minimal-guard-config.md +55 -0
  23. package/catalog/frontmcp-config/examples/configure-transport/custom-protocol-flags.md +74 -0
  24. package/catalog/frontmcp-config/examples/configure-transport/distributed-sessions-redis.md +86 -0
  25. package/catalog/frontmcp-config/examples/configure-transport/stateless-serverless.md +69 -0
  26. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/legacy-preset-nodejs.md +65 -0
  27. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/stateless-api-serverless.md +69 -0
  28. package/catalog/frontmcp-config/references/configure-auth-modes.md +15 -0
  29. package/catalog/frontmcp-config/references/configure-auth.md +15 -0
  30. package/catalog/frontmcp-config/references/configure-elicitation.md +14 -0
  31. package/catalog/frontmcp-config/references/configure-http.md +15 -0
  32. package/catalog/frontmcp-config/references/configure-session.md +15 -0
  33. package/catalog/frontmcp-config/references/configure-throttle-guard-config.md +14 -0
  34. package/catalog/frontmcp-config/references/configure-throttle.md +15 -0
  35. package/catalog/frontmcp-config/references/configure-transport-protocol-presets.md +14 -0
  36. package/catalog/frontmcp-config/references/configure-transport.md +15 -0
  37. package/catalog/frontmcp-config/references/setup-redis.md +10 -0
  38. package/catalog/frontmcp-config/references/setup-sqlite.md +10 -0
  39. package/catalog/frontmcp-deployment/SKILL.md +40 -12
  40. package/catalog/frontmcp-deployment/examples/build-for-browser/browser-build-with-custom-entry.md +43 -0
  41. package/catalog/frontmcp-deployment/examples/build-for-browser/browser-crypto-and-storage.md +85 -0
  42. package/catalog/frontmcp-deployment/examples/build-for-browser/react-provider-setup.md +61 -0
  43. package/catalog/frontmcp-deployment/examples/build-for-cli/cli-binary-build.md +66 -0
  44. package/catalog/frontmcp-deployment/examples/build-for-cli/unix-socket-daemon.md +76 -0
  45. package/catalog/frontmcp-deployment/examples/build-for-sdk/connect-openai.md +78 -0
  46. package/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md +85 -0
  47. package/catalog/frontmcp-deployment/examples/build-for-sdk/multi-platform-connect.md +104 -0
  48. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md +82 -0
  49. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-custom-domain.md +97 -0
  50. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-with-kv-storage.md +92 -0
  51. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/cdk-deployment.md +92 -0
  52. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/lambda-handler-with-cors.md +113 -0
  53. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/sam-template-basic.md +100 -0
  54. package/catalog/frontmcp-deployment/examples/deploy-to-node/docker-compose-with-redis.md +101 -0
  55. package/catalog/frontmcp-deployment/examples/deploy-to-node/pm2-with-nginx.md +79 -0
  56. package/catalog/frontmcp-deployment/examples/deploy-to-node/resource-limits.md +92 -0
  57. package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/basic-multistage-dockerfile.md +63 -0
  58. package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/secure-nonroot-dockerfile.md +89 -0
  59. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-mcp-endpoint-test.md +69 -0
  60. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-kv.md +82 -0
  61. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-skills-cache.md +90 -0
  62. package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/minimal-vercel-config.md +49 -0
  63. package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/vercel-config-with-security-headers.md +92 -0
  64. package/catalog/frontmcp-deployment/references/build-for-browser.md +15 -0
  65. package/catalog/frontmcp-deployment/references/build-for-cli.md +65 -3
  66. package/catalog/frontmcp-deployment/references/build-for-sdk.md +15 -0
  67. package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +15 -0
  68. package/catalog/frontmcp-deployment/references/deploy-to-lambda.md +18 -3
  69. package/catalog/frontmcp-deployment/references/deploy-to-node-dockerfile.md +16 -2
  70. package/catalog/frontmcp-deployment/references/deploy-to-node.md +19 -4
  71. package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +14 -0
  72. package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +15 -0
  73. package/catalog/frontmcp-development/SKILL.md +25 -17
  74. package/catalog/frontmcp-development/examples/create-adapter/basic-api-adapter.md +92 -0
  75. package/catalog/frontmcp-development/examples/create-adapter/namespaced-adapter.md +124 -0
  76. package/catalog/frontmcp-development/examples/create-agent/basic-agent-with-tools.md +121 -0
  77. package/catalog/frontmcp-development/examples/create-agent/custom-multi-pass-agent.md +95 -0
  78. package/catalog/frontmcp-development/examples/create-agent/nested-agents-with-swarm.md +111 -0
  79. package/catalog/frontmcp-development/examples/create-agent-llm-config/anthropic-config.md +81 -0
  80. package/catalog/frontmcp-development/examples/create-agent-llm-config/openai-config.md +80 -0
  81. package/catalog/frontmcp-development/examples/create-job/basic-report-job.md +87 -0
  82. package/catalog/frontmcp-development/examples/create-job/job-with-permissions.md +117 -0
  83. package/catalog/frontmcp-development/examples/create-job/job-with-retry.md +88 -0
  84. package/catalog/frontmcp-development/examples/create-plugin/basic-plugin-with-provider.md +69 -0
  85. package/catalog/frontmcp-development/examples/create-plugin/configurable-dynamic-plugin.md +178 -0
  86. package/catalog/frontmcp-development/examples/create-plugin/plugin-with-context-extension.md +107 -0
  87. package/catalog/frontmcp-development/examples/create-plugin-hooks/basic-logging-plugin.md +69 -0
  88. package/catalog/frontmcp-development/examples/create-plugin-hooks/caching-with-around.md +80 -0
  89. package/catalog/frontmcp-development/examples/create-plugin-hooks/tool-level-hooks-and-stage-replacement.md +100 -0
  90. package/catalog/frontmcp-development/examples/create-prompt/basic-prompt.md +72 -0
  91. package/catalog/frontmcp-development/examples/create-prompt/dynamic-rag-prompt.md +92 -0
  92. package/catalog/frontmcp-development/examples/create-prompt/multi-turn-debug-session.md +86 -0
  93. package/catalog/frontmcp-development/examples/create-provider/basic-database-provider.md +113 -0
  94. package/catalog/frontmcp-development/examples/create-provider/config-and-api-providers.md +107 -0
  95. package/catalog/frontmcp-development/examples/create-resource/basic-static-resource.md +72 -0
  96. package/catalog/frontmcp-development/examples/create-resource/binary-and-multi-content.md +111 -0
  97. package/catalog/frontmcp-development/examples/create-resource/parameterized-template.md +84 -0
  98. package/catalog/frontmcp-development/examples/create-skill/basic-inline-skill.md +96 -0
  99. package/catalog/frontmcp-development/examples/create-skill/directory-based-skill.md +115 -0
  100. package/catalog/frontmcp-development/examples/create-skill/parameterized-skill.md +96 -0
  101. package/catalog/frontmcp-development/examples/create-skill-with-tools/basic-tool-orchestration.md +76 -0
  102. package/catalog/frontmcp-development/examples/create-skill-with-tools/directory-skill-with-tools.md +149 -0
  103. package/catalog/frontmcp-development/examples/create-skill-with-tools/incident-response-skill.md +92 -0
  104. package/catalog/frontmcp-development/examples/create-tool/basic-class-tool.md +62 -0
  105. package/catalog/frontmcp-development/examples/create-tool/tool-with-di-and-errors.md +84 -0
  106. package/catalog/frontmcp-development/examples/create-tool/tool-with-rate-limiting-and-progress.md +93 -0
  107. package/catalog/frontmcp-development/examples/create-tool-annotations/destructive-delete-tool.md +94 -0
  108. package/catalog/frontmcp-development/examples/create-tool-annotations/readonly-query-tool.md +60 -0
  109. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/primitive-and-media-outputs.md +104 -0
  110. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-raw-shape-output.md +63 -0
  111. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-schema-advanced-output.md +103 -0
  112. package/catalog/frontmcp-development/examples/create-workflow/basic-deploy-pipeline.md +91 -0
  113. package/catalog/frontmcp-development/examples/create-workflow/parallel-validation-pipeline.md +90 -0
  114. package/catalog/frontmcp-development/examples/create-workflow/webhook-triggered-workflow.md +136 -0
  115. package/catalog/frontmcp-development/examples/decorators-guide/agent-skill-job-workflow.md +145 -0
  116. package/catalog/frontmcp-development/examples/decorators-guide/basic-server-with-app-and-tools.md +124 -0
  117. package/catalog/frontmcp-development/examples/decorators-guide/multi-app-with-plugins-and-providers.md +149 -0
  118. package/catalog/frontmcp-development/examples/official-adapters/authenticated-adapter-with-polling.md +84 -0
  119. package/catalog/frontmcp-development/examples/official-adapters/basic-openapi-adapter.md +54 -0
  120. package/catalog/frontmcp-development/examples/official-adapters/multi-api-hub-with-inline-spec.md +130 -0
  121. package/catalog/frontmcp-development/examples/official-plugins/cache-and-feature-flags.md +117 -0
  122. package/catalog/frontmcp-development/examples/official-plugins/production-multi-plugin-setup.md +147 -0
  123. package/catalog/frontmcp-development/examples/official-plugins/remember-plugin-session-memory.md +104 -0
  124. package/catalog/frontmcp-development/references/create-adapter.md +14 -0
  125. package/catalog/frontmcp-development/references/create-agent-llm-config.md +14 -0
  126. package/catalog/frontmcp-development/references/create-agent.md +15 -0
  127. package/catalog/frontmcp-development/references/create-job.md +15 -0
  128. package/catalog/frontmcp-development/references/create-plugin-hooks.md +51 -0
  129. package/catalog/frontmcp-development/references/create-plugin.md +186 -11
  130. package/catalog/frontmcp-development/references/create-prompt.md +17 -0
  131. package/catalog/frontmcp-development/references/create-provider.md +14 -0
  132. package/catalog/frontmcp-development/references/create-resource.md +127 -0
  133. package/catalog/frontmcp-development/references/create-skill-with-tools.md +126 -7
  134. package/catalog/frontmcp-development/references/create-skill.md +57 -12
  135. package/catalog/frontmcp-development/references/create-tool-annotations.md +14 -0
  136. package/catalog/frontmcp-development/references/create-tool-output-schema-types.md +15 -0
  137. package/catalog/frontmcp-development/references/create-tool.md +205 -1
  138. package/catalog/frontmcp-development/references/create-workflow.md +15 -0
  139. package/catalog/frontmcp-development/references/decorators-guide.md +155 -78
  140. package/catalog/frontmcp-development/references/official-adapters.md +31 -16
  141. package/catalog/frontmcp-development/references/official-plugins.md +62 -28
  142. package/catalog/frontmcp-extensibility/SKILL.md +103 -0
  143. package/catalog/frontmcp-extensibility/examples/vectoriadb/product-catalog-search.md +175 -0
  144. package/catalog/frontmcp-extensibility/examples/vectoriadb/semantic-search-with-persistence.md +138 -0
  145. package/catalog/frontmcp-extensibility/examples/vectoriadb/tfidf-keyword-search.md +103 -0
  146. package/catalog/frontmcp-extensibility/references/vectoriadb.md +299 -0
  147. package/catalog/frontmcp-guides/SKILL.md +7 -4
  148. package/catalog/frontmcp-guides/examples/example-knowledge-base/agent-and-plugin.md +160 -0
  149. package/catalog/frontmcp-guides/examples/example-knowledge-base/multi-app-composition.md +92 -0
  150. package/catalog/frontmcp-guides/examples/example-knowledge-base/vector-search-and-resources.md +135 -0
  151. package/catalog/frontmcp-guides/examples/example-task-manager/auth-and-crud-tools.md +135 -0
  152. package/catalog/frontmcp-guides/examples/example-task-manager/authenticated-e2e-tests.md +148 -0
  153. package/catalog/frontmcp-guides/examples/example-task-manager/redis-provider-with-di.md +129 -0
  154. package/catalog/frontmcp-guides/examples/example-weather-api/server-and-app-setup.md +75 -0
  155. package/catalog/frontmcp-guides/examples/example-weather-api/unit-and-e2e-tests.md +142 -0
  156. package/catalog/frontmcp-guides/examples/example-weather-api/weather-tool-with-schemas.md +74 -0
  157. package/catalog/frontmcp-guides/references/example-knowledge-base.md +15 -0
  158. package/catalog/frontmcp-guides/references/example-task-manager.md +30 -21
  159. package/catalog/frontmcp-guides/references/example-weather-api.md +18 -6
  160. package/catalog/frontmcp-observability/SKILL.md +144 -0
  161. package/catalog/frontmcp-observability/examples/structured-logging/stdout-logging.md +71 -0
  162. package/catalog/frontmcp-observability/examples/structured-logging/winston-integration.md +70 -0
  163. package/catalog/frontmcp-observability/examples/telemetry-api/agent-nested-tracing.md +86 -0
  164. package/catalog/frontmcp-observability/examples/telemetry-api/plugin-telemetry.md +93 -0
  165. package/catalog/frontmcp-observability/examples/telemetry-api/tool-custom-spans.md +72 -0
  166. package/catalog/frontmcp-observability/examples/testing-observability/test-custom-spans.md +90 -0
  167. package/catalog/frontmcp-observability/examples/testing-observability/test-log-correlation.md +104 -0
  168. package/catalog/frontmcp-observability/examples/tracing-setup/basic-tracing.md +82 -0
  169. package/catalog/frontmcp-observability/examples/tracing-setup/production-tracing.md +73 -0
  170. package/catalog/frontmcp-observability/examples/vendor-integrations/coralogix-setup.md +74 -0
  171. package/catalog/frontmcp-observability/references/structured-logging.md +114 -0
  172. package/catalog/frontmcp-observability/references/telemetry-api.md +155 -0
  173. package/catalog/frontmcp-observability/references/testing-observability.md +169 -0
  174. package/catalog/frontmcp-observability/references/tracing-setup.md +146 -0
  175. package/catalog/frontmcp-observability/references/vendor-integrations.md +164 -0
  176. package/catalog/frontmcp-production-readiness/SKILL.md +99 -0
  177. package/catalog/frontmcp-production-readiness/examples/common-checklist/caching-and-performance.md +102 -0
  178. package/catalog/frontmcp-production-readiness/examples/common-checklist/observability-setup.md +104 -0
  179. package/catalog/frontmcp-production-readiness/examples/common-checklist/security-hardening.md +95 -0
  180. package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/basic-health-setup.md +81 -0
  181. package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/custom-probes.md +136 -0
  182. package/catalog/frontmcp-production-readiness/examples/production-browser/browser-bundle-config.md +93 -0
  183. package/catalog/frontmcp-production-readiness/examples/production-browser/cross-platform-crypto.md +116 -0
  184. package/catalog/frontmcp-production-readiness/examples/production-browser/security-and-performance.md +128 -0
  185. package/catalog/frontmcp-production-readiness/examples/production-cli-binary/binary-build-config.md +109 -0
  186. package/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md +132 -0
  187. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/daemon-socket-config.md +82 -0
  188. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/graceful-shutdown-cleanup.md +107 -0
  189. package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/security-and-permissions.md +119 -0
  190. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/durable-objects-state.md +124 -0
  191. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/workers-runtime-constraints.md +103 -0
  192. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/wrangler-config.md +89 -0
  193. package/catalog/frontmcp-production-readiness/examples/production-lambda/cold-start-connection-reuse.md +122 -0
  194. package/catalog/frontmcp-production-readiness/examples/production-lambda/sam-template.md +107 -0
  195. package/catalog/frontmcp-production-readiness/examples/production-lambda/scaling-and-monitoring.md +138 -0
  196. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/basic-sdk-lifecycle.md +85 -0
  197. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/multi-instance-cleanup.md +110 -0
  198. package/catalog/frontmcp-production-readiness/examples/production-node-sdk/package-json-config.md +107 -0
  199. package/catalog/frontmcp-production-readiness/examples/production-node-server/docker-multi-stage.md +103 -0
  200. package/catalog/frontmcp-production-readiness/examples/production-node-server/graceful-shutdown.md +87 -0
  201. package/catalog/frontmcp-production-readiness/examples/production-node-server/redis-session-scaling.md +97 -0
  202. package/catalog/frontmcp-production-readiness/examples/production-vercel/cold-start-optimization.md +104 -0
  203. package/catalog/frontmcp-production-readiness/examples/production-vercel/stateless-serverless-design.md +91 -0
  204. package/catalog/frontmcp-production-readiness/examples/production-vercel/vercel-edge-config.md +78 -0
  205. package/catalog/frontmcp-production-readiness/references/common-checklist.md +175 -0
  206. package/catalog/frontmcp-production-readiness/references/health-readiness-endpoints.md +198 -0
  207. package/catalog/frontmcp-production-readiness/references/production-browser.md +56 -0
  208. package/catalog/frontmcp-production-readiness/references/production-cli-binary.md +71 -0
  209. package/catalog/frontmcp-production-readiness/references/production-cli-daemon.md +71 -0
  210. package/catalog/frontmcp-production-readiness/references/production-cloudflare.md +62 -0
  211. package/catalog/frontmcp-production-readiness/references/production-lambda.md +63 -0
  212. package/catalog/frontmcp-production-readiness/references/production-node-sdk.md +76 -0
  213. package/catalog/frontmcp-production-readiness/references/production-node-server.md +71 -0
  214. package/catalog/frontmcp-production-readiness/references/production-vercel.md +62 -0
  215. package/catalog/frontmcp-setup/SKILL.md +19 -14
  216. package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/bundle-presets-scaffolding.md +61 -0
  217. package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/install-and-search-skills.md +83 -0
  218. package/catalog/frontmcp-setup/examples/multi-app-composition/local-apps-with-shared-tools.md +87 -0
  219. package/catalog/frontmcp-setup/examples/multi-app-composition/per-app-auth-and-isolation.md +88 -0
  220. package/catalog/frontmcp-setup/examples/multi-app-composition/remote-and-esm-apps.md +81 -0
  221. package/catalog/frontmcp-setup/examples/nx-workflow/build-test-affected.md +77 -0
  222. package/catalog/frontmcp-setup/examples/nx-workflow/multi-server-deployment.md +93 -0
  223. package/catalog/frontmcp-setup/examples/nx-workflow/scaffold-and-generate.md +62 -0
  224. package/catalog/frontmcp-setup/examples/project-structure-nx/nx-generator-scaffolding.md +73 -0
  225. package/catalog/frontmcp-setup/examples/project-structure-nx/nx-workspace-with-apps.md +85 -0
  226. package/catalog/frontmcp-setup/examples/project-structure-nx/shared-library-usage.md +89 -0
  227. package/catalog/frontmcp-setup/examples/project-structure-standalone/dev-workflow-commands.md +64 -0
  228. package/catalog/frontmcp-setup/examples/project-structure-standalone/feature-folder-organization.md +111 -0
  229. package/catalog/frontmcp-setup/examples/project-structure-standalone/minimal-standalone-layout.md +73 -0
  230. package/catalog/frontmcp-setup/examples/readme-guide/node-server-readme.md +89 -0
  231. package/catalog/frontmcp-setup/examples/readme-guide/vercel-deployment-readme.md +90 -0
  232. package/catalog/frontmcp-setup/examples/setup-project/basic-node-server.md +99 -0
  233. package/catalog/frontmcp-setup/examples/setup-project/cli-scaffold-with-flags.md +77 -0
  234. package/catalog/frontmcp-setup/examples/setup-project/vercel-serverless-server.md +89 -0
  235. package/catalog/frontmcp-setup/examples/setup-redis/docker-redis-local-dev.md +88 -0
  236. package/catalog/frontmcp-setup/examples/setup-redis/hybrid-vercel-kv-with-pubsub.md +78 -0
  237. package/catalog/frontmcp-setup/examples/setup-redis/vercel-kv-serverless.md +78 -0
  238. package/catalog/frontmcp-setup/examples/setup-sqlite/basic-sqlite-setup.md +75 -0
  239. package/catalog/frontmcp-setup/examples/setup-sqlite/encrypted-sqlite-storage.md +55 -0
  240. package/catalog/frontmcp-setup/examples/setup-sqlite/unix-socket-daemon.md +70 -0
  241. package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +33 -9
  242. package/catalog/frontmcp-setup/references/multi-app-composition.md +15 -0
  243. package/catalog/frontmcp-setup/references/nx-workflow.md +15 -0
  244. package/catalog/frontmcp-setup/references/project-structure-nx.md +15 -0
  245. package/catalog/frontmcp-setup/references/project-structure-standalone.md +15 -0
  246. package/catalog/frontmcp-setup/references/readme-guide.md +235 -0
  247. package/catalog/frontmcp-setup/references/setup-project.md +16 -1
  248. package/catalog/frontmcp-setup/references/setup-redis.md +15 -0
  249. package/catalog/frontmcp-setup/references/setup-sqlite.md +15 -0
  250. package/catalog/frontmcp-testing/SKILL.md +41 -27
  251. package/catalog/frontmcp-testing/examples/setup-testing/fixture-based-e2e-test.md +70 -0
  252. package/catalog/frontmcp-testing/examples/setup-testing/jest-config-with-coverage.md +59 -0
  253. package/catalog/frontmcp-testing/examples/setup-testing/unit-test-tool-resource-prompt.md +115 -0
  254. package/catalog/frontmcp-testing/examples/test-auth/oauth-flow-test.md +78 -0
  255. package/catalog/frontmcp-testing/examples/test-auth/role-based-access-test.md +88 -0
  256. package/catalog/frontmcp-testing/examples/test-auth/token-factory-test.md +71 -0
  257. package/catalog/frontmcp-testing/examples/test-browser-build/browser-bundle-validation.md +58 -0
  258. package/catalog/frontmcp-testing/examples/test-browser-build/playwright-browser-test.md +69 -0
  259. package/catalog/frontmcp-testing/examples/test-cli-binary/binary-startup-test.md +77 -0
  260. package/catalog/frontmcp-testing/examples/test-cli-binary/js-bundle-import-test.md +56 -0
  261. package/catalog/frontmcp-testing/examples/test-direct-client/basic-create-test.md +74 -0
  262. package/catalog/frontmcp-testing/examples/test-direct-client/openai-claude-format-test.md +79 -0
  263. package/catalog/frontmcp-testing/examples/test-e2e-handler/basic-e2e-test.md +67 -0
  264. package/catalog/frontmcp-testing/examples/test-e2e-handler/manual-client-with-transport.md +72 -0
  265. package/catalog/frontmcp-testing/examples/test-e2e-handler/tool-call-and-error-e2e.md +73 -0
  266. package/catalog/frontmcp-testing/examples/test-tool-unit/basic-tool-test.md +69 -0
  267. package/catalog/frontmcp-testing/examples/test-tool-unit/schema-validation-test.md +82 -0
  268. package/catalog/frontmcp-testing/examples/test-tool-unit/tool-error-handling-test.md +92 -0
  269. package/catalog/frontmcp-testing/references/setup-testing.md +17 -0
  270. package/catalog/frontmcp-testing/references/test-auth.md +15 -0
  271. package/catalog/frontmcp-testing/references/test-browser-build.md +14 -0
  272. package/catalog/frontmcp-testing/references/test-cli-binary.md +14 -0
  273. package/catalog/frontmcp-testing/references/test-direct-client.md +14 -0
  274. package/catalog/frontmcp-testing/references/test-e2e-handler.md +15 -0
  275. package/catalog/frontmcp-testing/references/test-tool-unit.md +15 -0
  276. package/catalog/skills-manifest.json +2849 -32
  277. package/package.json +2 -2
  278. package/src/index.d.ts +1 -1
  279. package/src/index.js.map +1 -1
  280. package/src/loader.js +0 -1
  281. package/src/loader.js.map +1 -1
  282. package/src/manifest.d.ts +36 -1
  283. package/src/manifest.js +6 -1
  284. package/src/manifest.js.map +1 -1
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: basic-inline-skill
3
+ reference: create-skill
4
+ level: basic
5
+ description: 'A minimal instruction-only skill with inline content and the function builder alternative.'
6
+ tags: [development, skill, inline]
7
+ features:
8
+ - 'Creating a class-based instruction-only skill with `@Skill` and `SkillContext`'
9
+ - 'Using inline string instructions for short, self-contained guides'
10
+ - 'The `skill()` function builder as a lighter alternative when no `build()` override is needed'
11
+ - 'Setting `visibility` to control where the skill is discoverable'
12
+ ---
13
+
14
+ # Basic Inline Instruction Skill
15
+
16
+ A minimal instruction-only skill with inline content and the function builder alternative.
17
+
18
+ ## Code
19
+
20
+ ```typescript
21
+ // src/skills/typescript-conventions.skill.ts
22
+ import { Skill, SkillContext } from '@frontmcp/sdk';
23
+
24
+ @Skill({
25
+ name: 'typescript-conventions',
26
+ description: 'TypeScript coding conventions and patterns for the project',
27
+ instructions: `# TypeScript Conventions
28
+
29
+ ## Naming
30
+ - Use PascalCase for classes and interfaces
31
+ - Use camelCase for variables, functions, and methods
32
+ - Use UPPER_SNAKE_CASE for constants
33
+ - Use kebab-case for file names
34
+
35
+ ## Types
36
+ - Always use explicit return types on public methods
37
+ - Prefer \`unknown\` over \`any\` for generic defaults
38
+ - Use strict mode (\`strict: true\` in tsconfig)
39
+ - Define shared types in a common directory
40
+
41
+ ## Error Handling
42
+ - Use specific error classes, not raw Error
43
+ - Never use non-null assertions (\`!\`) -- throw proper errors
44
+ - Use \`this.fail(err)\` in execution contexts
45
+
46
+ ## Imports
47
+ - Use barrel exports (index.ts) for public APIs
48
+ - No circular dependencies
49
+ - Group imports: external, internal, relative`,
50
+ })
51
+ class TypeScriptConventionsSkill extends SkillContext {}
52
+ ```
53
+
54
+ ```typescript
55
+ // src/skills/code-review-checklist.skill.ts
56
+ import { skill } from '@frontmcp/sdk';
57
+
58
+ // Function-style skill -- no class needed for simple instruction-only skills
59
+ const CodeReviewChecklist = skill({
60
+ name: 'code-review-checklist',
61
+ description: 'Checklist for reviewing pull requests',
62
+ instructions: `# Code Review Checklist
63
+
64
+ ## Correctness
65
+ - Does the code do what it claims?
66
+ - Are edge cases handled?
67
+ - Are error paths covered?
68
+
69
+ ## Style
70
+ - Does it follow project conventions?
71
+ - Are names descriptive and consistent?
72
+ - Is the code self-documenting?
73
+
74
+ ## Testing
75
+ - Are there tests for new functionality?
76
+ - Do tests cover edge cases?
77
+ - Is coverage above 95%?
78
+
79
+ ## Security
80
+ - No secrets in code or config?
81
+ - Input validation present?
82
+ - Proper error handling without leaking internals?`,
83
+ visibility: 'both',
84
+ });
85
+ ```
86
+
87
+ ## What This Demonstrates
88
+
89
+ - Creating a class-based instruction-only skill with `@Skill` and `SkillContext`
90
+ - Using inline string instructions for short, self-contained guides
91
+ - The `skill()` function builder as a lighter alternative when no `build()` override is needed
92
+ - Setting `visibility` to control where the skill is discoverable
93
+
94
+ ## Related
95
+
96
+ - See `create-skill` for file-based instructions, parameters, and directory-based skills
@@ -0,0 +1,115 @@
1
+ ---
2
+ name: directory-based-skill
3
+ reference: create-skill
4
+ level: advanced
5
+ description: 'A skill loaded from a directory structure with SKILL.md frontmatter, plus file-based and URL-based instruction sources.'
6
+ tags: [development, remote, skill, directory, based]
7
+ features:
8
+ - 'Loading a skill from a directory with `skillDir()` including SKILL.md frontmatter and bundled resources'
9
+ - 'The SKILL.md YAML frontmatter format for metadata (name, description, tags, parameters, examples)'
10
+ - "File-based instructions with `{ file: './path.md' }` resolved relative to the skill file"
11
+ - "URL-based instructions with `{ url: '...' }` fetched at build time"
12
+ - 'ESM loading with `Skill.esm()` and remote loading with `Skill.remote()`'
13
+ ---
14
+
15
+ # Directory-Based Skill with File References and Registration
16
+
17
+ A skill loaded from a directory structure with SKILL.md frontmatter, plus file-based and URL-based instruction sources.
18
+
19
+ ## Code
20
+
21
+ ```text
22
+ skills/
23
+ coding-standards/
24
+ SKILL.md # Instructions with YAML frontmatter
25
+ scripts/
26
+ lint-check.sh # Helper scripts referenced in instructions
27
+ references/
28
+ patterns.md # Reference documentation appended to context
29
+ assets/
30
+ diagram.png # Visual assets
31
+ ```
32
+
33
+ ```markdown
34
+ ## <!-- skills/coding-standards/SKILL.md -->
35
+
36
+ name: coding-standards
37
+ description: Project coding standards and patterns
38
+ tags: [standards, conventions, quality]
39
+ parameters:
40
+
41
+ - name: language
42
+ description: Target programming language
43
+ type: string
44
+ default: typescript
45
+ examples:
46
+ - scenario: Apply coding standards to a new module
47
+ expected-outcome: Code follows all project conventions
48
+
49
+ ---
50
+
51
+ # Coding Standards
52
+
53
+ Follow these standards when writing code for this project...
54
+ ```
55
+
56
+ ```typescript
57
+ // src/skills/load-skills.ts
58
+ import { skillDir, skill } from '@frontmcp/sdk';
59
+
60
+ // Load a directory-based skill with bundled scripts, references, and assets
61
+ const CodingStandards = await skillDir('./skills/coding-standards');
62
+
63
+ // File-based instructions -- path resolves relative to this file's directory
64
+ const DeployGuide = skill({
65
+ name: 'deploy-guide',
66
+ description: 'Step-by-step deployment checklist',
67
+ instructions: { file: './docs/deploy-guide.md' }, // resolves to src/skills/docs/deploy-guide.md
68
+ });
69
+ ```
70
+
71
+ ```typescript
72
+ // src/server.ts
73
+ import { FrontMcp, App, Skill, SkillContext } from '@frontmcp/sdk';
74
+
75
+ // URL-based instructions fetched at build time
76
+ @Skill({
77
+ name: 'api-standards',
78
+ description: 'REST API design standards',
79
+ instructions: { url: 'https://docs.example.com/standards/api-design.md' },
80
+ })
81
+ class ApiStandardsSkill extends SkillContext {}
82
+
83
+ // ESM and remote loading
84
+ const ExternalGuide = Skill.esm('@my-org/skills@^1.0.0', 'ExternalGuide', {
85
+ description: 'A skill loaded from an ES module',
86
+ });
87
+
88
+ const CloudGuide = Skill.remote('https://example.com/skills/style-guide', 'CloudGuide', {
89
+ description: 'A skill loaded from a remote server',
90
+ });
91
+
92
+ @App({
93
+ name: 'standards-app',
94
+ skills: [CodingStandards, DeployGuide, ApiStandardsSkill, ExternalGuide, CloudGuide],
95
+ })
96
+ class StandardsApp {}
97
+
98
+ @FrontMcp({
99
+ info: { name: 'dev-server', version: '1.0.0' },
100
+ apps: [StandardsApp],
101
+ })
102
+ class DevServer {}
103
+ ```
104
+
105
+ ## What This Demonstrates
106
+
107
+ - Loading a skill from a directory with `skillDir()` including SKILL.md frontmatter and bundled resources
108
+ - The SKILL.md YAML frontmatter format for metadata (name, description, tags, parameters, examples)
109
+ - File-based instructions with `{ file: './path.md' }` resolved relative to the skill file
110
+ - URL-based instructions with `{ url: '...' }` fetched at build time
111
+ - ESM loading with `Skill.esm()` and remote loading with `Skill.remote()`
112
+
113
+ ## Related
114
+
115
+ - See `create-skill` for the complete `skillDir()` reference, instruction resolution, and HTTP discovery
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: parameterized-skill
3
+ reference: create-skill
4
+ level: intermediate
5
+ description: 'A skill with customizable parameters, usage examples for AI guidance, and controlled visibility.'
6
+ tags: [development, skill, parameterized]
7
+ features:
8
+ - 'Defining `parameters` to let callers customize skill behavior at invocation time'
9
+ - 'Providing `examples` with `scenario` and `expectedOutcome` to guide AI application'
10
+ - 'Using `tags` for skill categorization and filtering'
11
+ - "Controlling discovery with `visibility: 'mcp'` (MCP-only) vs `visibility: 'both'` (default)"
12
+ - 'Using `hideFromDiscovery: true` to register a skill that is invocable by name but not listed'
13
+ ---
14
+
15
+ # Parameterized Skill with Examples and Visibility
16
+
17
+ A skill with customizable parameters, usage examples for AI guidance, and controlled visibility.
18
+
19
+ ## Code
20
+
21
+ ```typescript
22
+ // src/skills/api-design-guide.skill.ts
23
+ import { Skill, SkillContext } from '@frontmcp/sdk';
24
+
25
+ @Skill({
26
+ name: 'api-design-guide',
27
+ description: 'REST API design guidelines',
28
+ instructions: `# API Design Guide
29
+
30
+ Design APIs following these conventions.
31
+ Adapt the versioning strategy based on the api-style parameter.
32
+ Use the auth-required parameter to determine if authentication sections apply.`,
33
+ parameters: [
34
+ { name: 'api-style', description: 'API style to follow', type: 'string', default: 'rest' },
35
+ { name: 'auth-required', description: 'Whether to include auth guidelines', type: 'boolean', default: true },
36
+ { name: 'version-strategy', description: 'API versioning approach', type: 'string', default: 'url-path' },
37
+ ],
38
+ examples: [
39
+ {
40
+ scenario: 'Adding error handling to a new API endpoint',
41
+ expectedOutcome:
42
+ 'Endpoint uses specific error classes with MCP error codes, validates input, and returns structured error responses',
43
+ },
44
+ {
45
+ scenario: 'Refactoring try-catch blocks in existing code',
46
+ expectedOutcome: 'Generic catches replaced with specific error types, proper error propagation chain established',
47
+ },
48
+ ],
49
+ tags: ['api', 'design', 'standards'],
50
+ visibility: 'both',
51
+ })
52
+ class ApiDesignGuideSkill extends SkillContext {}
53
+ ```
54
+
55
+ ```typescript
56
+ // src/skills/internal-runbook.skill.ts
57
+ import { Skill, SkillContext } from '@frontmcp/sdk';
58
+
59
+ @Skill({
60
+ name: 'internal-runbook',
61
+ description: 'Internal operations runbook',
62
+ instructions: `# Operations Runbook
63
+
64
+ ## Incident Response
65
+ 1. Check monitoring dashboards
66
+ 2. Identify affected services
67
+ 3. Escalate if severity is P0 or P1`,
68
+ visibility: 'mcp', // Only visible to MCP clients, not HTTP discovery
69
+ })
70
+ class InternalRunbookSkill extends SkillContext {}
71
+ ```
72
+
73
+ ```typescript
74
+ // src/skills/admin-procedures.skill.ts
75
+ import { Skill, SkillContext } from '@frontmcp/sdk';
76
+
77
+ @Skill({
78
+ name: 'admin-procedures',
79
+ description: 'Administrative procedures for internal use',
80
+ instructions: '...',
81
+ hideFromDiscovery: true, // Registered but hidden from listing endpoints
82
+ })
83
+ class AdminProceduresSkill extends SkillContext {}
84
+ ```
85
+
86
+ ## What This Demonstrates
87
+
88
+ - Defining `parameters` to let callers customize skill behavior at invocation time
89
+ - Providing `examples` with `scenario` and `expectedOutcome` to guide AI application
90
+ - Using `tags` for skill categorization and filtering
91
+ - Controlling discovery with `visibility: 'mcp'` (MCP-only) vs `visibility: 'both'` (default)
92
+ - Using `hideFromDiscovery: true` to register a skill that is invocable by name but not listed
93
+
94
+ ## Related
95
+
96
+ - See `create-skill` for the full parameters, examples, and visibility reference
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: basic-tool-orchestration
3
+ reference: create-skill-with-tools
4
+ level: basic
5
+ description: 'A skill that guides an AI client through a deploy workflow using referenced MCP tools.'
6
+ tags: [development, skill, tools, tool, orchestration]
7
+ features:
8
+ - "Referencing tools by class (`BuildProjectTool`) and by string name (`'health_check'`)"
9
+ - 'Mixing class references and string names in a single `tools` array'
10
+ - 'Writing step-by-step instructions that guide the AI to use specific tools'
11
+ - 'The `skill()` function builder for tool-referencing skills that need no class'
12
+ ---
13
+
14
+ # Basic Skill with Tool References
15
+
16
+ A skill that guides an AI client through a deploy workflow using referenced MCP tools.
17
+
18
+ ## Code
19
+
20
+ ```typescript
21
+ // src/skills/deploy-service.skill.ts
22
+ import { Skill, SkillContext } from '@frontmcp/sdk';
23
+ import { BuildProjectTool } from '../tools/build-project.tool';
24
+ import { RunTestsTool } from '../tools/run-tests.tool';
25
+ import { DeployToEnvTool } from '../tools/deploy-to-env.tool';
26
+
27
+ @Skill({
28
+ name: 'deploy-service',
29
+ description: 'Deploy a service through the build, test, and release pipeline',
30
+ instructions: `# Deploy Service Workflow
31
+
32
+ ## Step 1: Build
33
+ Use the \`build_project\` tool to compile the service.
34
+ Pass the service name and target environment.
35
+
36
+ ## Step 2: Run Tests
37
+ Use the \`run_tests\` tool to execute the test suite.
38
+ If tests fail, stop and report the failures.
39
+
40
+ ## Step 3: Deploy
41
+ Use the \`deploy_to_env\` tool to push the build to the target environment.
42
+ Verify the deployment using \`health_check\` tool.
43
+
44
+ ## Step 4: Notify
45
+ Use the \`send_notification\` tool to notify the team of the deployment status.`,
46
+ tools: [BuildProjectTool, RunTestsTool, DeployToEnvTool, 'health_check', 'send_notification'],
47
+ })
48
+ class DeployServiceSkill extends SkillContext {}
49
+ ```
50
+
51
+ ```typescript
52
+ // src/skills/quick-deploy.skill.ts
53
+ import { skill } from '@frontmcp/sdk';
54
+
55
+ // Function-style skill with tool references
56
+ const QuickDeploySkill = skill({
57
+ name: 'quick-deploy',
58
+ description: 'Quick deployment to staging',
59
+ instructions: `# Quick Deploy
60
+ 1. Use build_project to compile.
61
+ 2. Use deploy_to_env with environment=staging.
62
+ 3. Use health_check to verify.`,
63
+ tools: ['build_project', 'deploy_to_env', 'health_check'],
64
+ });
65
+ ```
66
+
67
+ ## What This Demonstrates
68
+
69
+ - Referencing tools by class (`BuildProjectTool`) and by string name (`'health_check'`)
70
+ - Mixing class references and string names in a single `tools` array
71
+ - Writing step-by-step instructions that guide the AI to use specific tools
72
+ - The `skill()` function builder for tool-referencing skills that need no class
73
+
74
+ ## Related
75
+
76
+ - See `create-skill-with-tools` for all three tool reference styles and validation modes
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: directory-skill-with-tools
3
+ reference: create-skill-with-tools
4
+ level: advanced
5
+ description: 'A directory-based skill loaded with `skillDir()`, plus a class-based skill using Agent Skills spec metadata fields.'
6
+ tags: [development, skill, tools, directory]
7
+ features:
8
+ - 'Loading a directory-based skill with `skillDir()` including SKILL.md frontmatter with tool entries'
9
+ - 'Mixing all three tool reference styles in one `tools` array: class, string, and object'
10
+ - 'Agent Skills spec fields: `priority`, `license`, `compatibility`, `allowedTools`, `specMetadata`'
11
+ - 'Bundled resource directories: `scripts`, `references`, `assets`'
12
+ - "File-based instructions with `{ file: './docs/codebase-audit.md' }`"
13
+ ---
14
+
15
+ # Directory-Based Skill with Tools, Agent Skills Spec Fields, and Registration
16
+
17
+ A directory-based skill loaded with `skillDir()`, plus a class-based skill using Agent Skills spec metadata fields.
18
+
19
+ ## Code
20
+
21
+ ```text
22
+ skills/
23
+ deploy-service/
24
+ SKILL.md # Instructions with YAML frontmatter
25
+ scripts/
26
+ validate.sh # Helper scripts
27
+ smoke-test.sh
28
+ references/
29
+ architecture.md # Reference documentation
30
+ runbook.md
31
+ assets/
32
+ topology.png # Visual assets
33
+ ```
34
+
35
+ ```markdown
36
+ ## <!-- skills/deploy-service/SKILL.md -->
37
+
38
+ name: deploy-service
39
+ description: Deploy a service through the full pipeline
40
+ tags: [deploy, ci-cd, production]
41
+ tools:
42
+
43
+ - name: build_project
44
+ purpose: Compile the service
45
+ required: true
46
+ - name: run_tests
47
+ purpose: Execute test suite
48
+ required: true
49
+ - name: deploy_to_env
50
+ purpose: Push build to target environment
51
+ required: true
52
+ parameters:
53
+ - name: environment
54
+ description: Target deployment environment
55
+ type: string
56
+ required: true
57
+ examples:
58
+ - scenario: Deploy to staging
59
+ expected-outcome: Service deployed and health check passes
60
+
61
+ ---
62
+
63
+ # Deploy Service
64
+
65
+ Follow these steps to deploy the service...
66
+ ```
67
+
68
+ ```typescript
69
+ // src/skills/load-skills.ts
70
+ import { skillDir } from '@frontmcp/sdk';
71
+
72
+ const DeployServiceSkill = await skillDir('./skills/deploy-service');
73
+ ```
74
+
75
+ ```typescript
76
+ // src/skills/audit.skill.ts
77
+ import { Skill, SkillContext, Tool, ToolContext } from '@frontmcp/sdk';
78
+ import { z } from 'zod';
79
+
80
+ @Tool({
81
+ name: 'analyze_codebase',
82
+ description: 'Analyze a codebase for patterns and issues',
83
+ inputSchema: {
84
+ path: z.string().describe('Path to the codebase'),
85
+ checks: z.array(z.string()).describe('Checks to run'),
86
+ },
87
+ })
88
+ class AnalyzeCodebaseTool extends ToolContext {
89
+ async execute(input: { path: string; checks: string[] }) {
90
+ return { issues: [], score: 95 };
91
+ }
92
+ }
93
+
94
+ @Skill({
95
+ name: 'codebase-audit',
96
+ description: 'Perform a comprehensive codebase audit with reporting and issue creation',
97
+ instructions: { file: './docs/codebase-audit.md' },
98
+ tools: [
99
+ AnalyzeCodebaseTool,
100
+ 'generate_report',
101
+ { name: 'create_issue', purpose: 'File GitHub issues for critical findings', required: false },
102
+ ],
103
+ toolValidation: 'strict',
104
+ priority: 10,
105
+ license: 'MIT',
106
+ compatibility: 'Node.js 24+',
107
+ allowedTools: 'Read Edit Bash(git status)',
108
+ specMetadata: {
109
+ author: 'platform-team',
110
+ version: '2.0.0',
111
+ },
112
+ resources: {
113
+ scripts: './scripts',
114
+ references: './references',
115
+ assets: './assets',
116
+ },
117
+ })
118
+ class CodebaseAuditSkill extends SkillContext {}
119
+ ```
120
+
121
+ ```typescript
122
+ // src/server.ts
123
+ import { FrontMcp, App } from '@frontmcp/sdk';
124
+
125
+ @App({
126
+ name: 'audit-app',
127
+ skills: [DeployServiceSkill, CodebaseAuditSkill],
128
+ tools: [AnalyzeCodebaseTool, GenerateReportTool, CreateIssueTool],
129
+ })
130
+ class AuditApp {}
131
+
132
+ @FrontMcp({
133
+ info: { name: 'audit-server', version: '1.0.0' },
134
+ apps: [AuditApp],
135
+ })
136
+ class AuditServer {}
137
+ ```
138
+
139
+ ## What This Demonstrates
140
+
141
+ - Loading a directory-based skill with `skillDir()` including SKILL.md frontmatter with tool entries
142
+ - Mixing all three tool reference styles in one `tools` array: class, string, and object
143
+ - Agent Skills spec fields: `priority`, `license`, `compatibility`, `allowedTools`, `specMetadata`
144
+ - Bundled resource directories: `scripts`, `references`, `assets`
145
+ - File-based instructions with `{ file: './docs/codebase-audit.md' }`
146
+
147
+ ## Related
148
+
149
+ - See `create-skill-with-tools` for the full Agent Skills spec fields reference and CodeCall compatibility
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: incident-response-skill
3
+ reference: create-skill-with-tools
4
+ level: intermediate
5
+ description: 'A skill that uses object-style tool references with purpose descriptions and required flags, plus strict validation.'
6
+ tags: [development, skill, tools, incident, response]
7
+ features:
8
+ - 'Object-style tool references with `name`, `purpose`, and `required` fields'
9
+ - "Using `toolValidation: 'strict'` to fail at startup if any referenced tool is missing"
10
+ - 'Combining tool references with `parameters` and `examples` for full skill metadata'
11
+ - "Setting `visibility: 'mcp'` to restrict discovery to MCP protocol only"
12
+ - 'Registering both skills and their referenced tools in the same `@App`'
13
+ ---
14
+
15
+ # Incident Response Skill with Detailed Tool Metadata
16
+
17
+ A skill that uses object-style tool references with purpose descriptions and required flags, plus strict validation.
18
+
19
+ ## Code
20
+
21
+ ```typescript
22
+ // src/skills/incident-response.skill.ts
23
+ import { Skill, SkillContext } from '@frontmcp/sdk';
24
+
25
+ @Skill({
26
+ name: 'incident-response',
27
+ description: 'Respond to production incidents',
28
+ instructions: `# Incident Response
29
+
30
+ ## Step 1: Gather Information
31
+ Use check_service_health to determine which services are affected.
32
+ Use query_logs to find error patterns.
33
+
34
+ ## Step 2: Mitigate
35
+ Use rollback_deployment if a recent deploy caused the issue.
36
+ Use scale_service if the issue is load-related.
37
+
38
+ ## Step 3: Communicate
39
+ Use send_notification to update the incident channel.`,
40
+ tools: [
41
+ { name: 'check_service_health', purpose: 'Check health status of services', required: true },
42
+ { name: 'query_logs', purpose: 'Search application logs for errors', required: true },
43
+ { name: 'rollback_deployment', purpose: 'Rollback to previous deployment', required: false },
44
+ { name: 'scale_service', purpose: 'Scale service replicas up or down', required: false },
45
+ { name: 'send_notification', purpose: 'Send notification to Slack channel', required: true },
46
+ ],
47
+ toolValidation: 'strict', // Fail at startup if any required tool is missing
48
+ parameters: [
49
+ { name: 'severity', description: 'Incident severity level', type: 'string', required: true },
50
+ { name: 'auto-rollback', description: 'Whether to auto-rollback on detection', type: 'boolean', default: false },
51
+ ],
52
+ examples: [
53
+ {
54
+ scenario: 'API latency spike after a deployment',
55
+ expectedOutcome: 'Health checked, logs queried, deployment rolled back, team notified',
56
+ },
57
+ ],
58
+ tags: ['incident', 'ops', 'on-call'],
59
+ visibility: 'mcp',
60
+ })
61
+ class IncidentResponseSkill extends SkillContext {}
62
+ ```
63
+
64
+ ```typescript
65
+ // src/server.ts
66
+ import { FrontMcp, App } from '@frontmcp/sdk';
67
+
68
+ @App({
69
+ name: 'ops-app',
70
+ skills: [IncidentResponseSkill],
71
+ tools: [CheckServiceHealthTool, QueryLogsTool, RollbackDeploymentTool, ScaleServiceTool, SendNotificationTool],
72
+ })
73
+ class OpsApp {}
74
+
75
+ @FrontMcp({
76
+ info: { name: 'ops-server', version: '1.0.0' },
77
+ apps: [OpsApp],
78
+ })
79
+ class OpsServer {}
80
+ ```
81
+
82
+ ## What This Demonstrates
83
+
84
+ - Object-style tool references with `name`, `purpose`, and `required` fields
85
+ - Using `toolValidation: 'strict'` to fail at startup if any referenced tool is missing
86
+ - Combining tool references with `parameters` and `examples` for full skill metadata
87
+ - Setting `visibility: 'mcp'` to restrict discovery to MCP protocol only
88
+ - Registering both skills and their referenced tools in the same `@App`
89
+
90
+ ## Related
91
+
92
+ - See `create-skill-with-tools` for all tool validation modes and the CodeCall compatibility section
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: basic-class-tool
3
+ reference: create-tool
4
+ level: basic
5
+ description: 'A minimal tool using the class-based pattern with Zod input validation and output schema.'
6
+ tags: [development, tool, class]
7
+ features:
8
+ - 'Extending `ToolContext` and implementing the `execute()` method'
9
+ - 'Using a Zod raw shape for `inputSchema` (not wrapped in `z.object()`)'
10
+ - 'Defining `outputSchema` to validate and restrict output fields'
11
+ - 'Registering the tool in an `@App` via the `tools` array'
12
+ ---
13
+
14
+ # Basic Class-Based Tool
15
+
16
+ A minimal tool using the class-based pattern with Zod input validation and output schema.
17
+
18
+ ## Code
19
+
20
+ ```typescript
21
+ // src/apps/main/tools/greet-user.tool.ts
22
+ import { Tool, ToolContext } from '@frontmcp/sdk';
23
+ import { z } from 'zod';
24
+
25
+ @Tool({
26
+ name: 'greet_user',
27
+ description: 'Greet a user by name',
28
+ inputSchema: {
29
+ name: z.string().describe('The name of the user to greet'),
30
+ },
31
+ outputSchema: {
32
+ greeting: z.string(),
33
+ },
34
+ })
35
+ class GreetUserTool extends ToolContext {
36
+ async execute(input: { name: string }): Promise<{ greeting: string }> {
37
+ return { greeting: `Hello, ${input.name}!` };
38
+ }
39
+ }
40
+ ```
41
+
42
+ ```typescript
43
+ // src/apps/main/index.ts
44
+ import { App } from '@frontmcp/sdk';
45
+
46
+ @App({
47
+ name: 'main',
48
+ tools: [GreetUserTool],
49
+ })
50
+ class MainApp {}
51
+ ```
52
+
53
+ ## What This Demonstrates
54
+
55
+ - Extending `ToolContext` and implementing the `execute()` method
56
+ - Using a Zod raw shape for `inputSchema` (not wrapped in `z.object()`)
57
+ - Defining `outputSchema` to validate and restrict output fields
58
+ - Registering the tool in an `@App` via the `tools` array
59
+
60
+ ## Related
61
+
62
+ - See `create-tool` for the full API reference including annotations, rate limiting, and elicitation