bros-harness 0.1.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 (187) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +183 -0
  4. package/SECURITY.md +16 -0
  5. package/assets/agents.manifest.json +55 -0
  6. package/assets/commands.manifest.json +35 -0
  7. package/assets/docs.manifest.json +20 -0
  8. package/assets/import-report.md +25 -0
  9. package/assets/manifest.json +799 -0
  10. package/assets/opencode/agents/README.md +3 -0
  11. package/assets/opencode/agents/bro-build.md +256 -0
  12. package/assets/opencode/agents/bro-design.md +77 -0
  13. package/assets/opencode/agents/bro-docs.md +72 -0
  14. package/assets/opencode/agents/bro-explore.md +143 -0
  15. package/assets/opencode/agents/bro-ops.md +195 -0
  16. package/assets/opencode/agents/bro-shield.md +77 -0
  17. package/assets/opencode/agents/bro-test.md +204 -0
  18. package/assets/opencode/agents/bro-ui.md +135 -0
  19. package/assets/opencode/agents/mighty-bro.md +252 -0
  20. package/assets/opencode/commands/README.md +3 -0
  21. package/assets/opencode/commands/bros-assemble.md +32 -0
  22. package/assets/opencode/commands/bros-build.md +58 -0
  23. package/assets/opencode/commands/bros-plan.md +83 -0
  24. package/assets/opencode/commands/bros-review.md +38 -0
  25. package/assets/opencode/commands/bros-status.md +26 -0
  26. package/assets/opencode/docs/README.md +3 -0
  27. package/assets/opencode/docs/bros-builtin-skills.md +63 -0
  28. package/assets/opencode/docs/bros-harness.md +194 -0
  29. package/assets/opencode/skills/README.md +3 -0
  30. package/assets/opencode/skills/agent-architecture-audit/SKILL.md +256 -0
  31. package/assets/opencode/skills/agent-harness-construction/.openskills.json +7 -0
  32. package/assets/opencode/skills/agent-harness-construction/SKILL.md +73 -0
  33. package/assets/opencode/skills/agent-introspection-debugging/.openskills.json +7 -0
  34. package/assets/opencode/skills/agent-introspection-debugging/SKILL.md +153 -0
  35. package/assets/opencode/skills/api-design/.openskills.json +7 -0
  36. package/assets/opencode/skills/api-design/agents/openai.yaml +7 -0
  37. package/assets/opencode/skills/architecture-decision-records/.openskills.json +7 -0
  38. package/assets/opencode/skills/architecture-decision-records/SKILL.md +179 -0
  39. package/assets/opencode/skills/article-writing/.openskills.json +7 -0
  40. package/assets/opencode/skills/article-writing/SKILL.md +79 -0
  41. package/assets/opencode/skills/article-writing/agents/openai.yaml +7 -0
  42. package/assets/opencode/skills/automation-audit-ops/.openskills.json +7 -0
  43. package/assets/opencode/skills/automation-audit-ops/SKILL.md +142 -0
  44. package/assets/opencode/skills/backend-patterns/.openskills.json +7 -0
  45. package/assets/opencode/skills/backend-patterns/SKILL.md +561 -0
  46. package/assets/opencode/skills/backend-patterns/agents/openai.yaml +7 -0
  47. package/assets/opencode/skills/benchmark/.openskills.json +7 -0
  48. package/assets/opencode/skills/benchmark/SKILL.md +93 -0
  49. package/assets/opencode/skills/bros-orchestrate/SKILL.md +455 -0
  50. package/assets/opencode/skills/browser-qa/.openskills.json +7 -0
  51. package/assets/opencode/skills/browser-qa/SKILL.md +87 -0
  52. package/assets/opencode/skills/canary-watch/.openskills.json +7 -0
  53. package/assets/opencode/skills/canary-watch/SKILL.md +107 -0
  54. package/assets/opencode/skills/code-review-expert/SKILL.md +155 -0
  55. package/assets/opencode/skills/code-review-expert/agents/agent.yaml +7 -0
  56. package/assets/opencode/skills/code-review-expert/references/code-quality-checklist.md +130 -0
  57. package/assets/opencode/skills/code-review-expert/references/removal-plan.md +52 -0
  58. package/assets/opencode/skills/code-review-expert/references/security-checklist.md +118 -0
  59. package/assets/opencode/skills/code-review-expert/references/solid-checklist.md +65 -0
  60. package/assets/opencode/skills/code-tour/.openskills.json +7 -0
  61. package/assets/opencode/skills/code-tour/SKILL.md +236 -0
  62. package/assets/opencode/skills/coding-standards/.openskills.json +7 -0
  63. package/assets/opencode/skills/coding-standards/SKILL.md +549 -0
  64. package/assets/opencode/skills/coding-standards/agents/openai.yaml +7 -0
  65. package/assets/opencode/skills/context-budget/.openskills.json +7 -0
  66. package/assets/opencode/skills/context-budget/SKILL.md +135 -0
  67. package/assets/opencode/skills/database-migrations/.openskills.json +7 -0
  68. package/assets/opencode/skills/database-migrations/SKILL.md +429 -0
  69. package/assets/opencode/skills/deployment-patterns/.openskills.json +7 -0
  70. package/assets/opencode/skills/deployment-patterns/SKILL.md +427 -0
  71. package/assets/opencode/skills/design-system/.openskills.json +7 -0
  72. package/assets/opencode/skills/design-system/SKILL.md +82 -0
  73. package/assets/opencode/skills/docker-patterns/.openskills.json +7 -0
  74. package/assets/opencode/skills/docker-patterns/SKILL.md +364 -0
  75. package/assets/opencode/skills/documentation-lookup/.openskills.json +7 -0
  76. package/assets/opencode/skills/documentation-lookup/SKILL.md +90 -0
  77. package/assets/opencode/skills/documentation-lookup/agents/openai.yaml +7 -0
  78. package/assets/opencode/skills/e2e-testing/.openskills.json +7 -0
  79. package/assets/opencode/skills/e2e-testing/SKILL.md +326 -0
  80. package/assets/opencode/skills/e2e-testing/agents/openai.yaml +7 -0
  81. package/assets/opencode/skills/error-handling/SKILL.md +376 -0
  82. package/assets/opencode/skills/frontend-design/.openskills.json +7 -0
  83. package/assets/opencode/skills/frontend-design/SKILL.md +145 -0
  84. package/assets/opencode/skills/frontend-design-direction/SKILL.md +92 -0
  85. package/assets/opencode/skills/frontend-patterns/.openskills.json +7 -0
  86. package/assets/opencode/skills/frontend-patterns/SKILL.md +642 -0
  87. package/assets/opencode/skills/frontend-patterns/agents/openai.yaml +7 -0
  88. package/assets/opencode/skills/gateguard/.openskills.json +7 -0
  89. package/assets/opencode/skills/gateguard/SKILL.md +125 -0
  90. package/assets/opencode/skills/git-master/SKILL.md +60 -0
  91. package/assets/opencode/skills/golang-patterns/.openskills.json +7 -0
  92. package/assets/opencode/skills/golang-patterns/SKILL.md +674 -0
  93. package/assets/opencode/skills/golang-testing/.openskills.json +7 -0
  94. package/assets/opencode/skills/golang-testing/SKILL.md +720 -0
  95. package/assets/opencode/skills/grafana-dashboard-design/SKILL.md +65 -0
  96. package/assets/opencode/skills/hexagonal-architecture/.openskills.json +7 -0
  97. package/assets/opencode/skills/hexagonal-architecture/SKILL.md +276 -0
  98. package/assets/opencode/skills/java-coding-standards/.openskills.json +7 -0
  99. package/assets/opencode/skills/java-coding-standards/SKILL.md +383 -0
  100. package/assets/opencode/skills/jpa-patterns/.openskills.json +7 -0
  101. package/assets/opencode/skills/jpa-patterns/SKILL.md +151 -0
  102. package/assets/opencode/skills/knowledge-ops/.openskills.json +7 -0
  103. package/assets/opencode/skills/knowledge-ops/SKILL.md +154 -0
  104. package/assets/opencode/skills/make-interfaces-feel-better/SKILL.md +151 -0
  105. package/assets/opencode/skills/mysql-patterns/SKILL.md +412 -0
  106. package/assets/opencode/skills/nestjs-patterns/.openskills.json +7 -0
  107. package/assets/opencode/skills/nestjs-patterns/SKILL.md +230 -0
  108. package/assets/opencode/skills/nextjs-turbopack/.openskills.json +7 -0
  109. package/assets/opencode/skills/nextjs-turbopack/SKILL.md +57 -0
  110. package/assets/opencode/skills/nextjs-turbopack/agents/openai.yaml +7 -0
  111. package/assets/opencode/skills/parallel-execution-optimizer/SKILL.md +72 -0
  112. package/assets/opencode/skills/postgres-patterns/.openskills.json +7 -0
  113. package/assets/opencode/skills/postgres-patterns/SKILL.md +147 -0
  114. package/assets/opencode/skills/prisma-patterns/SKILL.md +371 -0
  115. package/assets/opencode/skills/product-capability/.openskills.json +7 -0
  116. package/assets/opencode/skills/product-capability/SKILL.md +141 -0
  117. package/assets/opencode/skills/product-lens/.openskills.json +7 -0
  118. package/assets/opencode/skills/product-lens/SKILL.md +92 -0
  119. package/assets/opencode/skills/production-audit/SKILL.md +206 -0
  120. package/assets/opencode/skills/python-patterns/.openskills.json +7 -0
  121. package/assets/opencode/skills/python-patterns/SKILL.md +750 -0
  122. package/assets/opencode/skills/python-testing/.openskills.json +7 -0
  123. package/assets/opencode/skills/python-testing/SKILL.md +816 -0
  124. package/assets/opencode/skills/redis-patterns/SKILL.md +403 -0
  125. package/assets/opencode/skills/requirements-clarity/README.md +260 -0
  126. package/assets/opencode/skills/requirements-clarity/SKILL.md +324 -0
  127. package/assets/opencode/skills/rust-patterns/.openskills.json +7 -0
  128. package/assets/opencode/skills/rust-patterns/SKILL.md +499 -0
  129. package/assets/opencode/skills/rust-testing/.openskills.json +7 -0
  130. package/assets/opencode/skills/rust-testing/SKILL.md +500 -0
  131. package/assets/opencode/skills/safety-guard/.openskills.json +7 -0
  132. package/assets/opencode/skills/safety-guard/SKILL.md +75 -0
  133. package/assets/opencode/skills/search-first/.openskills.json +7 -0
  134. package/assets/opencode/skills/search-first/SKILL.md +181 -0
  135. package/assets/opencode/skills/security-review/.openskills.json +7 -0
  136. package/assets/opencode/skills/security-review/agents/openai.yaml +7 -0
  137. package/assets/opencode/skills/security-review/cloud-infrastructure-security.md +361 -0
  138. package/assets/opencode/skills/security-scan/.openskills.json +7 -0
  139. package/assets/opencode/skills/security-scan/SKILL.md +165 -0
  140. package/assets/opencode/skills/springboot-patterns/.openskills.json +7 -0
  141. package/assets/opencode/skills/springboot-patterns/SKILL.md +314 -0
  142. package/assets/opencode/skills/springboot-tdd/.openskills.json +7 -0
  143. package/assets/opencode/skills/springboot-tdd/SKILL.md +158 -0
  144. package/assets/opencode/skills/springboot-verification/.openskills.json +7 -0
  145. package/assets/opencode/skills/springboot-verification/SKILL.md +231 -0
  146. package/assets/opencode/skills/strategic-compact/.openskills.json +7 -0
  147. package/assets/opencode/skills/strategic-compact/SKILL.md +131 -0
  148. package/assets/opencode/skills/strategic-compact/agents/openai.yaml +7 -0
  149. package/assets/opencode/skills/strategic-compact/suggest-compact.sh +54 -0
  150. package/assets/opencode/skills/tdd-workflow/.openskills.json +7 -0
  151. package/assets/opencode/skills/tdd-workflow/SKILL.md +463 -0
  152. package/assets/opencode/skills/tdd-workflow/agents/openai.yaml +7 -0
  153. package/assets/opencode/skills/verification-loop/.openskills.json +7 -0
  154. package/assets/opencode/skills/verification-loop/SKILL.md +126 -0
  155. package/assets/opencode/skills/verification-loop/agents/openai.yaml +7 -0
  156. package/assets/opencode/skills/vite-patterns/SKILL.md +449 -0
  157. package/assets/opencode/skills/web-doc-search/SKILL.md +51 -0
  158. package/assets/opencode/templates/README.md +3 -0
  159. package/assets/opencode/templates/bros/adr.md +39 -0
  160. package/assets/opencode/templates/bros/delivery-report.md +71 -0
  161. package/assets/opencode/templates/bros/explorer-evidence-packet.md +51 -0
  162. package/assets/opencode/templates/bros/prd.md +72 -0
  163. package/assets/opencode/templates/bros/security-review.md +48 -0
  164. package/assets/opencode/templates/bros/status-board.md +33 -0
  165. package/assets/opencode/templates/bros/task-packet.md +94 -0
  166. package/assets/opencode/templates/bros/test-strategy.md +57 -0
  167. package/assets/opencode/templates/bros/ui-implementation-packet.md +64 -0
  168. package/assets/skills.manifest.json +650 -0
  169. package/assets/templates.manifest.json +55 -0
  170. package/bin/bros.mjs +122 -0
  171. package/docs/compatibility.md +9 -0
  172. package/docs/installation.md +66 -0
  173. package/docs/integrations/claude.md +5 -0
  174. package/docs/integrations/codex.md +5 -0
  175. package/docs/integrations/opencode.md +39 -0
  176. package/docs/migration/from-local-opencode-config.md +10 -0
  177. package/docs/release-process.md +11 -0
  178. package/docs/repository-structure.md +15 -0
  179. package/docs/roadmap.md +20 -0
  180. package/docs/security.md +18 -0
  181. package/docs/testing.md +9 -0
  182. package/examples/opencode/README.md +11 -0
  183. package/examples/opencode/opencode.example.jsonc +4 -0
  184. package/package.json +43 -0
  185. package/scripts/validate-assets.mjs +22 -0
  186. package/scripts/verify-no-secrets.mjs +38 -0
  187. package/src/plugin.mjs +98 -0
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: agent-introspection-debugging
3
+ description: Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Agent Introspection Debugging
8
+
9
+ Use this skill when an agent run is failing repeatedly, consuming tokens without progress, looping on the same tools, or drifting away from the intended task.
10
+
11
+ This is a workflow skill, not a hidden runtime. It teaches the agent to debug itself systematically before escalating to a human.
12
+
13
+ ## When to Activate
14
+
15
+ - Maximum tool call / loop-limit failures
16
+ - Repeated retries with no forward progress
17
+ - Context growth or prompt drift that starts degrading output quality
18
+ - File-system or environment state mismatch between expectation and reality
19
+ - Tool failures that are likely recoverable with diagnosis and a smaller corrective action
20
+
21
+ ## Scope Boundaries
22
+
23
+ Activate this skill for:
24
+ - capturing failure state before retrying blindly
25
+ - diagnosing common agent-specific failure patterns
26
+ - applying contained recovery actions
27
+ - producing a structured human-readable debug report
28
+
29
+ Do not use this skill as the primary source for:
30
+ - feature verification after code changes; use `verification-loop`
31
+ - framework-specific debugging when a narrower ECC skill already exists
32
+ - runtime promises the current harness cannot enforce automatically
33
+
34
+ ## Four-Phase Loop
35
+
36
+ ### Phase 1: Failure Capture
37
+
38
+ Before trying to recover, record the failure precisely.
39
+
40
+ Capture:
41
+ - error type, message, and stack trace when available
42
+ - last meaningful tool call sequence
43
+ - what the agent was trying to do
44
+ - current context pressure: repeated prompts, oversized pasted logs, duplicated plans, or runaway notes
45
+ - current environment assumptions: cwd, branch, relevant service state, expected files
46
+
47
+ Minimum capture template:
48
+
49
+ ```markdown
50
+ ## Failure Capture
51
+ - Session / task:
52
+ - Goal in progress:
53
+ - Error:
54
+ - Last successful step:
55
+ - Last failed tool / command:
56
+ - Repeated pattern seen:
57
+ - Environment assumptions to verify:
58
+ ```
59
+
60
+ ### Phase 2: Root-Cause Diagnosis
61
+
62
+ Match the failure to a known pattern before changing anything.
63
+
64
+ | Pattern | Likely Cause | Check |
65
+ | --- | --- | --- |
66
+ | Maximum tool calls / repeated same command | loop or no-exit observer path | inspect the last N tool calls for repetition |
67
+ | Context overflow / degraded reasoning | unbounded notes, repeated plans, oversized logs | inspect recent context for duplication and low-signal bulk |
68
+ | `ECONNREFUSED` / timeout | service unavailable or wrong port | verify service health, URL, and port assumptions |
69
+ | `429` / quota exhaustion | retry storm or missing backoff | count repeated calls and inspect retry spacing |
70
+ | file missing after write / stale diff | race, wrong cwd, or branch drift | re-check path, cwd, git status, and actual file existence |
71
+ | tests still failing after “fix” | wrong hypothesis | isolate the exact failing test and re-derive the bug |
72
+
73
+ Diagnosis questions:
74
+ - is this a logic failure, state failure, environment failure, or policy failure?
75
+ - did the agent lose the real objective and start optimizing the wrong subtask?
76
+ - is the failure deterministic or transient?
77
+ - what is the smallest reversible action that would validate the diagnosis?
78
+
79
+ ### Phase 3: Contained Recovery
80
+
81
+ Recover with the smallest action that changes the diagnosis surface.
82
+
83
+ Safe recovery actions:
84
+ - stop repeated retries and restate the hypothesis
85
+ - trim low-signal context and keep only the active goal, blockers, and evidence
86
+ - re-check the actual filesystem / branch / process state
87
+ - narrow the task to one failing command, one file, or one test
88
+ - switch from speculative reasoning to direct observation
89
+ - escalate to a human when the failure is high-risk or externally blocked
90
+
91
+ Do not claim unsupported auto-healing actions like “reset agent state” or “update harness config” unless you are actually doing them through real tools in the current environment.
92
+
93
+ Contained recovery checklist:
94
+
95
+ ```markdown
96
+ ## Recovery Action
97
+ - Diagnosis chosen:
98
+ - Smallest action taken:
99
+ - Why this is safe:
100
+ - What evidence would prove the fix worked:
101
+ ```
102
+
103
+ ### Phase 4: Introspection Report
104
+
105
+ End with a report that makes the recovery legible to the next agent or human.
106
+
107
+ ```markdown
108
+ ## Agent Self-Debug Report
109
+ - Session / task:
110
+ - Failure:
111
+ - Root cause:
112
+ - Recovery action:
113
+ - Result: success | partial | blocked
114
+ - Token / time burn risk:
115
+ - Follow-up needed:
116
+ - Preventive change to encode later:
117
+ ```
118
+
119
+ ## Recovery Heuristics
120
+
121
+ Prefer these interventions in order:
122
+
123
+ 1. Restate the real objective in one sentence.
124
+ 2. Verify the world state instead of trusting memory.
125
+ 3. Shrink the failing scope.
126
+ 4. Run one discriminating check.
127
+ 5. Only then retry.
128
+
129
+ Bad pattern:
130
+ - retrying the same action three times with slightly different wording
131
+
132
+ Good pattern:
133
+ - capture failure
134
+ - classify the pattern
135
+ - run one direct check
136
+ - change the plan only if the check supports it
137
+
138
+ ## Integration with ECC
139
+
140
+ - Use `verification-loop` after recovery if code was changed.
141
+ - Use `continuous-learning-v2` when the failure pattern is worth turning into an instinct or later skill.
142
+ - Use `council` when the issue is not technical failure but decision ambiguity.
143
+ - Use `workspace-surface-audit` if the failure came from conflicting local state or repo drift.
144
+
145
+ ## Output Standard
146
+
147
+ When this skill is active, do not end with “I fixed it” alone.
148
+
149
+ Always provide:
150
+ - the failure pattern
151
+ - the root-cause hypothesis
152
+ - the recovery action
153
+ - the evidence that the situation is now better or still blocked
@@ -0,0 +1,7 @@
1
+ {
2
+ "source": "affaan-m/everything-claude-code",
3
+ "sourceType": "git",
4
+ "repoUrl": "https://github.com/affaan-m/everything-claude-code",
5
+ "subpath": "skills/api-design",
6
+ "installedAt": "2026-04-16T03:02:13.233Z"
7
+ }
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "API Design"
3
+ short_description: "REST API design patterns and best practices"
4
+ brand_color: "#F97316"
5
+ default_prompt: "Design REST API: resources, status codes, pagination"
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -0,0 +1,7 @@
1
+ {
2
+ "source": "affaan-m/everything-claude-code",
3
+ "sourceType": "git",
4
+ "repoUrl": "https://github.com/affaan-m/everything-claude-code",
5
+ "subpath": "skills/architecture-decision-records",
6
+ "installedAt": "2026-04-16T03:02:13.463Z"
7
+ }
@@ -0,0 +1,179 @@
1
+ ---
2
+ name: architecture-decision-records
3
+ description: Capture architectural decisions made during Claude Code sessions as structured ADRs. Auto-detects decision moments, records context, alternatives considered, and rationale. Maintains an ADR log so future developers understand why the codebase is shaped the way it is.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Architecture Decision Records
8
+
9
+ Capture architectural decisions as they happen during coding sessions. Instead of decisions living only in Slack threads, PR comments, or someone's memory, this skill produces structured ADR documents that live alongside the code.
10
+
11
+ ## When to Activate
12
+
13
+ - User explicitly says "let's record this decision" or "ADR this"
14
+ - User chooses between significant alternatives (framework, library, pattern, database, API design)
15
+ - User says "we decided to..." or "the reason we're doing X instead of Y is..."
16
+ - User asks "why did we choose X?" (read existing ADRs)
17
+ - During planning phases when architectural trade-offs are discussed
18
+
19
+ ## ADR Format
20
+
21
+ Use the lightweight ADR format proposed by Michael Nygard, adapted for AI-assisted development:
22
+
23
+ ```markdown
24
+ # ADR-NNNN: [Decision Title]
25
+
26
+ **Date**: YYYY-MM-DD
27
+ **Status**: proposed | accepted | deprecated | superseded by ADR-NNNN
28
+ **Deciders**: [who was involved]
29
+
30
+ ## Context
31
+
32
+ What is the issue that we're seeing that is motivating this decision or change?
33
+
34
+ [2-5 sentences describing the situation, constraints, and forces at play]
35
+
36
+ ## Decision
37
+
38
+ What is the change that we're proposing and/or doing?
39
+
40
+ [1-3 sentences stating the decision clearly]
41
+
42
+ ## Alternatives Considered
43
+
44
+ ### Alternative 1: [Name]
45
+ - **Pros**: [benefits]
46
+ - **Cons**: [drawbacks]
47
+ - **Why not**: [specific reason this was rejected]
48
+
49
+ ### Alternative 2: [Name]
50
+ - **Pros**: [benefits]
51
+ - **Cons**: [drawbacks]
52
+ - **Why not**: [specific reason this was rejected]
53
+
54
+ ## Consequences
55
+
56
+ What becomes easier or more difficult to do because of this change?
57
+
58
+ ### Positive
59
+ - [benefit 1]
60
+ - [benefit 2]
61
+
62
+ ### Negative
63
+ - [trade-off 1]
64
+ - [trade-off 2]
65
+
66
+ ### Risks
67
+ - [risk and mitigation]
68
+ ```
69
+
70
+ ## Workflow
71
+
72
+ ### Capturing a New ADR
73
+
74
+ When a decision moment is detected:
75
+
76
+ 1. **Initialize (first time only)** — if `docs/adr/` does not exist, ask the user for confirmation before creating the directory, a `README.md` seeded with the index table header (see ADR Index Format below), and a blank `template.md` for manual use. Do not create files without explicit consent.
77
+ 2. **Identify the decision** — extract the core architectural choice being made
78
+ 3. **Gather context** — what problem prompted this? What constraints exist?
79
+ 4. **Document alternatives** — what other options were considered? Why were they rejected?
80
+ 5. **State consequences** — what are the trade-offs? What becomes easier/harder?
81
+ 6. **Assign a number** — scan existing ADRs in `docs/adr/` and increment
82
+ 7. **Confirm and write** — present the draft ADR to the user for review. Only write to `docs/adr/NNNN-decision-title.md` after explicit approval. If the user declines, discard the draft without writing any files.
83
+ 8. **Update the index** — append to `docs/adr/README.md`
84
+
85
+ ### Reading Existing ADRs
86
+
87
+ When a user asks "why did we choose X?":
88
+
89
+ 1. Check if `docs/adr/` exists — if not, respond: "No ADRs found in this project. Would you like to start recording architectural decisions?"
90
+ 2. If it exists, scan `docs/adr/README.md` index for relevant entries
91
+ 3. Read matching ADR files and present the Context and Decision sections
92
+ 4. If no match is found, respond: "No ADR found for that decision. Would you like to record one now?"
93
+
94
+ ### ADR Directory Structure
95
+
96
+ ```
97
+ docs/
98
+ └── adr/
99
+ ├── README.md ← index of all ADRs
100
+ ├── 0001-use-nextjs.md
101
+ ├── 0002-postgres-over-mongo.md
102
+ ├── 0003-rest-over-graphql.md
103
+ └── template.md ← blank template for manual use
104
+ ```
105
+
106
+ ### ADR Index Format
107
+
108
+ ```markdown
109
+ # Architecture Decision Records
110
+
111
+ | ADR | Title | Status | Date |
112
+ |-----|-------|--------|------|
113
+ | [0001](0001-use-nextjs.md) | Use Next.js as frontend framework | accepted | 2026-01-15 |
114
+ | [0002](0002-postgres-over-mongo.md) | PostgreSQL over MongoDB for primary datastore | accepted | 2026-01-20 |
115
+ | [0003](0003-rest-over-graphql.md) | REST API over GraphQL | accepted | 2026-02-01 |
116
+ ```
117
+
118
+ ## Decision Detection Signals
119
+
120
+ Watch for these patterns in conversation that indicate an architectural decision:
121
+
122
+ **Explicit signals**
123
+ - "Let's go with X"
124
+ - "We should use X instead of Y"
125
+ - "The trade-off is worth it because..."
126
+ - "Record this as an ADR"
127
+
128
+ **Implicit signals** (suggest recording an ADR — do not auto-create without user confirmation)
129
+ - Comparing two frameworks or libraries and reaching a conclusion
130
+ - Making a database schema design choice with stated rationale
131
+ - Choosing between architectural patterns (monolith vs microservices, REST vs GraphQL)
132
+ - Deciding on authentication/authorization strategy
133
+ - Selecting deployment infrastructure after evaluating alternatives
134
+
135
+ ## What Makes a Good ADR
136
+
137
+ ### Do
138
+ - **Be specific** — "Use Prisma ORM" not "use an ORM"
139
+ - **Record the why** — the rationale matters more than the what
140
+ - **Include rejected alternatives** — future developers need to know what was considered
141
+ - **State consequences honestly** — every decision has trade-offs
142
+ - **Keep it short** — an ADR should be readable in 2 minutes
143
+ - **Use present tense** — "We use X" not "We will use X"
144
+
145
+ ### Don't
146
+ - Record trivial decisions — variable naming or formatting choices don't need ADRs
147
+ - Write essays — if the context section exceeds 10 lines, it's too long
148
+ - Omit alternatives — "we just picked it" is not a valid rationale
149
+ - Backfill without marking it — if recording a past decision, note the original date
150
+ - Let ADRs go stale — superseded decisions should reference their replacement
151
+
152
+ ## ADR Lifecycle
153
+
154
+ ```
155
+ proposed → accepted → [deprecated | superseded by ADR-NNNN]
156
+ ```
157
+
158
+ - **proposed**: decision is under discussion, not yet committed
159
+ - **accepted**: decision is in effect and being followed
160
+ - **deprecated**: decision is no longer relevant (e.g., feature removed)
161
+ - **superseded**: a newer ADR replaces this one (always link the replacement)
162
+
163
+ ## Categories of Decisions Worth Recording
164
+
165
+ | Category | Examples |
166
+ |----------|---------|
167
+ | **Technology choices** | Framework, language, database, cloud provider |
168
+ | **Architecture patterns** | Monolith vs microservices, event-driven, CQRS |
169
+ | **API design** | REST vs GraphQL, versioning strategy, auth mechanism |
170
+ | **Data modeling** | Schema design, normalization decisions, caching strategy |
171
+ | **Infrastructure** | Deployment model, CI/CD pipeline, monitoring stack |
172
+ | **Security** | Auth strategy, encryption approach, secret management |
173
+ | **Testing** | Test framework, coverage targets, E2E vs integration balance |
174
+ | **Process** | Branching strategy, review process, release cadence |
175
+
176
+ ## Integration with Other Skills
177
+
178
+ - **Planner agent**: when the planner proposes architecture changes, suggest creating an ADR
179
+ - **Code reviewer agent**: flag PRs that introduce architectural changes without a corresponding ADR
@@ -0,0 +1,7 @@
1
+ {
2
+ "source": "affaan-m/everything-claude-code",
3
+ "sourceType": "git",
4
+ "repoUrl": "https://github.com/affaan-m/everything-claude-code",
5
+ "subpath": "skills/article-writing",
6
+ "installedAt": "2026-04-16T03:02:13.695Z"
7
+ }
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: article-writing
3
+ description: Write articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice derived from supplied examples or brand guidance. Use when the user wants polished written content longer than a paragraph, especially when voice consistency, structure, and credibility matter.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Article Writing
8
+
9
+ Write long-form content that sounds like an actual person with a point of view, not an LLM smoothing itself into paste.
10
+
11
+ ## When to Activate
12
+
13
+ - drafting blog posts, essays, launch posts, guides, tutorials, or newsletter issues
14
+ - turning notes, transcripts, or research into polished articles
15
+ - matching an existing founder, operator, or brand voice from examples
16
+ - tightening structure, pacing, and evidence in already-written long-form copy
17
+
18
+ ## Core Rules
19
+
20
+ 1. Lead with the concrete thing: artifact, example, output, anecdote, number, screenshot, or code.
21
+ 2. Explain after the example, not before.
22
+ 3. Keep sentences tight unless the source voice is intentionally expansive.
23
+ 4. Use proof instead of adjectives.
24
+ 5. Never invent facts, credibility, or customer evidence.
25
+
26
+ ## Voice Handling
27
+
28
+ If the user wants a specific voice, run `brand-voice` first and reuse its `VOICE PROFILE`.
29
+ Do not duplicate a second style-analysis pass here unless the user explicitly asks for one.
30
+
31
+ If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
32
+
33
+ ## Banned Patterns
34
+
35
+ Delete and rewrite any of these:
36
+ - "In today's rapidly evolving landscape"
37
+ - "game-changer", "cutting-edge", "revolutionary"
38
+ - "here's why this matters" as a standalone bridge
39
+ - fake vulnerability arcs
40
+ - a closing question added only to juice engagement
41
+ - biography padding that does not move the argument
42
+ - generic AI throat-clearing that delays the point
43
+
44
+ ## Writing Process
45
+
46
+ 1. Clarify the audience and purpose.
47
+ 2. Build a hard outline with one job per section.
48
+ 3. Start sections with proof, artifact, conflict, or example.
49
+ 4. Expand only where the next sentence earns space.
50
+ 5. Cut anything that sounds templated, overexplained, or self-congratulatory.
51
+
52
+ ## Structure Guidance
53
+
54
+ ### Technical Guides
55
+
56
+ - open with what the reader gets
57
+ - use code, commands, screenshots, or concrete output in major sections
58
+ - end with actionable takeaways, not a soft recap
59
+
60
+ ### Essays / Opinion
61
+
62
+ - start with tension, contradiction, or a specific observation
63
+ - keep one argument thread per section
64
+ - make opinions answer to evidence
65
+
66
+ ### Newsletters
67
+
68
+ - keep the first screen doing real work
69
+ - do not front-load diary filler
70
+ - use section labels only when they improve scanability
71
+
72
+ ## Quality Gate
73
+
74
+ Before delivering:
75
+ - factual claims are backed by provided sources
76
+ - generic AI transitions are gone
77
+ - the voice matches the supplied examples or the agreed `VOICE PROFILE`
78
+ - every section adds something new
79
+ - formatting matches the intended medium
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Article Writing"
3
+ short_description: "Write long-form content in a supplied voice without sounding templated"
4
+ brand_color: "#B45309"
5
+ default_prompt: "Draft a sharp long-form article from these notes and examples"
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -0,0 +1,7 @@
1
+ {
2
+ "source": "affaan-m/everything-claude-code",
3
+ "sourceType": "git",
4
+ "repoUrl": "https://github.com/affaan-m/everything-claude-code",
5
+ "subpath": "skills/automation-audit-ops",
6
+ "installedAt": "2026-04-16T03:02:13.696Z"
7
+ }
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: automation-audit-ops
3
+ description: Evidence-first automation inventory and overlap audit workflow for ECC. Use when the user wants to know which jobs, hooks, connectors, MCP servers, or wrappers are live, broken, redundant, or missing before fixing anything.
4
+ origin: ECC
5
+ ---
6
+
7
+ # Automation Audit Ops
8
+
9
+ Use this when the user asks what automations are live, which jobs are broken, where overlap exists, or what tooling and connectors are actually doing useful work right now.
10
+
11
+ This is an audit-first operator skill. The job is to produce an evidence-backed inventory and a keep / merge / cut / fix-next recommendation set before rewriting anything.
12
+
13
+ ## Skill Stack
14
+
15
+ Pull these ECC-native skills into the workflow when relevant:
16
+
17
+ - `workspace-surface-audit` for connector, MCP, hook, and app inventory
18
+ - `knowledge-ops` when the audit needs to reconcile live repo truth with durable context
19
+ - `github-ops` when the answer depends on CI, scheduled workflows, issues, or PR automation
20
+ - `ecc-tools-cost-audit` when the real problem is webhook fanout, queued jobs, or billing burn in the sibling app repo
21
+ - `research-ops` when local inventory must be compared against current platform support or public docs
22
+ - `verification-loop` for proving post-fix state instead of relying on assumed recovery
23
+
24
+ ## When to Use
25
+
26
+ - user asks "what automations do I have", "what is live", "what is broken", or "what overlaps"
27
+ - the task spans cron jobs, GitHub Actions, local hooks, MCP servers, connectors, wrappers, or app integrations
28
+ - the user wants to know what was ported from another agent system and what still needs to be rebuilt inside ECC
29
+ - the workspace has accumulated multiple ways to do the same thing and the user wants one canonical lane
30
+
31
+ ## Guardrails
32
+
33
+ - start read-only unless the user explicitly asked for fixes
34
+ - separate:
35
+ - configured
36
+ - authenticated
37
+ - recently verified
38
+ - stale or broken
39
+ - missing entirely
40
+ - do not claim a tool is live just because a skill or config references it
41
+ - do not merge or delete overlapping surfaces until the evidence table exists
42
+
43
+ ## Workflow
44
+
45
+ ### 1. Inventory the real surface
46
+
47
+ Read the current live surface before theorizing:
48
+
49
+ - repo hooks and local hook scripts
50
+ - GitHub Actions and scheduled workflows
51
+ - MCP configs and enabled servers
52
+ - connector- or app-backed integrations
53
+ - wrapper scripts and repo-specific automation entrypoints
54
+
55
+ Group them by surface:
56
+
57
+ - local runtime
58
+ - repo CI / automation
59
+ - connected external systems
60
+ - messaging / notifications
61
+ - billing / customer operations
62
+ - research / monitoring
63
+
64
+ ### 2. Classify each item by live state
65
+
66
+ For every surfaced automation, mark:
67
+
68
+ - configured
69
+ - authenticated
70
+ - recently verified
71
+ - stale or broken
72
+ - missing
73
+
74
+ Then classify the problem type:
75
+
76
+ - active breakage
77
+ - auth outage
78
+ - stale status
79
+ - overlap or redundancy
80
+ - missing capability
81
+
82
+ ### 3. Trace the proof path
83
+
84
+ Back every important claim with a concrete source:
85
+
86
+ - file path
87
+ - workflow run
88
+ - hook log
89
+ - config entry
90
+ - recent command output
91
+ - exact failure signature
92
+
93
+ If the current state is ambiguous, say so directly instead of pretending the audit is complete.
94
+
95
+ ### 4. End with keep / merge / cut / fix-next
96
+
97
+ For each overlapping or suspect surface, return one call:
98
+
99
+ - keep
100
+ - merge
101
+ - cut
102
+ - fix next
103
+
104
+ The value is in collapsing noisy automation into one canonical ECC lane, not in preserving every historical path.
105
+
106
+ ## Output Format
107
+
108
+ ```text
109
+ CURRENT SURFACE
110
+ - automation
111
+ - source
112
+ - live state
113
+ - proof
114
+
115
+ FINDINGS
116
+ - active breakage
117
+ - overlap
118
+ - stale status
119
+ - missing capability
120
+
121
+ RECOMMENDATION
122
+ - keep
123
+ - merge
124
+ - cut
125
+ - fix next
126
+
127
+ NEXT ECC MOVE
128
+ - exact skill / hook / workflow / app lane to strengthen
129
+ ```
130
+
131
+ ## Pitfalls
132
+
133
+ - do not answer from memory when the live inventory can be read
134
+ - do not treat "present in config" as "working"
135
+ - do not fix lower-value redundancy before naming the broken high-signal path
136
+ - do not widen the task into a repo rewrite if the user asked for inventory first
137
+
138
+ ## Verification
139
+
140
+ - important claims cite a live proof path
141
+ - each surfaced automation is labeled with a clear live-state category
142
+ - the final recommendation distinguishes keep / merge / cut / fix-next
@@ -0,0 +1,7 @@
1
+ {
2
+ "source": "affaan-m/everything-claude-code",
3
+ "sourceType": "git",
4
+ "repoUrl": "https://github.com/affaan-m/everything-claude-code",
5
+ "subpath": "skills/backend-patterns",
6
+ "installedAt": "2026-04-16T03:02:14.159Z"
7
+ }