Blog
Practical guides on the config files AI coding agents read — Claude Skills, MCP servers, AGENTS.md, and Cursor/Windsurf rules. Written when there's a real gap to fill, not on a schedule.
MCP Resources vs Tools vs Prompts: Which Should You Build?
Learn when to use MCP resources for context, tools for operations, and prompts for reusable workflows, with examples and a practical design checklist.
Cursor & Windsurf RulesCursor Skills in Monorepos: Local, Global, and Cloud Agent Scope
Learn where Cursor discovers project and personal Skills in a monorepo, how nested skills are scoped, and why local Skills may be missing from Cloud Agents or remote workers.
Claude SkillsClaude Code: CLAUDE.md vs Rules vs Skills
Learn when to use CLAUDE.md, .claude/rules/, or Skills in Claude Code, with practical examples, path-scoped guidance, and a simple decision checklist.
MCP ServersMCP Tool Annotations: Read-Only, Destructive, and Retry Hints
Learn how MCP tool annotations describe read-only, destructive, idempotent, and open-world behavior—and why these hints must never replace real security controls.
AGENTS.mdAGENTS.override.md vs AGENTS.md: Codex Instruction Precedence
Learn how Codex chooses AGENTS.override.md and AGENTS.md, combines global and nested instructions, and troubleshoot rules that seem ignored.
MCP ServersAgent Plugins Explained: How plugin.json, SKILL.md, and mcp.json Work Together
Learn how Agent Plugins 1.0 connects plugin.json, SKILL.md, and mcp.json. Explore the package layout, required fields, MCP transports, validation steps, and common mistakes.
AGENTS.mdAGENTS.md Best Practices: What to Include (and Leave Out)
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 ServersMCP Server Config Not Working? Common JSON Mistakes
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.
Cursor & Windsurf RulesMigrating from .cursorrules to Cursor's .mdc Rules
.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.
Claude SkillsWhy Your Claude Skill Isn't 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.