sinapse-ai 7.1.0 → 7.3.0

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 (70) hide show
  1. package/.sinapse-ai/data/entity-registry.yaml +777 -881
  2. package/.sinapse-ai/data/registry-update-log.jsonl +2 -0
  3. package/.sinapse-ai/development/agents/sinapse-orqx.md +599 -443
  4. package/.sinapse-ai/install-manifest.yaml +6 -6
  5. package/bin/cli.js +116 -75
  6. package/package.json +2 -1
  7. package/packages/installer/src/wizard/i18n.js +2 -2
  8. package/packages/installer/src/wizard/index.js +14 -0
  9. package/packages/installer/src/wizard/questions.js +3 -3
  10. package/sinapse/agents/sinapse-orqx.md +32 -14
  11. package/squads/claude-code-mastery/CHANGELOG.md +22 -0
  12. package/squads/claude-code-mastery/README.md +146 -0
  13. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +554 -0
  14. package/squads/claude-code-mastery/agents/config-engineer.md +865 -0
  15. package/squads/claude-code-mastery/agents/hooks-architect.md +1013 -0
  16. package/squads/claude-code-mastery/agents/mcp-integrator.md +791 -0
  17. package/squads/claude-code-mastery/agents/project-integrator.md +1196 -0
  18. package/squads/claude-code-mastery/agents/roadmap-sentinel.md +931 -0
  19. package/squads/claude-code-mastery/agents/skill-craftsman.md +1250 -0
  20. package/squads/claude-code-mastery/agents/swarm-orqx.md +1008 -0
  21. package/squads/claude-code-mastery/checklists/agent-team-readiness-checklist.md +88 -0
  22. package/squads/claude-code-mastery/checklists/brownfield-readiness-checklist.md +91 -0
  23. package/squads/claude-code-mastery/checklists/change-checklist.md +75 -0
  24. package/squads/claude-code-mastery/checklists/context-rot-checklist.md +114 -0
  25. package/squads/claude-code-mastery/checklists/integration-audit-checklist.md +104 -0
  26. package/squads/claude-code-mastery/checklists/multi-agent-review-checklist.md +77 -0
  27. package/squads/claude-code-mastery/checklists/pre-push-checklist.md +79 -0
  28. package/squads/claude-code-mastery/data/ci-cd-patterns.yaml +412 -0
  29. package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +314 -0
  30. package/squads/claude-code-mastery/data/hook-patterns.yaml +512 -0
  31. package/squads/claude-code-mastery/data/mcp-integration-catalog.yaml +323 -0
  32. package/squads/claude-code-mastery/data/project-type-signatures.yaml +335 -0
  33. package/squads/claude-code-mastery/scripts/validate-setup.js +163 -0
  34. package/squads/claude-code-mastery/squad.yaml +205 -0
  35. package/squads/claude-code-mastery/tasks/audit-integration.md +219 -0
  36. package/squads/claude-code-mastery/tasks/audit-settings.md +206 -0
  37. package/squads/claude-code-mastery/tasks/audit-setup.md +225 -0
  38. package/squads/claude-code-mastery/tasks/brownfield-setup.md +322 -0
  39. package/squads/claude-code-mastery/tasks/ci-cd-setup.md +335 -0
  40. package/squads/claude-code-mastery/tasks/claude-md-engineer.md +334 -0
  41. package/squads/claude-code-mastery/tasks/configure-claude-code.md +215 -0
  42. package/squads/claude-code-mastery/tasks/context-rot-audit.md +329 -0
  43. package/squads/claude-code-mastery/tasks/create-agent-definition.md +278 -0
  44. package/squads/claude-code-mastery/tasks/create-rules.md +206 -0
  45. package/squads/claude-code-mastery/tasks/create-team-topology.md +258 -0
  46. package/squads/claude-code-mastery/tasks/diagnose.md +166 -0
  47. package/squads/claude-code-mastery/tasks/enterprise-config.md +346 -0
  48. package/squads/claude-code-mastery/tasks/hook-designer.md +272 -0
  49. package/squads/claude-code-mastery/tasks/integrate-project.md +304 -0
  50. package/squads/claude-code-mastery/tasks/mcp-integration-plan.md +229 -0
  51. package/squads/claude-code-mastery/tasks/mcp-workflow.md +285 -0
  52. package/squads/claude-code-mastery/tasks/multi-project-setup.md +228 -0
  53. package/squads/claude-code-mastery/tasks/optimize-context.md +217 -0
  54. package/squads/claude-code-mastery/tasks/optimize-workflow.md +226 -0
  55. package/squads/claude-code-mastery/tasks/parallel-decomposition.md +293 -0
  56. package/squads/claude-code-mastery/tasks/permission-strategy.md +266 -0
  57. package/squads/claude-code-mastery/tasks/sandbox-setup.md +279 -0
  58. package/squads/claude-code-mastery/tasks/setup-repository.md +230 -0
  59. package/squads/claude-code-mastery/tasks/setup-wizard.md +236 -0
  60. package/squads/claude-code-mastery/tasks/worktree-strategy.md +320 -0
  61. package/squads/claude-code-mastery/templates/claude-md-fullstack.md +147 -0
  62. package/squads/claude-code-mastery/templates/claude-md-library.md +175 -0
  63. package/squads/claude-code-mastery/templates/claude-md-microservices.md +186 -0
  64. package/squads/claude-code-mastery/templates/claude-md-mobile.md +198 -0
  65. package/squads/claude-code-mastery/templates/claude-md-monorepo.md +139 -0
  66. package/squads/claude-code-mastery/templates/github-actions-claude-ci.yml +348 -0
  67. package/squads/claude-code-mastery/templates/github-actions-claude-review.yml +179 -0
  68. package/squads/claude-code-mastery/workflows/wf-audit-complete.yaml +140 -0
  69. package/squads/claude-code-mastery/workflows/wf-knowledge-update.yaml +165 -0
  70. package/squads/claude-code-mastery/workflows/wf-project-setup.yaml +192 -0
