Help us improve
Share bugs, ideas, or general feedback.
From obsidian-mcp-server
Scaffolds a new MCP prompt template file with Zod arguments, registration, and devcheck verification. Answers when the user asks to add or define a prompt for LLM interactions.
npx claudepluginhub cyanheads/obsidian-mcp-serverHow this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-mcp-server:add-promptThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Prompts use the `prompt()` builder from `@cyanheads/mcp-ts-core`. Each prompt lives in `src/mcp-server/prompts/definitions/` with a `.prompt.ts` suffix and is registered into `createApp()` in `src/index.ts`. Some repos later add `definitions/index.ts` barrels; match the project's current pattern.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Prompts use the prompt() builder from @cyanheads/mcp-ts-core. Each prompt lives in src/mcp-server/prompts/definitions/ with a .prompt.ts suffix and is registered into createApp() in src/index.ts. Some repos later add definitions/index.ts barrels; match the project's current pattern.
Prompts are pure message templates — no Context, no auth, no side effects.
For the full prompt() API, read node_modules/@cyanheads/mcp-ts-core/CLAUDE.md.
src/mcp-server/prompts/definitions/{{prompt-name}}.prompt.tscreateApp() prompt list (directly in src/index.ts for fresh scaffolds, or via a barrel if the repo already has one)bun run devcheck to verify/**
* @fileoverview {{PROMPT_DESCRIPTION}}
* @module mcp-server/prompts/definitions/{{PROMPT_NAME}}
*/
import { prompt, z } from '@cyanheads/mcp-ts-core';
export const {{PROMPT_EXPORT}} = prompt('{{prompt_name}}', {
description: '{{PROMPT_DESCRIPTION}}',
args: z.object({
// All fields need .describe()
}),
generate: (args) => [
{
role: 'user',
content: {
type: 'text',
text: `{{PROMPT_TEMPLATE_TEXT}}`,
},
},
],
});
generate: (args) => [
{
role: 'user',
content: {
type: 'text',
text: `Here is the ${args.type} to review:\n\n${args.content}`,
},
},
{
role: 'assistant',
content: {
type: 'text',
text: 'I will analyze this carefully. Let me start with...',
},
},
],
// src/index.ts (fresh scaffold default)
import { createApp } from '@cyanheads/mcp-ts-core';
import { {{PROMPT_EXPORT}} } from './mcp-server/prompts/definitions/{{prompt-name}}.prompt.js';
await createApp({
tools: [/* existing tools */],
resources: [/* existing resources */],
prompts: [{{PROMPT_EXPORT}}],
});
If the repo already uses src/mcp-server/prompts/definitions/index.ts, update that barrel instead.
src/mcp-server/prompts/definitions/{{prompt-name}}.prompt.tsargs fields have .describe() annotations@fileoverview and @module header presentgenerate function returns valid message arraycreateApp() prompt list (directly or via barrel)bun run devcheck passes