Module guidelines
These rules keep the catalog useful: generic enough to reuse, specific enough to matter.
Quality rules
- Modules are prompts, not just code-review checklists — subtitles, translation, image prompts, meeting notes, and every other creative or business module is held to the exact same bar as an auth or payments module: specific, actionable, and immediately useful to whatever agent reads it.
- Write for the pattern, not your specific stack. “Validate webhook signatures before processing” beats “add this to routes/stripe.ts”.
- Stay tool-agnostic. A module should read the same whether it ends up in CLAUDE.md, AGENTS.md, or .cursorrules.
- Aim for 300–800 words: long enough to be useful, short enough to stay in context.
- Never include real API keys, credentials, or customer data, not even as examples.
- Declare dependencies explicitly with the picker, or inline with {{module:username/slug}}, instead of repeating another module's content.
- Don't start your body with a top-level heading. The compiler adds its own module heading when it assembles the output, so a leading heading in your body would double up.
Security note
Every module page carries a banner: “Community content. Review instructions before giving them to an AI agent — treat modules like open-source code.” Rendered Markdown is sanitized (no scripts, no raw HTML, no event handlers), but a module can still contain misleading instructions in plain text. The platform can't fully police intent — moderation depends on ratings, reports, and admin review, so read what you're about to hand to an agent that can run commands.
The {{module:...}} reference caveat
Inline references like {{module:username/slug}} are matched with a plain-text scan, not a Markdown parser. That means a reference written inside a fenced code block is still treated as a real dependency at compile time, exactly like one in prose — this is documented v1 behavior, not a bug. If you need to show the literal syntax as an example rather than a real link, break it up somehow (e.g. extra spacing) so it doesn't parse as a reference.
Licensing
Pick the license that matches how you want your module reused. You keep authorship either way — publishing to Markdowners doesn't transfer ownership.
- CC-BY-4.0 (default): anyone can reuse and adapt it, as long as they credit you.
- MIT: permissive, common in software. Treat your module's text like code others can freely reuse, including commercially.
- CC0: public domain. No attribution required.