AI Agent Config Analyzer

Optimize your CLAUDE.md & AGENTS.md for better instruction following

🔒

100% Client-Side Processing — Your Data Never Leaves Your Browser

This tool runs entirely in your browser using JavaScript. No data is sent to any server.

  • No uploads: Your config content is never transmitted anywhere
  • No tracking: No analytics, cookies, or telemetry
  • No storage: Nothing is saved — refresh the page and it's gone
  • Open analysis: Token counting uses the cl100k_base tokenizer (same as Claude)
Your Config File
How Analysis Works: All processing happens in your browser: tokenization via js-tiktoken (cl100k_base encoding), regex pattern matching for best practices, and structure analysis via markdown parsing. Zero network requests are made during analysis.
Analysis Results

Paste your CLAUDE.md or AGENTS.md content

Checks based on official best practices from Anthropic, OpenAI, Google & community guidelines

Best Practices Verified

📏 Optimal Length

LLMs reliably follow ~150-200 instructions. Keep files under 300 lines and ~1500-2500 tokens for best adherence.

Target: <300 lines, <2500 tokens

🏗️ Structure

Use clear markdown headers. Include: Commands, Code Style, Architecture, Testing. Avoid code style rules (use linters instead).

## Commands | ## Architecture | ## Testing

🔐 Security

Never include API keys, passwords, or secrets. Use environment variables and .gitignore for sensitive data.

❌ api_key = "sk-..." | ✓ Use $API_KEY

📦 Modularity

Use @imports for large configs. Create separate files for different concerns. Max 5 levels of nesting.

@./docs/conventions.md

⚡ Emphasis

Use IMPORTANT, YOU MUST, NEVER for critical instructions. But don't overuse — dilutes priority signals.

IMPORTANT: Always run tests before commit

🎯 Relevance

Only include universally applicable instructions. Irrelevant context gets ignored. Be specific to your project.

Focus on YOUR project's actual needs

🔌 API & MCP Integration

Use this analyzer programmatically via URL parameters, REST API, or as an MCP server for Claude Code.

📎 URL Parameters (100% Client-Side)

Pass content via URL for instant analysis. All processing happens in your browser.

https://claudemd.franzai.com/?c=BASE64_CONTENT&o=json
c or content - Base64URL encoded content
o or output - json or html (default: html)
f or format - auto, claude, or agents
JavaScript: const url = `https://claudemd.franzai.com/?c=${btoa(content)}&o=json`;

🌐 REST API (POST)

POST JSON to the API endpoint for programmatic analysis.

POST https://claudemd.franzai.com/api/analyze
Request Body (JSON): { "content": "# CLAUDE.md\n...", "format": "auto" }
curl example: curl -X POST https://claudemd.franzai.com/api/analyze \
-H "Content-Type: application/json" \
-d '{"content": "# CLAUDE.md\n## Commands\n- npm run dev"}'

🤖 MCP Server (Local)

Run as a local MCP server for Claude Code integration. 100% local processing.

1. Download the server: mcp-server.mjs (right-click → Save As)
2. Install dependencies: npm install @modelcontextprotocol/sdk
3. Add to Claude Code settings: {
"mcpServers": {
"claudemd-analyzer": {
"command": "node",
"args": ["~/path/to/mcp-server.mjs"]
}
}
}
Available tool: analyze_config
Claude Code will have access to analyze CLAUDE.md files on demand.

📋 Response Format

Both URL params (with o=json) and POST API return this structure:

{
"success": true,
"version": "2.1.0",
"result": {
"score": 85,
"grade": "excellent",
"format": "claude",
"tokenCount": 150,
"issues": [...],
"categoryScores": [...]
}
}