From ae193d5e08eae80700c38856cb9f1dd1671b297c Mon Sep 17 00:00:00 2001 From: Andrew Yim Date: Thu, 22 Jan 2026 13:13:45 +0700 Subject: [PATCH] docs: Add Claude Code settings audit report Generated settings optimization analysis with token budget breakdown and MCP server recommendations. Co-Authored-By: Claude Opus 4.5 --- .claude/settings.local.json | 3 +- settings-audit-report.json | 567 ++++++++++++++++++++++++++++++++++++ settings-audit-report.md | 112 +++++++ 3 files changed, 681 insertions(+), 1 deletion(-) create mode 100644 settings-audit-report.json create mode 100644 settings-audit-report.md diff --git a/.claude/settings.local.json b/.claude/settings.local.json index a180250..baf737d 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -20,7 +20,8 @@ "Bash(git reset:*)", "Bash(git push:*)", "Bash(chmod:*)", - "Bash(python3:*)" + "Bash(python3:*)", + "Bash(git fetch:*)" ] } } diff --git a/settings-audit-report.json b/settings-audit-report.json new file mode 100644 index 0000000..e381b3f --- /dev/null +++ b/settings-audit-report.json @@ -0,0 +1,567 @@ +{ + "timestamp": "2026-01-20T17:49:51.942906", + "tokens": { + "total_tokens": 63238, + "mcp_tokens": 61500, + "claude_md_tokens": 1738, + "mcp_count": 10, + "mcp_servers": { + "filesystem": { + "tokens": 4000, + "has_instructions": true, + "strategy": "always", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "sqlite": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "playwright": { + "tokens": 13500, + "has_instructions": true, + "strategy": "always", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "figma": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "osascript": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "firecrawl": { + "tokens": 6000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "google-analytics": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "chrome-devtools": { + "tokens": 8000, + "has_instructions": true, + "strategy": "always", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "exa": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + }, + "dtm-agent": { + "tokens": 5000, + "has_instructions": true, + "strategy": "lazy", + "disabled": false, + "source": "/Users/ourdigital/.claude/settings.json" + } + }, + "claude_md_files": [ + { + "path": "/Users/ourdigital/.claude/CLAUDE.md", + "lines": 110, + "words": 616, + "tokens": 800 + }, + { + "path": "/Users/ourdigital/Project/claude-skills-factory/CLAUDE.md", + "lines": 150, + "words": 722, + "tokens": 938 + } + ], + "usage_percentage": 31.6, + "findings": { + "critical": [ + "Baseline uses 31.6% of context - target is under 30%" + ], + "warnings": [], + "passing": [ + "MCP 'filesystem': Has serverInstructions", + "MCP 'sqlite': Has serverInstructions", + "MCP 'playwright': Has serverInstructions", + "MCP 'figma': Has serverInstructions", + "MCP 'osascript': Has serverInstructions", + "MCP 'firecrawl': Has serverInstructions", + "MCP 'google-analytics': Has serverInstructions", + "MCP 'chrome-devtools': Has serverInstructions", + "MCP 'exa': Has serverInstructions", + "MCP 'dtm-agent': Has serverInstructions", + "CLAUDE.md (CLAUDE.md): 110 lines, ~800 tokens - Good", + "CLAUDE.md (CLAUDE.md): 150 lines, ~938 tokens - Good" + ], + "recommendations": [] + } + }, + "extensions": { + "commands_count": 18, + "skills_count": 28, + "agents_count": 5, + "commands": { + "settings-audit": { + "name": "settings-audit", + "lines": 120, + "has_frontmatter": false, + "has_description": null, + "issues": [ + "Missing YAML frontmatter", + "Too long: 120 lines (max 100)" + ] + }, + "jamie-audit": { + "name": "jamie-audit", + "lines": 65, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-schema-validator": { + "name": "seo-schema-validator", + "lines": 41, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-gateway-builder": { + "name": "seo-gateway-builder", + "lines": 60, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-gsc": { + "name": "seo-gsc", + "lines": 42, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "gtm-manager": { + "name": "gtm-manager", + "lines": 54, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "notion-organizer": { + "name": "notion-organizer", + "lines": 37, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-designer": { + "name": "ourdigital-designer", + "lines": 48, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-on-page": { + "name": "seo-on-page", + "lines": 36, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-vitals": { + "name": "seo-vitals", + "lines": 45, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-presentation": { + "name": "ourdigital-presentation", + "lines": 47, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-gateway-architect": { + "name": "seo-gateway-architect", + "lines": 56, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "jamie-editor": { + "name": "jamie-editor", + "lines": 52, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "gtm-audit": { + "name": "gtm-audit", + "lines": 47, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-technical": { + "name": "seo-technical", + "lines": 38, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-schema-generator": { + "name": "seo-schema-generator", + "lines": 47, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-local": { + "name": "seo-local", + "lines": 43, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-research": { + "name": "ourdigital-research", + "lines": 50, + "has_frontmatter": true, + "has_description": true, + "issues": [] + } + }, + "skills": { + "seo-search-console": { + "name": "seo-search-console", + "lines": 126, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "jamie-brand-guardian": { + "name": "jamie-brand-guardian", + "lines": 480, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-research": { + "name": "ourdigital-research", + "lines": 205, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-technical-audit": { + "name": "seo-technical-audit", + "lines": 103, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-schema-generator": { + "name": "seo-schema-generator", + "lines": 155, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-local-audit": { + "name": "seo-local-audit", + "lines": 125, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "jamie-brand-audit": { + "name": "jamie-brand-audit", + "lines": 482, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-presentation": { + "name": "ourdigital-presentation", + "lines": 176, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "notion-organizer": { + "name": "notion-organizer", + "lines": 95, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-gateway-architect": { + "name": "seo-gateway-architect", + "lines": 168, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-core-web-vitals": { + "name": "seo-core-web-vitals", + "lines": 117, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-gateway-builder": { + "name": "seo-gateway-builder", + "lines": 386, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "ourdigital-designer": { + "name": "ourdigital-designer", + "lines": 141, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "notion-writer": { + "name": "notion-writer", + "lines": 87, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "jamie-brand-editor": { + "name": "jamie-brand-editor", + "lines": 221, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-on-page-audit": { + "name": "seo-on-page-audit", + "lines": 103, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "seo-schema-validator": { + "name": "seo-schema-validator", + "lines": 119, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "gtm-audit": { + "name": "gtm-audit", + "lines": 289, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "jamie-youtube-manager": { + "name": "jamie-youtube-manager", + "lines": 526, + "has_frontmatter": true, + "has_description": true, + "issues": [ + "Too long: 526 lines (max 500)" + ] + }, + "template-skill": { + "name": "template-skill", + "lines": 7, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "theme-factory": { + "name": "theme-factory", + "lines": 60, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "xlsx": { + "name": "xlsx", + "lines": 289, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "pdf": { + "name": "pdf", + "lines": 295, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "skill-creator": { + "name": "skill-creator", + "lines": 210, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "pptx": { + "name": "pptx", + "lines": 484, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "webapp-testing": { + "name": "webapp-testing", + "lines": 96, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "mcp-builder": { + "name": "mcp-builder", + "lines": 329, + "has_frontmatter": true, + "has_description": true, + "issues": [] + }, + "docx": { + "name": "docx", + "lines": 197, + "has_frontmatter": true, + "has_description": true, + "issues": [] + } + }, + "agents": { + "data-analyst": { + "name": "data-analyst", + "has_frontmatter": false, + "tools_restricted": false, + "issues": [ + "Missing frontmatter", + "Tools not restricted (consider limiting)" + ] + }, + "seo-advisor": { + "name": "seo-advisor", + "has_frontmatter": false, + "tools_restricted": false, + "issues": [ + "Missing frontmatter", + "Tools not restricted (consider limiting)" + ] + }, + "python-coach": { + "name": "python-coach", + "has_frontmatter": false, + "tools_restricted": false, + "issues": [ + "Missing frontmatter", + "Tools not restricted (consider limiting)" + ] + }, + "gtm-manager": { + "name": "gtm-manager", + "has_frontmatter": false, + "tools_restricted": false, + "issues": [ + "Missing frontmatter", + "Tools not restricted (consider limiting)" + ] + }, + "data-engineer": { + "name": "data-engineer", + "has_frontmatter": false, + "tools_restricted": false, + "issues": [ + "Missing frontmatter", + "Tools not restricted (consider limiting)" + ] + } + }, + "findings": { + "critical": [], + "warnings": [ + "Command 'settings-audit': Missing YAML frontmatter", + "Command 'settings-audit': Too long: 120 lines (max 100)", + "Skill 'jamie-youtube-manager': Too long: 526 lines (max 500)", + "Agent 'data-analyst': Missing frontmatter", + "Agent 'data-analyst': Tools not restricted (consider limiting)", + "Agent 'seo-advisor': Missing frontmatter", + "Agent 'seo-advisor': Tools not restricted (consider limiting)", + "Agent 'python-coach': Missing frontmatter", + "Agent 'python-coach': Tools not restricted (consider limiting)", + "Agent 'gtm-manager': Missing frontmatter", + "Agent 'gtm-manager': Tools not restricted (consider limiting)", + "Agent 'data-engineer': Missing frontmatter", + "Agent 'data-engineer': Tools not restricted (consider limiting)" + ], + "passing": [ + "Command 'jamie-audit': OK", + "Command 'seo-schema-validator': OK", + "Command 'seo-gateway-builder': OK", + "Command 'seo-gsc': OK", + "Command 'gtm-manager': OK", + "Command 'notion-organizer': OK", + "Command 'ourdigital-designer': OK", + "Command 'seo-on-page': OK", + "Command 'seo-vitals': OK", + "Command 'ourdigital-presentation': OK", + "Command 'seo-gateway-architect': OK", + "Command 'jamie-editor': OK", + "Command 'gtm-audit': OK", + "Command 'seo-technical': OK", + "Command 'seo-schema-generator': OK", + "Command 'seo-local': OK", + "Command 'ourdigital-research': OK", + "Skill 'seo-search-console': OK", + "Skill 'jamie-brand-guardian': OK", + "Skill 'ourdigital-research': OK", + "Skill 'seo-technical-audit': OK", + "Skill 'seo-schema-generator': OK", + "Skill 'seo-local-audit': OK", + "Skill 'jamie-brand-audit': OK", + "Skill 'ourdigital-presentation': OK", + "Skill 'notion-organizer': OK", + "Skill 'seo-gateway-architect': OK", + "Skill 'seo-core-web-vitals': OK", + "Skill 'seo-gateway-builder': OK", + "Skill 'ourdigital-designer': OK", + "Skill 'notion-writer': OK", + "Skill 'jamie-brand-editor': OK", + "Skill 'seo-on-page-audit': OK", + "Skill 'seo-schema-validator': OK", + "Skill 'gtm-audit': OK", + "Skill 'template-skill': OK", + "Skill 'theme-factory': OK", + "Skill 'xlsx': OK", + "Skill 'pdf': OK", + "Skill 'skill-creator': OK", + "Skill 'pptx': OK", + "Skill 'webapp-testing': OK", + "Skill 'mcp-builder': OK", + "Skill 'docx': OK" + ], + "recommendations": [] + } + }, + "total_baseline_tokens": 63238, + "health": "Critical" +} \ No newline at end of file diff --git a/settings-audit-report.md b/settings-audit-report.md new file mode 100644 index 0000000..6353222 --- /dev/null +++ b/settings-audit-report.md @@ -0,0 +1,112 @@ +# Claude Code Settings Audit Report + +**Generated:** 2026-01-20 17:49:51 + +--- + +## Token Budget Summary + +| Component | Tokens | % of 200K | Status | +|-----------|--------|-----------|--------| +| CLAUDE.md | 1,738 | 0.9% | 🟢 | +| MCP Servers | 61,500 | 30.8% | 🟡 | +| **Baseline Total** | **63,238** | **31.6%** | 🔴 | +| **Available for Work** | **136,762** | **68.4%** | — | + +**Target:** Baseline under 30% (60,000 tokens), Available over 70% + +--- + +## Overall Health: 🔴 Critical + +- Critical Issues: 1 +- Warnings: 13 +- Passing Checks: 56 + +--- + +## MCP Server Analysis + +**Servers:** 10 configured + + +**Active:** 10 | **Disabled:** 0 + +| Server | Tokens | Instructions | Status | +|--------|--------|--------------|--------| +| filesystem | ~4,000 | ✅ | always | +| sqlite | ~5,000 | ✅ | lazy | +| playwright | ~13,500 | ✅ | always | +| figma | ~5,000 | ✅ | lazy | +| osascript | ~5,000 | ✅ | lazy | +| firecrawl | ~6,000 | ✅ | lazy | +| google-analytics | ~5,000 | ✅ | lazy | +| chrome-devtools | ~8,000 | ✅ | always | +| exa | ~5,000 | ✅ | lazy | +| dtm-agent | ~5,000 | ✅ | lazy | + +--- + +## CLAUDE.md Analysis + +- **/Users/ourdigital/.claude/CLAUDE.md**: 110 lines, ~800 tokens 🟢 +- **/Users/ourdigital/Project/claude-skills-factory/CLAUDE.md**: 150 lines, ~938 tokens 🟢 + +--- + +## Extensions Analysis + +- Commands: 18 +- Skills: 28 +- Agents: 5 + +--- + +## ❌ Critical Issues + +- Baseline uses 31.6% of context - target is under 30% + +--- + +## ⚠️ Warnings + +- Command 'settings-audit': Missing YAML frontmatter +- Command 'settings-audit': Too long: 120 lines (max 100) +- Skill 'jamie-youtube-manager': Too long: 526 lines (max 500) +- Agent 'data-analyst': Missing frontmatter +- Agent 'data-analyst': Tools not restricted (consider limiting) +- Agent 'seo-advisor': Missing frontmatter +- Agent 'seo-advisor': Tools not restricted (consider limiting) +- Agent 'python-coach': Missing frontmatter +- Agent 'python-coach': Tools not restricted (consider limiting) +- Agent 'gtm-manager': Missing frontmatter +- *...and 3 more* + +--- + +## ✅ Passing + +- MCP 'filesystem': Has serverInstructions +- MCP 'sqlite': Has serverInstructions +- MCP 'playwright': Has serverInstructions +- MCP 'figma': Has serverInstructions +- MCP 'osascript': Has serverInstructions +- *...and 51 more* + +--- + +## Recommendations + +1. **Fix:** Baseline uses 31.6% of context - target is under 30% + +--- + +## Next Steps + +1. Run `python3 scripts/auto_fix.py` to preview fixes +2. Run `python3 scripts/auto_fix.py --apply` to apply fixes +3. Re-run audit to verify improvements + +--- + +*Generated by Claude Code Settings Optimizer*