safeword 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/check-3NGQ4NR5.js +129 -0
  2. package/dist/check-3NGQ4NR5.js.map +1 -0
  3. package/dist/chunk-2XWIUEQK.js +190 -0
  4. package/dist/chunk-2XWIUEQK.js.map +1 -0
  5. package/dist/chunk-GZRQL3SX.js +146 -0
  6. package/dist/chunk-GZRQL3SX.js.map +1 -0
  7. package/dist/chunk-ORQHKDT2.js +10 -0
  8. package/dist/chunk-ORQHKDT2.js.map +1 -0
  9. package/dist/chunk-W66Z3C5H.js +21 -0
  10. package/dist/chunk-W66Z3C5H.js.map +1 -0
  11. package/dist/cli.d.ts +1 -0
  12. package/dist/cli.js +34 -0
  13. package/dist/cli.js.map +1 -0
  14. package/dist/diff-Y6QTAW4O.js +166 -0
  15. package/dist/diff-Y6QTAW4O.js.map +1 -0
  16. package/dist/index.d.ts +11 -0
  17. package/dist/index.js +7 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/reset-3ACTIYYE.js +143 -0
  20. package/dist/reset-3ACTIYYE.js.map +1 -0
  21. package/dist/setup-RR4M334C.js +266 -0
  22. package/dist/setup-RR4M334C.js.map +1 -0
  23. package/dist/upgrade-6AR3DHUV.js +134 -0
  24. package/dist/upgrade-6AR3DHUV.js.map +1 -0
  25. package/package.json +44 -19
  26. package/{.safeword → templates}/hooks/agents-md-check.sh +0 -0
  27. package/{.safeword → templates}/hooks/post-tool.sh +0 -0
  28. package/{.safeword → templates}/hooks/pre-commit.sh +0 -0
  29. package/.claude/commands/arch-review.md +0 -32
  30. package/.claude/commands/lint.md +0 -6
  31. package/.claude/commands/quality-review.md +0 -13
  32. package/.claude/commands/setup-linting.md +0 -6
  33. package/.claude/hooks/auto-lint.sh +0 -6
  34. package/.claude/hooks/auto-quality-review.sh +0 -170
  35. package/.claude/hooks/check-linting-sync.sh +0 -17
  36. package/.claude/hooks/inject-timestamp.sh +0 -6
  37. package/.claude/hooks/question-protocol.sh +0 -12
  38. package/.claude/hooks/run-linters.sh +0 -8
  39. package/.claude/hooks/run-quality-review.sh +0 -76
  40. package/.claude/hooks/version-check.sh +0 -10
  41. package/.claude/mcp/README.md +0 -96
  42. package/.claude/mcp/arcade.sample.json +0 -9
  43. package/.claude/mcp/context7.sample.json +0 -7
  44. package/.claude/mcp/playwright.sample.json +0 -7
  45. package/.claude/settings.json +0 -62
  46. package/.claude/skills/quality-reviewer/SKILL.md +0 -190
  47. package/.claude/skills/safeword-quality-reviewer/SKILL.md +0 -13
  48. package/.env.arcade.example +0 -4
  49. package/.env.example +0 -11
  50. package/.gitmodules +0 -4
  51. package/.safeword/SAFEWORD.md +0 -33
  52. package/.safeword/eslint/eslint-base.mjs +0 -101
  53. package/.safeword/guides/architecture-guide.md +0 -404
  54. package/.safeword/guides/code-philosophy.md +0 -174
  55. package/.safeword/guides/context-files-guide.md +0 -405
  56. package/.safeword/guides/data-architecture-guide.md +0 -183
  57. package/.safeword/guides/design-doc-guide.md +0 -165
  58. package/.safeword/guides/learning-extraction.md +0 -515
  59. package/.safeword/guides/llm-instruction-design.md +0 -239
  60. package/.safeword/guides/llm-prompting.md +0 -95
  61. package/.safeword/guides/tdd-best-practices.md +0 -570
  62. package/.safeword/guides/test-definitions-guide.md +0 -243
  63. package/.safeword/guides/testing-methodology.md +0 -573
  64. package/.safeword/guides/user-story-guide.md +0 -237
  65. package/.safeword/guides/zombie-process-cleanup.md +0 -214
  66. package/.safeword/planning/002-user-story-quality-evaluation.md +0 -1840
  67. package/.safeword/planning/003-langsmith-eval-setup-prompt.md +0 -363
  68. package/.safeword/planning/004-llm-eval-test-cases.md +0 -3226
  69. package/.safeword/planning/005-architecture-enforcement-system.md +0 -169
  70. package/.safeword/planning/006-reactive-fix-prevention-research.md +0 -135
  71. package/.safeword/planning/011-cli-ux-vision.md +0 -330
  72. package/.safeword/planning/012-project-structure-cleanup.md +0 -154
  73. package/.safeword/planning/README.md +0 -39
  74. package/.safeword/planning/automation-plan-v2.md +0 -1225
  75. package/.safeword/planning/automation-plan-v3.md +0 -1291
  76. package/.safeword/planning/automation-plan.md +0 -3058
  77. package/.safeword/planning/design/005-cli-implementation.md +0 -343
  78. package/.safeword/planning/design/013-cli-self-contained-templates.md +0 -596
  79. package/.safeword/planning/design/013a-eslint-plugin-suite.md +0 -256
  80. package/.safeword/planning/design/013b-implementation-snippets.md +0 -385
  81. package/.safeword/planning/design/013c-config-isolation-strategy.md +0 -242
  82. package/.safeword/planning/design/code-philosophy-improvements.md +0 -60
  83. package/.safeword/planning/mcp-analysis.md +0 -545
  84. package/.safeword/planning/phase2-subagents-vs-skills-analysis.md +0 -451
  85. package/.safeword/planning/settings-improvements.md +0 -970
  86. package/.safeword/planning/test-definitions/005-cli-implementation.md +0 -1301
  87. package/.safeword/planning/test-definitions/cli-self-contained-templates.md +0 -205
  88. package/.safeword/planning/user-stories/001-guides-review-user-stories.md +0 -1381
  89. package/.safeword/planning/user-stories/003-reactive-fix-prevention.md +0 -132
  90. package/.safeword/planning/user-stories/004-technical-constraints.md +0 -86
  91. package/.safeword/planning/user-stories/005-cli-implementation.md +0 -311
  92. package/.safeword/planning/user-stories/cli-self-contained-templates.md +0 -172
  93. package/.safeword/planning/versioned-distribution.md +0 -740
  94. package/.safeword/prompts/arch-review.md +0 -43
  95. package/.safeword/prompts/quality-review.md +0 -11
  96. package/.safeword/scripts/arch-review.sh +0 -235
  97. package/.safeword/scripts/check-linting-sync.sh +0 -58
  98. package/.safeword/scripts/setup-linting.sh +0 -559
  99. package/.safeword/templates/architecture-template.md +0 -136
  100. package/.safeword/templates/ci/architecture-check.yml +0 -79
  101. package/.safeword/templates/design-doc-template.md +0 -127
  102. package/.safeword/templates/test-definitions-feature.md +0 -100
  103. package/.safeword/templates/ticket-template.md +0 -74
  104. package/.safeword/templates/user-stories-template.md +0 -82
  105. package/.safeword/tickets/001-guides-review-user-stories.md +0 -83
  106. package/.safeword/tickets/002-architecture-enforcement.md +0 -211
  107. package/.safeword/tickets/003-reactive-fix-prevention.md +0 -57
  108. package/.safeword/tickets/004-technical-constraints-in-user-stories.md +0 -39
  109. package/.safeword/tickets/005-cli-implementation.md +0 -248
  110. package/.safeword/tickets/006-flesh-out-skills.md +0 -43
  111. package/.safeword/tickets/007-flesh-out-questioning.md +0 -44
  112. package/.safeword/tickets/008-upgrade-questioning.md +0 -58
  113. package/.safeword/tickets/009-naming-conventions.md +0 -41
  114. package/.safeword/tickets/010-safeword-md-cleanup.md +0 -34
  115. package/.safeword/tickets/011-cursor-setup.md +0 -86
  116. package/.safeword/tickets/README.md +0 -73
  117. package/.safeword/version +0 -1
  118. package/AGENTS.md +0 -59
  119. package/CLAUDE.md +0 -12
  120. package/README.md +0 -347
  121. package/docs/001-cli-implementation-plan.md +0 -856
  122. package/docs/elite-dx-implementation-plan.md +0 -1034
  123. package/framework/README.md +0 -131
  124. package/framework/mcp/README.md +0 -96
  125. package/framework/mcp/arcade.sample.json +0 -8
  126. package/framework/mcp/context7.sample.json +0 -6
  127. package/framework/mcp/playwright.sample.json +0 -6
  128. package/framework/scripts/arch-review.sh +0 -235
  129. package/framework/scripts/check-linting-sync.sh +0 -58
  130. package/framework/scripts/load-env.sh +0 -49
  131. package/framework/scripts/setup-claude.sh +0 -223
  132. package/framework/scripts/setup-linting.sh +0 -559
  133. package/framework/scripts/setup-quality.sh +0 -477
  134. package/framework/scripts/setup-safeword.sh +0 -550
  135. package/framework/templates/ci/architecture-check.yml +0 -78
  136. package/learnings/ai-sdk-v5-breaking-changes.md +0 -178
  137. package/learnings/e2e-test-zombie-processes.md +0 -231
  138. package/learnings/milkdown-crepe-editor-property.md +0 -96
  139. package/learnings/prosemirror-fragment-traversal.md +0 -119
  140. package/packages/cli/AGENTS.md +0 -1
  141. package/packages/cli/ARCHITECTURE.md +0 -279
  142. package/packages/cli/package.json +0 -51
  143. package/packages/cli/src/cli.ts +0 -63
  144. package/packages/cli/src/commands/check.ts +0 -166
  145. package/packages/cli/src/commands/diff.ts +0 -209
  146. package/packages/cli/src/commands/reset.ts +0 -190
  147. package/packages/cli/src/commands/setup.ts +0 -325
  148. package/packages/cli/src/commands/upgrade.ts +0 -163
  149. package/packages/cli/src/index.ts +0 -3
  150. package/packages/cli/src/templates/config.ts +0 -58
  151. package/packages/cli/src/templates/content.ts +0 -18
  152. package/packages/cli/src/templates/index.ts +0 -12
  153. package/packages/cli/src/utils/agents-md.ts +0 -66
  154. package/packages/cli/src/utils/fs.ts +0 -179
  155. package/packages/cli/src/utils/git.ts +0 -124
  156. package/packages/cli/src/utils/hooks.ts +0 -29
  157. package/packages/cli/src/utils/output.ts +0 -60
  158. package/packages/cli/src/utils/project-detector.test.ts +0 -185
  159. package/packages/cli/src/utils/project-detector.ts +0 -44
  160. package/packages/cli/src/utils/version.ts +0 -28
  161. package/packages/cli/src/version.ts +0 -6
  162. package/packages/cli/templates/SAFEWORD.md +0 -776
  163. package/packages/cli/templates/doc-templates/architecture-template.md +0 -136
  164. package/packages/cli/templates/doc-templates/design-doc-template.md +0 -134
  165. package/packages/cli/templates/doc-templates/test-definitions-feature.md +0 -131
  166. package/packages/cli/templates/doc-templates/ticket-template.md +0 -82
  167. package/packages/cli/templates/doc-templates/user-stories-template.md +0 -92
  168. package/packages/cli/templates/guides/architecture-guide.md +0 -423
  169. package/packages/cli/templates/guides/code-philosophy.md +0 -195
  170. package/packages/cli/templates/guides/context-files-guide.md +0 -457
  171. package/packages/cli/templates/guides/data-architecture-guide.md +0 -200
  172. package/packages/cli/templates/guides/design-doc-guide.md +0 -171
  173. package/packages/cli/templates/guides/learning-extraction.md +0 -552
  174. package/packages/cli/templates/guides/llm-instruction-design.md +0 -248
  175. package/packages/cli/templates/guides/llm-prompting.md +0 -102
  176. package/packages/cli/templates/guides/tdd-best-practices.md +0 -615
  177. package/packages/cli/templates/guides/test-definitions-guide.md +0 -334
  178. package/packages/cli/templates/guides/testing-methodology.md +0 -618
  179. package/packages/cli/templates/guides/user-story-guide.md +0 -256
  180. package/packages/cli/templates/guides/zombie-process-cleanup.md +0 -219
  181. package/packages/cli/templates/hooks/agents-md-check.sh +0 -27
  182. package/packages/cli/templates/hooks/post-tool.sh +0 -4
  183. package/packages/cli/templates/hooks/pre-commit.sh +0 -10
  184. package/packages/cli/templates/prompts/arch-review.md +0 -43
  185. package/packages/cli/templates/prompts/quality-review.md +0 -10
  186. package/packages/cli/templates/skills/safeword-quality-reviewer/SKILL.md +0 -207
  187. package/packages/cli/tests/commands/check.test.ts +0 -129
  188. package/packages/cli/tests/commands/cli.test.ts +0 -89
  189. package/packages/cli/tests/commands/diff.test.ts +0 -115
  190. package/packages/cli/tests/commands/reset.test.ts +0 -310
  191. package/packages/cli/tests/commands/self-healing.test.ts +0 -170
  192. package/packages/cli/tests/commands/setup-blocking.test.ts +0 -71
  193. package/packages/cli/tests/commands/setup-core.test.ts +0 -135
  194. package/packages/cli/tests/commands/setup-git.test.ts +0 -139
  195. package/packages/cli/tests/commands/setup-hooks.test.ts +0 -334
  196. package/packages/cli/tests/commands/setup-linting.test.ts +0 -189
  197. package/packages/cli/tests/commands/setup-noninteractive.test.ts +0 -80
  198. package/packages/cli/tests/commands/setup-templates.test.ts +0 -181
  199. package/packages/cli/tests/commands/upgrade.test.ts +0 -215
  200. package/packages/cli/tests/helpers.ts +0 -243
  201. package/packages/cli/tests/npm-package.test.ts +0 -83
  202. package/packages/cli/tests/technical-constraints.test.ts +0 -96
  203. package/packages/cli/tsconfig.json +0 -25
  204. package/packages/cli/tsup.config.ts +0 -11
  205. package/packages/cli/vitest.config.ts +0 -23
  206. package/promptfoo.yaml +0 -3270
  207. /package/{framework → templates}/SAFEWORD.md +0 -0
  208. /package/{packages/cli/templates → templates}/commands/arch-review.md +0 -0
  209. /package/{packages/cli/templates → templates}/commands/lint.md +0 -0
  210. /package/{packages/cli/templates → templates}/commands/quality-review.md +0 -0
  211. /package/{framework/templates → templates/doc-templates}/architecture-template.md +0 -0
  212. /package/{framework/templates → templates/doc-templates}/design-doc-template.md +0 -0
  213. /package/{framework/templates → templates/doc-templates}/test-definitions-feature.md +0 -0
  214. /package/{framework/templates → templates/doc-templates}/ticket-template.md +0 -0
  215. /package/{framework/templates → templates/doc-templates}/user-stories-template.md +0 -0
  216. /package/{framework → templates}/guides/architecture-guide.md +0 -0
  217. /package/{framework → templates}/guides/code-philosophy.md +0 -0
  218. /package/{framework → templates}/guides/context-files-guide.md +0 -0
  219. /package/{framework → templates}/guides/data-architecture-guide.md +0 -0
  220. /package/{framework → templates}/guides/design-doc-guide.md +0 -0
  221. /package/{framework → templates}/guides/learning-extraction.md +0 -0
  222. /package/{framework → templates}/guides/llm-instruction-design.md +0 -0
  223. /package/{framework → templates}/guides/llm-prompting.md +0 -0
  224. /package/{framework → templates}/guides/tdd-best-practices.md +0 -0
  225. /package/{framework → templates}/guides/test-definitions-guide.md +0 -0
  226. /package/{framework → templates}/guides/testing-methodology.md +0 -0
  227. /package/{framework → templates}/guides/user-story-guide.md +0 -0
  228. /package/{framework → templates}/guides/zombie-process-cleanup.md +0 -0
  229. /package/{packages/cli/templates → templates}/hooks/inject-timestamp.sh +0 -0
  230. /package/{packages/cli/templates → templates}/lib/common.sh +0 -0
  231. /package/{packages/cli/templates → templates}/lib/jq-fallback.sh +0 -0
  232. /package/{packages/cli/templates → templates}/markdownlint.jsonc +0 -0
  233. /package/{framework → templates}/prompts/arch-review.md +0 -0
  234. /package/{framework → templates}/prompts/quality-review.md +0 -0
  235. /package/{framework/skills/quality-reviewer → templates/skills/safeword-quality-reviewer}/SKILL.md +0 -0
