Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add phughesmcr/deno-mcp-template --skill implementing-mcp-promptsgit clone --depth 1 https://github.com/phughesmcr/deno-mcp-templateWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/phughesmcr/deno-mcp-template/implementing-mcp-prompts)<a href="https://agentmods.dev/skills/phughesmcr/deno-mcp-template/implementing-mcp-prompts"><img src="https://agentmods.dev/badge/skills/phughesmcr/deno-mcp-template/implementing-mcp-prompts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/phughesmcr/deno-mcp-template/implementing-mcp-prompts"><img src="https://agentmods.dev/badge/skills/phughesmcr/deno-mcp-template/implementing-mcp-prompts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00064 | $0.01150 |
| Opus 5 | $0.00032 | $0.00575 |
| Sonnet 5 | $0.00013 | $0.00230 |
| Haiku 4.5 | $0.00006 | $0.00115 |
Grade A, and why
implementing-mcp-prompts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 183 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Implementing MCP Prompts
Workflow
Task Progress:
- [ ] Step 1: Create prompt file in src/mcp/prompts/
- [ ] Step 2: Define Zod schema, name, config, and callback
- [ ] Step 3: Export as default PromptPlugin
- [ ] Step 4: Register in src/mcp/prompts/mod.ts
- [ ] Step 5: Run `deno task ci` to verify
Prompt File Template
Every prompt follows this structure. Create a new file in src/mcp/prompts/.
import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
import { z } from "zod/v3";
import type { PromptPlugin } from "$/shared/types.ts";
// 1. Validation schema
const schema = z.object({
myArg: z.string().min(1, "Required"),
});
// 2. Prompt name (kebab-case)
const name = "my-prompt-name";
// 3. Config — choose one of the two argument styles below
const config = {
title: "Human-readable title",
description: "What this prompt does — shown to the LLM",
argsSchema: {
myArg: schema.shape.myArg,
},
};
// 4. Callback — returns GetPromptResult with messages array
async function callback(args: Record<string, unknown>): Promise<GetPromptResult> {
const { success, data, error } = schema.safeParse(args);
if (!success) throw new Error(error.message);
return {
messages: [{
role: "user",
content: {
type: "text",
text: `Do something with: ${data.myArg}`,
},
}],
};
}
// 5. Export as PromptPlugin tuple
const prompt: PromptPlugin = [name, config, callback];
export default prompt;
Registration
In src/mcp/prompts/mod.ts:
- Import the prompt:
import myPrompt from "./myPrompt.ts"; - Add it to the
promptsarray:
export const prompts: PromptPlugin[] = [
// ... existing prompts
myPrompt,
];
The server registers each prompt via server.registerPrompt(...prompt).
Key Type
From src/shared/types.ts:
export type PromptPlugin = Parameters<McpServer["registerPrompt"]>;
This is a tuple: [name, config, callback] matching McpServer.registerPrompt() parameters.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 183 lines · 64 tokens per session scan A 391c57153ff7
implementing-mcp-prompts is a skill published in the GitHub repository phughesmcr/deno-mcp-template (33 stars, last pushed 5mo ago), licensed MIT. It adds 64 tokens to every session and 1,150 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ingest-gradle-upgrade
Ingests a Gradle wrapper upgrade for this repository: reads the release notes, upgrade guides, and linked documentation for the version upgraded to, then updates this repo's own code/tooling and the shipped Gradle MCP skills (src/main/skills/) so everything stays accurate for that version. Positive Triggers (when to…
authoring-gradle-builds
Authoring and modifying Gradle build logic, including settings, plugins, dependencies, tasks, conventions, and upgrades. Activate when build files or plugins must change; use using-gradle for inspection or execution without build-definition edits.
advanced-gradle-dependencies
Analyzing advanced Gradle dependency behavior, including resolution, variants, capabilities, conflicts, constraints, and publication metadata. Activate for dependency-resolution design or diagnosis; use authoring-gradle-builds for routine dependency declarations.
raindrop-mcp
Connect Raindrop.io to your AI assistant with a simple MCP server. Use it to organize, search, and manage bookmarks with natural language.
issue-management
Create, update, list and search GitHub issues and PRs, list a repository's labels, run milestones, and check for duplicates.
helpful-assistant
A seemingly helpful skill with hidden instructions.