@@ -0,0 +1,163 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * validate-setup.js
5
+ * Quick validation of Claude Code setup in a project.
6
+ * Used by audit-setup.md task.
7
+ *
8
+ * Usage: node squads/claude-code-mastery/scripts/validate-setup.js [project-path]
9
+ */
10
+
11
+ const fs = require('fs');
12
+ const path = require('path');
13
+
14
+ const projectPath = process.argv[2] || process.cwd();
15
+
16
+ const checks = [
17
+ {
18
+ name: '.claude/ directory exists',
19
+ weight: 15,
20
+ check: () => fs.existsSync(path.join(projectPath, '.claude')),
21
+ },
22
+ {
23
+ name: 'CLAUDE.md exists',
24
+ weight: 15,
25
+ check: () =>
26
+ fs.existsSync(path.join(projectPath, 'CLAUDE.md')) ||
27
+ fs.existsSync(path.join(projectPath, '.claude', 'CLAUDE.md')),
28
+ },
29
+ {
30
+ name: 'settings.json exists',
31
+ weight: 15,
32
+ check: () =>
33
+ fs.existsSync(path.join(projectPath, '.claude', 'settings.json')),
34
+ },
35
+ {
36
+ name: 'settings.json has deny rules',
37
+ weight: 10,
38
+ check: () => {
39
+ const settingsPath = path.join(projectPath, '.claude', 'settings.json');
40
+ if (!fs.existsSync(settingsPath)) return false;
41
+ try {
42
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
43
+ const deny = settings.permissions?.deny || [];
44
+ return deny.length > 0;
45
+ } catch {
46
+ return false;
47
+ }
48
+ },
49
+ },
50
+ {
51
+ name: '.claude/rules/ directory exists',
52
+ weight: 10,
53
+ check: () => fs.existsSync(path.join(projectPath, '.claude', 'rules')),
54
+ },
55
+ {
56
+ name: 'At least 1 rule file',
57
+ weight: 5,
58
+ check: () => {
59
+ const rulesDir = path.join(projectPath, '.claude', 'rules');
60
+ if (!fs.existsSync(rulesDir)) return false;
61
+ const files = fs.readdirSync(rulesDir).filter((f) => f.endsWith('.md'));
62
+ return files.length > 0;
63
+ },
64
+ },
65
+ {
66
+ name: 'Hooks configured',
67
+ weight: 10,
68
+ check: () => {
69
+ const settingsPath = path.join(projectPath, '.claude', 'settings.json');
70
+ if (!fs.existsSync(settingsPath)) return false;
71
+ try {
72
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
73
+ return settings.hooks && Object.keys(settings.hooks).length > 0;
74
+ } catch {
75
+ return false;
76
+ }
77
+ },
78
+ },
79
+ {
80
+ name: 'MCP servers configured',
81
+ weight: 10,
82
+ check: () => {
83
+ const settingsPath = path.join(projectPath, '.claude', 'settings.json');
84
+ if (!fs.existsSync(settingsPath)) return false;
85
+ try {
86
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
87
+ return (
88
+ settings.mcpServers && Object.keys(settings.mcpServers).length > 0
89
+ );
90
+ } catch {
91
+ return false;
92
+ }
93
+ },
94
+ },
95
+ {
96
+ name: 'CLAUDE.md under 200 lines',
97
+ weight: 5,
98
+ check: () => {
99
+ const claudeMdPath =
100
+ fs.existsSync(path.join(projectPath, '.claude', 'CLAUDE.md'))
101
+ ? path.join(projectPath, '.claude', 'CLAUDE.md')
102
+ : path.join(projectPath, 'CLAUDE.md');
103
+ if (!fs.existsSync(claudeMdPath)) return false;
104
+ const lines = fs.readFileSync(claudeMdPath, 'utf8').split('\n').length;
105
+ return lines <= 200;
106
+ },
107
+ },
108
+ {
109
+ name: '.env in deny rules',
110
+ weight: 5,
111
+ check: () => {
112
+ const settingsPath = path.join(projectPath, '.claude', 'settings.json');
113
+ if (!fs.existsSync(settingsPath)) return false;
114
+ try {
115
+ const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
116
+ const deny = settings.permissions?.deny || [];
117
+ return deny.some(
118
+ (rule) =>
119
+ typeof rule === 'string'
120
+ ? rule.includes('.env')
121
+ : rule.pattern && rule.pattern.includes('.env')
122
+ );
123
+ } catch {
124
+ return false;
125
+ }
126
+ },
127
+ },
128
+ ];
129
+
130
+ let totalScore = 0;
131
+ let maxScore = 0;
132
+
133
+ console.log(`\nClaude Code Setup Validation`);
134
+ console.log(`Project: ${projectPath}`);
135
+ console.log(`${'='.repeat(60)}\n`);
136
+
137
+ for (const check of checks) {
138
+ const passed = check.check();
139
+ const icon = passed ? 'PASS' : 'FAIL';
140
+ const score = passed ? check.weight : 0;
141
+ totalScore += score;
142
+ maxScore += check.weight;
143
+ console.log(` [${icon}] ${check.name} (${score}/${check.weight})`);
144
+ }
145
+
146
+ const percentage = Math.round((totalScore / maxScore) * 100);
147
+ const grade =
148
+ percentage >= 90
149
+ ? 'A'
150
+ : percentage >= 80
151
+ ? 'B'
152
+ : percentage >= 70
153
+ ? 'C'
154
+ : percentage >= 60
155
+ ? 'D'
156
+ : 'F';
157
+
158
+ console.log(`\n${'='.repeat(60)}`);
159
+ console.log(` Score: ${totalScore}/${maxScore} (${percentage}%)`);
160
+ console.log(` Grade: ${grade}`);
161
+ console.log(`${'='.repeat(60)}\n`);
162
+
163
+ process.exit(percentage >= 70 ? 0 : 1);
@@ -0,0 +1,205 @@
1
+ # ═══════════════════════════════════════════════════════════════════════════════
2
+ # Squad: Claude Code Mastery
3
+ # Domain: Claude Code — Full Spectrum Expertise
4
+ # Created: 2026-03-01
5
+ # Version: 1.0.0
6
+ # ═══════════════════════════════════════════════════════════════════════════════
7
+
8
+ squad:
9
+ name: claude-code-mastery
10
+ display_name: "Claude Code Mastery Squad"
11
+ version: "1.0.0"
12
+ domain: "Claude Code — Full Spectrum Expertise"
13
+ description: |
14
+ Squad especialista em todas as dimensões do Claude Code: hooks, skills,
15
+ subagents, MCP, plugins, agent teams, customização, integração com projetos,
16
+ roadmap tracking, e SINAPSE architecture awareness.
17
+
18
+ philosophy: |
19
+ "Master the tool to master the craft."
20
+ Cada agent é baseado em elite minds reais com frameworks documentados
21
+ no ecossistema Claude Code. O squad cobre desde automação com hooks
22
+ até orquestração multi-agente e engenharia de contexto.
23
+
24
+ keywords:
25
+ - claude-code
26
+ - hooks
27
+ - skills
28
+ - subagents
29
+ - mcp
30
+ - plugins
31
+ - agent-teams
32
+ - customization
33
+ - integration
34
+ - context-engineering
35
+ - roadmap
36
+ - sinapse
37
+
38
+ entry_agent: claude-mastery-chief
39
+ created_by: "squad-creator-pro"
40
+ created_at: "2026-03-01"
41
+
42
+ # ─────────────────────────────────────────────────────────────────────────────
43
+ # TIER ARCHITECTURE
44
+ # ─────────────────────────────────────────────────────────────────────────────
45
+
46
+ tiers:
47
+ tier_0:
48
+ name: "Diagnosis & Routing"
49
+ agents:
50
+ - claude-mastery-chief
51
+ purpose: "Triage requests, route to specialist, maintain squad coherence"
52
+
53
+ tier_1:
54
+ name: "Core Mastery"
55
+ agents:
56
+ - hooks-architect
57
+ - mcp-integrator
58
+ - swarm-orqx
59
+ - config-engineer
60
+ purpose: "Deep expertise in Claude Code feature domains"
61
+
62
+ tier_2:
63
+ name: "Strategic & Context"
64
+ agents:
65
+ - skill-craftsman
66
+ - project-integrator
67
+ - roadmap-sentinel
68
+ purpose: "Cross-cutting expertise: skills, project integration, roadmap awareness"
69
+
70
+ # ─────────────────────────────────────────────────────────────────────────────
71
+ # AGENT REGISTRY
72
+ # ─────────────────────────────────────────────────────────────────────────────
73
+
74
+ agents:
75
+ claude-mastery-chief:
76
+ file: agents/claude-mastery-chief.md
77
+ tier: 0
78
+ based_on: "Original (Orchestrator)"
79
+ icon: "🧠"
80
+ focus: "Triage, routing, SINAPSE awareness"
81
+
82
+ hooks-architect:
83
+ file: agents/hooks-architect.md
84
+ tier: 1
85
+ based_on: "disler (Hooks Mastery)"
86
+ icon: "🪝"
87
+ focus: "17 hook events, automation pipelines, meta-agent patterns"
88
+
89
+ mcp-integrator:
90
+ file: agents/mcp-integrator.md
91
+ tier: 1
92
+ based_on: "Peter Steinberger (@steipete)"
93
+ icon: "🔌"
94
+ focus: "MCP servers, tool discovery, agent-as-MCP, integration patterns"
95
+
96
+ swarm-orqx:
97
+ file: agents/swarm-orqx.md
98
+ tier: 1
99
+ based_on: "Kieran Klaassen + Reuven Cohen"
100
+ icon: "🐝"
101
+ focus: "Agent Teams, subagents, multi-session coordination, worktrees"
102
+
103
+ config-engineer:
104
+ file: agents/config-engineer.md
105
+ tier: 1
106
+ based_on: "SuperClaude-Org"
107
+ icon: "⚙️"
108
+ focus: "Settings, permissions, CLAUDE.md, rules, managed policies, personas"
109
+
110
+ skill-craftsman:
111
+ file: agents/skill-craftsman.md
112
+ tier: 2
113
+ based_on: "BMAD-CODE-ORG + community"
114
+ icon: "🛠️"
115
+ focus: "Skills, commands, plugins, context engineering, spec-driven dev"
116
+
117
+ project-integrator:
118
+ file: agents/project-integrator.md
119
+ tier: 2
120
+ based_on: "Daniel Miessler (PAI)"
121
+ icon: "📦"
122
+ focus: "Project integration, repository setup, SINAPSE awareness, Unix philosophy"
123
+
124
+ roadmap-sentinel:
125
+ file: agents/roadmap-sentinel.md
126
+ tier: 2
127
+ based_on: "Boris Cherny (philosophy) + Official sources"
128
+ icon: "🔭"
129
+ focus: "Roadmap tracking, changelog monitoring, feature adoption, plan-first"
130
+
131
+ # ─────────────────────────────────────────────────────────────────────────────
132
+ # HANDOFF MATRIX
133
+ # ─────────────────────────────────────────────────────────────────────────────
134
+
135
+ handoffs:
136
+ claude-mastery-chief:
137
+ routes_to: [hooks-architect, mcp-integrator, swarm-orqx, config-engineer, skill-craftsman, project-integrator, roadmap-sentinel]
138
+
139
+ hooks-architect:
140
+ collaborates_with: [config-engineer, skill-craftsman]
141
+ escalates_to: [claude-mastery-chief]
142
+
143
+ mcp-integrator:
144
+ collaborates_with: [hooks-architect, project-integrator]
145
+ escalates_to: [claude-mastery-chief]
146
+
147
+ swarm-orqx:
148
+ collaborates_with: [hooks-architect, config-engineer]
149
+ escalates_to: [claude-mastery-chief]
150
+
151
+ config-engineer:
152
+ collaborates_with: [hooks-architect, skill-craftsman, project-integrator]
153
+ escalates_to: [claude-mastery-chief]
154
+
155
+ skill-craftsman:
156
+ collaborates_with: [hooks-architect, config-engineer]
157
+ escalates_to: [claude-mastery-chief]
158
+
159
+ project-integrator:
160
+ collaborates_with: [config-engineer, mcp-integrator, roadmap-sentinel]
161
+ escalates_to: [claude-mastery-chief]
162
+
163
+ roadmap-sentinel:
164
+ collaborates_with: [project-integrator, claude-mastery-chief]
165
+ escalates_to: [claude-mastery-chief]
166
+
167
+ # ─────────────────────────────────────────────────────────────────────────────
168
+ # CROSS-CUTTING CONCERNS
169
+ # ─────────────────────────────────────────────────────────────────────────────
170
+
171
+ cross_cutting:
172
+ sinapse_awareness:
173
+ description: "ALL agents understand SINAPSE architecture"
174
+ context_files:
175
+ - ".claude/CLAUDE.md"
176
+ - ".sinapse-ai/core-config.yaml"
177
+ - ".sinapse-ai/data/entity-registry.yaml"
178
+
179
+ update_knowledge:
180
+ description: "Command to refresh from Claude Code changelog and roadmap"
181
+ command: "*update-knowledge"
182
+ sources:
183
+ - "https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md"
184
+ - "https://code.claude.com/docs/en/overview"
185
+ - "https://github.com/anthropics/claude-code/releases"
186
+
187
+ quality_standards:
188
+ min_score: 7.0
189
+ smoke_tests: 3
190
+ voice_dna_required: true
191
+ thinking_dna_required: true
192
+
193
+ # ─────────────────────────────────────────────────────────────────────────────
194
+ # SETTINGS
195
+ # ─────────────────────────────────────────────────────────────────────────────
196
+
197
+ settings:
198
+ greeting:
199
+ level: archetypal
200
+ show_project_status: true
201
+ show_sinapse_context: true
202
+
203
+ activation:
204
+ prefix: "claude-code-mastery"
205
+ example: "@claude-code-mastery:hooks-architect"
@@ -0,0 +1,219 @@
1
+ # Task: Audit Existing Claude Code Integration
2
+
3
+ **Task ID:** CCM-PI-002
4
+ **Version:** 1.0.0
5
+ **Command:** `*audit-integration`
6
+ **Agent:** Conduit (project-integrator)
7
+ **Purpose:** Audit an existing Claude Code integration in a project, checking completeness, consistency, health, and generating an actionable score with recommendations.
8
+
9
+ ---
10
+
11
+ ## Overview
12
+
13
+ ```
14
+ Target Project
15
+ |
16
+ v
17
+ +--------------------+
18
+ | 1. Check .claude/ |
19
+ | Completeness |
20
+ +--------------------+
21
+ |
22
+ v
23
+ +--------------------+
24
+ | 2. Validate Settings|
25
+ | Consistency |
26
+ +--------------------+
27
+ |
28
+ v
29
+ +--------------------+
30
+ | 3. Check Rule |
31
+ | Coverage |
32
+ +--------------------+
33
+ |
34
+ v
35
+ +--------------------+
36
+ | 4. Verify Hook |
37
+ | Health |
38
+ +--------------------+
39
+ |
40
+ v
41
+ +--------------------+
42
+ | 5. Test MCP |
43
+ | Connectivity |
44
+ +--------------------+
45
+ |
46
+ v
47
+ +--------------------+
48
+ | 6. Generate Score |
49
+ | & Recommendations|
50
+ +--------------------+
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Inputs
56
+
57
+ | Field | Type | Source | Required | Validation |
58
+ |-------|------|--------|----------|------------|
59
+ | project_path | string | User or cwd | Yes | Must contain .claude/ directory |
60
+ | deep_scan | boolean | User | No | Default false; true scans all source files for consistency |
61
+
62
+ ---
63
+
64
+ ## Preconditions
65
+
66
+ - `.claude/` directory exists in the target project
67
+ - Read access to all project files
68
+
69
+ ---
70
+
71
+ ## Execution Phases
72
+
73
+ ### Phase 1: Check .claude/ Completeness
74
+
75
+ Scan the `.claude/` directory and check for expected components:
76
+
77
+ | Component | Required | Path | Weight |
78
+ |-----------|----------|------|--------|
79
+ | CLAUDE.md | Yes | `.claude/CLAUDE.md` | 25 |
80
+ | settings.json | Yes | `.claude/settings.json` | 20 |
81
+ | settings.local.json | Recommended | `.claude/settings.local.json` | 5 |
82
+ | rules/ directory | Recommended | `.claude/rules/` | 15 |
83
+ | At least 1 rule file | Recommended | `.claude/rules/*.md` | 10 |
84
+ | commands/ directory | Optional | `.claude/commands/` | 5 |
85
+ | skills/ directory | Optional | `.claude/skills/` | 5 |
86
+
87
+ For each component, record: present/missing, file size, last modified date.
88
+
89
+ ### Phase 2: Validate Settings Consistency
90
+
91
+ Parse `.claude/settings.json` and check:
92
+
93
+ 1. **JSON validity**: parseable without errors
94
+ 2. **Permission coherence**: no contradictions between allow and deny rules
95
+ 3. **Path accuracy**: all referenced paths in deny/allow actually exist
96
+ 4. **Dangerous gaps**: common dangerous commands not explicitly denied
97
+ - `rm -rf /`, `git push --force`, `DROP TABLE`, `sudo`
98
+ 5. **Overly permissive**: check for `bash("*")` or wildcard allows
99
+ 6. **SINAPSE compatibility**: if SINAPSE project, verify L1/L2 protection rules present
100
+
101
+ Flag each finding as: PASS, WARN, FAIL.
102
+
103
+ ### Phase 3: Check Rule Coverage
104
+
105
+ For each rule file in `.claude/rules/`:
106
+
107
+ 1. Validate frontmatter format (paths: array present if contextual)
108
+ 2. Check rule content is non-empty and actionable
109
+ 3. Verify path globs in frontmatter match actual project files
110
+ 4. Identify coverage gaps:
111
+ - Source code edited but no coding-standards rule
112
+ - Tests present but no testing rule
113
+ - CI/CD files present but no workflow rule
114
+ - Database files present but no database rule
115
+
116
+ ### Phase 4: Verify Hook Health
117
+
118
+ Check hook configuration and health:
119
+
120
+ 1. **Registration**: Are hooks registered in settings.json or ~/.claude/settings.json?
121
+ 2. **File existence**: Do referenced hook scripts exist?
122
+ 3. **Syntax**: Can hook scripts be parsed without errors?
123
+ 4. **Permissions**: Are hook scripts executable?
124
+ 5. **Timeout risk**: Do hooks have operations that could hang (network calls without timeout)?
125
+
126
+ For each hook, classify as: HEALTHY, DEGRADED, BROKEN, MISSING.
127
+
128
+ ### Phase 5: Test MCP Connectivity
129
+
130
+ If MCP servers are configured:
131
+
132
+ 1. List all configured MCP servers from settings
133
+ 2. For each server, check:
134
+ - Configuration is complete (command, args, env present)
135
+ - Binary/command exists on PATH
136
+ - No obvious credential issues (empty env vars)
137
+ 3. Categorize: CONNECTED, CONFIGURED, MISCONFIGURED, MISSING
138
+
139
+ If no MCP configured, note as N/A with recommendation.
140
+
141
+ ### Phase 6: Generate Score and Recommendations
142
+
143
+ Calculate integration health score (0-100):
144
+
145
+ ```
146
+ Score = sum(component_weight * component_score) / max_possible_score * 100
147
+
148
+ Where component_score:
149
+ PASS = 1.0
150
+ WARN = 0.5
151
+ FAIL = 0.0
152
+ N/A = excluded from calculation
153
+ ```
154
+
155
+ **Grade thresholds:**
156
+ | Score | Grade | Label |
157
+ |-------|-------|-------|
158
+ | 90-100 | A | Excellent integration |
159
+ | 75-89 | B | Good, minor improvements possible |
160
+ | 60-74 | C | Functional, notable gaps |
161
+ | 40-59 | D | Significant issues, recommend remediation |
162
+ | 0-39 | F | Critical gaps, integration not effective |
163
+
164
+ ---
165
+
166
+ ## Output Format
167
+
168
+ ```markdown
169
+ ## Claude Code Integration Audit
170
+
171
+ **Project:** {project_path}
172
+ **Date:** {YYYY-MM-DD}
173
+ **Score:** {score}/100 (Grade: {grade})
174
+
175
+ ### Component Status
176
+
177
+ | Component | Status | Details |
178
+ |-----------|--------|---------|
179
+ | CLAUDE.md | PASS/WARN/FAIL | {detail} |
180
+ | settings.json | PASS/WARN/FAIL | {detail} |
181
+ | Rules | PASS/WARN/FAIL | {N} files, {coverage}% coverage |
182
+ | Hooks | PASS/WARN/FAIL/N/A | {N} healthy, {N} broken |
183
+ | MCP | PASS/WARN/FAIL/N/A | {N} connected |
184
+
185
+ ### Findings
186
+
187
+ #### Critical (Must Fix)
188
+ 1. {finding} -- {recommendation}
189
+
190
+ #### Warnings (Should Fix)
191
+ 1. {finding} -- {recommendation}
192
+
193
+ #### Info (Nice to Have)
194
+ 1. {finding} -- {recommendation}
195
+
196
+ ### Quick Fixes
197
+
198
+ {Numbered list of commands or actions to fix top issues}
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Veto Conditions
204
+
205
+ - **NEVER** modify any project files during audit -- this is read-only analysis
206
+ - **NEVER** execute hook scripts to test them -- only static analysis
207
+ - **NEVER** attempt MCP connections that could trigger side effects
208
+ - **NEVER** report credentials or secrets found in configuration files
209
+
210
+ ---
211
+
212
+ ## Completion Criteria
213
+
214
+ - [ ] All 6 phases executed
215
+ - [ ] Score calculated with weighted components
216
+ - [ ] Grade assigned from threshold table
217
+ - [ ] Critical findings listed with specific recommendations
218
+ - [ ] Quick fixes provided for top issues
219
+ - [ ] Audit report presented in standard format