@@ -1,545 +0,0 @@
1
- # MCP Servers for Quality Automation: Analysis
2
-
3
- **Context**: Evaluating whether MCP servers are better than Skills/Hooks for "double check and critique" automation
4
-
5
- **User's current MCP config**:
6
-
7
- ```json
8
- {
9
- "mcp": {
10
- "context7": "allow",
11
- "playwright": "allow",
12
- "fetch": "allow",
13
- "websearch": "allow"
14
- }
15
- }
16
- ```
17
-
18
- ---
19
-
20
- ## What Are MCP Servers?
21
-
22
- **MCP (Model Context Protocol)** = Open standard for connecting Claude Code to **external tools, APIs, and data sources**
23
-
24
- **Three types**:
25
-
26
- 1. **HTTP servers** - Remote cloud services (recommended)
27
- 2. **SSE servers** - Server-Sent Events (deprecated)
28
- 3. **Stdio servers** - Local processes on your machine
29
-
30
- **Key characteristic**: MCP servers provide access to **EXTERNAL systems** (GitHub, databases, APIs, linting tools)
31
-
32
- ---
33
-
34
- ## MCP vs Skills vs Hooks vs Subagents
35
-
36
- | Feature | MCP Servers | Skills | Hooks | Subagents |
37
- | ---------------- | --------------------------- | ----------------------- | -------------------- | ---------------- |
38
- | **Purpose** | External integrations | Internal automation | Event-driven checks | Delegated tasks |
39
- | **Examples** | GitHub, ESLint, databases | Quality reviewer | Post-code validation | Long searches |
40
- | **Location** | External services/processes | Claude's logic | Shell scripts | Separate context |
41
- | **Intelligence** | Depends (can use LLMs) | Full AI (Claude) | Scripted | Full AI (Claude) |
42
- | **Speed** | Variable (network/process) | Fast | Very fast | Slow |
43
- | **When invoked** | Explicit or auto | Auto (model-invoked) | Event-driven | Explicit or auto |
44
- | **Best for** | External tool integration | Internal quality checks | Deterministic gates | Complex analysis |
45
-
46
- ---
47
-
48
- ## Available MCP Servers for Code Quality
49
-
50
- ### 1. praneybehl/code-review-mcp
51
-
52
- **What**: Code review using OpenAI, Google Gemini, or Anthropic models
53
- **How**: Analyzes git diffs (staged changes, HEAD, branches)
54
- **Use case**: "Review my staged changes before committing"
55
-
56
- **Installation**:
57
-
58
- ```bash
59
- claude mcp add code-review [url]
60
- ```
61
-
62
- **Usage in Claude Code**:
63
-
64
- ```
65
- User: "Review my staged changes for code quality issues"
66
- Claude: [Uses code-review MCP tool to analyze git diff]
67
- Claude: [Returns review from external LLM]
68
- ```
69
-
70
- **Strengths**:
71
-
72
- - ✅ Uses multiple LLM models (not just Claude)
73
- - ✅ Focused on git diffs (pre-commit reviews)
74
- - ✅ External analysis (second opinion)
75
-
76
- **Weaknesses**:
77
-
78
- - ❌ Requires external service/API keys
79
- - ❌ Network latency (API calls)
80
- - ❌ Cost (external LLM calls)
81
- - ❌ Less context (doesn't see full conversation)
82
-
83
- ---
84
-
85
- ### 2. MCP Server Analyzer (Python)
86
-
87
- **What**: RUFF linting + VULTURE dead code detection
88
- **How**: Runs analysis tools on Python code
89
- **Use case**: "Lint this Python file and find dead code"
90
-
91
- **Strengths**:
92
-
93
- - ✅ Deterministic (actual linter, not AI opinion)
94
- - ✅ Fast (local tools)
95
- - ✅ Standard Python tooling
96
-
97
- **Weaknesses**:
98
-
99
- - ❌ Python-only
100
- - ❌ Requires installation/setup
101
- - ❌ Limited to linting (doesn't evaluate architecture, elegance)
102
-
103
- ---
104
-
105
- ### 3. clj-kondo MCP Server
106
-
107
- **What**: Clojure/ClojureScript linting
108
- **How**: Runs clj-kondo linter
109
- **Use case**: Clojure-specific linting
110
-
111
- **Relevance**: ❌ Not relevant (you're not using Clojure)
112
-
113
- ---
114
-
115
- ### 4. Claude-Codex MCP Server
116
-
117
- **What**: Granular control over code operations, quality checks, CI/CD
118
- **How**: Requires external Codex CLI
119
- **Use case**: Advanced code generation and quality workflows
120
-
121
- **Weaknesses**:
122
-
123
- - ❌ Requires external CLI installation
124
- - ❌ More complex setup
125
- - ❌ Unclear documentation on quality check capabilities
126
-
127
- ---
128
-
129
- ## MCP Servers You Currently Have
130
-
131
- **From your settings.json**:
132
-
133
- ### context7
134
-
135
- **Purpose**: Unknown (likely context management)
136
- **Relevance**: Unknown
137
-
138
- ### playwright
139
-
140
- **Purpose**: Browser automation/testing
141
- **Relevance**: ✅ Could be used for E2E test automation
142
- **Usage**: "Run Playwright tests and show me failures"
143
-
144
- ### fetch
145
-
146
- **Purpose**: HTTP requests (likely WebFetch alternative)
147
- **Relevance**: ✅ Useful for looking up latest docs
148
- **Current**: Already using WebFetch tool for doc lookups
149
-
150
- ### websearch
151
-
152
- **Purpose**: Web search capabilities
153
- **Relevance**: ✅ Useful for looking up latest best practices
154
- **Current**: Already using WebSearch tool for research
155
-
156
- ---
157
-
158
- ## Should You Use MCP Servers for Quality Automation?
159
-
160
- ### The Core Question
161
-
162
- **Your "double check and critique" workflow needs**:
163
-
164
- 1. ✅ Evaluate code for correctness, elegance, standards
165
- 2. ✅ Check latest documentation for libraries used
166
- 3. ✅ Assess for bloat, edge cases, error handling
167
- 4. ✅ Provide structured feedback (PROCEED / REVISE / USER INPUT)
168
- 5. ✅ Access conversation context (requirements, templates, guides)
169
-
170
- ### Comparison: MCP Servers vs Skills
171
-
172
- | Requirement | MCP Servers | Skills | Winner |
173
- | ------------------------ | ------------------------------- | ------------------------------------- | ------ |
174
- | **Correctness check** | ⚠️ External LLM opinion | ✅ Claude evaluates with full context | Skills |
175
- | **Elegance check** | ❌ Hard to automate externally | ✅ Claude understands your style | Skills |
176
- | **Standards check** | ⚠️ Need external config | ✅ Claude reads CLAUDE.md | Skills |
177
- | **Latest docs lookup** | ✅ Can integrate doc APIs | ✅ WebFetch already does this | Tie |
178
- | **Conversation context** | ❌ MCP servers don't have it | ✅ Skills run in same context | Skills |
179
- | **Speed** | ⚠️ Network latency | ✅ Fast (in-context) | Skills |
180
- | **Cost** | ⚠️ External API costs | ✅ Included in Claude Code | Skills |
181
- | **Setup complexity** | ❌ Install servers, config APIs | ✅ Just create SKILL.md | Skills |
182
-
183
- ---
184
-
185
- ## When to Use MCP Servers
186
-
187
- ### ✅ Use MCP Servers When:
188
-
189
- 1. **Integrating with external systems**:
190
- - "Review my GitHub PR and suggest improvements"
191
- - "Check Sentry for errors in the last 24 hours"
192
- - "Query our database for user analytics"
193
-
194
- 2. **Running external linters/tools**:
195
- - "Run ESLint on this file" (via ESLint MCP server)
196
- - "Check Python code with RUFF" (via Analyzer MCP server)
197
- - "Run security scan" (via Socket MCP server)
198
-
199
- 3. **Need second opinion from different LLM**:
200
- - "Get GPT-4's opinion on this architecture"
201
- - "Compare Gemini's vs Claude's code review"
202
-
203
- 4. **Accessing proprietary tools**:
204
- - Your company's internal linter
205
- - Custom compliance checker
206
- - Domain-specific analyzer
207
-
208
- ---
209
-
210
- ### ❌ Don't Use MCP Servers When:
211
-
212
- 1. **Claude can do it internally**:
213
- - ❌ Code quality evaluation (Claude is expert)
214
- - ❌ Reading project files (Read tool)
215
- - ❌ Searching codebase (Grep/Glob tools)
216
- - ❌ Looking up docs (WebFetch tool)
217
-
218
- 2. **Need conversation context**:
219
- - ❌ "Does this match our design doc?" (needs to read design doc)
220
- - ❌ "Is this elegant?" (subjective, needs your style context)
221
- - ❌ "Does it follow our standards?" (needs CLAUDE.md context)
222
-
223
- 3. **Want simplicity**:
224
- - ❌ Skills require 1 file (SKILL.md)
225
- - ❌ MCP servers require installation + config + API keys
226
-
227
- ---
228
-
229
- ## Recommendation: Skills + Hooks (NOT MCP)
230
-
231
- ### For Your "Double Check and Critique" Automation
232
-
233
- **Best approach**: Skills + Hooks (from Phase 2 plan)
234
-
235
- **Why NOT MCP servers**:
236
-
237
- 1. **Claude is the expert** - Your quality criteria (correct, elegant, standards-compliant) require AI judgment WITH conversation context. External MCP servers don't have this context.
238
-
239
- 2. **No external dependencies needed** - You don't need ESLint, RUFF, or other linters. You need Claude to evaluate code quality holistically.
240
-
241
- 3. **Simpler setup** - Skills: Create 1 file. MCP: Install server + configure + manage API keys.
242
-
243
- 4. **Faster** - Skills run in-context (no network latency). MCP servers require network calls or process spawning.
244
-
245
- 5. **Cost-effective** - Skills included in Claude Code. MCP servers may require external LLM API costs.
246
-
247
- 6. **Context-aware** - Skills see your requirements, CLAUDE.md, templates. MCP servers operate independently.
248
-
249
- ---
250
-
251
- ## When MCP Servers WOULD Be Valuable for You
252
-
253
- ### Scenario 1: GitHub PR Reviews
254
-
255
- **Use case**: "Review PR #123 before I approve it"
256
-
257
- **MCP server**: GitHub MCP server
258
- **What it does**: Fetches PR diff, comments, CI status
259
- **Why useful**: Integrates with external GitHub API
260
-
261
- **Implementation**:
262
-
263
- ```bash
264
- claude mcp add github https://github-mcp-server.example.com
265
- ```
266
-
267
- **Usage**:
268
-
269
- ```
270
- You: "Review PR #123 and check if it follows our standards"
271
- Claude: [Uses GitHub MCP to fetch PR]
272
- Claude: [Uses Quality Reviewer Skill to evaluate]
273
- Claude: [Posts review comment via GitHub MCP]
274
- ```
275
-
276
- **Value**: ✅ Automates PR review workflow
277
-
278
- ---
279
-
280
- ### Scenario 2: External Linter Integration
281
-
282
- **Use case**: "Run ESLint and fix all errors"
283
-
284
- **MCP server**: ESLint MCP server (if it exists)
285
- **What it does**: Runs ESLint CLI and returns results
286
- **Why useful**: Deterministic linting (not AI opinion)
287
-
288
- **Implementation**:
289
-
290
- ```bash
291
- claude mcp add eslint [url]
292
- ```
293
-
294
- **Usage**:
295
-
296
- ```
297
- You: "Lint this file and auto-fix issues"
298
- Claude: [Uses ESLint MCP to run linter]
299
- Claude: [Receives errors/warnings]
300
- Claude: [Applies fixes using Edit tool]
301
- ```
302
-
303
- **Value**: ✅ Integrates external linting tools
304
-
305
- **Alternative**: PostToolUse Hook already does this!
306
-
307
- ```yaml
308
- script: |
309
- npm run lint --fix
310
- ```
311
-
312
- **Conclusion**: Hook simpler than MCP for local linters
313
-
314
- ---
315
-
316
- ### Scenario 3: Database Query for Validation
317
-
318
- **Use case**: "Check if this feature will break production queries"
319
-
320
- **MCP server**: PostgreSQL/MySQL MCP server
321
- **What it does**: Connects to database, runs queries
322
- **Why useful**: Validates against real production data
323
-
324
- **Implementation**:
325
-
326
- ```bash
327
- claude mcp add postgres postgres://[connection]
328
- ```
329
-
330
- **Usage**:
331
-
332
- ```
333
- You: "Will this schema change break existing queries?"
334
- Claude: [Uses Postgres MCP to check current schema]
335
- Claude: [Analyzes proposed changes]
336
- Claude: [Tests queries against real schema]
337
- ```
338
-
339
- **Value**: ✅ Validates against live production environment
340
-
341
- ---
342
-
343
- ## Updated Recommendation Matrix
344
-
345
- | Automation Goal | Tool | Why |
346
- | ------------------------------------------------- | ------------------- | ----------------------------- |
347
- | **Quality checks** (correct, elegant, standards) | Skills ✓✓✓ | Needs context, AI judgment |
348
- | **Post-code validation** (lint, test, type check) | Hooks ✓✓✓ | Deterministic, fast, simple |
349
- | **GitHub PR reviews** | MCP (GitHub) ✓✓ | External integration needed |
350
- | **Database validation** | MCP (Postgres) ✓✓ | Production data access |
351
- | **External linter** | Hooks ✓✓✓ or MCP ✓ | Hooks simpler for local tools |
352
- | **Security scanning** | MCP (Socket) ✓✓ | External service |
353
- | **Second LLM opinion** | MCP (code-review) ✓ | Different model perspective |
354
-
355
- ---
356
-
357
- ## Should You Install MCP Servers?
358
-
359
- ### For Phase 2 (Quality Automation): ❌ NO
360
-
361
- **Reasons**:
362
-
363
- 1. Skills + Hooks are simpler and faster
364
- 2. Claude's evaluation > external LLM without context
365
- 3. No external dependencies needed
366
- 4. Lower cost (no API calls)
367
-
368
- ### For Future (PR Reviews, External Tools): ⚠️ MAYBE
369
-
370
- **Consider MCP servers for**:
371
-
372
- - ✅ GitHub PR automation (if you do many PRs)
373
- - ✅ Production database validation (if needed)
374
- - ✅ Company-specific internal tools
375
- - ✅ Advanced Playwright test orchestration
376
-
377
- **Don't bother with MCP for**:
378
-
379
- - ❌ Local linting (use Hooks with npm scripts)
380
- - ❌ Quality evaluation (use Skills)
381
- - ❌ Post-code checks (use Hooks)
382
-
383
- ---
384
-
385
- ## Your Current MCP Servers: Analysis
386
-
387
- **What you have**:
388
-
389
- ```json
390
- {
391
- "context7": "allow", // Unknown - possibly context management
392
- "playwright": "allow", // Browser automation
393
- "fetch": "allow", // HTTP requests (redundant with WebFetch?)
394
- "websearch": "allow" // Web search (redundant with WebSearch?)
395
- }
396
- ```
397
-
398
- **Questions**:
399
-
400
- 1. **What is context7?** - Not standard MCP server, might be custom
401
- 2. **Are fetch/websearch redundant?** - Claude Code has WebFetch and WebSearch tools built-in
402
- 3. **Is playwright being used?** - Useful for E2E testing automation
403
-
404
- **Recommendation**: Keep as-is for now, these aren't hurting anything
405
-
406
- ---
407
-
408
- ## Comparison: Code Review MCP Server vs Quality Reviewer Skill
409
-
410
- ### External Code Review MCP (praneybehl/code-review-mcp)
411
-
412
- **Workflow**:
413
-
414
- ```
415
- 1. User: "Review my changes"
416
- 2. Claude: [Calls MCP server]
417
- 3. MCP server: [Fetches git diff]
418
- 4. MCP server: [Sends to GPT-4/Gemini/Claude API]
419
- 5. External LLM: [Reviews code]
420
- 6. MCP server: [Returns review]
421
- 7. Claude: [Shows results to user]
422
- ```
423
-
424
- **Pros**:
425
-
426
- - ✅ Second opinion from different LLM
427
- - ✅ Can use GPT-4 Turbo, Gemini Pro, etc.
428
- - ✅ Specialized for git diffs
429
-
430
- **Cons**:
431
-
432
- - ❌ External API costs ($$$)
433
- - ❌ Network latency (slower)
434
- - ❌ No conversation context (doesn't see your requirements)
435
- - ❌ Complex setup (API keys, configuration)
436
- - ❌ Security concern (code sent to external service)
437
-
438
- ---
439
-
440
- ### Quality Reviewer Skill (Internal)
441
-
442
- **Workflow**:
443
-
444
- ```
445
- 1. Claude proposes code change
446
- 2. Quality Reviewer Skill: [Activates automatically]
447
- 3. Skill: [Reads CLAUDE.md, design doc, templates]
448
- 4. Skill: [Evaluates with full context]
449
- 5. Skill: [Returns PROCEED / REVISE / USER INPUT]
450
- 6. User: "yes"
451
- 7. Claude: [Implements with confidence]
452
- ```
453
-
454
- **Pros**:
455
-
456
- - ✅ Full conversation context (knows your requirements)
457
- - ✅ Fast (in-context, no API calls)
458
- - ✅ Free (included in Claude Code)
459
- - ✅ Simple setup (one SKILL.md file)
460
- - ✅ Secure (no external services)
461
- - ✅ Reads your project standards (CLAUDE.md)
462
-
463
- **Cons**:
464
-
465
- - ❌ Single perspective (only Claude)
466
- - ❌ Limited to Claude's knowledge
467
-
468
- ---
469
-
470
- ## The Verdict
471
-
472
- **For your use case** (347 "double check and critique" prompts):
473
-
474
- ### Winner: Quality Reviewer Skill ✓✓✓
475
-
476
- **Why**:
477
-
478
- 1. Needs conversation context → Skills have it, MCP servers don't
479
- 2. Evaluating "elegance" → Subjective, needs your style understanding
480
- 3. Checking "standards" → Needs to read CLAUDE.md
481
- 4. Fast iteration → Skills are instant, MCP servers add latency
482
- 5. Cost-effective → Skills included, MCP servers cost $$$ for external LLM calls
483
- 6. Simple setup → 1 file vs install + config + API keys
484
-
485
- ---
486
-
487
- ### When to Add MCP Servers (Future)
488
-
489
- **Only if you need**:
490
-
491
- 1. GitHub PR automation ("Review and comment on PR #456")
492
- 2. External tool integration (company-specific linters)
493
- 3. Database validation (query production schemas)
494
- 4. Second opinion from different LLM model
495
-
496
- **Not needed for**:
497
-
498
- - ❌ Basic quality checks (Skills handle this)
499
- - ❌ Post-code validation (Hooks handle this)
500
- - ❌ Looking up docs (WebFetch handles this)
501
- - ❌ Running npm scripts (Hooks handle this)
502
-
503
- ---
504
-
505
- ## Final Recommendation
506
-
507
- ### Phase 2 Plan (UNCHANGED)
508
-
509
- **Phase 2A**: Quality Reviewer Skill ⭐
510
-
511
- - Create `~/.claude/skills/quality-reviewer/SKILL.md`
512
- - Handles all 347 quality check prompts automatically
513
- - No MCP servers needed
514
-
515
- **Phase 2B**: PostToolUse Hook ⭐
516
-
517
- - Create `~/.claude/hooks/post-code-validation.yaml`
518
- - Runs linters/tests after code changes
519
- - No MCP servers needed
520
-
521
- ### MCP Servers (FUTURE - Optional)
522
-
523
- **Consider adding** (Phase 3+):
524
-
525
- - GitHub MCP server (for PR automation)
526
- - Database MCP server (if validating against production)
527
-
528
- **Don't add**:
529
-
530
- - Code review MCP (Skills better for your use case)
531
- - Linting MCP (Hooks simpler)
532
-
533
- ---
534
-
535
- ## Summary
536
-
537
- | Question | Answer |
538
- | ------------------------------------------ | ----------------------------------------- |
539
- | **Are MCP servers relevant?** | Yes, but not for Phase 2 |
540
- | **Should we use MCP for quality checks?** | No - Skills are better |
541
- | **When are MCP servers useful?** | External integrations (GitHub, databases) |
542
- | **Do we need to install MCP servers now?** | No - Skills + Hooks sufficient |
543
- | **What about your current MCP config?** | Keep as-is, not interfering |
544
-
545
- **Bottom line**: MCP servers are powerful for external integrations, but Skills + Hooks are the right tools for internal quality automation. Stick with Phase 2 plan: Skills + Hooks.