# ManifestKit > Free generators for the config files AI agents read. Client-side generators for SKILL.md, llms.txt, AGENTS.md, MCP server manifests, and Cursor/Windsurf rules files. No signup, no server round-trip — fill a form, get a correctly formatted file, download it. ## Tools - [SKILL.md Generator & Validator](https://digiprofit.online/tools/skillmd-generator/): Build a valid Claude Skill file with working frontmatter. - [llms.txt Generator](https://digiprofit.online/tools/llms-txt-generator/): Produce a spec-correct llms.txt index for your site. - [AGENTS.md Generator](https://digiprofit.online/tools/agentsmd-generator/): Write the README coding agents actually read. - [MCP Server Manifest Generator](https://digiprofit.online/tools/mcp-manifest-generator/): Generate a ready-to-paste mcpServers JSON entry. - [Cursor & Windsurf Rules Generator](https://digiprofit.online/tools/rules-file-generator/): Create .cursorrules, .mdc, or .windsurfrules files. ## Guides - [SKILL.md vs MCP Manifest vs AGENTS.md](https://digiprofit.online/guides/skillmd-vs-mcp-vs-agentsmd/) ## Blog - [AGENTS.md Best Practices: What to Include (and Leave Out)](https://digiprofit.online/blog/agentsmd-best-practices/): A study of 2,500+ repositories found AGENTS.md files over 150 lines actually hurt agent performance. Here's what to put in yours instead, and what to cut. - [MCP Server Config Not Working? Common JSON Mistakes](https://digiprofit.online/blog/mcp-server-config-json-errors/): A trailing comma Claude silently ignores, a relative path, an unescaped Windows backslash — here's what actually breaks an MCP config, and how to find it fast. - [Migrating from .cursorrules to Cursor's .mdc Rules](https://digiprofit.online/blog/migrate-cursorrules-to-mdc/): .cursorrules is legacy now — Cursor reads .cursor/rules/*.mdc files instead, with per-file scoping the old format never had. Here's exactly how to move over. - [Why Your Claude Skill Isn't Triggering](https://digiprofit.online/blog/claude-skill-not-triggering/): Claude decides whether to use a Skill entirely from its description field — here's why that quietly fails about half the time, and the fix. ## Optional - [About](https://digiprofit.online/about/) - [Contact](https://digiprofit.online/contact/) - [Privacy](https://digiprofit.online/privacy/)