create-tool SKILL.md skillA
create-tool from agentfront/frontmcp is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add agentfront/frontmcp/create-tool@git:20261011.3484b44Pins git:20261011.3484b44 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- agentfront/frontmcp
- Path
libs/skills/catalog/create-tool/SKILL.md- Versions recorded
- 6
- Latest version
- git:20261011.3484b44, committed Oct 11, 2026
- First version recorded
- May 31, 2026
- Size
- 27,709 bytes
- Repository stars
- 148
- License
- Apache-2.0
ALWAYS use this skill when the user asks to build, modify, or audit a FrontMCP tool. Covers everything inside `@Tool({...})`: class and function-style tools, Zod input/output schemas with derived `execute()` types, dependency injection (`this.get` / `this.tryGet`), error handling (`this.fail`, MCP error classes), throttling (rate-limit / concurrency / timeout), auth providers (single / multi / vault), availability constraints (`availableWhen`), elicitation (`this.elicit`), interactive UI…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Create a FrontMCP Tool
Tools are the primary way to expose executable actions to AI clients in the MCP protocol. In FrontMCP, every tool is a TypeScript class that extends `ToolContext`, decorated with `@Tool({...})`, and registered on an `@App` (or directly on `@FrontMcp` for simple servers).
This skill is the single source of truth for building tools. It owns:
- The `@Tool` decorator surface
- Input / output schemas and how to derive `execute()` types from them
- Dependency injection, error handling, progress / notifications
- Throttling: rate-limit, concurrency, timeout
- Auth providers and the credential vault
- Platform / runtime / surface availability constraints
- Elicitation (interactive input mid-execution)
- **Tool UI widgets** — the `ui:` block, MCP Apps / SEP-1865, `.tsx` FileSource, CSP, `window.FrontMcpBridge`
- Annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`, `openWorldHint`)
- The `examples` metadata field
- Function-style tools, remote / ESM tools
- Registration patterns
- Per-tool unit testing
For everything else — resources, prompts, agents, jobs, workflows, adapters, plugins, providers, channels — use the matching `create-<thing>` skill.
…Read the whole file at its exact version.
How to install
mdr add agentfront/frontmcp/create-tool@sha256:9e1437cde29d7db9The line at the top of this page pins the label git:20261011.3484b44, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_2hfvcdkowdbpu4rw)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 6 versions of this file, between May 31, 2026 and Oct 11, 2026, about one every 26 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261011.3484b44 latest | 2026-10-11 | 3484b44 | 27,709 B | A | view · diff |
| git:20261006.f37bdf9 | 2026-10-06 | f37bdf9 | 27,720 B | A | view · diff |
| git:20261005.84ff37a | 2026-10-05 | 84ff37a | 27,720 B | A | view · diff |
| git:20260930.43cae05 | 2026-09-30 | 43cae05 | 27,716 B | A | view · diff |
| git:20260926.4dc7359 | 2026-09-26 | 4dc7359 | 27,787 B | A | view · diff |
| git:20260531.ca10ffe | 2026-05-31 | ca10ffe | 27,771 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (27709 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
agentfront/frontmcp · 148 stars · license Apache-2.0 · pushed 2026-10-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_2hfvcdkowdbpu4rw GET https://markdownregistry.com/api/v1/resolve?ref=agentfront/frontmcp/create-tool GET https://markdownregistry.com/api/v1/blob/9e1437cde29d7db97d62ac89ad658d2e9e1a31ace2b2b803077a03f78c1bebdd
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.