mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-10 10:13:49 +08:00
Compare commits
119 Commits
feat/skill
...
9d766af025
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d766af025 | ||
|
|
2fba71fcdb | ||
|
|
63c437b986 | ||
|
|
3199120abe | ||
|
|
478466168a | ||
|
|
cf7d3ae584 | ||
|
|
051d47eb5f | ||
|
|
40ed9c7f6a | ||
|
|
09f6bc3166 | ||
|
|
9952fcbd7c | ||
|
|
d4cdeca946 | ||
|
|
a6f798e505 | ||
|
|
f498dc0971 | ||
|
|
08e9d0e28b | ||
|
|
19ad704216 | ||
|
|
91e145338f | ||
|
|
a3f600e25f | ||
|
|
868763dfa9 | ||
|
|
38f502299a | ||
|
|
6dc5577319 | ||
|
|
2709694b7b | ||
|
|
a7bfe82af9 | ||
|
|
098b773c11 | ||
|
|
a7309481f4 | ||
|
|
bde186d987 | ||
|
|
349d3a08cb | ||
|
|
f450a14ef7 | ||
|
|
ef2820f614 | ||
|
|
05ef8dfaac | ||
|
|
e567dc39c8 | ||
|
|
2d5d0e5c1d | ||
|
|
df3ac98ce3 | ||
|
|
7622973452 | ||
|
|
8ff5e736cd | ||
|
|
7afc6892b1 | ||
|
|
05512f6720 | ||
|
|
5bff920bf8 | ||
|
|
3469773b32 | ||
|
|
e83ecfd3f9 | ||
|
|
0eb31212e9 | ||
|
|
8fbd89b215 | ||
|
|
cd57c17d8e | ||
|
|
27b8272fad | ||
|
|
1d46559201 | ||
|
|
e923c60bee | ||
|
|
52fc93180b | ||
|
|
2146619845 | ||
|
|
cbdced9979 | ||
|
|
bdbed70436 | ||
|
|
1ec6b56848 | ||
|
|
62519f2b62 | ||
|
|
c40c5b95aa | ||
|
|
572c7a8fe6 | ||
|
|
c7f68a74e3 | ||
|
|
b1ad3bcfc7 | ||
|
|
4967dad08c | ||
|
|
df96abe74c | ||
|
|
7dfdbe0b17 | ||
|
|
8488811b80 | ||
|
|
e09c548edf | ||
|
|
c2994ba24f | ||
|
|
c547823c53 | ||
|
|
e7b9d33dc9 | ||
|
|
b6d15b42f2 | ||
|
|
8a3651588a | ||
|
|
56bd57c543 | ||
|
|
ff303d71b6 | ||
|
|
a1e37d7c0d | ||
|
|
3568102064 | ||
|
|
4d759f91da | ||
|
|
57e2435b4f | ||
|
|
4b24d5777d | ||
|
|
92fbc52906 | ||
|
|
05d836387e | ||
|
|
9d7531706d | ||
|
|
ece14da5cd | ||
|
|
eb39a0ea57 | ||
|
|
50ebf1605a | ||
|
|
8fe97d1675 | ||
|
|
fca7e4412c | ||
|
|
adebf3e30b | ||
|
|
31afed5b5d | ||
|
|
da813d48a0 | ||
|
|
cba43546fd | ||
|
|
989ed60994 | ||
|
|
753da37743 | ||
|
|
c2199710c2 | ||
|
|
a77c8c3f85 | ||
|
|
bf5961e8d1 | ||
|
|
05acc27530 | ||
|
|
0f4f95b3de | ||
|
|
2f0a40a63f | ||
|
|
b9d0e0b04d | ||
|
|
3d2ec5ae12 | ||
|
|
746d227acd | ||
|
|
dbdbcef58f | ||
|
|
0aad18a830 | ||
|
|
786f46dad5 | ||
|
|
1346f83b08 | ||
|
|
908116d736 | ||
|
|
2ba1a550ca | ||
|
|
600de94a47 | ||
|
|
db6d52e4af | ||
|
|
60b6de003b | ||
|
|
8baffb4ad3 | ||
|
|
9d718ec66a | ||
|
|
6eba30f02b | ||
|
|
846ffb75da | ||
|
|
5df943ed2b | ||
|
|
b10080c7dd | ||
|
|
8bd5a7a5d9 | ||
|
|
16e9b17ad7 | ||
|
|
be0c56957b | ||
|
|
badccc3db9 | ||
|
|
31c9f7c33e | ||
|
|
a60d5fbc00 | ||
|
|
70be8f9f44 | ||
|
|
635fcbd715 | ||
|
|
bf3fd69d2c |
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "everything-claude-code",
|
||||
"name": "ecc",
|
||||
"interface": {
|
||||
"displayName": "Everything Claude Code"
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "everything-claude-code",
|
||||
"name": "ecc",
|
||||
"source": {
|
||||
"source": "local",
|
||||
"path": "../.."
|
||||
|
||||
153
.agents/skills/agent-introspection-debugging/SKILL.md
Normal file
153
.agents/skills/agent-introspection-debugging/SKILL.md
Normal file
@@ -0,0 +1,153 @@
|
||||
---
|
||||
name: agent-introspection-debugging
|
||||
description: Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Agent Introspection Debugging
|
||||
|
||||
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.
|
||||
|
||||
This is a workflow skill, not a hidden runtime. It teaches the agent to debug itself systematically before escalating to a human.
|
||||
|
||||
## When to Activate
|
||||
|
||||
- Maximum tool call / loop-limit failures
|
||||
- Repeated retries with no forward progress
|
||||
- Context growth or prompt drift that starts degrading output quality
|
||||
- File-system or environment state mismatch between expectation and reality
|
||||
- Tool failures that are likely recoverable with diagnosis and a smaller corrective action
|
||||
|
||||
## Scope Boundaries
|
||||
|
||||
Activate this skill for:
|
||||
- capturing failure state before retrying blindly
|
||||
- diagnosing common agent-specific failure patterns
|
||||
- applying contained recovery actions
|
||||
- producing a structured human-readable debug report
|
||||
|
||||
Do not use this skill as the primary source for:
|
||||
- feature verification after code changes; use `verification-loop`
|
||||
- framework-specific debugging when a narrower ECC skill already exists
|
||||
- runtime promises the current harness cannot enforce automatically
|
||||
|
||||
## Four-Phase Loop
|
||||
|
||||
### Phase 1: Failure Capture
|
||||
|
||||
Before trying to recover, record the failure precisely.
|
||||
|
||||
Capture:
|
||||
- error type, message, and stack trace when available
|
||||
- last meaningful tool call sequence
|
||||
- what the agent was trying to do
|
||||
- current context pressure: repeated prompts, oversized pasted logs, duplicated plans, or runaway notes
|
||||
- current environment assumptions: cwd, branch, relevant service state, expected files
|
||||
|
||||
Minimum capture template:
|
||||
|
||||
```markdown
|
||||
## Failure Capture
|
||||
- Session / task:
|
||||
- Goal in progress:
|
||||
- Error:
|
||||
- Last successful step:
|
||||
- Last failed tool / command:
|
||||
- Repeated pattern seen:
|
||||
- Environment assumptions to verify:
|
||||
```
|
||||
|
||||
### Phase 2: Root-Cause Diagnosis
|
||||
|
||||
Match the failure to a known pattern before changing anything.
|
||||
|
||||
| Pattern | Likely Cause | Check |
|
||||
| --- | --- | --- |
|
||||
| Maximum tool calls / repeated same command | loop or no-exit observer path | inspect the last N tool calls for repetition |
|
||||
| Context overflow / degraded reasoning | unbounded notes, repeated plans, oversized logs | inspect recent context for duplication and low-signal bulk |
|
||||
| `ECONNREFUSED` / timeout | service unavailable or wrong port | verify service health, URL, and port assumptions |
|
||||
| `429` / quota exhaustion | retry storm or missing backoff | count repeated calls and inspect retry spacing |
|
||||
| file missing after write / stale diff | race, wrong cwd, or branch drift | re-check path, cwd, git status, and actual file existence |
|
||||
| tests still failing after “fix” | wrong hypothesis | isolate the exact failing test and re-derive the bug |
|
||||
|
||||
Diagnosis questions:
|
||||
- is this a logic failure, state failure, environment failure, or policy failure?
|
||||
- did the agent lose the real objective and start optimizing the wrong subtask?
|
||||
- is the failure deterministic or transient?
|
||||
- what is the smallest reversible action that would validate the diagnosis?
|
||||
|
||||
### Phase 3: Contained Recovery
|
||||
|
||||
Recover with the smallest action that changes the diagnosis surface.
|
||||
|
||||
Safe recovery actions:
|
||||
- stop repeated retries and restate the hypothesis
|
||||
- trim low-signal context and keep only the active goal, blockers, and evidence
|
||||
- re-check the actual filesystem / branch / process state
|
||||
- narrow the task to one failing command, one file, or one test
|
||||
- switch from speculative reasoning to direct observation
|
||||
- escalate to a human when the failure is high-risk or externally blocked
|
||||
|
||||
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.
|
||||
|
||||
Contained recovery checklist:
|
||||
|
||||
```markdown
|
||||
## Recovery Action
|
||||
- Diagnosis chosen:
|
||||
- Smallest action taken:
|
||||
- Why this is safe:
|
||||
- What evidence would prove the fix worked:
|
||||
```
|
||||
|
||||
### Phase 4: Introspection Report
|
||||
|
||||
End with a report that makes the recovery legible to the next agent or human.
|
||||
|
||||
```markdown
|
||||
## Agent Self-Debug Report
|
||||
- Session / task:
|
||||
- Failure:
|
||||
- Root cause:
|
||||
- Recovery action:
|
||||
- Result: success | partial | blocked
|
||||
- Token / time burn risk:
|
||||
- Follow-up needed:
|
||||
- Preventive change to encode later:
|
||||
```
|
||||
|
||||
## Recovery Heuristics
|
||||
|
||||
Prefer these interventions in order:
|
||||
|
||||
1. Restate the real objective in one sentence.
|
||||
2. Verify the world state instead of trusting memory.
|
||||
3. Shrink the failing scope.
|
||||
4. Run one discriminating check.
|
||||
5. Only then retry.
|
||||
|
||||
Bad pattern:
|
||||
- retrying the same action three times with slightly different wording
|
||||
|
||||
Good pattern:
|
||||
- capture failure
|
||||
- classify the pattern
|
||||
- run one direct check
|
||||
- change the plan only if the check supports it
|
||||
|
||||
## Integration with ECC
|
||||
|
||||
- Use `verification-loop` after recovery if code was changed.
|
||||
- Use `continuous-learning-v2` when the failure pattern is worth turning into an instinct or later skill.
|
||||
- Use `council` when the issue is not technical failure but decision ambiguity.
|
||||
- Use `workspace-surface-audit` if the failure came from conflicting local state or repo drift.
|
||||
|
||||
## Output Standard
|
||||
|
||||
When this skill is active, do not end with “I fixed it” alone.
|
||||
|
||||
Always provide:
|
||||
- the failure pattern
|
||||
- the root-cause hypothesis
|
||||
- the recovery action
|
||||
- the evidence that the situation is now better or still blocked
|
||||
215
.agents/skills/agent-sort/SKILL.md
Normal file
215
.agents/skills/agent-sort/SKILL.md
Normal file
@@ -0,0 +1,215 @@
|
||||
---
|
||||
name: agent-sort
|
||||
description: Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Agent Sort
|
||||
|
||||
Use this skill when a repo needs a project-specific ECC surface instead of the default full install.
|
||||
|
||||
The goal is not to guess what "feels useful." The goal is to classify ECC components with evidence from the actual codebase.
|
||||
|
||||
## When to Use
|
||||
|
||||
- A project only needs a subset of ECC and full installs are too noisy
|
||||
- The repo stack is clear, but nobody wants to hand-curate skills one by one
|
||||
- A team wants a repeatable install decision backed by grep evidence instead of opinion
|
||||
- You need to separate always-loaded daily workflow surfaces from searchable library/reference surfaces
|
||||
- A repo has drifted into the wrong language, rule, or hook set and needs cleanup
|
||||
|
||||
## Non-Negotiable Rules
|
||||
|
||||
- Use the current repository as the source of truth, not generic preferences
|
||||
- Every DAILY decision must cite concrete repo evidence
|
||||
- LIBRARY does not mean "delete"; it means "keep accessible without loading by default"
|
||||
- Do not install hooks, rules, or scripts that the current repo cannot use
|
||||
- Prefer ECC-native surfaces; do not introduce a second install system
|
||||
|
||||
## Outputs
|
||||
|
||||
Produce these artifacts in order:
|
||||
|
||||
1. DAILY inventory
|
||||
2. LIBRARY inventory
|
||||
3. install plan
|
||||
4. verification report
|
||||
5. optional `skill-library` router if the project wants one
|
||||
|
||||
## Classification Model
|
||||
|
||||
Use two buckets only:
|
||||
|
||||
- `DAILY`
|
||||
- should load every session for this repo
|
||||
- strongly matched to the repo's language, framework, workflow, or operator surface
|
||||
- `LIBRARY`
|
||||
- useful to retain, but not worth loading by default
|
||||
- should remain reachable through search, router skill, or selective manual use
|
||||
|
||||
## Evidence Sources
|
||||
|
||||
Use repo-local evidence before making any classification:
|
||||
|
||||
- file extensions
|
||||
- package managers and lockfiles
|
||||
- framework configs
|
||||
- CI and hook configs
|
||||
- build/test scripts
|
||||
- imports and dependency manifests
|
||||
- repo docs that explicitly describe the stack
|
||||
|
||||
Useful commands include:
|
||||
|
||||
```bash
|
||||
rg --files
|
||||
rg -n "typescript|react|next|supabase|django|spring|flutter|swift"
|
||||
cat package.json
|
||||
cat pyproject.toml
|
||||
cat Cargo.toml
|
||||
cat pubspec.yaml
|
||||
cat go.mod
|
||||
```
|
||||
|
||||
## Parallel Review Passes
|
||||
|
||||
If parallel subagents are available, split the review into these passes:
|
||||
|
||||
1. Agents
|
||||
- classify `agents/*`
|
||||
2. Skills
|
||||
- classify `skills/*`
|
||||
3. Commands
|
||||
- classify `commands/*`
|
||||
4. Rules
|
||||
- classify `rules/*`
|
||||
5. Hooks and scripts
|
||||
- classify hook surfaces, MCP health checks, helper scripts, and OS compatibility
|
||||
6. Extras
|
||||
- classify contexts, examples, MCP configs, templates, and guidance docs
|
||||
|
||||
If subagents are not available, run the same passes sequentially.
|
||||
|
||||
## Core Workflow
|
||||
|
||||
### 1. Read the repo
|
||||
|
||||
Establish the real stack before classifying anything:
|
||||
|
||||
- languages in use
|
||||
- frameworks in use
|
||||
- primary package manager
|
||||
- test stack
|
||||
- lint/format stack
|
||||
- deployment/runtime surface
|
||||
- operator integrations already present
|
||||
|
||||
### 2. Build the evidence table
|
||||
|
||||
For every candidate surface, record:
|
||||
|
||||
- component path
|
||||
- component type
|
||||
- proposed bucket
|
||||
- repo evidence
|
||||
- short justification
|
||||
|
||||
Use this format:
|
||||
|
||||
```text
|
||||
skills/frontend-patterns | skill | DAILY | 84 .tsx files, next.config.ts present | core frontend stack
|
||||
skills/django-patterns | skill | LIBRARY | no .py files, no pyproject.toml | not active in this repo
|
||||
rules/typescript/* | rules | DAILY | package.json + tsconfig.json | active TS repo
|
||||
rules/python/* | rules | LIBRARY | zero Python source files | keep accessible only
|
||||
```
|
||||
|
||||
### 3. Decide DAILY vs LIBRARY
|
||||
|
||||
Promote to `DAILY` when:
|
||||
|
||||
- the repo clearly uses the matching stack
|
||||
- the component is general enough to help every session
|
||||
- the repo already depends on the corresponding runtime or workflow
|
||||
|
||||
Demote to `LIBRARY` when:
|
||||
|
||||
- the component is off-stack
|
||||
- the repo might need it later, but not every day
|
||||
- it adds context overhead without immediate relevance
|
||||
|
||||
### 4. Build the install plan
|
||||
|
||||
Translate the classification into action:
|
||||
|
||||
- DAILY skills -> install or keep in `.claude/skills/`
|
||||
- DAILY commands -> keep as explicit shims only if still useful
|
||||
- DAILY rules -> install only matching language sets
|
||||
- DAILY hooks/scripts -> keep only compatible ones
|
||||
- LIBRARY surfaces -> keep accessible through search or `skill-library`
|
||||
|
||||
If the repo already uses selective installs, update that plan instead of creating another system.
|
||||
|
||||
### 5. Create the optional library router
|
||||
|
||||
If the project wants a searchable library surface, create:
|
||||
|
||||
- `.claude/skills/skill-library/SKILL.md`
|
||||
|
||||
That router should contain:
|
||||
|
||||
- a short explanation of DAILY vs LIBRARY
|
||||
- grouped trigger keywords
|
||||
- where the library references live
|
||||
|
||||
Do not duplicate every skill body inside the router.
|
||||
|
||||
### 6. Verify the result
|
||||
|
||||
After the plan is applied, verify:
|
||||
|
||||
- every DAILY file exists where expected
|
||||
- stale language rules were not left active
|
||||
- incompatible hooks were not installed
|
||||
- the resulting install actually matches the repo stack
|
||||
|
||||
Return a compact report with:
|
||||
|
||||
- DAILY count
|
||||
- LIBRARY count
|
||||
- removed stale surfaces
|
||||
- open questions
|
||||
|
||||
## Handoffs
|
||||
|
||||
If the next step is interactive installation or repair, hand off to:
|
||||
|
||||
- `configure-ecc`
|
||||
|
||||
If the next step is overlap cleanup or catalog review, hand off to:
|
||||
|
||||
- `skill-stocktake`
|
||||
|
||||
If the next step is broader context trimming, hand off to:
|
||||
|
||||
- `strategic-compact`
|
||||
|
||||
## Output Format
|
||||
|
||||
Return the result in this order:
|
||||
|
||||
```text
|
||||
STACK
|
||||
- language/framework/runtime summary
|
||||
|
||||
DAILY
|
||||
- always-loaded items with evidence
|
||||
|
||||
LIBRARY
|
||||
- searchable/reference items with evidence
|
||||
|
||||
INSTALL PLAN
|
||||
- what should be installed, removed, or routed
|
||||
|
||||
VERIFICATION
|
||||
- checks run and remaining gaps
|
||||
```
|
||||
@@ -23,50 +23,23 @@ Write long-form content that sounds like an actual person with a point of view,
|
||||
4. Use proof instead of adjectives.
|
||||
5. Never invent facts, credibility, or customer evidence.
|
||||
|
||||
## Voice Capture Workflow
|
||||
## Voice Handling
|
||||
|
||||
If the user wants a specific voice, collect one or more of:
|
||||
- published articles
|
||||
- newsletters
|
||||
- X posts or threads
|
||||
- docs or memos
|
||||
- launch notes
|
||||
- a style guide
|
||||
|
||||
Then extract:
|
||||
- sentence length and rhythm
|
||||
- whether the writing is compressed, explanatory, sharp, or formal
|
||||
- how parentheses are used
|
||||
- how often the writer asks questions
|
||||
- whether the writer uses fragments, lists, or hard pivots
|
||||
- formatting habits such as headers, bullets, code blocks, pull quotes
|
||||
- what the writer clearly avoids
|
||||
If the user wants a specific voice, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||
Do not duplicate a second style-analysis pass here unless the user explicitly asks for one.
|
||||
|
||||
If no voice references are given, default to a sharp operator voice: concrete, unsentimental, useful.
|
||||
|
||||
## Affaan / ECC Voice Reference
|
||||
|
||||
When matching Affaan / ECC voice, bias toward:
|
||||
- direct claims over scene-setting
|
||||
- high specificity
|
||||
- parentheticals used for qualification or over-clarification, not comedy
|
||||
- capitalization chosen situationally, not as a gimmick
|
||||
- very low tolerance for fake thought-leadership cadence
|
||||
- almost no bait questions
|
||||
|
||||
## Banned Patterns
|
||||
|
||||
Delete and rewrite any of these:
|
||||
- "In today's rapidly evolving landscape"
|
||||
- "game-changer", "cutting-edge", "revolutionary"
|
||||
- "no fluff"
|
||||
- "not X, just Y"
|
||||
- "here's why this matters" as a standalone bridge
|
||||
- fake vulnerability arcs
|
||||
- a closing question added only to juice engagement
|
||||
- forced lowercase
|
||||
- corny parenthetical asides
|
||||
- biography padding that does not move the argument
|
||||
- generic AI throat-clearing that delays the point
|
||||
|
||||
## Writing Process
|
||||
|
||||
@@ -101,6 +74,6 @@ Delete and rewrite any of these:
|
||||
Before delivering:
|
||||
- factual claims are backed by provided sources
|
||||
- generic AI transitions are gone
|
||||
- the voice matches the supplied examples
|
||||
- the voice matches the supplied examples or the agreed `VOICE PROFILE`
|
||||
- every section adds something new
|
||||
- formatting matches the intended medium
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
---
|
||||
name: coding-standards
|
||||
description: Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.
|
||||
description: Baseline cross-project coding conventions for naming, readability, immutability, and code-quality review. Use detailed frontend or backend skills for framework-specific patterns.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Coding Standards & Best Practices
|
||||
|
||||
Universal coding standards applicable across all projects.
|
||||
Baseline coding conventions applicable across projects.
|
||||
|
||||
This skill is the shared floor, not the detailed framework playbook.
|
||||
|
||||
- Use `frontend-patterns` for React, state, forms, rendering, and UI architecture.
|
||||
- Use `backend-patterns` or `api-design` for repository/service layers, endpoint design, validation, and server-specific concerns.
|
||||
- Use `rules/common/coding-style.md` when you need the shortest reusable rule layer instead of a full skill walkthrough.
|
||||
|
||||
## When to Activate
|
||||
|
||||
@@ -17,6 +23,19 @@ Universal coding standards applicable across all projects.
|
||||
- Setting up linting, formatting, or type-checking rules
|
||||
- Onboarding new contributors to coding conventions
|
||||
|
||||
## Scope Boundaries
|
||||
|
||||
Activate this skill for:
|
||||
- descriptive naming
|
||||
- immutability defaults
|
||||
- readability, KISS, DRY, and YAGNI enforcement
|
||||
- error-handling expectations and code-smell review
|
||||
|
||||
Do not use this skill as the primary source for:
|
||||
- React composition, hooks, or rendering patterns
|
||||
- backend architecture, API design, or database layering
|
||||
- domain-specific framework guidance when a narrower ECC skill already exists
|
||||
|
||||
## Code Quality Principles
|
||||
|
||||
### 1. Readability First
|
||||
|
||||
@@ -38,50 +38,28 @@ Before drafting, identify the source set:
|
||||
If the user wants a specific voice, build a voice profile from real examples before writing.
|
||||
Use `brand-voice` as the canonical workflow when voice consistency matters across more than one output.
|
||||
|
||||
## Voice Capture Workflow
|
||||
## Voice Handling
|
||||
|
||||
Run `brand-voice` first when:
|
||||
`brand-voice` is the canonical voice layer.
|
||||
|
||||
Run it first when:
|
||||
|
||||
- there are multiple downstream outputs
|
||||
- the user explicitly cares about writing style
|
||||
- the content is launch, outreach, or reputation-sensitive
|
||||
|
||||
At minimum, produce a compact `VOICE PROFILE` covering:
|
||||
- rhythm
|
||||
- compression
|
||||
- capitalization
|
||||
- parenthetical use
|
||||
- question use
|
||||
- preferred moves
|
||||
- banned moves
|
||||
|
||||
Do not start drafting until the voice profile is clear enough to enforce.
|
||||
|
||||
## Affaan / ECC Voice Reference
|
||||
|
||||
When the user wants Affaan / ECC voice specifically, default to this unless newer examples clearly override it:
|
||||
- direct, compressed, concrete
|
||||
- strong preference for specific claims, numbers, mechanisms, and receipts
|
||||
- parentheticals used to qualify, narrow, or over-clarify, not to do corny bits
|
||||
- lowercase is optional, not mandatory
|
||||
- questions are rare and should not be added as bait
|
||||
- transitions should feel earned, not polished
|
||||
- tone can be sharp or blunt, but should not sound like a content marketer
|
||||
Reuse the resulting `VOICE PROFILE` here instead of rebuilding a second voice model.
|
||||
If the user wants Affaan / ECC voice specifically, still treat `brand-voice` as the source of truth and feed it the best live or source-derived material available.
|
||||
|
||||
## Hard Bans
|
||||
|
||||
Delete and rewrite any of these:
|
||||
- "In today's rapidly evolving landscape"
|
||||
- "game-changer", "revolutionary", "cutting-edge"
|
||||
- "no fluff"
|
||||
- "not X, just Y"
|
||||
- "here's why this matters" unless it is followed immediately by something concrete
|
||||
- "Excited to share"
|
||||
- fake curiosity gaps
|
||||
- ending with a LinkedIn-style question just to farm replies
|
||||
- forced lowercase when the source voice does not call for it
|
||||
- forced casualness on LinkedIn
|
||||
- parenthetical jokes that were not present in the source voice
|
||||
- fake engagement padding that was not present in the source material
|
||||
|
||||
## Platform Adaptation Rules
|
||||
|
||||
|
||||
@@ -39,13 +39,8 @@ Use `content-engine` first if the source still needs voice shaping.
|
||||
|
||||
Run `brand-voice` first if the source voice is not already captured in the current session.
|
||||
|
||||
Before adapting, note:
|
||||
- how blunt or explanatory the source is
|
||||
- whether the source uses fragments, lists, or longer transitions
|
||||
- whether the source uses parentheses
|
||||
- whether the source avoids questions, hashtags, or CTA language
|
||||
|
||||
The adaptation should preserve that fingerprint.
|
||||
Reuse the resulting `VOICE PROFILE` directly.
|
||||
Do not build a second ad hoc voice checklist here unless the user explicitly wants a fresh override for this campaign.
|
||||
|
||||
### Step 3: Adapt by Platform Constraint
|
||||
|
||||
@@ -91,7 +86,6 @@ Delete and rewrite any of these:
|
||||
- "Here's what I learned"
|
||||
- "What do you think?"
|
||||
- "link in bio" unless that is literally true
|
||||
- "not X, just Y"
|
||||
- generic "professional takeaway" paragraphs that were not in the source
|
||||
|
||||
## Output Format
|
||||
|
||||
145
.agents/skills/frontend-design/SKILL.md
Normal file
145
.agents/skills/frontend-design/SKILL.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
name: frontend-design
|
||||
description: Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Frontend Design
|
||||
|
||||
Use this when the task is not just "make it work" but "make it look designed."
|
||||
|
||||
This skill is for product pages, dashboards, app shells, components, or visual systems that need a clear point of view instead of generic AI-looking UI.
|
||||
|
||||
## When To Use
|
||||
|
||||
- building a landing page, dashboard, or app surface from scratch
|
||||
- upgrading a bland interface into something intentional and memorable
|
||||
- translating a product concept into a concrete visual direction
|
||||
- implementing a frontend where typography, composition, and motion matter
|
||||
|
||||
## Core Principle
|
||||
|
||||
Pick a direction and commit to it.
|
||||
|
||||
Safe-average UI is usually worse than a strong, coherent aesthetic with a few bold choices.
|
||||
|
||||
## Design Workflow
|
||||
|
||||
### 1. Frame the interface first
|
||||
|
||||
Before coding, settle:
|
||||
|
||||
- purpose
|
||||
- audience
|
||||
- emotional tone
|
||||
- visual direction
|
||||
- one thing the user should remember
|
||||
|
||||
Possible directions:
|
||||
|
||||
- brutally minimal
|
||||
- editorial
|
||||
- industrial
|
||||
- luxury
|
||||
- playful
|
||||
- geometric
|
||||
- retro-futurist
|
||||
- soft and organic
|
||||
- maximalist
|
||||
|
||||
Do not mix directions casually. Choose one and execute it cleanly.
|
||||
|
||||
### 2. Build the visual system
|
||||
|
||||
Define:
|
||||
|
||||
- type hierarchy
|
||||
- color variables
|
||||
- spacing rhythm
|
||||
- layout logic
|
||||
- motion rules
|
||||
- surface / border / shadow treatment
|
||||
|
||||
Use CSS variables or the project's token system so the interface stays coherent as it grows.
|
||||
|
||||
### 3. Compose with intention
|
||||
|
||||
Prefer:
|
||||
|
||||
- asymmetry when it sharpens hierarchy
|
||||
- overlap when it creates depth
|
||||
- strong whitespace when it clarifies focus
|
||||
- dense layouts only when the product benefits from density
|
||||
|
||||
Avoid defaulting to a symmetrical card grid unless it is clearly the right fit.
|
||||
|
||||
### 4. Make motion meaningful
|
||||
|
||||
Use animation to:
|
||||
|
||||
- reveal hierarchy
|
||||
- stage information
|
||||
- reinforce user action
|
||||
- create one or two memorable moments
|
||||
|
||||
Do not scatter generic micro-interactions everywhere. One well-directed load sequence is usually stronger than twenty random hover effects.
|
||||
|
||||
## Strong Defaults
|
||||
|
||||
### Typography
|
||||
|
||||
- pick fonts with character
|
||||
- pair a distinctive display face with a readable body face when appropriate
|
||||
- avoid generic defaults when the page is design-led
|
||||
|
||||
### Color
|
||||
|
||||
- commit to a clear palette
|
||||
- one dominant field with selective accents usually works better than evenly weighted rainbow palettes
|
||||
- avoid cliché purple-gradient-on-white unless the product genuinely calls for it
|
||||
|
||||
### Background
|
||||
|
||||
Use atmosphere:
|
||||
|
||||
- gradients
|
||||
- meshes
|
||||
- textures
|
||||
- subtle noise
|
||||
- patterns
|
||||
- layered transparency
|
||||
|
||||
Flat empty backgrounds are rarely the best answer for a product-facing page.
|
||||
|
||||
### Layout
|
||||
|
||||
- break the grid when the composition benefits from it
|
||||
- use diagonals, offsets, and grouping intentionally
|
||||
- keep reading flow obvious even when the layout is unconventional
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
Never default to:
|
||||
|
||||
- interchangeable SaaS hero sections
|
||||
- generic card piles with no hierarchy
|
||||
- random accent colors without a system
|
||||
- placeholder-feeling typography
|
||||
- motion that exists only because animation was easy to add
|
||||
|
||||
## Execution Rules
|
||||
|
||||
- preserve the established design system when working inside an existing product
|
||||
- match technical complexity to the visual idea
|
||||
- keep accessibility and responsiveness intact
|
||||
- frontends should feel deliberate on desktop and mobile
|
||||
|
||||
## Quality Gate
|
||||
|
||||
Before delivering:
|
||||
|
||||
- the interface has a clear visual point of view
|
||||
- typography and spacing feel intentional
|
||||
- color and motion support the product instead of decorating it randomly
|
||||
- the result does not read like generic AI UI
|
||||
- the implementation is production-grade, not just visually interesting
|
||||
@@ -24,6 +24,11 @@ Write investor communication that is short, concrete, and easy to act on.
|
||||
4. Stay concise.
|
||||
5. Never send copy that could go to any investor.
|
||||
|
||||
## Voice Handling
|
||||
|
||||
If the user's voice matters, run `brand-voice` first and reuse its `VOICE PROFILE`.
|
||||
This skill should keep the investor-specific structure and ask discipline, not recreate its own parallel voice system.
|
||||
|
||||
## Hard Bans
|
||||
|
||||
Delete and rewrite any of these:
|
||||
@@ -31,7 +36,6 @@ Delete and rewrite any of these:
|
||||
- "excited to share"
|
||||
- generic thesis praise without a real tie-in
|
||||
- vague founder adjectives
|
||||
- "no fluff"
|
||||
- begging language
|
||||
- soft closing questions when a direct ask is clearer
|
||||
|
||||
|
||||
141
.agents/skills/product-capability/SKILL.md
Normal file
141
.agents/skills/product-capability/SKILL.md
Normal file
@@ -0,0 +1,141 @@
|
||||
---
|
||||
name: product-capability
|
||||
description: Translate PRD intent, roadmap asks, or product discussions into an implementation-ready capability plan that exposes constraints, invariants, interfaces, and unresolved decisions before multi-service work starts. Use when the user needs an ECC-native PRD-to-SRS lane instead of vague planning prose.
|
||||
origin: ECC
|
||||
---
|
||||
|
||||
# Product Capability
|
||||
|
||||
This skill turns product intent into explicit engineering constraints.
|
||||
|
||||
Use it when the gap is not "what should we build?" but "what exactly must be true before implementation starts?"
|
||||
|
||||
## When to Use
|
||||
|
||||
- A PRD, roadmap item, discussion, or founder note exists, but the implementation constraints are still implicit
|
||||
- A feature crosses multiple services, repos, or teams and needs a capability contract before coding
|
||||
- Product intent is clear, but architecture, data, lifecycle, or policy implications are still fuzzy
|
||||
- Senior engineers keep restating the same hidden assumptions during review
|
||||
- You need a reusable artifact that can survive across harnesses and sessions
|
||||
|
||||
## Canonical Artifact
|
||||
|
||||
If the repo has a durable product-context file such as `PRODUCT.md`, `docs/product/`, or a program-spec directory, update it there.
|
||||
|
||||
If no capability manifest exists yet, create one using the template at:
|
||||
|
||||
- `docs/examples/product-capability-template.md`
|
||||
|
||||
The goal is not to create another planning stack. The goal is to make hidden capability constraints durable and reusable.
|
||||
|
||||
## Non-Negotiable Rules
|
||||
|
||||
- Do not invent product truth. Mark unresolved questions explicitly.
|
||||
- Separate user-visible promises from implementation details.
|
||||
- Call out what is fixed policy, what is architecture preference, and what is still open.
|
||||
- If the request conflicts with existing repo constraints, say so clearly instead of smoothing it over.
|
||||
- Prefer one reusable capability artifact over scattered ad hoc notes.
|
||||
|
||||
## Inputs
|
||||
|
||||
Read only what is needed:
|
||||
|
||||
1. Product intent
|
||||
- issue, discussion, PRD, roadmap note, founder message
|
||||
2. Current architecture
|
||||
- relevant repo docs, contracts, schemas, routes, existing workflows
|
||||
3. Existing capability context
|
||||
- `PRODUCT.md`, design docs, RFCs, migration notes, operating-model docs
|
||||
4. Delivery constraints
|
||||
- auth, billing, compliance, rollout, backwards compatibility, performance, review policy
|
||||
|
||||
## Core Workflow
|
||||
|
||||
### 1. Restate the capability
|
||||
|
||||
Compress the ask into one precise statement:
|
||||
|
||||
- who the user or operator is
|
||||
- what new capability exists after this ships
|
||||
- what outcome changes because of it
|
||||
|
||||
If this statement is weak, the implementation will drift.
|
||||
|
||||
### 2. Resolve capability constraints
|
||||
|
||||
Extract the constraints that must hold before implementation:
|
||||
|
||||
- business rules
|
||||
- scope boundaries
|
||||
- invariants
|
||||
- trust boundaries
|
||||
- data ownership
|
||||
- lifecycle transitions
|
||||
- rollout / migration requirements
|
||||
- failure and recovery expectations
|
||||
|
||||
These are the things that often live only in senior-engineer memory.
|
||||
|
||||
### 3. Define the implementation-facing contract
|
||||
|
||||
Produce an SRS-style capability plan with:
|
||||
|
||||
- capability summary
|
||||
- explicit non-goals
|
||||
- actors and surfaces
|
||||
- required states and transitions
|
||||
- interfaces / inputs / outputs
|
||||
- data model implications
|
||||
- security / billing / policy constraints
|
||||
- observability and operator requirements
|
||||
- open questions blocking implementation
|
||||
|
||||
### 4. Translate into execution
|
||||
|
||||
End with the exact handoff:
|
||||
|
||||
- ready for direct implementation
|
||||
- needs architecture review first
|
||||
- needs product clarification first
|
||||
|
||||
If useful, point to the next ECC-native lane:
|
||||
|
||||
- `project-flow-ops`
|
||||
- `workspace-surface-audit`
|
||||
- `api-connector-builder`
|
||||
- `dashboard-builder`
|
||||
- `tdd-workflow`
|
||||
- `verification-loop`
|
||||
|
||||
## Output Format
|
||||
|
||||
Return the result in this order:
|
||||
|
||||
```text
|
||||
CAPABILITY
|
||||
- one-paragraph restatement
|
||||
|
||||
CONSTRAINTS
|
||||
- fixed rules, invariants, and boundaries
|
||||
|
||||
IMPLEMENTATION CONTRACT
|
||||
- actors
|
||||
- surfaces
|
||||
- states and transitions
|
||||
- interface/data implications
|
||||
|
||||
NON-GOALS
|
||||
- what this lane explicitly does not own
|
||||
|
||||
OPEN QUESTIONS
|
||||
- blockers or product decisions still required
|
||||
|
||||
HANDOFF
|
||||
- what should happen next and which ECC lane should take it
|
||||
```
|
||||
|
||||
## Good Outcomes
|
||||
|
||||
- Product intent is now concrete enough to implement without rediscovering hidden constraints mid-PR.
|
||||
- Engineering review has a durable artifact instead of relying on memory or Slack context.
|
||||
- The resulting plan is reusable across Claude Code, Codex, Cursor, OpenCode, and ECC 2.0 planning surfaces.
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
||||
"name": "everything-claude-code",
|
||||
"name": "ecc",
|
||||
"description": "Battle-tested Claude Code configurations from an Anthropic hackathon winner — agents, skills, hooks, rules, and legacy command shims evolved over 10+ months of intensive daily use",
|
||||
"owner": {
|
||||
"name": "Affaan Mustafa",
|
||||
@@ -11,15 +11,15 @@
|
||||
},
|
||||
"plugins": [
|
||||
{
|
||||
"name": "everything-claude-code",
|
||||
"name": "ecc",
|
||||
"source": "./",
|
||||
"description": "The most comprehensive Claude Code plugin — 36 agents, 142 skills, 68 legacy command shims, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
|
||||
"version": "1.9.0",
|
||||
"description": "The most comprehensive Claude Code plugin — 38 agents, 156 skills, 72 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
|
||||
"version": "1.10.0",
|
||||
"author": {
|
||||
"name": "Affaan Mustafa",
|
||||
"email": "me@affaanmustafa.com"
|
||||
},
|
||||
"homepage": "https://github.com/affaan-m/everything-claude-code",
|
||||
"homepage": "https://ecc.tools",
|
||||
"repository": "https://github.com/affaan-m/everything-claude-code",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "everything-claude-code",
|
||||
"version": "1.9.0",
|
||||
"description": "Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, rules, and legacy command shims evolved over 10+ months of intensive daily use",
|
||||
"name": "ecc",
|
||||
"version": "1.10.0",
|
||||
"description": "Battle-tested Claude Code plugin for engineering teams — 38 agents, 156 skills, 72 legacy command shims, production-ready hooks, and selective install workflows evolved through continuous real-world use",
|
||||
"author": {
|
||||
"name": "Affaan Mustafa",
|
||||
"url": "https://x.com/affaanmustafa"
|
||||
},
|
||||
"homepage": "https://github.com/affaan-m/everything-claude-code",
|
||||
"homepage": "https://ecc.tools",
|
||||
"repository": "https://github.com/affaan-m/everything-claude-code",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
@@ -29,19 +29,29 @@
|
||||
"./agents/code-reviewer.md",
|
||||
"./agents/cpp-build-resolver.md",
|
||||
"./agents/cpp-reviewer.md",
|
||||
"./agents/csharp-reviewer.md",
|
||||
"./agents/dart-build-resolver.md",
|
||||
"./agents/database-reviewer.md",
|
||||
"./agents/doc-updater.md",
|
||||
"./agents/docs-lookup.md",
|
||||
"./agents/e2e-runner.md",
|
||||
"./agents/flutter-reviewer.md",
|
||||
"./agents/gan-evaluator.md",
|
||||
"./agents/gan-generator.md",
|
||||
"./agents/gan-planner.md",
|
||||
"./agents/go-build-resolver.md",
|
||||
"./agents/go-reviewer.md",
|
||||
"./agents/harness-optimizer.md",
|
||||
"./agents/healthcare-reviewer.md",
|
||||
"./agents/java-build-resolver.md",
|
||||
"./agents/java-reviewer.md",
|
||||
"./agents/kotlin-build-resolver.md",
|
||||
"./agents/kotlin-reviewer.md",
|
||||
"./agents/loop-operator.md",
|
||||
"./agents/opensource-forker.md",
|
||||
"./agents/opensource-packager.md",
|
||||
"./agents/opensource-sanitizer.md",
|
||||
"./agents/performance-optimizer.md",
|
||||
"./agents/planner.md",
|
||||
"./agents/python-reviewer.md",
|
||||
"./agents/pytorch-build-resolver.md",
|
||||
|
||||
@@ -12,7 +12,7 @@ This directory contains the **Codex plugin manifest** for Everything Claude Code
|
||||
|
||||
## What This Provides
|
||||
|
||||
- **142 skills** from `./skills/` — reusable Codex workflows for TDD, security,
|
||||
- **156 skills** from `./skills/` — reusable Codex workflows for TDD, security,
|
||||
code review, architecture, and more
|
||||
- **6 MCP servers** — GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking
|
||||
|
||||
@@ -30,6 +30,9 @@ codex plugin install ./
|
||||
Run this from the repository root so `./` points to the repo root and `.mcp.json` resolves correctly.
|
||||
```
|
||||
|
||||
The installed plugin registers under the short slug `ecc` so tool and command names
|
||||
stay below provider length limits.
|
||||
|
||||
## MCP Servers Included
|
||||
|
||||
| Server | Purpose |
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "everything-claude-code",
|
||||
"version": "1.9.0",
|
||||
"description": "Battle-tested Codex workflows — 125 skills, production-ready MCP configs, and agent definitions for TDD, security scanning, code review, and autonomous development.",
|
||||
"name": "ecc",
|
||||
"version": "1.10.0",
|
||||
"description": "Battle-tested Codex workflows — 156 shared ECC skills, production-ready MCP configs, and selective-install-aligned conventions for TDD, security scanning, code review, and autonomous development.",
|
||||
"author": {
|
||||
"name": "Affaan Mustafa",
|
||||
"email": "me@affaanmustafa.com",
|
||||
"url": "https://x.com/affaanmustafa"
|
||||
},
|
||||
"homepage": "https://github.com/affaan-m/everything-claude-code",
|
||||
"homepage": "https://ecc.tools",
|
||||
"repository": "https://github.com/affaan-m/everything-claude-code",
|
||||
"license": "MIT",
|
||||
"keywords": ["codex", "agents", "skills", "tdd", "code-review", "security", "workflow", "automation"],
|
||||
@@ -15,16 +15,16 @@
|
||||
"mcpServers": "./.mcp.json",
|
||||
"interface": {
|
||||
"displayName": "Everything Claude Code",
|
||||
"shortDescription": "125 battle-tested skills for TDD, security, code review, and autonomous development.",
|
||||
"longDescription": "Everything Claude Code (ECC) is a community-maintained collection of Codex skills and MCP configs evolved over 10+ months of intensive daily use. It covers TDD workflows, security scanning, code review, architecture decisions, and more — all in one installable plugin.",
|
||||
"shortDescription": "156 battle-tested ECC skills plus MCP configs for TDD, security, code review, and autonomous development.",
|
||||
"longDescription": "Everything Claude Code (ECC) is a community-maintained collection of Codex-ready skills and MCP configs evolved over 10+ months of intensive daily use. It covers TDD workflows, security scanning, code review, architecture decisions, operator workflows, and more — all in one installable plugin.",
|
||||
"developerName": "Affaan Mustafa",
|
||||
"category": "Productivity",
|
||||
"capabilities": ["Read", "Write"],
|
||||
"websiteURL": "https://github.com/affaan-m/everything-claude-code",
|
||||
"websiteURL": "https://ecc.tools",
|
||||
"defaultPrompt": [
|
||||
"Use the tdd-workflow skill to write tests before implementation.",
|
||||
"Use the security-review skill to scan for OWASP Top 10 vulnerabilities.",
|
||||
"Use the code-review skill to review this PR for correctness and security."
|
||||
"Use the verification-loop skill to verify correctness before shipping changes."
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
{
|
||||
"command": "node .cursor/hooks/after-file-edit.js",
|
||||
"event": "afterFileEdit",
|
||||
"description": "Auto-format, TypeScript check, console.log warning"
|
||||
"description": "Auto-format, TypeScript check, console.log warning, and frontend design-quality reminder"
|
||||
}
|
||||
],
|
||||
"beforeMCPExecution": [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env node
|
||||
const { readStdin, runExistingHook, transformToClaude } = require('./adapter');
|
||||
const { hookEnabled, readStdin, runExistingHook, transformToClaude } = require('./adapter');
|
||||
readStdin().then(raw => {
|
||||
try {
|
||||
const input = JSON.parse(raw);
|
||||
@@ -11,6 +11,9 @@ readStdin().then(raw => {
|
||||
// Accumulate edited paths for batch format+typecheck at stop time
|
||||
runExistingHook('post-edit-accumulator.js', claudeStr);
|
||||
runExistingHook('post-edit-console-warn.js', claudeStr);
|
||||
if (hookEnabled('post:edit:design-quality-check', ['standard', 'strict'])) {
|
||||
runExistingHook('design-quality-check.js', claudeStr);
|
||||
}
|
||||
} catch {}
|
||||
process.stdout.write(raw);
|
||||
}).catch(() => process.exit(0));
|
||||
|
||||
2
.github/workflows/maintenance.yml
vendored
2
.github/workflows/maintenance.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
name: Stale Issues/PRs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
|
||||
with:
|
||||
stale-issue-message: 'This issue is stale due to inactivity.'
|
||||
stale-pr-message: 'This PR is stale due to inactivity.'
|
||||
|
||||
21
.github/workflows/monthly-metrics.yml
vendored
21
.github/workflows/monthly-metrics.yml
vendored
@@ -30,6 +30,10 @@ jobs:
|
||||
return match ? Number(match[1]) : null;
|
||||
}
|
||||
|
||||
function escapeRegex(value) {
|
||||
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
||||
}
|
||||
|
||||
function fmt(value) {
|
||||
if (value === null || value === undefined) return "n/a";
|
||||
return Number(value).toLocaleString("en-US");
|
||||
@@ -167,14 +171,17 @@ jobs:
|
||||
}
|
||||
|
||||
const currentBody = issue.body || "";
|
||||
if (currentBody.includes(`| ${monthKey} |`)) {
|
||||
console.log(`Issue #${issue.number} already has snapshot row for ${monthKey}`);
|
||||
return;
|
||||
}
|
||||
const rowPattern = new RegExp(`^\\| ${escapeRegex(monthKey)} \\|.*$`, "m");
|
||||
|
||||
const body = currentBody.includes("| Month (UTC) |")
|
||||
? `${currentBody.trimEnd()}\n${row}\n`
|
||||
: `${intro}\n${row}\n`;
|
||||
let body;
|
||||
if (rowPattern.test(currentBody)) {
|
||||
body = currentBody.replace(rowPattern, row);
|
||||
console.log(`Refreshed issue #${issue.number} snapshot row for ${monthKey}`);
|
||||
} else {
|
||||
body = currentBody.includes("| Month (UTC) |")
|
||||
? `${currentBody.trimEnd()}\n${row}\n`
|
||||
: `${intro}\n${row}\n`;
|
||||
}
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner,
|
||||
|
||||
11
.github/workflows/release.yml
vendored
11
.github/workflows/release.yml
vendored
@@ -18,6 +18,17 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Verify OpenCode package payload
|
||||
run: node tests/scripts/build-opencode.test.js
|
||||
|
||||
- name: Validate version tag
|
||||
run: |
|
||||
if ! [[ "${REF_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
|
||||
11
.github/workflows/reusable-release.yml
vendored
11
.github/workflows/reusable-release.yml
vendored
@@ -27,6 +27,17 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
||||
with:
|
||||
node-version: '20.x'
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Verify OpenCode package payload
|
||||
run: node tests/scripts/build-opencode.test.js
|
||||
|
||||
- name: Validate version tag
|
||||
env:
|
||||
INPUT_TAG: ${{ inputs.tag }}
|
||||
|
||||
@@ -184,7 +184,7 @@ Create a detailed implementation plan for: {input}
|
||||
```markdown
|
||||
---
|
||||
description: Create implementation plan
|
||||
agent: planner
|
||||
agent: everything-claude-code:planner
|
||||
---
|
||||
|
||||
Create a detailed implementation plan for: $ARGUMENTS
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Fix build and TypeScript errors with minimal changes
|
||||
agent: build-error-resolver
|
||||
agent: everything-claude-code:build-error-resolver
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Save verification state and progress checkpoint
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Checkpoint Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Review code for quality, security, and maintainability
|
||||
agent: code-reviewer
|
||||
agent: everything-claude-code:code-reviewer
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Generate and run E2E tests with Playwright
|
||||
agent: e2e-runner
|
||||
agent: everything-claude-code:e2e-runner
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Run evaluation against acceptance criteria
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Eval Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Analyze instincts and suggest or generate evolved structures
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Evolve Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Fix Go build and vet errors
|
||||
agent: go-build-resolver
|
||||
agent: everything-claude-code:go-build-resolver
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Go code review for idiomatic patterns
|
||||
agent: go-reviewer
|
||||
agent: everything-claude-code:go-reviewer
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Go TDD workflow with table-driven tests
|
||||
agent: tdd-guide
|
||||
agent: everything-claude-code:tdd-guide
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Export instincts for sharing
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Instinct Export Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Import instincts from external sources
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Instinct Import Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Show learned instincts (project + global) with confidence
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Instinct Status Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Extract patterns and learnings from current session
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Learn Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Orchestrate multiple agents for complex tasks
|
||||
agent: planner
|
||||
agent: everything-claude-code:planner
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Create implementation plan with risk assessment
|
||||
agent: planner
|
||||
agent: everything-claude-code:planner
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: List registered projects and instinct counts
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Projects Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Promote project instincts to global scope
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Promote Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Remove dead code and consolidate duplicates
|
||||
agent: refactor-cleaner
|
||||
agent: everything-claude-code:refactor-cleaner
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Fix Rust build errors and borrow checker issues
|
||||
agent: rust-build-resolver
|
||||
agent: everything-claude-code:rust-build-resolver
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Rust code review for ownership, safety, and idiomatic patterns
|
||||
agent: rust-reviewer
|
||||
agent: everything-claude-code:rust-reviewer
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Rust TDD workflow with unit and property tests
|
||||
agent: tdd-guide
|
||||
agent: everything-claude-code:tdd-guide
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Run comprehensive security review
|
||||
agent: security-reviewer
|
||||
agent: everything-claude-code:security-reviewer
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Configure package manager preference
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Setup Package Manager Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Generate skills from git history analysis
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Skill Create Command
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Enforce TDD workflow with 80%+ coverage
|
||||
agent: tdd-guide
|
||||
agent: everything-claude-code:tdd-guide
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Analyze and improve test coverage
|
||||
agent: tdd-guide
|
||||
agent: everything-claude-code:tdd-guide
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Update codemaps for codebase navigation
|
||||
agent: doc-updater
|
||||
agent: everything-claude-code:doc-updater
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Update documentation for recent changes
|
||||
agent: doc-updater
|
||||
agent: everything-claude-code:doc-updater
|
||||
subtask: true
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
description: Run verification loop to validate implementation
|
||||
agent: build
|
||||
agent: everything-claude-code:build
|
||||
---
|
||||
|
||||
# Verify Command
|
||||
|
||||
4
.opencode/package-lock.json
generated
4
.opencode/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "ecc-universal",
|
||||
"version": "1.4.1",
|
||||
"version": "1.10.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ecc-universal",
|
||||
"version": "1.4.1",
|
||||
"version": "1.10.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@opencode-ai/plugin": "^1.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ecc-universal",
|
||||
"version": "1.9.0",
|
||||
"version": "1.10.0",
|
||||
"description": "Everything Claude Code (ECC) plugin for OpenCode - agents, commands, hooks, and skills",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -23,7 +23,9 @@ import {
|
||||
} from "./lib/changed-files-store.js"
|
||||
import changedFilesTool from "../tools/changed-files.js"
|
||||
|
||||
export const ECCHooksPlugin = async ({
|
||||
type ECCHooksPluginFn = (input: PluginInput) => Promise<Record<string, unknown>>
|
||||
|
||||
export const ECCHooksPlugin: ECCHooksPluginFn = async ({
|
||||
client,
|
||||
$,
|
||||
directory,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import {
|
||||
buildTree,
|
||||
getChangedPaths,
|
||||
@@ -26,7 +26,7 @@ function renderTree(nodes: TreeNode[], indent: string): string {
|
||||
return lines.join("\n")
|
||||
}
|
||||
|
||||
export default tool({
|
||||
const changedFilesTool: ToolDefinition = tool({
|
||||
description:
|
||||
"List files changed by agents in this session as a navigable tree. Shows added (+), modified (~), and deleted (-) indicators. Use filter to show only specific change types. Returns paths for git diff.",
|
||||
args: {
|
||||
@@ -79,3 +79,5 @@ export default tool({
|
||||
return output
|
||||
},
|
||||
})
|
||||
|
||||
export default changedFilesTool
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* Supports common coverage report formats.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import * as path from "path"
|
||||
import * as fs from "fs"
|
||||
|
||||
export default tool({
|
||||
const checkCoverageTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Check test coverage against a threshold and identify files with low coverage. Reads coverage reports from common locations.",
|
||||
args: {
|
||||
@@ -100,6 +100,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default checkCoverageTool
|
||||
|
||||
interface CoverageSummary {
|
||||
total: {
|
||||
lines: number
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
* This avoids shell execution assumptions while still giving precise guidance.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import * as path from "path"
|
||||
import * as fs from "fs"
|
||||
|
||||
type Formatter = "biome" | "prettier" | "black" | "gofmt" | "rustfmt"
|
||||
|
||||
export default tool({
|
||||
const formatCodeTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Detect formatter for a file and return the exact command to run (Biome, Prettier, Black, gofmt, rustfmt).",
|
||||
args: {
|
||||
@@ -43,6 +43,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default formatCodeTool
|
||||
|
||||
function detectFormatter(cwd: string, ext: string): Formatter | null {
|
||||
if (["ts", "tsx", "js", "jsx", "json", "css", "scss", "md", "yaml", "yml"].includes(ext)) {
|
||||
if (fs.existsSync(path.join(cwd, "biome.json")) || fs.existsSync(path.join(cwd, "biome.jsonc"))) {
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
* Returns branch/status/log/diff details for the active repository.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import { execSync } from "child_process"
|
||||
|
||||
export default tool({
|
||||
const gitSummaryTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Generate git summary with branch, status, recent commits, and optional diff stats.",
|
||||
args: {
|
||||
@@ -45,6 +45,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default gitSummaryTool
|
||||
|
||||
function run(command: string, cwd: string): string {
|
||||
try {
|
||||
return execSync(command, { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "pipe"] }).trim()
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
* Detects the appropriate linter and returns a runnable lint command.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import * as path from "path"
|
||||
import * as fs from "fs"
|
||||
|
||||
type Linter = "biome" | "eslint" | "ruff" | "pylint" | "golangci-lint"
|
||||
|
||||
export default tool({
|
||||
const lintCheckTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Detect linter for a target path and return command for check/fix runs.",
|
||||
args: {
|
||||
@@ -43,6 +43,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default lintCheckTool
|
||||
|
||||
function detectLinter(cwd: string): Linter {
|
||||
if (fs.existsSync(path.join(cwd, "biome.json")) || fs.existsSync(path.join(cwd, "biome.jsonc"))) {
|
||||
return "biome"
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
* Automatically detects the package manager and test framework.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import * as path from "path"
|
||||
import * as fs from "fs"
|
||||
|
||||
export default tool({
|
||||
const runTestsTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Run the test suite with optional coverage, watch mode, or specific test patterns. Automatically detects package manager (npm, pnpm, yarn, bun) and test framework.",
|
||||
args: {
|
||||
@@ -97,6 +97,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default runTestsTool
|
||||
|
||||
async function detectPackageManager(cwd: string): Promise<string> {
|
||||
const lockFiles: Record<string, string> = {
|
||||
"bun.lockb": "bun",
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
* The regex patterns below are used to DETECT potential issues in user code.
|
||||
*/
|
||||
|
||||
import { tool } from "@opencode-ai/plugin/tool"
|
||||
import { tool, type ToolDefinition } from "@opencode-ai/plugin/tool"
|
||||
import * as path from "path"
|
||||
import * as fs from "fs"
|
||||
|
||||
export default tool({
|
||||
const securityAuditTool: ToolDefinition = tool({
|
||||
description:
|
||||
"Run a comprehensive security audit including dependency vulnerabilities, secret scanning, and common security issues.",
|
||||
args: {
|
||||
@@ -106,6 +106,8 @@ export default tool({
|
||||
},
|
||||
})
|
||||
|
||||
export default securityAuditTool
|
||||
|
||||
interface AuditCheck {
|
||||
name: string
|
||||
description: string
|
||||
|
||||
10
AGENTS.md
10
AGENTS.md
@@ -1,8 +1,8 @@
|
||||
# Everything Claude Code (ECC) — Agent Instructions
|
||||
|
||||
This is a **production-ready AI coding plugin** providing 36 specialized agents, 150 skills, 68 commands, and automated hook workflows for software development.
|
||||
This is a **production-ready AI coding plugin** providing 47 specialized agents, 181 skills, 79 commands, and automated hook workflows for software development.
|
||||
|
||||
**Version:** 1.9.0
|
||||
**Version:** 1.10.0
|
||||
|
||||
## Core Principles
|
||||
|
||||
@@ -145,9 +145,9 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
agents/ — 36 specialized subagents
|
||||
skills/ — 150 workflow skills and domain knowledge
|
||||
commands/ — 68 slash commands
|
||||
agents/ — 47 specialized subagents
|
||||
skills/ — 181 workflow skills and domain knowledge
|
||||
commands/ — 79 slash commands
|
||||
hooks/ — Trigger-based automations
|
||||
rules/ — Always-follow guidelines (common + per-language)
|
||||
scripts/ — Cross-platform Node.js utilities
|
||||
|
||||
34
CHANGELOG.md
34
CHANGELOG.md
@@ -1,5 +1,39 @@
|
||||
# Changelog
|
||||
|
||||
## 1.10.0 - 2026-04-05
|
||||
|
||||
### Highlights
|
||||
|
||||
- Public release surface synced to the live repo after multiple weeks of OSS growth and backlog merges.
|
||||
- Operator workflow lane expanded with voice, graph-ranking, billing, workspace, and outbound skills.
|
||||
- Media generation lane expanded with Manim and Remotion-first launch tooling.
|
||||
- ECC 2.0 alpha control-plane binary now builds locally from `ecc2/` and exposes the first usable CLI/TUI surface.
|
||||
|
||||
### Release Surface
|
||||
|
||||
- Updated plugin, marketplace, Codex, OpenCode, and agent metadata to `1.10.0`.
|
||||
- Synced published counts to the live OSS surface: 38 agents, 156 skills, 72 commands.
|
||||
- Refreshed top-level install-facing docs and marketplace descriptions to match current repo state.
|
||||
|
||||
### New Workflow Lanes
|
||||
|
||||
- `brand-voice` — canonical source-derived writing-style system.
|
||||
- `social-graph-ranker` — weighted warm-intro graph ranking primitive.
|
||||
- `connections-optimizer` — network pruning/addition workflow on top of graph ranking.
|
||||
- `customer-billing-ops`, `google-workspace-ops`, `project-flow-ops`, `workspace-surface-audit`.
|
||||
- `manim-video`, `remotion-video-creation`, `nestjs-patterns`.
|
||||
|
||||
### ECC 2.0 Alpha
|
||||
|
||||
- `cargo build --manifest-path ecc2/Cargo.toml` passes on the repository baseline.
|
||||
- `ecc-tui` currently exposes `dashboard`, `start`, `sessions`, `status`, `stop`, `resume`, and `daemon`.
|
||||
- The alpha is real and usable for local experimentation, but the broader control-plane roadmap remains incomplete and should not be treated as GA.
|
||||
|
||||
### Notes
|
||||
|
||||
- The Claude plugin remains limited by platform-level rules distribution constraints; the selective install / OSS path is still the most reliable full install.
|
||||
- This release is a repo-surface correction and ecosystem sync, not a claim that the full ECC 2.0 roadmap is complete.
|
||||
|
||||
## 1.9.0 - 2026-03-20
|
||||
|
||||
### Highlights
|
||||
|
||||
@@ -7,6 +7,7 @@ Thanks for wanting to contribute! This repo is a community resource for Claude C
|
||||
- [What We're Looking For](#what-were-looking-for)
|
||||
- [Quick Start](#quick-start)
|
||||
- [Contributing Skills](#contributing-skills)
|
||||
- [Skill Adaptation Policy](#skill-adaptation-policy)
|
||||
- [Contributing Agents](#contributing-agents)
|
||||
- [Contributing Hooks](#contributing-hooks)
|
||||
- [Contributing Commands](#contributing-commands)
|
||||
@@ -73,7 +74,7 @@ git add . && git commit -m "feat: add my-skill" && git push -u origin feat/my-co
|
||||
|
||||
Skills are knowledge modules that Claude Code loads based on context.
|
||||
|
||||
> ** Comprehensive Guide:** For detailed guidance on creating effective skills, see [Skill Development Guide](docs/SKILL-DEVELOPMENT-GUIDE.md). It covers:
|
||||
> **Comprehensive Guide:** For detailed guidance on creating effective skills, see [Skill Development Guide](docs/SKILL-DEVELOPMENT-GUIDE.md). It covers:
|
||||
> - Skill architecture and categories
|
||||
> - Writing effective content with examples
|
||||
> - Best practices and common patterns
|
||||
@@ -142,7 +143,18 @@ Link to complementary skills (e.g., `related-skill-1`, `related-skill-2`).
|
||||
| **Workflow** | Step-by-step processes | `tdd-workflow`, `refactoring-workflow` |
|
||||
| **Domain Knowledge** | Specialized domains | `security-review`, `api-design` |
|
||||
| **Tool Integration** | Tool/library usage | `docker-patterns`, `supabase-patterns` |
|
||||
| **Template** | Project-specific skill templates | `project-guidelines-example` |
|
||||
| **Template** | Project-specific skill templates | `docs/examples/project-guidelines-template.md` |
|
||||
|
||||
### Skill Adaptation Policy
|
||||
|
||||
If you are porting an idea from another repo, plugin, harness, or personal prompt pack, read [Skill Adaptation Policy](docs/skill-adaptation-policy.md) before opening the PR.
|
||||
|
||||
Short version:
|
||||
|
||||
- copy the underlying idea, not the external product identity
|
||||
- rename the skill when ECC materially changes or expands the surface
|
||||
- prefer ECC-native rules, skills, scripts, and MCPs over new default third-party dependencies
|
||||
- do not ship a skill whose main value is telling users to install an unvetted package
|
||||
|
||||
### Skill Checklist
|
||||
|
||||
@@ -165,7 +177,7 @@ Link to complementary skills (e.g., `related-skill-1`, `related-skill-2`).
|
||||
| `backend-patterns/` | Framework Patterns | API and database patterns |
|
||||
| `security-review/` | Domain Knowledge | Security checklist |
|
||||
| `tdd-workflow/` | Workflow | Test-driven development process |
|
||||
| `project-guidelines-example/` | Template | Project-specific skill template |
|
||||
| `docs/examples/project-guidelines-template.md` | Template | Project-specific skill template |
|
||||
|
||||
---
|
||||
|
||||
|
||||
124
README.md
124
README.md
@@ -17,7 +17,7 @@
|
||||

|
||||

|
||||
|
||||
> **50K+ stars** | **6K+ forks** | **30 contributors** | **7 languages supported** | **Anthropic Hackathon Winner**
|
||||
> **140K+ stars** | **21K+ forks** | **170+ contributors** | **12+ language ecosystems** | **Anthropic Hackathon Winner**
|
||||
|
||||
---
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
Not just configs. A complete system: skills, instincts, memory optimization, continuous learning, security scanning, and research-first development. Production-ready agents, skills, hooks, rules, MCP configurations, and legacy command shims evolved over 10+ months of intensive daily use building real products.
|
||||
|
||||
Works across **Claude Code**, **Codex**, **Cowork**, and other AI agent harnesses.
|
||||
Works across **Claude Code**, **Codex**, **Cursor**, **OpenCode**, **Gemini**, and other AI agent harnesses.
|
||||
|
||||
---
|
||||
|
||||
@@ -82,6 +82,15 @@ This repo is the raw code only. The guides explain everything.
|
||||
|
||||
## What's New
|
||||
|
||||
### v1.10.0 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
|
||||
|
||||
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 38 agents, 156 skills, and 72 legacy command shims.
|
||||
- **Operator and outbound workflow expansion** — `brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane.
|
||||
- **Media and launch tooling** — `manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.
|
||||
- **Framework and product surface growth** — `nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone.
|
||||
- **ECC 2.0 alpha is in-tree** — the Rust control-plane prototype in `ecc2/` now builds locally and exposes `dashboard`, `start`, `sessions`, `status`, `stop`, `resume`, and `daemon` commands. It is usable as an alpha, not yet a general release.
|
||||
- **Ecosystem hardening** — AgentShield, ECC Tools cost controls, billing portal work, and website refreshes continue to ship around the core plugin instead of drifting into separate silos.
|
||||
|
||||
### v1.9.0 — Selective Install & Language Expansion (Mar 2026)
|
||||
|
||||
- **Selective install architecture** — Manifest-driven install pipeline with `install-plan.js` and `install-apply.js` for targeted component installation. State store tracks what's installed and enables incremental updates.
|
||||
@@ -91,7 +100,7 @@ This repo is the raw code only. The guides explain everything.
|
||||
- **Orchestration overhaul** — Harness audit scoring made deterministic, orchestration status and launcher compatibility hardened, observer loop prevention with 5-layer guard.
|
||||
- **Observer reliability** — Memory explosion fix with throttling and tail sampling, sandbox access fix, lazy-start logic, and re-entrancy guard.
|
||||
- **12 language ecosystems** — New rules for Java, PHP, Perl, Kotlin/Android/KMP, C++, and Rust join existing TypeScript, Python, Go, and common rules.
|
||||
- **Community contributions** — Korean and Chinese translations, security hook, biome hook optimization, video processing skills, operational skills, PowerShell installer, Antigravity IDE support.
|
||||
- **Community contributions** — Korean and Chinese translations, biome hook optimization, video processing skills, operational skills, PowerShell installer, Antigravity IDE support.
|
||||
- **CI hardening** — 19 test failure fixes, catalog count enforcement, install manifest validation, and full test suite green.
|
||||
|
||||
### v1.8.0 — Harness Performance System (Mar 2026)
|
||||
@@ -157,12 +166,14 @@ Get up and running in under 2 minutes:
|
||||
|
||||
### Step 1: Install the Plugin
|
||||
|
||||
> NOTE: The plugin is convenient, but the OSS installer below is still the most reliable path if your Claude Code build has trouble resolving self-hosted marketplace entries.
|
||||
|
||||
```bash
|
||||
# Add marketplace
|
||||
/plugin marketplace add affaan-m/everything-claude-code
|
||||
/plugin marketplace add https://github.com/affaan-m/everything-claude-code
|
||||
|
||||
# Install plugin
|
||||
/plugin install everything-claude-code@everything-claude-code
|
||||
/plugin install ecc@ecc
|
||||
```
|
||||
|
||||
### Step 2: Install Rules (Required)
|
||||
@@ -216,16 +227,16 @@ For manual install instructions see the README in the `rules/` folder. When copy
|
||||
# Existing slash-style command names still work while ECC migrates off commands/.
|
||||
|
||||
# Plugin install uses the namespaced form
|
||||
/everything-claude-code:plan "Add user authentication"
|
||||
/ecc:plan "Add user authentication"
|
||||
|
||||
# Manual install keeps the shorter slash form:
|
||||
# /plan "Add user authentication"
|
||||
|
||||
# Check available commands
|
||||
/plugin list everything-claude-code@everything-claude-code
|
||||
/plugin list ecc@ecc
|
||||
```
|
||||
|
||||
**That's it!** You now have access to 36 agents, 150 skills, and 68 legacy command shims.
|
||||
**That's it!** You now have access to 47 agents, 181 skills, and 79 legacy command shims.
|
||||
|
||||
### Multi-model commands require additional setup
|
||||
|
||||
@@ -373,7 +384,7 @@ everything-claude-code/
|
||||
| |-- jpa-patterns/ # JPA/Hibernate patterns (NEW)
|
||||
| |-- postgres-patterns/ # PostgreSQL optimization patterns (NEW)
|
||||
| |-- nutrient-document-processing/ # Document processing with Nutrient API (NEW)
|
||||
| |-- project-guidelines-example/ # Template for project-specific skills
|
||||
| |-- docs/examples/project-guidelines-template.md # Template for project-specific skills
|
||||
| |-- database-migrations/ # Migration patterns (Prisma, Drizzle, Django, Go) (NEW)
|
||||
| |-- api-design/ # REST API design, pagination, error responses (NEW)
|
||||
| |-- deployment-patterns/ # CI/CD, Docker, health checks, rollbacks (NEW)
|
||||
@@ -607,10 +618,10 @@ The easiest way to use this repo - install as a Claude Code plugin:
|
||||
|
||||
```bash
|
||||
# Add this repo as a marketplace
|
||||
/plugin marketplace add affaan-m/everything-claude-code
|
||||
/plugin marketplace add https://github.com/affaan-m/everything-claude-code
|
||||
|
||||
# Install the plugin
|
||||
/plugin install everything-claude-code@everything-claude-code
|
||||
/plugin install ecc@ecc
|
||||
```
|
||||
|
||||
Or add directly to your `~/.claude/settings.json`:
|
||||
@@ -618,7 +629,7 @@ Or add directly to your `~/.claude/settings.json`:
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"everything-claude-code": {
|
||||
"ecc": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "affaan-m/everything-claude-code"
|
||||
@@ -626,7 +637,7 @@ Or add directly to your `~/.claude/settings.json`:
|
||||
}
|
||||
},
|
||||
"enabledPlugins": {
|
||||
"everything-claude-code@everything-claude-code": true
|
||||
"ecc@ecc": true
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -697,6 +708,14 @@ Copy the hooks from `hooks/hooks.json` to your `~/.claude/settings.json`.
|
||||
|
||||
Copy desired MCP server definitions from `mcp-configs/mcp-servers.json` into your official Claude Code config in `~/.claude/settings.json`, or into a project-scoped `.mcp.json` if you want repo-local MCP access.
|
||||
|
||||
If you already run your own copies of ECC-bundled MCPs, set:
|
||||
|
||||
```bash
|
||||
export ECC_DISABLED_MCPS="github,context7,exa,playwright,sequential-thinking,memory"
|
||||
```
|
||||
|
||||
ECC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates.
|
||||
|
||||
**Important:** Replace `YOUR_*_HERE` placeholders with your actual API keys.
|
||||
|
||||
---
|
||||
@@ -770,8 +789,8 @@ Not sure where to start? Use this quick reference. Skills are the canonical work
|
||||
|
||||
| I want to... | Use this command | Agent used |
|
||||
|--------------|-----------------|------------|
|
||||
| Plan a new feature | `/everything-claude-code:plan "Add auth"` | planner |
|
||||
| Design system architecture | `/everything-claude-code:plan` + architect agent | architect |
|
||||
| Plan a new feature | `/ecc:plan "Add auth"` | planner |
|
||||
| Design system architecture | `/ecc:plan` + architect agent | architect |
|
||||
| Write code with tests first | `/tdd` | tdd-guide |
|
||||
| Review code I just wrote | `/code-review` | code-reviewer |
|
||||
| Fix a failing build | `/build-fix` | build-error-resolver |
|
||||
@@ -790,7 +809,7 @@ Slash forms below are shown because they are still the fastest familiar entrypoi
|
||||
|
||||
**Starting a new feature:**
|
||||
```
|
||||
/everything-claude-code:plan "Add user authentication with OAuth"
|
||||
/ecc:plan "Add user authentication with OAuth"
|
||||
→ planner creates implementation blueprint
|
||||
/tdd → tdd-guide enforces write-tests-first
|
||||
/code-review → code-reviewer checks your work
|
||||
@@ -818,7 +837,7 @@ Slash forms below are shown because they are still the fastest familiar entrypoi
|
||||
<summary><b>How do I check which agents/commands are installed?</b></summary>
|
||||
|
||||
```bash
|
||||
/plugin list everything-claude-code@everything-claude-code
|
||||
/plugin list ecc@ecc
|
||||
```
|
||||
|
||||
This shows all available agents, commands, and skills from the plugin.
|
||||
@@ -894,9 +913,10 @@ Each component is fully independent.
|
||||
Yes. ECC is cross-platform:
|
||||
- **Cursor**: Pre-translated configs in `.cursor/`. See [Cursor IDE Support](#cursor-ide-support).
|
||||
- **Gemini CLI**: Experimental project-local support via `.gemini/GEMINI.md` and shared installer plumbing.
|
||||
- **OpenCode**: Full plugin support in `.opencode/`. See [OpenCode Support](#-opencode-support).
|
||||
- **OpenCode**: Full plugin support in `.opencode/`. See [OpenCode Support](#opencode-support).
|
||||
- **Codex**: First-class support for both macOS app and CLI, with adapter drift guards and SessionStart fallback. See PR [#257](https://github.com/affaan-m/everything-claude-code/pull/257).
|
||||
- **Antigravity**: Tightly integrated setup for workflows, skills, and flattened rules in `.agent/`. See [Antigravity Guide](docs/ANTIGRAVITY-GUIDE.md).
|
||||
- **Non-native harnesses**: Manual fallback path for Grok and similar interfaces. See [Manual Adaptation Guide](docs/MANUAL-ADAPTATION-GUIDE.md).
|
||||
- **Claude Code**: Native — this is the primary target.
|
||||
</details>
|
||||
|
||||
@@ -943,7 +963,7 @@ Please contribute! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
||||
### Ideas for Contributions
|
||||
|
||||
- Language-specific skills (Rust, C#, Kotlin, Java) — Go, Python, Perl, Swift, and TypeScript already included
|
||||
- Framework-specific configs (Rails, FastAPI, NestJS) — Django, Spring Boot, Laravel already included
|
||||
- Framework-specific configs (Rails, FastAPI) — Django, NestJS, Spring Boot, and Laravel already included
|
||||
- DevOps agents (Kubernetes, Terraform, AWS, Docker)
|
||||
- Testing strategies (different frameworks, visual regression)
|
||||
- Domain-specific knowledge (ML, data engineering, mobile)
|
||||
@@ -1047,8 +1067,8 @@ Codex macOS app:
|
||||
|-----------|-------|---------|
|
||||
| Config | 1 | `.codex/config.toml` — top-level approvals/sandbox/web_search, MCP servers, notifications, profiles |
|
||||
| AGENTS.md | 2 | Root (universal) + `.codex/AGENTS.md` (Codex-specific supplement) |
|
||||
| Skills | 16 | `.agents/skills/` — SKILL.md + agents/openai.yaml per skill |
|
||||
| MCP Servers | 6 | Supabase, Playwright, Context7, GitHub, Memory, Sequential Thinking (auto-merged via add-only sync) |
|
||||
| Skills | 30 | `.agents/skills/` — SKILL.md + agents/openai.yaml per skill |
|
||||
| MCP Servers | 6 | GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking (7 with Supabase via `--update-mcp` sync) |
|
||||
| Profiles | 2 | `strict` (read-only sandbox) and `yolo` (full auto-approve) |
|
||||
| Agent Roles | 3 | `.codex/agents/` — explorer, reviewer, docs-researcher |
|
||||
|
||||
@@ -1058,22 +1078,36 @@ Skills at `.agents/skills/` are auto-loaded by Codex:
|
||||
|
||||
| Skill | Description |
|
||||
|-------|-------------|
|
||||
| tdd-workflow | Test-driven development with 80%+ coverage |
|
||||
| security-review | Comprehensive security checklist |
|
||||
| coding-standards | Universal coding standards |
|
||||
| frontend-patterns | React/Next.js patterns |
|
||||
| frontend-slides | HTML presentations, PPTX conversion, visual style exploration |
|
||||
| api-design | REST API design patterns |
|
||||
| article-writing | Long-form writing from notes and voice references |
|
||||
| content-engine | Platform-native social content and repurposing |
|
||||
| market-research | Source-attributed market and competitor research |
|
||||
| investor-materials | Decks, memos, models, and one-pagers |
|
||||
| investor-outreach | Personalized outreach, follow-ups, and intro blurbs |
|
||||
| backend-patterns | API design, database, caching |
|
||||
| brand-voice | Source-derived writing style profiles from real content |
|
||||
| bun-runtime | Bun as runtime, package manager, bundler, and test runner |
|
||||
| claude-api | Anthropic Claude API patterns for Python and TypeScript |
|
||||
| coding-standards | Universal coding standards |
|
||||
| content-engine | Platform-native social content and repurposing |
|
||||
| crosspost | Multi-platform content distribution across X, LinkedIn, Threads |
|
||||
| deep-research | Multi-source research with synthesis and source attribution |
|
||||
| dmux-workflows | Multi-agent orchestration using tmux pane manager |
|
||||
| documentation-lookup | Up-to-date library and framework docs via Context7 MCP |
|
||||
| e2e-testing | Playwright E2E tests |
|
||||
| eval-harness | Eval-driven development |
|
||||
| everything-claude-code | Development conventions and patterns for the project |
|
||||
| exa-search | Neural search via Exa MCP for web, code, company research |
|
||||
| fal-ai-media | Unified media generation for images, video, and audio |
|
||||
| frontend-patterns | React/Next.js patterns |
|
||||
| frontend-slides | HTML presentations, PPTX conversion, visual style exploration |
|
||||
| investor-materials | Decks, memos, models, and one-pagers |
|
||||
| investor-outreach | Personalized outreach, follow-ups, and intro blurbs |
|
||||
| market-research | Source-attributed market and competitor research |
|
||||
| mcp-server-patterns | Build MCP servers with Node/TypeScript SDK |
|
||||
| nextjs-turbopack | Next.js 16+ and Turbopack incremental bundling |
|
||||
| security-review | Comprehensive security checklist |
|
||||
| strategic-compact | Context management |
|
||||
| api-design | REST API design patterns |
|
||||
| tdd-workflow | Test-driven development with 80%+ coverage |
|
||||
| verification-loop | Build, test, lint, typecheck, security |
|
||||
| video-editing | AI-assisted video editing workflows with FFmpeg and Remotion |
|
||||
| x-api | X/Twitter API integration for posting and analytics |
|
||||
|
||||
### Key Limitation
|
||||
|
||||
@@ -1081,7 +1115,7 @@ Codex does **not yet provide Claude-style hook execution parity**. ECC enforceme
|
||||
|
||||
### Multi-Agent Support
|
||||
|
||||
Current Codex builds support experimental multi-agent workflows.
|
||||
Current Codex builds support stable multi-agent workflows.
|
||||
|
||||
- Enable `features.multi_agent = true` in `.codex/config.toml`
|
||||
- Define roles under `[agents.<name>]`
|
||||
@@ -1118,9 +1152,9 @@ The configuration is automatically detected from `.opencode/opencode.json`.
|
||||
|
||||
| Feature | Claude Code | OpenCode | Status |
|
||||
|---------|-------------|----------|--------|
|
||||
| Agents | PASS: 36 agents | PASS: 12 agents | **Claude Code leads** |
|
||||
| Commands | PASS: 68 commands | PASS: 31 commands | **Claude Code leads** |
|
||||
| Skills | PASS: 150 skills | PASS: 37 skills | **Claude Code leads** |
|
||||
| Agents | PASS: 47 agents | PASS: 12 agents | **Claude Code leads** |
|
||||
| Commands | PASS: 79 commands | PASS: 31 commands | **Claude Code leads** |
|
||||
| Skills | PASS: 181 skills | PASS: 37 skills | **Claude Code leads** |
|
||||
| Hooks | PASS: 8 event types | PASS: 11 events | **OpenCode has more!** |
|
||||
| Rules | PASS: 29 rules | PASS: 13 instructions | **Claude Code leads** |
|
||||
| MCP Servers | PASS: 14 servers | PASS: Full | **Full parity** |
|
||||
@@ -1227,9 +1261,9 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e
|
||||
|
||||
| Feature | Claude Code | Cursor IDE | Codex CLI | OpenCode |
|
||||
|---------|------------|------------|-----------|----------|
|
||||
| **Agents** | 36 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 |
|
||||
| **Commands** | 68 | Shared | Instruction-based | 31 |
|
||||
| **Skills** | 150 | Shared | 10 (native format) | 37 |
|
||||
| **Agents** | 47 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 |
|
||||
| **Commands** | 79 | Shared | Instruction-based | 31 |
|
||||
| **Skills** | 181 | Shared | 10 (native format) | 37 |
|
||||
| **Hook Events** | 8 types | 15 types | None yet | 11 types |
|
||||
| **Hook Scripts** | 20+ scripts | 16 scripts (DRY adapter) | N/A | Plugin hooks |
|
||||
| **Rules** | 34 (common + lang) | 34 (YAML frontmatter) | Instruction-based | 13 instructions |
|
||||
@@ -1239,7 +1273,7 @@ ECC is the **first plugin to maximize every major AI coding tool**. Here's how e
|
||||
| **Context File** | CLAUDE.md + AGENTS.md | AGENTS.md | AGENTS.md | AGENTS.md |
|
||||
| **Secret Detection** | Hook-based | beforeSubmitPrompt hook | Sandbox-based | Hook-based |
|
||||
| **Auto-Format** | PostToolUse hook | afterFileEdit hook | N/A | file.edited hook |
|
||||
| **Version** | Plugin | Plugin | Reference config | 1.9.0 |
|
||||
| **Version** | Plugin | Plugin | Reference config | 1.10.0 |
|
||||
|
||||
**Key architectural decisions:**
|
||||
- **AGENTS.md** at root is the universal cross-tool file (read by all 4 tools)
|
||||
@@ -1355,6 +1389,18 @@ These configs work for my workflow. You should:
|
||||
|
||||
---
|
||||
|
||||
## Community Projects
|
||||
|
||||
Projects built on or inspired by Everything Claude Code:
|
||||
|
||||
| Project | Description |
|
||||
|---------|-------------|
|
||||
| [EVC](https://github.com/SaigonXIII/evc) | Marketing agent workspace — 42 commands for content operators, brand governance, and multi-channel publishing. [Visual overview](https://saigonxiii.github.io/evc). |
|
||||
|
||||
Built something with ECC? Open a PR to add it here.
|
||||
|
||||
---
|
||||
|
||||
## Sponsors
|
||||
|
||||
This project is free and open source. Sponsors help keep it maintained and growing.
|
||||
|
||||
481
README.zh-CN.md
481
README.zh-CN.md
@@ -1,20 +1,29 @@
|
||||
# Everything Claude Code
|
||||
|
||||
[](https://github.com/affaan-m/everything-claude-code/stargazers)
|
||||
[](https://github.com/affaan-m/everything-claude-code/network/members)
|
||||
[](https://github.com/affaan-m/everything-claude-code/graphs/contributors)
|
||||
[](https://www.npmjs.com/package/ecc-universal)
|
||||
[](https://www.npmjs.com/package/ecc-agentshield)
|
||||
[](https://github.com/marketplace/ecc-tools)
|
||||
[](LICENSE)
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
> **140K+ stars** | **21K+ forks** | **170+ 贡献者** | **12+ 语言系统** | **Anthropic黑客松获胜者**
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
**Language / 语言 / 語言**
|
||||
**Language / 语言 / 語言 / Dil**
|
||||
|
||||
[**English**](README.md) | [简体中文](README.zh-CN.md) | [繁體中文](docs/zh-TW/README.md) | [日本語](docs/ja-JP/README.md) | [한국어](docs/ko-KR/README.md)
|
||||
[**English**](README.md) | [Português (Brasil)](docs/pt-BR/README.md) | [简体中文](README.zh-CN.md) | [繁體中文](docs/zh-TW/README.md) | [日本語](docs/ja-JP/README.md) | [한국어](docs/ko-KR/README.md) | [Türkçe](docs/tr/README.md)
|
||||
|
||||
</div>
|
||||
|
||||
@@ -22,7 +31,10 @@
|
||||
|
||||
**来自 Anthropic 黑客马拉松获胜者的完整 Claude Code 配置集合。**
|
||||
|
||||
生产级代理、技能、钩子、命令、规则和 MCP 配置,经过 10 多个月构建真实产品的密集日常使用而演化。
|
||||
不止是配置文件,而是一整套完整系统:技能体系、本能行为、记忆优化、持续学习、安全扫描,以及研究优先的开发模式。
|
||||
包含可直接用于生产环境的智能体、技能模块、钩子、规则、MCP 配置,以及兼容传统命令的适配层——所有内容均经过 10 个多月高强度日常使用与真实产品开发迭代打磨而成。
|
||||
|
||||
可在 **Claude Code**、**Codex**、**Cursor**、**OpenCode**、**Gemini** 及其他 AI 智能体框架中通用。
|
||||
|
||||
---
|
||||
|
||||
@@ -32,20 +44,26 @@
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td width="50%">
|
||||
<td width="33%">
|
||||
<a href="https://x.com/affaanmustafa/status/2012378465664745795">
|
||||
<img src="https://github.com/user-attachments/assets/1a471488-59cc-425b-8345-5245c7efbcef" alt="The Shorthand Guide to Everything Claude Code" />
|
||||
</a>
|
||||
</td>
|
||||
<td width="50%">
|
||||
<td width="33%">
|
||||
<a href="https://x.com/affaanmustafa/status/2014040193557471352">
|
||||
<img src="https://github.com/user-attachments/assets/c9ca43bc-b149-427f-b551-af6840c368f0" alt="The Longform Guide to Everything Claude Code" />
|
||||
</a>
|
||||
</td>
|
||||
<td width="33%">
|
||||
<a href="https://x.com/affaanmustafa/status/2033263813387223421">
|
||||
<img src="./assets/images/security/security-guide-header.png" alt="The Shorthand Guide to Everything Agentic Security" />
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center"><b>精简指南</b><br/>设置、基础、理念。<b>先读这个。</b></td>
|
||||
<td align="center"><b>详细指南</b><br/>Token 优化、内存持久化、评估、并行化。</td>
|
||||
<td align="center"><b>安全指南</b><br/>攻击向量、沙箱技术、数据净化、CVE漏洞、Agent防护</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -66,12 +84,14 @@
|
||||
|
||||
### 第一步:安装插件
|
||||
|
||||
> 注意:插件安装方式较为便捷,但如果你的 Claude Code 版本无法正常解析自托管市场条目,建议使用下方的开源安装脚本,稳定性更高。
|
||||
|
||||
```bash
|
||||
# 添加市场
|
||||
/plugin marketplace add affaan-m/everything-claude-code
|
||||
|
||||
# 安装插件
|
||||
/plugin install everything-claude-code@everything-claude-code
|
||||
/plugin install ecc@ecc
|
||||
```
|
||||
|
||||
### 第二步:安装规则(必需)
|
||||
@@ -81,32 +101,57 @@
|
||||
```bash
|
||||
# 首先克隆仓库
|
||||
git clone https://github.com/affaan-m/everything-claude-code.git
|
||||
cd everything-claude-code
|
||||
|
||||
# 复制规则目录(通用 + 语言特定)
|
||||
mkdir -p ~/.claude/rules
|
||||
cp -r everything-claude-code/rules/common ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # 选择你的技术栈
|
||||
cp -r everything-claude-code/rules/python ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/golang ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/perl ~/.claude/rules/
|
||||
# 安装依赖(选择你常用的包管理器)
|
||||
npm install # 或:pnpm install | yarn install | bun install
|
||||
|
||||
# macOS/Linux 系统
|
||||
|
||||
# 推荐方式:完整安装(完整配置文件)
|
||||
./install.sh --profile full
|
||||
|
||||
# 或仅为指定编程语言安装
|
||||
./install.sh typescript # 也可安装 python、golang、swift、php
|
||||
# ./install.sh typescript python golang swift php
|
||||
# ./install.sh --target cursor typescript
|
||||
# ./install.sh --target antigravity typescript
|
||||
# ./install.sh --target gemini --profile full
|
||||
```
|
||||
|
||||
复制规则时,请复制整个目录(例如 `rules/common`、`rules/golang`),而不是复制目录内的文件;这样可以保留相对引用,并避免不同规则集中的同名文件互相覆盖。
|
||||
```powershell
|
||||
# Windows 系统(PowerShell)
|
||||
|
||||
# 推荐方式:完整安装(完整配置文件)
|
||||
.\install.ps1 --profile full
|
||||
|
||||
# 或仅为指定编程语言安装
|
||||
.\install.ps1 typescript # 也可安装 python、golang、swift、php
|
||||
# .\install.ps1 typescript python golang swift php
|
||||
# .\install.ps1 --target cursor typescript
|
||||
# .\install.ps1 --target antigravity typescript
|
||||
# .\install.ps1 --target gemini --profile full
|
||||
|
||||
# 通过 npm 安装的兼容入口,支持全平台使用
|
||||
npx ecc-install typescript
|
||||
```
|
||||
|
||||
如需手动安装说明,请查看 `rules/` 文件夹中的 README 文档。手动复制规则文件时,请直接复制**整个语言目录**(例如 `rules/common` 或 `rules/golang`),而非目录内的单个文件,以保证相对路径引用正常、文件名不会冲突。
|
||||
|
||||
### 第三步:开始使用
|
||||
|
||||
```bash
|
||||
# 尝试一个命令(插件安装使用命名空间形式)
|
||||
/everything-claude-code:plan "添加用户认证"
|
||||
/ecc:plan "添加用户认证"
|
||||
|
||||
# 手动安装(选项2)使用简短形式:
|
||||
# /plan "添加用户认证"
|
||||
|
||||
# 查看可用命令
|
||||
/plugin list everything-claude-code@everything-claude-code
|
||||
/plugin list ecc@ecc
|
||||
```
|
||||
|
||||
**完成!** 你现在可以使用 36 个代理、150 个技能和 68 个命令。
|
||||
**完成!** 你现在可以使用 47 个代理、181 个技能和 79 个命令。
|
||||
|
||||
### multi-* 命令需要额外配置
|
||||
|
||||
@@ -126,7 +171,7 @@ cp -r everything-claude-code/rules/perl ~/.claude/rules/
|
||||
|
||||
## 跨平台支持
|
||||
|
||||
此插件现在完全支持 **Windows、macOS 和 Linux**。所有钩子和脚本都已用 Node.js 重写,以实现最大的兼容性。
|
||||
该插件现已**全面支持 Windows、macOS 和 Linux**,并与主流 IDE(Cursor、OpenCode、Antigravity)及命令行工具深度集成。所有钩子与脚本均已使用 Node.js 重写,以实现最佳兼容性。
|
||||
|
||||
### 包管理器检测
|
||||
|
||||
@@ -157,6 +202,18 @@ node scripts/setup-package-manager.js --detect
|
||||
|
||||
或在 Claude Code 中使用 `/setup-pm` 命令。
|
||||
|
||||
### 钩子运行时控制
|
||||
|
||||
使用运行时标记调整严格度或临时禁用特定钩子:
|
||||
|
||||
```bash
|
||||
# 钩子严格度配置文件(默认值:standard)
|
||||
export ECC_HOOK_PROFILE=standard
|
||||
|
||||
# 以英文逗号分隔的钩子 ID 列表,用于禁用指定钩子
|
||||
export ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 里面有什么
|
||||
@@ -165,113 +222,198 @@ node scripts/setup-package-manager.js --detect
|
||||
|
||||
```
|
||||
everything-claude-code/
|
||||
|-- .claude-plugin/ # 插件和市场清单
|
||||
| |-- plugin.json # 插件元数据和组件路径
|
||||
| |-- marketplace.json # /plugin marketplace add 的市场目录
|
||||
|-- .claude-plugin/ # 插件与应用商店清单
|
||||
| |-- plugin.json # 插件元数据与组件路径
|
||||
| |-- marketplace.json # 用于 /plugin marketplace add 的自托管应用商店目录
|
||||
|
|
||||
|-- agents/ # 用于委托的专业子代理
|
||||
|-- agents/ # 36 个专用子智能体,用于任务委派
|
||||
| |-- planner.md # 功能实现规划
|
||||
| |-- architect.md # 系统设计决策
|
||||
| |-- architect.md # 系统架构设计决策
|
||||
| |-- tdd-guide.md # 测试驱动开发
|
||||
| |-- code-reviewer.md # 质量和安全审查
|
||||
| |-- code-reviewer.md # 代码质量与安全审查
|
||||
| |-- security-reviewer.md # 漏洞分析
|
||||
| |-- build-error-resolver.md
|
||||
| |-- e2e-runner.md # Playwright E2E 测试
|
||||
| |-- refactor-cleaner.md # 死代码清理
|
||||
| |-- doc-updater.md # 文档同步
|
||||
| |-- go-reviewer.md # Go 代码审查(新增)
|
||||
| |-- go-build-resolver.md # Go 构建错误解决(新增)
|
||||
| |-- build-error-resolver.md # 构建错误修复
|
||||
| |-- e2e-runner.md # Playwright 端到端测试
|
||||
| |-- refactor-cleaner.md # 无效代码清理
|
||||
| |-- doc-updater.md # 文档同步更新
|
||||
| |-- docs-lookup.md # 文档 / API 查阅
|
||||
| |-- chief-of-staff.md # 沟通梳理与文稿起草
|
||||
| |-- loop-operator.md # 自主循环执行
|
||||
| |-- harness-optimizer.md # 执行框架配置调优
|
||||
| |-- cpp-reviewer.md # C++ 代码审查
|
||||
| |-- cpp-build-resolver.md # C++ 构建错误修复
|
||||
| |-- go-reviewer.md # Go 代码审查
|
||||
| |-- go-build-resolver.md # Go 构建错误修复
|
||||
| |-- python-reviewer.md # Python 代码审查
|
||||
| |-- database-reviewer.md # 数据库 / Supabase 审查
|
||||
| |-- typescript-reviewer.md # TypeScript/JavaScript 代码审查
|
||||
| |-- java-reviewer.md # Java/Spring Boot 代码审查
|
||||
| |-- java-build-resolver.md # Java/Maven/Gradle 构建错误修复
|
||||
| |-- kotlin-reviewer.md # Kotlin/Android/KMP 代码审查
|
||||
| |-- kotlin-build-resolver.md # Kotlin/Gradle 构建错误修复
|
||||
| |-- rust-reviewer.md # Rust 代码审查
|
||||
| |-- rust-build-resolver.md # Rust 构建错误修复
|
||||
| |-- pytorch-build-resolver.md # PyTorch/CUDA 训练错误修复
|
||||
|
|
||||
|-- skills/ # 工作流定义和领域知识
|
||||
| |-- coding-standards/ # 语言最佳实践
|
||||
| |-- backend-patterns/ # API、数据库、缓存模式
|
||||
| |-- frontend-patterns/ # React、Next.js 模式
|
||||
| |-- continuous-learning/ # 从会话中自动提取模式(详细指南)
|
||||
| |-- continuous-learning-v2/ # 基于直觉的学习与置信度评分
|
||||
| |-- iterative-retrieval/ # 子代理的渐进式上下文细化
|
||||
| |-- strategic-compact/ # 手动压缩建议(详细指南)
|
||||
| |-- tdd-workflow/ # TDD 方法论
|
||||
|-- skills/ # 工作流定义与领域知识库
|
||||
| |-- coding-standards/ # 各语言最佳实践
|
||||
| |-- clickhouse-io/ # ClickHouse 分析、查询与数据工程
|
||||
| |-- backend-patterns/ # API、数据库、缓存设计模式
|
||||
| |-- frontend-patterns/ # React、Next.js 开发模式
|
||||
| |-- frontend-slides/ # HTML 幻灯片与 PPTX 转网页工作流(新增)
|
||||
| |-- article-writing/ # 长文本写作,保留指定风格、避免通用 AI 腔调(新增)
|
||||
| |-- content-engine/ # 多平台社交内容创作与复用工作流(新增)
|
||||
| |-- market-research/ # 带来源引用的市场、竞品与投资方研究(新增)
|
||||
| |-- investor-materials/ # 融资路演 PPT、单页摘要、备忘录与财务模型(新增)
|
||||
| |-- investor-outreach/ # 定制化融资触达与跟进(新增)
|
||||
| |-- continuous-learning/ # 从会话中自动提取模式(长文本指南)
|
||||
| |-- continuous-learning-v2/ # 基于本能的学习,附带置信度评分
|
||||
| |-- iterative-retrieval/ # 为子智能体渐进式优化上下文
|
||||
| |-- strategic-compact/ # 手动上下文精简建议(长文本指南)
|
||||
| |-- tdd-workflow/ # 测试驱动开发方法论
|
||||
| |-- security-review/ # 安全检查清单
|
||||
| |-- eval-harness/ # 验证循环评估(详细指南)
|
||||
| |-- verification-loop/ # 持续验证(详细指南)
|
||||
| |-- golang-patterns/ # Go 惯用语和最佳实践(新增)
|
||||
| |-- golang-testing/ # Go 测试模式、TDD、基准测试(新增)
|
||||
| |-- cpp-testing/ # C++ 测试模式、GoogleTest、CMake/CTest(新增)
|
||||
| |-- perl-patterns/ # 现代 Perl 5.36+ 惯用语和最佳实践(新增)
|
||||
| |-- perl-security/ # Perl 安全模式、污染模式、安全 I/O(新增)
|
||||
| |-- perl-testing/ # 使用 Test2::V0、prove、Devel::Cover 的 Perl TDD(新增)
|
||||
| |-- eval-harness/ # 验证循环评估(长文本指南)
|
||||
| |-- verification-loop/ # 持续验证机制(长文本指南)
|
||||
| |-- videodb/ # 音视频采集、检索、编辑、生成与推流(新增)
|
||||
| |-- golang-patterns/ # Go 语言惯用写法与最佳实践
|
||||
| |-- golang-testing/ # Go 测试模式、TDD 与基准测试
|
||||
| |-- cpp-coding-standards/ # 遵循 C++ Core Guidelines 的编码规范(新增)
|
||||
| |-- cpp-testing/ # 基于 GoogleTest、CMake/CTest 的 C++ 测试(新增)
|
||||
| |-- django-patterns/ # Django 模式、模型与视图(新增)
|
||||
| |-- django-security/ # Django 安全最佳实践(新增)
|
||||
| |-- django-tdd/ # Django TDD 工作流(新增)
|
||||
| |-- django-verification/ # Django 验证循环(新增)
|
||||
| |-- laravel-patterns/ # Laravel 架构模式(新增)
|
||||
| |-- laravel-security/ # Laravel 安全最佳实践(新增)
|
||||
| |-- laravel-tdd/ # Laravel TDD 工作流(新增)
|
||||
| |-- laravel-verification/ # Laravel 验证循环(新增)
|
||||
| |-- python-patterns/ # Python 惯用写法与最佳实践(新增)
|
||||
| |-- python-testing/ # 基于 pytest 的 Python 测试(新增)
|
||||
| |-- springboot-patterns/ # Java Spring Boot 模式(新增)
|
||||
| |-- springboot-security/ # Spring Boot 安全(新增)
|
||||
| |-- springboot-tdd/ # Spring Boot TDD(新增)
|
||||
| |-- springboot-verification/ # Spring Boot 验证(新增)
|
||||
| |-- configure-ecc/ # 交互式安装向导(新增)
|
||||
| |-- security-scan/ # 集成 AgentShield 安全审计(新增)
|
||||
| |-- java-coding-standards/ # Java 编码规范(新增)
|
||||
| |-- jpa-patterns/ # JPA/Hibernate 模式(新增)
|
||||
| |-- postgres-patterns/ # PostgreSQL 优化模式(新增)
|
||||
| |-- nutrient-document-processing/ # 基于 Nutrient API 的文档处理(新增)
|
||||
| |-- docs/examples/project-guidelines-template.md # 项目专属技能模板
|
||||
| |-- database-migrations/ # 数据库迁移模式(Prisma、Drizzle、Django、Go)(新增)
|
||||
| |-- api-design/ # REST API 设计、分页、错误响应(新增)
|
||||
| |-- deployment-patterns/ # CI/CD、Docker、健康检查、回滚(新增)
|
||||
| |-- docker-patterns/ # Docker Compose、网络、数据卷、容器安全(新增)
|
||||
| |-- e2e-testing/ # Playwright E2E 模式与页面对象模型(新增)
|
||||
| |-- content-hash-cache-pattern/ # 用于文件处理的 SHA-256 内容哈希缓存(新增)
|
||||
| |-- cost-aware-llm-pipeline/ # LLM 成本优化、模型路由、预算跟踪(新增)
|
||||
| |-- regex-vs-llm-structured-text/ # 文本解析:正则与 LLM 选型决策框架(新增)
|
||||
| |-- swift-actor-persistence/ # 基于 Actor 的 Swift 线程安全数据持久化(新增)
|
||||
| |-- swift-protocol-di-testing/ # 基于协议的依赖注入,实现可测试 Swift 代码(新增)
|
||||
| |-- search-first/ # 先调研再编码工作流(新增)
|
||||
| |-- skill-stocktake/ # 技能与命令质量审计(新增)
|
||||
| |-- liquid-glass-design/ # iOS 26 Liquid Glass 设计系统(新增)
|
||||
| |-- foundation-models-on-device/ # 基于 Apple FoundationModels 的端侧大模型(新增)
|
||||
| |-- swift-concurrency-6-2/ # Swift 6.2 简洁并发编程(新增)
|
||||
| |-- perl-patterns/ # 现代 Perl 5.36+ 惯用写法与最佳实践(新增)
|
||||
| |-- perl-security/ # Perl 安全模式、污点模式、安全 I/O(新增)
|
||||
| |-- perl-testing/ # 基于 Test2::V0、prove、Devel::Cover 的 Perl TDD(新增)
|
||||
| |-- autonomous-loops/ # 自主循环模式:顺序流水线、PR 循环、DAG 编排(新增)
|
||||
| |-- plankton-code-quality/ # 基于 Plankton 钩子的实时代码质量管控(新增)
|
||||
|
|
||||
|-- commands/ # 用于快速执行的斜杠命令
|
||||
|-- commands/ # 传统斜杠命令兼容层;优先使用 skills/
|
||||
| |-- tdd.md # /tdd - 测试驱动开发
|
||||
| |-- plan.md # /plan - 实现规划
|
||||
| |-- e2e.md # /e2e - E2E 测试生成
|
||||
| |-- code-review.md # /code-review - 质量审查
|
||||
| |-- e2e.md # /e2e - 生成端到端测试
|
||||
| |-- code-review.md # /code-review - 代码质量审查
|
||||
| |-- build-fix.md # /build-fix - 修复构建错误
|
||||
| |-- refactor-clean.md # /refactor-clean - 死代码移除
|
||||
| |-- learn.md # /learn - 会话中提取模式(详细指南)
|
||||
| |-- checkpoint.md # /checkpoint - 保存验证状态(详细指南)
|
||||
| |-- verify.md # /verify - 运行验证循环(详细指南)
|
||||
| |-- refactor-clean.md # /refactor-clean - 清理无效代码
|
||||
| |-- learn.md # /learn - 会话中提取模式(长文本指南)
|
||||
| |-- learn-eval.md # /learn-eval - 提取、评估并保存模式(新增)
|
||||
| |-- checkpoint.md # /checkpoint - 保存验证状态(长文本指南)
|
||||
| |-- verify.md # /verify - 运行验证循环(长文本指南)
|
||||
| |-- setup-pm.md # /setup-pm - 配置包管理器
|
||||
| |-- go-review.md # /go-review - Go 代码审查(新增)
|
||||
| |-- go-test.md # /go-test - Go TDD 工作流(新增)
|
||||
| |-- go-build.md # /go-build - 修复 Go 构建错误(新增)
|
||||
| |-- skill-create.md # /skill-create - 从 git 历史生成技能(新增)
|
||||
| |-- instinct-status.md # /instinct-status - 查看学习的直觉(新增)
|
||||
| |-- instinct-import.md # /instinct-import - 导入直觉(新增)
|
||||
| |-- instinct-export.md # /instinct-export - 导出直觉(新增)
|
||||
| |-- evolve.md # /evolve - 将直觉聚类到技能中(新增)
|
||||
| |-- skill-create.md # /skill-create - 从 Git 历史生成技能(新增)
|
||||
| |-- instinct-status.md # /instinct-status - 查看已学习本能(新增)
|
||||
| |-- instinct-import.md # /instinct-import - 导入本能(新增)
|
||||
| |-- instinct-export.md # /instinct-export - 导出本能(新增)
|
||||
| |-- evolve.md # /evolve - 将本能聚类为技能
|
||||
| |-- prune.md # /prune - 删除过期待处理本能(新增)
|
||||
| |-- pm2.md # /pm2 - PM2 服务生命周期管理(新增)
|
||||
| |-- multi-plan.md # /multi-plan - 多智能体任务拆解(新增)
|
||||
| |-- multi-execute.md # /multi-execute - 多智能体工作流编排(新增)
|
||||
| |-- multi-backend.md # /multi-backend - 后端多服务编排(新增)
|
||||
| |-- multi-frontend.md # /multi-frontend - 前端多服务编排(新增)
|
||||
| |-- multi-workflow.md # /multi-workflow - 通用多服务工作流(新增)
|
||||
| |-- orchestrate.md # /orchestrate - 多智能体协同调度
|
||||
| |-- sessions.md # /sessions - 会话历史管理
|
||||
| |-- eval.md # /eval - 按标准评估
|
||||
| |-- test-coverage.md # /test-coverage - 测试覆盖率分析
|
||||
| |-- update-docs.md # /update-docs - 更新文档
|
||||
| |-- update-codemaps.md # /update-codemaps - 更新代码映射
|
||||
| |-- python-review.md # /python-review - Python 代码审查(新增)
|
||||
|
|
||||
|-- rules/ # 始终遵循的指南(复制到 ~/.claude/rules/)
|
||||
| |-- README.md # 结构概述和安装指南
|
||||
| |-- common/ # 与语言无关的原则
|
||||
| | |-- coding-style.md # 不可变性、文件组织
|
||||
|-- rules/ # 必须遵守的规范(复制到 ~/.claude/rules/)
|
||||
| |-- README.md # 结构概览与安装指南
|
||||
| |-- common/ # 与语言无关的通用原则
|
||||
| | |-- coding-style.md # 不可变性、文件组织规范
|
||||
| | |-- git-workflow.md # 提交格式、PR 流程
|
||||
| | |-- testing.md # TDD、80% 覆盖率要求
|
||||
| | |-- performance.md # 模型选择、上下文管理
|
||||
| | |-- patterns.md # 设计模式、骨架项目
|
||||
| | |-- performance.md # 模型选型、上下文管理
|
||||
| | |-- patterns.md # 设计模式、项目骨架
|
||||
| | |-- hooks.md # 钩子架构、TodoWrite
|
||||
| | |-- agents.md # 何时委托给子代理
|
||||
| | |-- security.md # 强制性安全检查
|
||||
| |-- typescript/ # TypeScript/JavaScript 特定
|
||||
| |-- python/ # Python 特定
|
||||
| |-- golang/ # Go 特定
|
||||
| |-- perl/ # Perl 特定(新增)
|
||||
| | |-- agents.md # 子智能体委派时机
|
||||
| | |-- security.md # 强制安全检查
|
||||
| |-- typescript/ # TypeScript/JavaScript 专属规范
|
||||
| |-- python/ # Python 专属规范
|
||||
| |-- golang/ # Go 专属规范
|
||||
| |-- swift/ # Swift 专属规范
|
||||
| |-- php/ # PHP 专属规范(新增)
|
||||
|
|
||||
|-- hooks/ # 基于触发器的自动化
|
||||
| |-- hooks.json # 所有钩子配置(PreToolUse、PostToolUse、Stop 等)
|
||||
| |-- memory-persistence/ # 会话生命周期钩子(详细指南)
|
||||
| |-- strategic-compact/ # 压缩建议(详细指南)
|
||||
|-- hooks/ # 基于触发器的自动化逻辑
|
||||
| |-- README.md # 钩子文档、使用示例与自定义指南
|
||||
| |-- hooks.json # 全部钩子配置(PreToolUse、PostToolUse、Stop 等)
|
||||
| |-- memory-persistence/ # 会话生命周期钩子(长文本指南)
|
||||
| |-- strategic-compact/ # 上下文精简建议(长文本指南)
|
||||
|
|
||||
|-- scripts/ # 跨平台 Node.js 脚本(新增)
|
||||
| |-- lib/ # 共享工具
|
||||
| | |-- utils.js # 跨平台文件/路径/系统工具
|
||||
| | |-- package-manager.js # 包管理器检测和选择
|
||||
| |-- lib/ # 通用工具库
|
||||
| | |-- utils.js # 跨平台文件 / 路径 / 系统工具
|
||||
| | |-- package-manager.js # 包管理器检测与选择
|
||||
| |-- hooks/ # 钩子实现
|
||||
| | |-- session-start.js # 会话开始时加载上下文
|
||||
| | |-- session-start.js # 会话启动时加载上下文
|
||||
| | |-- session-end.js # 会话结束时保存状态
|
||||
| | |-- pre-compact.js # 压缩前状态保存
|
||||
| | |-- suggest-compact.js # 战略性压缩建议
|
||||
| | |-- pre-compact.js # 上下文精简前状态保存
|
||||
| | |-- suggest-compact.js # 策略性精简建议
|
||||
| | |-- evaluate-session.js # 从会话中提取模式
|
||||
| |-- setup-package-manager.js # 交互式 PM 设置
|
||||
| |-- setup-package-manager.js # 交互式包管理器设置
|
||||
|
|
||||
|-- tests/ # 测试套件(新增)
|
||||
| |-- lib/ # 库测试
|
||||
| |-- lib/ # 工具库测试
|
||||
| |-- hooks/ # 钩子测试
|
||||
| |-- run-all.js # 运行所有测试
|
||||
| |-- run-all.js # 运行全部测试
|
||||
|
|
||||
|-- contexts/ # 动态系统提示注入上下文(详细指南)
|
||||
|-- contexts/ # 动态注入的系统提示上下文(长文本指南)
|
||||
| |-- dev.md # 开发模式上下文
|
||||
| |-- review.md # 代码审查模式上下文
|
||||
| |-- research.md # 研究/探索模式上下文
|
||||
| |-- research.md # 研究 / 探索模式上下文
|
||||
|
|
||||
|-- examples/ # 示例配置和会话
|
||||
| |-- CLAUDE.md # 示例项目级配置
|
||||
| |-- user-CLAUDE.md # 示例用户级配置
|
||||
|-- examples/ # 配置与会话示例
|
||||
| |-- CLAUDE.md # 项目级配置示例
|
||||
| |-- user-CLAUDE.md # 用户级配置示例
|
||||
| |-- saas-nextjs-CLAUDE.md # 真实 SaaS 项目(Next.js + Supabase + Stripe)
|
||||
| |-- go-microservice-CLAUDE.md # 真实 Go 微服务(gRPC + PostgreSQL)
|
||||
| |-- django-api-CLAUDE.md # 真实 Django REST API(DRF + Celery)
|
||||
| |-- laravel-api-CLAUDE.md # 真实 Laravel API(PostgreSQL + Redis)(新增)
|
||||
| |-- rust-api-CLAUDE.md # 真实 Rust API(Axum + SQLx + PostgreSQL)(新增)
|
||||
|
|
||||
|-- mcp-configs/ # MCP 服务器配置
|
||||
| |-- mcp-servers.json # GitHub、Supabase、Vercel、Railway 等
|
||||
|-- mcp-configs/ # MCP 服务端配置
|
||||
| |-- mcp-servers.json # GitHub、Supabase、Vercel、Railway 等配置
|
||||
|
|
||||
|-- marketplace.json # 自托管市场配置(用于 /plugin marketplace add)
|
||||
|-- marketplace.json # 自托管应用商店配置(用于 /plugin marketplace add)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -311,6 +453,36 @@ everything-claude-code/
|
||||
- **直觉集合** - 用于 continuous-learning-v2
|
||||
- **模式提取** - 从你的提交历史中学习
|
||||
|
||||
### AgentShield — 安全审计工具
|
||||
|
||||
> 于 Claude Code 黑客松(Cerebral Valley x Anthropic,2026 年 2 月)开发完成。包含 1282 项测试、98% 覆盖率、102 条静态分析规则。
|
||||
|
||||
扫描你的 Claude Code 配置,检测漏洞、错误配置与注入风险。
|
||||
|
||||
```bash
|
||||
# 快速扫描(无需安装)
|
||||
npx ecc-agentshield scan
|
||||
|
||||
# 自动修复安全问题
|
||||
npx ecc-agentshield scan --fix
|
||||
|
||||
# 调用 3 个 Opus 4.6 智能体进行深度分析
|
||||
npx ecc-agentshield scan --opus --stream
|
||||
|
||||
# 从零生成安全配置
|
||||
npx ecc-agentshield init
|
||||
```
|
||||
|
||||
**扫描范围:** CLAUDE.md、settings.json、MCP 配置、钩子、智能体定义与技能模块,覆盖 5 大类别 —— 密钥检测(14 种模式)、权限审计、钩子注入分析、MCP 服务风险评估、智能体配置审查。
|
||||
|
||||
**`--opus` 参数**:启动 3 个 Claude Opus 4.6 智能体组成红队/蓝队/审计管道。攻击者寻找利用链,防御者评估防护机制,审计者综合生成优先级风险报告。采用对抗推理,而非单纯模式匹配。
|
||||
|
||||
**输出格式:** 终端(彩色等级 A-F)、JSON(CI 流水线)、Markdown、HTML。发现严重问题时返回退出码 2,可用于构建门禁。
|
||||
|
||||
在 Claude Code 中使用 `/security-scan` 运行,或通过 [GitHub Action](https://github.com/affaan-m/agentshield) 集成到 CI。
|
||||
|
||||
[GitHub](https://github.com/affaan-m/agentshield) | [npm](https://www.npmjs.com/package/ecc-agentshield)
|
||||
|
||||
### 持续学习 v2
|
||||
|
||||
基于直觉的学习系统自动学习你的模式:
|
||||
@@ -328,6 +500,30 @@ everything-claude-code/
|
||||
|
||||
---
|
||||
|
||||
## 环境要求
|
||||
|
||||
### Claude Code 命令行版本
|
||||
**最低版本:v2.1.0 或更高**
|
||||
|
||||
由于插件系统处理钩子的机制发生变更,本插件要求 Claude Code CLI 版本不低于 v2.1.0。
|
||||
|
||||
查看当前版本:
|
||||
```bash
|
||||
claude --version
|
||||
```
|
||||
|
||||
### 重要提示:钩子自动加载机制
|
||||
> 警告:**贡献者请注意**:请勿在 `.claude-plugin/plugin.json` 中添加 `"hooks"` 字段。回归测试已强制禁止该操作。
|
||||
|
||||
Claude Code v2.1+ 会**按照约定自动加载**已安装插件中的 `hooks/hooks.json`。若在 `plugin.json` 中显式声明该文件,会触发重复检测错误:
|
||||
```
|
||||
检测到重复的钩子文件:./hooks/hooks.json 指向已加载的文件
|
||||
```
|
||||
|
||||
**历史说明**:该问题曾在本仓库中引发多次「修复-回滚」循环([#29](https://github.com/affaan-m/everything-claude-code/issues/29)、[#52](https://github.com/affaan-m/everything-claude-code/issues/52)、[#103](https://github.com/affaan-m/everything-claude-code/issues/103))。因 Claude Code 版本间行为变更导致混淆,现已添加回归测试,防止该问题再次出现。
|
||||
|
||||
---
|
||||
|
||||
## 安装
|
||||
|
||||
### 选项 1:作为插件安装(推荐)
|
||||
@@ -339,7 +535,7 @@ everything-claude-code/
|
||||
/plugin marketplace add affaan-m/everything-claude-code
|
||||
|
||||
# 安装插件
|
||||
/plugin install everything-claude-code@everything-claude-code
|
||||
/plugin install ecc@ecc
|
||||
```
|
||||
|
||||
或直接添加到你的 `~/.claude/settings.json`:
|
||||
@@ -347,7 +543,7 @@ everything-claude-code/
|
||||
```json
|
||||
{
|
||||
"extraKnownMarketplaces": {
|
||||
"everything-claude-code": {
|
||||
"ecc": {
|
||||
"source": {
|
||||
"source": "github",
|
||||
"repo": "affaan-m/everything-claude-code"
|
||||
@@ -355,7 +551,7 @@ everything-claude-code/
|
||||
}
|
||||
},
|
||||
"enabledPlugins": {
|
||||
"everything-claude-code@everything-claude-code": true
|
||||
"ecc@ecc": true
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -368,60 +564,70 @@ everything-claude-code/
|
||||
> # 首先克隆仓库
|
||||
> git clone https://github.com/affaan-m/everything-claude-code.git
|
||||
>
|
||||
> # 选项 A:用户级规则(应用于所有项目)
|
||||
> # 方案 A:用户级规则(对所有项目生效)
|
||||
> mkdir -p ~/.claude/rules
|
||||
> cp -r everything-claude-code/rules/common ~/.claude/rules/
|
||||
> cp -r everything-claude-code/rules/typescript ~/.claude/rules/
|
||||
> cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # 选择你使用的技术栈
|
||||
> cp -r everything-claude-code/rules/python ~/.claude/rules/
|
||||
> cp -r everything-claude-code/rules/golang ~/.claude/rules/
|
||||
> cp -r everything-claude-code/rules/perl ~/.claude/rules/
|
||||
> cp -r everything-claude-code/rules/php ~/.claude/rules/
|
||||
>
|
||||
> # 选项 B:项目级规则(仅应用于当前项目)
|
||||
> # 方案 B:项目级规则(仅对当前项目生效)
|
||||
> mkdir -p .claude/rules
|
||||
> cp -r everything-claude-code/rules/common .claude/rules/
|
||||
> cp -r everything-claude-code/rules/typescript .claude/rules/
|
||||
> cp -r everything-claude-code/rules/python .claude/rules/
|
||||
> cp -r everything-claude-code/rules/golang .claude/rules/
|
||||
> cp -r everything-claude-code/rules/perl .claude/rules/
|
||||
> cp -r everything-claude-code/rules/typescript .claude/rules/ # 选择你使用的技术栈
|
||||
> ```
|
||||
|
||||
---
|
||||
|
||||
### 选项 2:手动安装
|
||||
|
||||
如果你希望对安装的内容进行手动控制:
|
||||
如果你希望手动控制安装内容,可按以下步骤操作:
|
||||
|
||||
```bash
|
||||
# 克隆仓库
|
||||
git clone https://github.com/affaan-m/everything-claude-code.git
|
||||
|
||||
# 将代理复制到你的 Claude 配置
|
||||
# 将智能体文件复制到 Claude 配置目录
|
||||
cp everything-claude-code/agents/*.md ~/.claude/agents/
|
||||
|
||||
# 复制规则目录(通用 + 语言特定)
|
||||
# 复制规则目录(通用规则 + 特定语言规则)
|
||||
mkdir -p ~/.claude/rules
|
||||
cp -r everything-claude-code/rules/common ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # 选择你的技术栈
|
||||
cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # 选择你使用的技术栈
|
||||
cp -r everything-claude-code/rules/python ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/golang ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/perl ~/.claude/rules/
|
||||
cp -r everything-claude-code/rules/php ~/.claude/rules/
|
||||
|
||||
# 复制命令
|
||||
# 优先复制技能模块(核心工作流)
|
||||
# 新用户推荐:仅复制核心/通用技能
|
||||
cp -r everything-claude-code/.agents/skills/* ~/.claude/skills/
|
||||
cp -r everything-claude-code/skills/search-first ~/.claude/skills/
|
||||
|
||||
# 可选:仅在需要时添加细分领域/框架专属技能
|
||||
# for s in django-patterns django-tdd laravel-patterns springboot-patterns; do
|
||||
# cp -r everything-claude-code/skills/$s ~/.claude/skills/
|
||||
# done
|
||||
|
||||
# 可选:迁移期间保留传统斜杠命令兼容
|
||||
mkdir -p ~/.claude/commands
|
||||
cp everything-claude-code/commands/*.md ~/.claude/commands/
|
||||
|
||||
# 复制技能
|
||||
cp -r everything-claude-code/skills/* ~/.claude/skills/
|
||||
```
|
||||
|
||||
#### 将钩子添加到 settings.json
|
||||
#### 将钩子配置添加到 settings.json
|
||||
将 `hooks/hooks.json` 中的钩子配置复制到你的 `~/.claude/settings.json` 文件中。
|
||||
|
||||
将 `hooks/hooks.json` 中的钩子复制到你的 `~/.claude/settings.json`。
|
||||
#### 配置 MCP 服务
|
||||
从 `mcp-configs/mcp-servers.json` 中复制需要的 MCP 服务定义,粘贴到官方 Claude Code 配置文件 `~/.claude/settings.json` 中;
|
||||
若需要仓库本地的 MCP 访问权限,可粘贴到项目级配置文件 `.mcp.json` 中。
|
||||
|
||||
#### 配置 MCP
|
||||
如果你已自行运行 ECC 捆绑的 MCP 服务,设置以下环境变量:
|
||||
```bash
|
||||
export ECC_DISABLED_MCPS="github,context7,exa,playwright,sequential-thinking,memory"
|
||||
```
|
||||
ECC 托管的安装程序和 Codex 同步流程将跳过或移除这些服务,避免重复添加。
|
||||
|
||||
将所需的 MCP 服务器从 `mcp-configs/mcp-servers.json` 复制到你的 `~/.claude.json`。
|
||||
|
||||
**重要:** 将 `YOUR_*_HERE` 占位符替换为你的实际 API 密钥。
|
||||
**重要提示**:将配置中的 `YOUR_*_HERE` 占位符替换为你真实的 API 密钥。
|
||||
|
||||
---
|
||||
|
||||
@@ -515,11 +721,11 @@ node tests/hooks/hooks.test.js
|
||||
|
||||
### 贡献想法
|
||||
|
||||
- 特定语言的技能(Rust、C#、Kotlin、Java)- 现已包含 Go、Python、Perl、Swift 和 TypeScript!
|
||||
- 特定框架的配置(Django、Rails、Laravel)
|
||||
- DevOps 代理(Kubernetes、Terraform、AWS)
|
||||
- 测试策略(不同框架)
|
||||
- 特定领域的知识(ML、数据工程、移动)
|
||||
- 特定语言技能(Rust、C#、Kotlin、Java)—— Go、Python、Perl、Swift 和 TypeScript 已内置
|
||||
- 特定框架配置(Rails、FastAPI)—— Django、NestJS、Spring Boot 和 Laravel 已内置
|
||||
- DevOps 智能体(Kubernetes、Terraform、AWS、Docker)
|
||||
- 测试策略(多种测试框架、视觉回归测试)
|
||||
- 领域专属知识库(机器学习、数据工程、移动端开发)
|
||||
|
||||
---
|
||||
|
||||
@@ -554,6 +760,26 @@ node tests/hooks/hooks.test.js
|
||||
|
||||
---
|
||||
|
||||
## 社区项目
|
||||
|
||||
基于 Everything Claude Code 构建或受其启发的项目:
|
||||
|
||||
| 项目 | 介绍 |
|
||||
|------|------|
|
||||
| [EVC](https://github.com/SaigonXIII/evc) | 营销智能体工作区 — 包含 42 条命令,面向内容运营、品牌管控与多渠道发布。[可视化概览](https://saigonxiii.github.io/evc)。 |
|
||||
|
||||
如果你用 ECC 做了项目,欢迎提交 PR 添加到这里。
|
||||
|
||||
---
|
||||
|
||||
## 赞助者
|
||||
|
||||
本项目免费开源。赞助支持项目持续维护与功能迭代。
|
||||
|
||||
[成为赞助者](https://github.com/sponsors/affaan-m) | [赞助档位](SPONSORS.md) | [赞助计划](SPONSORING.md)
|
||||
|
||||
---
|
||||
|
||||
## Star 历史
|
||||
|
||||
[](https://star-history.com/#affaan-m/everything-claude-code&Date)
|
||||
@@ -562,11 +788,10 @@ node tests/hooks/hooks.test.js
|
||||
|
||||
## 链接
|
||||
|
||||
- **精简指南(从这里开始):** [The Shorthand Guide to Everything Claude Code](https://x.com/affaanmustafa/status/2012378465664745795)
|
||||
- **详细指南(高级):** [The Longform Guide to Everything Claude Code](https://x.com/affaanmustafa/status/2014040193557471352)
|
||||
- **关注:** [@affaanmustafa](https://x.com/affaanmustafa)
|
||||
- **zenith.chat:** [zenith.chat](https://zenith.chat)
|
||||
- **技能目录:** awesome-agent-skills(社区维护的智能体技能目录)
|
||||
- **快速上手指南(入门首选):** [Everything Claude Code 简明指南](https://x.com/affaanmustafa/status/2012378465664745795)
|
||||
- **长文指南(高阶进阶):** [Everything Claude Code 完整版深度指南](https://x.com/affaanmustafa/status/2014040193557471352)
|
||||
- **安全指南:** [安全指南](./the-security-guide.md) | [推文详解](https://x.com/affaanmustafa/status/2033263813387223421)
|
||||
- **关注作者:** [@affaanmustafa](https://x.com/affaanmustafa)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ If you discover a security vulnerability in ECC, please report it responsibly.
|
||||
|
||||
**Do not open a public GitHub issue for security vulnerabilities.**
|
||||
|
||||
Instead, email **security@ecc.tools** with:
|
||||
Instead, email **<security@ecc.tools>** with:
|
||||
|
||||
- A description of the vulnerability
|
||||
- Steps to reproduce
|
||||
|
||||
@@ -370,7 +370,7 @@ chmod -R u+rwX,go+rX ~/.claude/homunculus
|
||||
|
||||
```bash
|
||||
# Install plugin dependencies
|
||||
cd ~/.claude/plugins/cache/everything-claude-code
|
||||
cd ~/.claude/plugins/cache/ecc
|
||||
npm install
|
||||
|
||||
# Or for manual install
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Working Context
|
||||
|
||||
Last updated: 2026-04-01
|
||||
Last updated: 2026-04-05
|
||||
|
||||
## Purpose
|
||||
|
||||
@@ -9,11 +9,14 @@ Public ECC plugin repo for agents, skills, commands, hooks, rules, install surfa
|
||||
## Current Truth
|
||||
|
||||
- Default branch: `main`
|
||||
- Immediate blocker addressed: CI lockfile drift and hook validation breakage fixed in `a273c62`
|
||||
- Local full suite status after fix: `1723/1723` passing
|
||||
- Public release surface is aligned at `v1.10.0`
|
||||
- Public catalog truth is `39` agents, `73` commands, and `179` skills
|
||||
- Public plugin slug is now `ecc`; legacy `everything-claude-code` install paths remain supported for compatibility
|
||||
- Release discussion: `#1272`
|
||||
- ECC 2.0 exists in-tree and builds, but it is still alpha rather than GA
|
||||
- Main active operational work:
|
||||
- keep default branch green
|
||||
- audit and classify remaining open PR backlog by full diff
|
||||
- continue issue-driven fixes from `main` now that the public PR backlog is at zero
|
||||
- continue ECC 2.0 control-plane and operator-surface buildout
|
||||
|
||||
## Current Constraints
|
||||
@@ -24,7 +27,10 @@ Public ECC plugin repo for agents, skills, commands, hooks, rules, install surfa
|
||||
|
||||
## Active Queues
|
||||
|
||||
- PR backlog: audit and classify remaining open PRs into merge, port/rebuild, close, or park
|
||||
- PR backlog: reduced but active; keep direct-porting only safe ECC-native changes and close overlap, stale generators, and unaudited external-runtime lanes
|
||||
- Upstream branch backlog still needs selective mining and cleanup:
|
||||
- `origin/feat/hermes-generated-ops-skills` still has three unique commits, but only reusable ECC-native skills should be salvaged from it
|
||||
- multiple `origin/ecc-tools/*` automation branches are stale and should be pruned after confirming they carry no unique value
|
||||
- Product:
|
||||
- selective install cleanup
|
||||
- control plane primitives
|
||||
@@ -84,6 +90,22 @@ Keep this file detailed for only the current sprint, blockers, and next actions.
|
||||
|
||||
## Latest Execution Notes
|
||||
|
||||
- 2026-04-05: Continued `#1213` overlap cleanup by narrowing `coding-standards` into the baseline cross-project conventions layer instead of deleting it. The skill now explicitly points detailed React/UI guidance to `frontend-patterns`, backend/API structure to `backend-patterns` / `api-design`, and keeps only reusable naming, readability, immutability, and code-quality expectations.
|
||||
- 2026-04-05: Added a packaging regression guard for the OpenCode release path after `#1287` showed the published `v1.10.0` artifact was still stale. `tests/scripts/build-opencode.test.js` now asserts the `npm pack --dry-run` tarball includes `.opencode/dist/index.js` plus compiled plugin/tool entrypoints, so future releases cannot silently omit the built OpenCode payload.
|
||||
- 2026-04-05: Landed `skills/agent-introspection-debugging` for `#829` as an ECC-native self-debugging framework. It is intentionally guidance-first rather than fake runtime automation: capture failure state, classify the pattern, apply the smallest contained recovery action, then emit a structured introspection report and hand off to `verification-loop` / `continuous-learning-v2` when appropriate.
|
||||
- 2026-04-05: Fixed the `main` npm CI break after the latest direct ports. `package-lock.json` had drifted behind `package.json` on the `globals` devDependency (`^17.1.0` vs `^17.4.0`), which caused all npm-based GitHub Actions jobs to fail at `npm ci`. Refreshed the lockfile only, verified `npm ci --ignore-scripts`, and kept the mixed-lock workspace otherwise untouched.
|
||||
- 2026-04-05: Direct-ported the useful discoverability part of `#1221` without duplicating a second healthcare compliance system. Added `skills/hipaa-compliance/SKILL.md` as a thin HIPAA-specific entrypoint that points into the canonical `healthcare-phi-compliance` / `healthcare-reviewer` lane, and wired both healthcare privacy skills into the `security` install module for selective installs.
|
||||
- 2026-04-05: Direct-ported the audited blockchain/web3 security lane from `#1222` into `main` as four self-contained skills: `defi-amm-security`, `evm-token-decimals`, `llm-trading-agent-security`, and `nodejs-keccak256`. These are now part of the `security` install module instead of living as an unmerged fork PR.
|
||||
- 2026-04-05: Finished the useful salvage pass from `#1203` directly on `main`. `skills/security-bounty-hunter`, `skills/api-connector-builder`, and `skills/dashboard-builder` are now in-tree as ECC-native rewrites instead of the thinner original community drafts. The original PR should be treated as superseded rather than merged.
|
||||
- 2026-04-02: `ECC-Tools/main` shipped `9566637` (`fix: prefer commit lookup over git ref resolution`). The PR-analysis fire is now fixed in the app repo by preferring explicit commit resolution before `git.getRef`, with regression coverage for pull refs and plain branch refs. Mirrored public tracking issue `#1184` in this repo was closed as resolved upstream.
|
||||
- 2026-04-02: Direct-ported the clean native-support core of `#1043` into `main`: `agents/csharp-reviewer.md`, `skills/dotnet-patterns/SKILL.md`, and `skills/csharp-testing/SKILL.md`. This fills the gap between existing C# rule/docs mentions and actual shipped C# review/testing guidance.
|
||||
- 2026-04-02: Direct-ported the clean native-support core of `#1055` into `main`: `agents/dart-build-resolver.md`, `commands/flutter-build.md`, `commands/flutter-review.md`, `commands/flutter-test.md`, `rules/dart/*`, and `skills/dart-flutter-patterns/SKILL.md`. The skill paths were wired into the current `framework-language` module instead of replaying the older PR's separate `flutter-dart` module layout.
|
||||
- 2026-04-02: Closed `#1081` after diff audit. The PR only added vendor-marketing docs for an external X/Twitter backend (`Xquik` / `x-twitter-scraper`) to the canonical `x-api` skill instead of contributing an ECC-native capability.
|
||||
- 2026-04-02: Direct-ported the useful Jira lane from `#894`, but sanitized it to match current supply-chain policy. `commands/jira.md`, `skills/jira-integration/SKILL.md`, and the pinned `jira` MCP template in `mcp-configs/mcp-servers.json` are in-tree, while the skill no longer tells users to install `uv` via `curl | bash`. `jira-integration` is classified under `operator-workflows` for selective installs.
|
||||
- 2026-04-02: Closed `#1125` after full diff audit. The bundle/skill-router lane hardcoded many non-existent or non-canonical surfaces and created a second routing abstraction instead of a small ECC-native index layer.
|
||||
- 2026-04-02: Closed `#1124` after full diff audit. The added agent roster was thoughtfully written, but it duplicated the existing ECC agent surface with a second competing catalog (`dispatch`, `explore`, `verifier`, `executor`, etc.) instead of strengthening canonical agents already in-tree.
|
||||
- 2026-04-02: Closed the full Argus cluster `#1098`, `#1099`, `#1100`, `#1101`, and `#1102` after full diff audit. The common failure mode was the same across all five PRs: external multi-CLI dispatch was treated as a first-class runtime dependency of shipped ECC surfaces. Any useful protocol ideas should be re-ported later into ECC-native orchestration, review, or reflection lanes without external CLI fan-out assumptions.
|
||||
- 2026-04-02: The previously open native-support / integration queue (`#1081`, `#1055`, `#1043`, `#894`) has now been fully resolved by direct-port or closure policy. The active public PR queue is currently zero; next focus stays on issue-driven mainline fixes and CI health, not backlog PR intake.
|
||||
- 2026-04-01: `main` CI was restored locally with `1723/1723` tests passing after lockfile and hook validation fixes.
|
||||
- 2026-04-01: Auto-generated ECC bundle PRs `#1068` and `#1069` were closed instead of merged; useful ideas must be ported manually after explicit diff audit.
|
||||
- 2026-04-01: Major-version ESLint bump PRs `#1063` and `#1064` were closed; revisit only inside a planned ESLint 10 migration lane.
|
||||
@@ -110,3 +132,46 @@ Keep this file detailed for only the current sprint, blockers, and next actions.
|
||||
- 2026-04-01: Added `brand-voice` as the canonical source-derived writing-style system and wired the content lane to treat it as the shared voice source of truth instead of duplicating partial style heuristics across skills.
|
||||
- 2026-04-01: Added `connections-optimizer` as the review-first social-graph reorganization workflow for X and LinkedIn, with explicit pruning modes, browser fallback expectations, and Apple Mail drafting guidance.
|
||||
- 2026-04-01: Added `manim-video` as the reusable technical explainer lane and seeded it with a starter network-graph scene so launch and systems animations do not depend on one-off scratch scripts.
|
||||
- 2026-04-02: Re-extracted `social-graph-ranker` as a standalone primitive because the weighted bridge-decay model is reusable outside the full lead workflow. `lead-intelligence` now points to it for canonical graph ranking instead of carrying the full algorithm explanation inline, while `connections-optimizer` stays the broader operator layer for pruning, adds, and outbound review packs.
|
||||
- 2026-04-02: Applied the same consolidation rule to the writing lane. `brand-voice` remains the canonical voice system, while `content-engine`, `crosspost`, `article-writing`, and `investor-outreach` now keep only workflow-specific guidance instead of duplicating a second Affaan/ECC voice model or repeating the full ban list in multiple places.
|
||||
- 2026-04-02: Closed fresh auto-generated bundle PRs `#1182` and `#1183` under the existing policy. Useful ideas from generator output must be ported manually into canonical repo surfaces instead of merging `.claude`/bundle PRs wholesale.
|
||||
- 2026-04-02: Ported the safe one-file macOS observer fix from `#1164` directly into `main` as a POSIX `mkdir` fallback for `continuous-learning-v2` lazy-start locking, then closed the PR as superseded by direct port.
|
||||
- 2026-04-02: Ported the safe core of `#1153` directly into `main`: markdownlint cleanup for orchestration/docs surfaces plus the Windows `USERPROFILE` and path-normalization fixes in `install-apply` / `repair` tests. Local validation after installing repo deps: `node tests/scripts/install-apply.test.js`, `node tests/scripts/repair.test.js`, and targeted `yarn markdownlint` all passed.
|
||||
- 2026-04-02: Direct-ported the safe web/frontend rules lane from `#1122` into `rules/web/`, but adapted `rules/web/hooks.md` to prefer project-local tooling and avoid remote one-off package execution examples.
|
||||
- 2026-04-02: Adapted the design-quality reminder from `#1127` into the current ECC hook architecture with a local `scripts/hooks/design-quality-check.js`, Claude `hooks/hooks.json` wiring, Cursor `after-file-edit.js` wiring, and dedicated hook coverage in `tests/hooks/design-quality-check.test.js`.
|
||||
- 2026-04-02: Fixed `#1141` on `main` in `16e9b17`. The observer lifecycle is now session-aware instead of purely detached: `SessionStart` writes a project-scoped lease, `SessionEnd` removes that lease and stops the observer when the final lease disappears, `observe.sh` records project activity, and `observer-loop.sh` now exits on idle when no leases remain. Targeted validation passed with `bash -n`, `node tests/hooks/observer-memory.test.js`, `node tests/integration/hooks.test.js`, `node scripts/ci/validate-hooks.js hooks/hooks.json`, and `node scripts/ci/check-unicode-safety.js`.
|
||||
- 2026-04-02: Fixed the remaining Windows-only hook regression behind `#1070` by making `scripts/lib/utils.js#getHomeDir()` honor explicit `HOME` / `USERPROFILE` overrides before falling back to `os.homedir()`. This restores test-isolated observer state paths for hook integration runs on Windows. Added regression coverage in `tests/lib/utils.test.js`. Targeted validation passed with `node tests/lib/utils.test.js`, `node tests/integration/hooks.test.js`, `node tests/hooks/observer-memory.test.js`, and `node scripts/ci/check-unicode-safety.js`.
|
||||
- 2026-04-02: Direct-ported NestJS support for `#1022` into `main` as `skills/nestjs-patterns/SKILL.md` and wired it into the `framework-language` install module. Synced the repo catalog afterward (`38` agents, `72` commands, `156` skills) and updated the docs so NestJS is no longer listed as an unfilled framework gap.
|
||||
- 2026-04-05: Shipped `846ffb7` (`chore: ship v1.10.0 release surface refresh`). This updated README/plugin metadata/package versions, synced the explicit plugin agent inventory, bumped stale star/fork/contributor counts, created `docs/releases/1.10.0/*`, tagged and released `v1.10.0`, and posted the announcement discussion at `#1272`.
|
||||
- 2026-04-05: Salvaged the reusable Hermes-branch operator skills in `6eba30f` without replaying the full branch. Added `skills/github-ops`, `skills/knowledge-ops`, and `skills/hookify-rules`, wired them into install modules, and re-synced the repo to `159` skills. `knowledge-ops` was explicitly adapted to the current workspace model: live code in cloned repos, active truth in GitHub/Linear, broader non-code context in the KB/archive layers.
|
||||
- 2026-04-05: Fixed the remaining OpenCode npm-publish gap in `db6d52e`. The root package now builds `.opencode/dist` during `prepack`, includes the compiled OpenCode plugin assets in the published tarball, and carries a dedicated regression test (`tests/scripts/build-opencode.test.js`) so the package no longer ships only raw TypeScript source for that surface.
|
||||
- 2026-04-05: Added `skills/council`, direct-ported the safe `code-tour` lane from `#1193`, and re-synced the repo to `162` skills. `code-tour` stays self-contained and only produces `.tours/*.tour` artifacts with real file/line anchors; no external runtime or extension install is assumed inside the skill.
|
||||
- 2026-04-05: Closed the latest auto-generated ECC bundle PR wave (`#1275`-`#1281`) after deploying `ECC-Tools/main` fix `f615905`, which now blocks repo-level issue-comment `/analyze` requests from opening repeated bundle PRs while still allowing PR-thread retry analysis to run against immutable head SHAs.
|
||||
- 2026-04-05: Filled the SEO gap by direct-porting `agents/seo-specialist.md` and `skills/seo/SKILL.md` into `main`, then wiring `skills/seo` into `business-content`. This resolves the stale `team-builder` reference to an SEO specialist and brings the public catalog to `39` agents and `163` skills without merging the stale PR wholesale.
|
||||
- 2026-04-05: Salvaged the useful common-rule deltas from `#1214` directly into `rules/common/coding-style.md` and `rules/common/testing.md` (KISS/DRY/YAGNI reminders, naming conventions, code-smell guidance, and AAA-style test guidance), then closed the original mixed deletion PR. The broad skill removals in that PR were intentionally not replayed.
|
||||
- 2026-04-05: Fixed the stale-row bug in `.github/workflows/monthly-metrics.yml` with `bf5961e`. The workflow now refreshes the current month row in issue `#1087` instead of early-returning when the month already exists, and the dispatched run updated the April snapshot to the current star/fork/release counts.
|
||||
- 2026-04-05: Recovered the useful cost-control workflow from the divergent Hermes branch as a small ECC-native operator skill instead of replaying the branch. `skills/ecc-tools-cost-audit/SKILL.md` is now wired into `operator-workflows` and focused on webhook -> queue -> worker tracing, burn containment, quota bypass, premium-model leakage, and retry fanout in the sibling `ECC-Tools` repo.
|
||||
- 2026-04-05: Added `skills/council/SKILL.md` in `753da37` as an ECC-native four-voice decision workflow. The useful protocol from PR `#1254` was retained, but the shadow `~/.claude/notes` write path was explicitly removed in favor of `knowledge-ops`, `/save-session`, or direct GitHub/Linear updates when a decision delta matters.
|
||||
- 2026-04-05: Direct-ported the safe `globals` bump from PR `#1243` into `main` as part of the council lane and closed the PR as superseded.
|
||||
- 2026-04-05: Closed PR `#1232` after full audit. The proposed `skill-scout` workflow overlaps current `search-first`, `/skill-create`, and `skill-stocktake`; if a dedicated marketplace-discovery layer returns later it should be rebuilt on top of the current install/catalog model rather than landing as a parallel discovery path.
|
||||
- 2026-04-05: Ported the safe localized README switcher fixes from PR `#1209` directly into `main` rather than merging the docs PR wholesale. The navigation now consistently includes `Português (Brasil)` and `Türkçe` across the localized README switchers, while newer localized body copy stays intact.
|
||||
- 2026-04-05: Removed the stale InsAIts shipped surface from `main`. ECC no longer ships the external Python MCP entry, opt-in hook wiring, wrapper/monitor scripts, or current docs mentions for `insa-its`; changelog history remains, but the live product surface is now fully ECC-native again.
|
||||
- 2026-04-05: Salvaged the reusable Hermes-generated operator workflow lane without replaying the whole branch. Added six ECC-native top-level skills instead of the old nested `skills/hermes-generated/*` tree: `automation-audit-ops`, `email-ops`, `finance-billing-ops`, `messages-ops`, `research-ops`, and `terminal-ops`. `research-ops` now wraps the existing research stack, while the other five extend `operator-workflows` without introducing any external runtime assumptions.
|
||||
- 2026-04-05: Added `skills/product-capability` plus `docs/examples/product-capability-template.md` as the canonical PRD-to-SRS lane for issue `#1185`. This is the ECC-native capability-contract step between vague product intent and implementation, and it lives in `business-content` rather than spawning a parallel planning subsystem.
|
||||
- 2026-04-05: Tightened `product-lens` so it no longer overlaps the new capability-contract lane. `product-lens` now explicitly owns product diagnosis / brief validation, while `product-capability` owns implementation-ready capability plans and SRS-style constraints.
|
||||
- 2026-04-05: Continued `#1213` cleanup by removing stale references to the deleted `project-guidelines-example` skill from exported inventory/docs and marking `continuous-learning` v1 as a supported legacy path with an explicit handoff to `continuous-learning-v2`.
|
||||
- 2026-04-05: Removed the last orphaned localized `project-guidelines-example` docs from `docs/ko-KR` and `docs/zh-CN`. The template now lives only in `docs/examples/project-guidelines-template.md`, which matches the current repo surface and avoids shipping translated docs for a deleted skill.
|
||||
- 2026-04-05: Added `docs/HERMES-OPENCLAW-MIGRATION.md` as the current public migration guide for issue `#1051`. It reframes Hermes/OpenClaw as source systems to distill from, not the final runtime, and maps scheduler, dispatch, memory, skill, and service layers onto the ECC-native surfaces and ECC 2.0 backlog that already exist.
|
||||
- 2026-04-05: Landed `skills/agent-sort` and the legacy `/agent-sort` shim from issue `#916` as an ECC-native selective-install workflow. It classifies agents, skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using concrete repo evidence, then hands off installation changes to `configure-ecc` instead of inventing a parallel installer. Catalog truth is now `39` agents, `73` commands, and `179` skills.
|
||||
- 2026-04-05: Direct-ported the safe README-only `#1285` slice into `main` instead of merging the branch: added a small `Community Projects` section so downstream teams can link public work built on ECC without changing install, security, or runtime surfaces. Rejected `#1286` at review because it adds an external third-party GitHub Action (`hashgraph-online/codex-plugin-scanner`) that does not meet the current supply-chain policy.
|
||||
- 2026-04-05: Re-audited `origin/feat/hermes-generated-ops-skills` by full diff. The branch is still not mergeable: it deletes current ECC-native surfaces, regresses packaging/install metadata, and removes newer `main` content. Continued the selective-salvage policy instead of branch merge.
|
||||
- 2026-04-05: Selectively salvaged `skills/frontend-design` from the Hermes branch as a self-contained ECC-native skill, mirrored it into `.agents`, wired it into `framework-language`, and re-synced the catalog to `180` skills after validation. The branch itself remains reference-only until every remaining unique file is either ported intentionally or rejected.
|
||||
- 2026-04-05: Selectively salvaged the `hookify` command bundle plus the supporting `conversation-analyzer` agent from the Hermes branch. `hookify-rules` already existed as the canonical skill; this pass restores the user-facing command surfaces (`/hookify`, `/hookify-help`, `/hookify-list`, `/hookify-configure`) without pulling in any external runtime or branch-wide regressions. Catalog truth is now `40` agents, `77` commands, and `180` skills.
|
||||
- 2026-04-05: Selectively salvaged the self-contained review/development bundle from the Hermes branch: `review-pr`, `feature-dev`, and the supporting analyzer/architecture agents (`code-architect`, `code-explorer`, `code-simplifier`, `comment-analyzer`, `pr-test-analyzer`, `silent-failure-hunter`, `type-design-analyzer`). This adds ECC-native command surfaces around PR review and feature planning without merging the branch's broader regressions. Catalog truth is now `47` agents, `79` commands, and `180` skills.
|
||||
- 2026-04-05: Ported `docs/HERMES-SETUP.md` from the Hermes branch as a sanitized operator-topology document for the migration lane. This is docs-only support for `#1051`, not a runtime change and not a sign that the Hermes branch itself is mergeable.
|
||||
- 2026-04-05: Finished the useful salvage pass over `origin/feat/hermes-generated-ops-skills`. The remaining unique files were explicitly rejected:
|
||||
- duplicate git helper commands (`commit`, `commit-push-pr`, `clean-gone`) overlap current checkpoint / publish flows
|
||||
- `scripts/hooks/security-reminder*` adds a new Python-backed hook path not justified by current runtime policy
|
||||
- `skills/oura-health` and `skills/pmx-guidelines` are user- or project-specific, not canonical ECC surfaces
|
||||
- `docs/releases/2.0.0-preview/*` is premature collateral and should be rebuilt from current product truth later
|
||||
- nested `skills/hermes-generated/*` is superseded by the top-level ECC-native operator skills already ported to `main`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
spec_version: "0.1.0"
|
||||
name: everything-claude-code
|
||||
version: 1.9.0
|
||||
version: 1.10.0
|
||||
description: "Initial gitagent export surface for ECC's shared skill catalog, governance, and identity. Native agents, commands, and hooks remain authoritative in the repository while manifest coverage expands."
|
||||
author: affaan-m
|
||||
license: MIT
|
||||
@@ -107,7 +107,6 @@ skills:
|
||||
- postgres-patterns
|
||||
- product-lens
|
||||
- production-scheduling
|
||||
- project-guidelines-example
|
||||
- prompt-optimizer
|
||||
- python-patterns
|
||||
- python-testing
|
||||
|
||||
71
agents/code-architect.md
Normal file
71
agents/code-architect.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
name: code-architect
|
||||
description: Designs feature architectures by analyzing existing codebase patterns and conventions, then providing implementation blueprints with concrete files, interfaces, data flow, and build order.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# Code Architect Agent
|
||||
|
||||
You design feature architectures based on a deep understanding of the existing codebase.
|
||||
|
||||
## Process
|
||||
|
||||
### 1. Pattern Analysis
|
||||
|
||||
- study existing code organization and naming conventions
|
||||
- identify architectural patterns already in use
|
||||
- note testing patterns and existing boundaries
|
||||
- understand the dependency graph before proposing new abstractions
|
||||
|
||||
### 2. Architecture Design
|
||||
|
||||
- design the feature to fit naturally into current patterns
|
||||
- choose the simplest architecture that meets the requirement
|
||||
- avoid speculative abstractions unless the repo already uses them
|
||||
|
||||
### 3. Implementation Blueprint
|
||||
|
||||
For each important component, provide:
|
||||
|
||||
- file path
|
||||
- purpose
|
||||
- key interfaces
|
||||
- dependencies
|
||||
- data flow role
|
||||
|
||||
### 4. Build Sequence
|
||||
|
||||
Order the implementation by dependency:
|
||||
|
||||
1. types and interfaces
|
||||
2. core logic
|
||||
3. integration layer
|
||||
4. UI
|
||||
5. tests
|
||||
6. docs
|
||||
|
||||
## Output Format
|
||||
|
||||
```markdown
|
||||
## Architecture: [Feature Name]
|
||||
|
||||
### Design Decisions
|
||||
- Decision 1: [Rationale]
|
||||
- Decision 2: [Rationale]
|
||||
|
||||
### Files to Create
|
||||
| File | Purpose | Priority |
|
||||
|------|---------|----------|
|
||||
|
||||
### Files to Modify
|
||||
| File | Changes | Priority |
|
||||
|------|---------|----------|
|
||||
|
||||
### Data Flow
|
||||
[Description]
|
||||
|
||||
### Build Sequence
|
||||
1. Step 1
|
||||
2. Step 2
|
||||
```
|
||||
69
agents/code-explorer.md
Normal file
69
agents/code-explorer.md
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
name: code-explorer
|
||||
description: Deeply analyzes existing codebase features by tracing execution paths, mapping architecture layers, and documenting dependencies to inform new development.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# Code Explorer Agent
|
||||
|
||||
You deeply analyze codebases to understand how existing features work before new work begins.
|
||||
|
||||
## Analysis Process
|
||||
|
||||
### 1. Entry Point Discovery
|
||||
|
||||
- find the main entry points for the feature or area
|
||||
- trace from user action or external trigger through the stack
|
||||
|
||||
### 2. Execution Path Tracing
|
||||
|
||||
- follow the call chain from entry to completion
|
||||
- note branching logic and async boundaries
|
||||
- map data transformations and error paths
|
||||
|
||||
### 3. Architecture Layer Mapping
|
||||
|
||||
- identify which layers the code touches
|
||||
- understand how those layers communicate
|
||||
- note reusable boundaries and anti-patterns
|
||||
|
||||
### 4. Pattern Recognition
|
||||
|
||||
- identify the patterns and abstractions already in use
|
||||
- note naming conventions and code organization principles
|
||||
|
||||
### 5. Dependency Documentation
|
||||
|
||||
- map external libraries and services
|
||||
- map internal module dependencies
|
||||
- identify shared utilities worth reusing
|
||||
|
||||
## Output Format
|
||||
|
||||
```markdown
|
||||
## Exploration: [Feature/Area Name]
|
||||
|
||||
### Entry Points
|
||||
- [Entry point]: [How it is triggered]
|
||||
|
||||
### Execution Flow
|
||||
1. [Step]
|
||||
2. [Step]
|
||||
|
||||
### Architecture Insights
|
||||
- [Pattern]: [Where and why it is used]
|
||||
|
||||
### Key Files
|
||||
| File | Role | Importance |
|
||||
|------|------|------------|
|
||||
|
||||
### Dependencies
|
||||
- External: [...]
|
||||
- Internal: [...]
|
||||
|
||||
### Recommendations for New Development
|
||||
- Follow [...]
|
||||
- Reuse [...]
|
||||
- Avoid [...]
|
||||
```
|
||||
47
agents/code-simplifier.md
Normal file
47
agents/code-simplifier.md
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
name: code-simplifier
|
||||
description: Simplifies and refines code for clarity, consistency, and maintainability while preserving behavior. Focus on recently modified code unless instructed otherwise.
|
||||
model: sonnet
|
||||
tools: [Read, Write, Edit, Bash, Grep, Glob]
|
||||
---
|
||||
|
||||
# Code Simplifier Agent
|
||||
|
||||
You simplify code while preserving functionality.
|
||||
|
||||
## Principles
|
||||
|
||||
1. clarity over cleverness
|
||||
2. consistency with existing repo style
|
||||
3. preserve behavior exactly
|
||||
4. simplify only where the result is demonstrably easier to maintain
|
||||
|
||||
## Simplification Targets
|
||||
|
||||
### Structure
|
||||
|
||||
- extract deeply nested logic into named functions
|
||||
- replace complex conditionals with early returns where clearer
|
||||
- simplify callback chains with `async` / `await`
|
||||
- remove dead code and unused imports
|
||||
|
||||
### Readability
|
||||
|
||||
- prefer descriptive names
|
||||
- avoid nested ternaries
|
||||
- break long chains into intermediate variables when it improves clarity
|
||||
- use destructuring when it clarifies access
|
||||
|
||||
### Quality
|
||||
|
||||
- remove stray `console.log`
|
||||
- remove commented-out code
|
||||
- consolidate duplicated logic
|
||||
- unwind over-abstracted single-use helpers
|
||||
|
||||
## Approach
|
||||
|
||||
1. read the changed files
|
||||
2. identify simplification opportunities
|
||||
3. apply only functionally equivalent changes
|
||||
4. verify no behavioral change was introduced
|
||||
45
agents/comment-analyzer.md
Normal file
45
agents/comment-analyzer.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
name: comment-analyzer
|
||||
description: Analyze code comments for accuracy, completeness, maintainability, and comment rot risk.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# Comment Analyzer Agent
|
||||
|
||||
You ensure comments are accurate, useful, and maintainable.
|
||||
|
||||
## Analysis Framework
|
||||
|
||||
### 1. Factual Accuracy
|
||||
|
||||
- verify claims against the code
|
||||
- check parameter and return descriptions against implementation
|
||||
- flag outdated references
|
||||
|
||||
### 2. Completeness
|
||||
|
||||
- check whether complex logic has enough explanation
|
||||
- verify important side effects and edge cases are documented
|
||||
- ensure public APIs have complete enough comments
|
||||
|
||||
### 3. Long-Term Value
|
||||
|
||||
- flag comments that only restate the code
|
||||
- identify fragile comments that will rot quickly
|
||||
- surface TODO / FIXME / HACK debt
|
||||
|
||||
### 4. Misleading Elements
|
||||
|
||||
- comments that contradict the code
|
||||
- stale references to removed behavior
|
||||
- over-promised or under-described behavior
|
||||
|
||||
## Output Format
|
||||
|
||||
Provide advisory findings grouped by severity:
|
||||
|
||||
- `Inaccurate`
|
||||
- `Stale`
|
||||
- `Incomplete`
|
||||
- `Low-value`
|
||||
52
agents/conversation-analyzer.md
Normal file
52
agents/conversation-analyzer.md
Normal file
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: conversation-analyzer
|
||||
description: Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Triggered by /hookify without arguments.
|
||||
model: sonnet
|
||||
tools: [Read, Grep]
|
||||
---
|
||||
|
||||
# Conversation Analyzer Agent
|
||||
|
||||
You analyze conversation history to identify problematic Claude Code behaviors that should be prevented with hooks.
|
||||
|
||||
## What to Look For
|
||||
|
||||
### Explicit Corrections
|
||||
- "No, don't do that"
|
||||
- "Stop doing X"
|
||||
- "I said NOT to..."
|
||||
- "That's wrong, use Y instead"
|
||||
|
||||
### Frustrated Reactions
|
||||
- User reverting changes Claude made
|
||||
- Repeated "no" or "wrong" responses
|
||||
- User manually fixing Claude's output
|
||||
- Escalating frustration in tone
|
||||
|
||||
### Repeated Issues
|
||||
- Same mistake appearing multiple times in the conversation
|
||||
- Claude repeatedly using a tool in an undesired way
|
||||
- Patterns of behavior the user keeps correcting
|
||||
|
||||
### Reverted Changes
|
||||
- `git checkout -- file` or `git restore file` after Claude's edit
|
||||
- User undoing or reverting Claude's work
|
||||
- Re-editing files Claude just edited
|
||||
|
||||
## Output Format
|
||||
|
||||
For each identified behavior:
|
||||
|
||||
```yaml
|
||||
behavior: "Description of what Claude did wrong"
|
||||
frequency: "How often it occurred"
|
||||
severity: high|medium|low
|
||||
suggested_rule:
|
||||
name: "descriptive-rule-name"
|
||||
event: bash|file|stop|prompt
|
||||
pattern: "regex pattern to match"
|
||||
action: block|warn
|
||||
message: "What to show when triggered"
|
||||
```
|
||||
|
||||
Prioritize high-frequency, high-severity behaviors first.
|
||||
101
agents/csharp-reviewer.md
Normal file
101
agents/csharp-reviewer.md
Normal file
@@ -0,0 +1,101 @@
|
||||
---
|
||||
name: csharp-reviewer
|
||||
description: Expert C# code reviewer specializing in .NET conventions, async patterns, security, nullable reference types, and performance. Use for all C# code changes. MUST BE USED for C# projects.
|
||||
tools: ["Read", "Grep", "Glob", "Bash"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are a senior C# code reviewer ensuring high standards of idiomatic .NET code and best practices.
|
||||
|
||||
When invoked:
|
||||
1. Run `git diff -- '*.cs'` to see recent C# file changes
|
||||
2. Run `dotnet build` and `dotnet format --verify-no-changes` if available
|
||||
3. Focus on modified `.cs` files
|
||||
4. Begin review immediately
|
||||
|
||||
## Review Priorities
|
||||
|
||||
### CRITICAL — Security
|
||||
- **SQL Injection**: String concatenation/interpolation in queries — use parameterized queries or EF Core
|
||||
- **Command Injection**: Unvalidated input in `Process.Start` — validate and sanitize
|
||||
- **Path Traversal**: User-controlled file paths — use `Path.GetFullPath` + prefix check
|
||||
- **Insecure Deserialization**: `BinaryFormatter`, `JsonSerializer` with `TypeNameHandling.All`
|
||||
- **Hardcoded secrets**: API keys, connection strings in source — use configuration/secret manager
|
||||
- **CSRF/XSS**: Missing `[ValidateAntiForgeryToken]`, unencoded output in Razor
|
||||
|
||||
### CRITICAL — Error Handling
|
||||
- **Empty catch blocks**: `catch { }` or `catch (Exception) { }` — handle or rethrow
|
||||
- **Swallowed exceptions**: `catch { return null; }` — log context, throw specific
|
||||
- **Missing `using`/`await using`**: Manual disposal of `IDisposable`/`IAsyncDisposable`
|
||||
- **Blocking async**: `.Result`, `.Wait()`, `.GetAwaiter().GetResult()` — use `await`
|
||||
|
||||
### HIGH — Async Patterns
|
||||
- **Missing CancellationToken**: Public async APIs without cancellation support
|
||||
- **Fire-and-forget**: `async void` except event handlers — return `Task`
|
||||
- **ConfigureAwait misuse**: Library code missing `ConfigureAwait(false)`
|
||||
- **Sync-over-async**: Blocking calls in async context causing deadlocks
|
||||
|
||||
### HIGH — Type Safety
|
||||
- **Nullable reference types**: Nullable warnings ignored or suppressed with `!`
|
||||
- **Unsafe casts**: `(T)obj` without type check — use `obj is T t` or `obj as T`
|
||||
- **Raw strings as identifiers**: Magic strings for config keys, routes — use constants or `nameof`
|
||||
- **`dynamic` usage**: Avoid `dynamic` in application code — use generics or explicit models
|
||||
|
||||
### HIGH — Code Quality
|
||||
- **Large methods**: Over 50 lines — extract helper methods
|
||||
- **Deep nesting**: More than 4 levels — use early returns, guard clauses
|
||||
- **God classes**: Classes with too many responsibilities — apply SRP
|
||||
- **Mutable shared state**: Static mutable fields — use `ConcurrentDictionary`, `Interlocked`, or DI scoping
|
||||
|
||||
### MEDIUM — Performance
|
||||
- **String concatenation in loops**: Use `StringBuilder` or `string.Join`
|
||||
- **LINQ in hot paths**: Excessive allocations — consider `for` loops with pre-allocated buffers
|
||||
- **N+1 queries**: EF Core lazy loading in loops — use `Include`/`ThenInclude`
|
||||
- **Missing `AsNoTracking`**: Read-only queries tracking entities unnecessarily
|
||||
|
||||
### MEDIUM — Best Practices
|
||||
- **Naming conventions**: PascalCase for public members, `_camelCase` for private fields
|
||||
- **Record vs class**: Value-like immutable models should be `record` or `record struct`
|
||||
- **Dependency injection**: `new`-ing services instead of injecting — use constructor injection
|
||||
- **`IEnumerable` multiple enumeration**: Materialize with `.ToList()` when enumerated more than once
|
||||
- **Missing `sealed`**: Non-inherited classes should be `sealed` for clarity and performance
|
||||
|
||||
## Diagnostic Commands
|
||||
|
||||
```bash
|
||||
dotnet build # Compilation check
|
||||
dotnet format --verify-no-changes # Format check
|
||||
dotnet test --no-build # Run tests
|
||||
dotnet test --collect:"XPlat Code Coverage" # Coverage
|
||||
```
|
||||
|
||||
## Review Output Format
|
||||
|
||||
```text
|
||||
[SEVERITY] Issue title
|
||||
File: path/to/File.cs:42
|
||||
Issue: Description
|
||||
Fix: What to change
|
||||
```
|
||||
|
||||
## Approval Criteria
|
||||
|
||||
- **Approve**: No CRITICAL or HIGH issues
|
||||
- **Warning**: MEDIUM issues only (can merge with caution)
|
||||
- **Block**: CRITICAL or HIGH issues found
|
||||
|
||||
## Framework Checks
|
||||
|
||||
- **ASP.NET Core**: Model validation, auth policies, middleware order, `IOptions<T>` pattern
|
||||
- **EF Core**: Migration safety, `Include` for eager loading, `AsNoTracking` for reads
|
||||
- **Minimal APIs**: Route grouping, endpoint filters, proper `TypedResults`
|
||||
- **Blazor**: Component lifecycle, `StateHasChanged` usage, JS interop disposal
|
||||
|
||||
## Reference
|
||||
|
||||
For detailed C# patterns, see skill: `dotnet-patterns`.
|
||||
For testing guidelines, see skill: `csharp-testing`.
|
||||
|
||||
---
|
||||
|
||||
Review with the mindset: "Would this code pass review at a top .NET shop or open-source project?"
|
||||
201
agents/dart-build-resolver.md
Normal file
201
agents/dart-build-resolver.md
Normal file
@@ -0,0 +1,201 @@
|
||||
---
|
||||
name: dart-build-resolver
|
||||
description: Dart/Flutter build, analysis, and dependency error resolution specialist. Fixes `dart analyze` errors, Flutter compilation failures, pub dependency conflicts, and build_runner issues with minimal, surgical changes. Use when Dart/Flutter builds fail.
|
||||
tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Dart/Flutter Build Error Resolver
|
||||
|
||||
You are an expert Dart/Flutter build error resolution specialist. Your mission is to fix Dart analyzer errors, Flutter compilation issues, pub dependency conflicts, and build_runner failures with **minimal, surgical changes**.
|
||||
|
||||
## Core Responsibilities
|
||||
|
||||
1. Diagnose `dart analyze` and `flutter analyze` errors
|
||||
2. Fix Dart type errors, null safety violations, and missing imports
|
||||
3. Resolve `pubspec.yaml` dependency conflicts and version constraints
|
||||
4. Fix `build_runner` code generation failures
|
||||
5. Handle Flutter-specific build errors (Android Gradle, iOS CocoaPods, web)
|
||||
|
||||
## Diagnostic Commands
|
||||
|
||||
Run these in order:
|
||||
|
||||
```bash
|
||||
# Check Dart/Flutter analysis errors
|
||||
flutter analyze 2>&1
|
||||
# or for pure Dart projects
|
||||
dart analyze 2>&1
|
||||
|
||||
# Check pub dependency resolution
|
||||
flutter pub get 2>&1
|
||||
|
||||
# Check if code generation is stale
|
||||
dart run build_runner build --delete-conflicting-outputs 2>&1
|
||||
|
||||
# Flutter build for target platform
|
||||
flutter build apk 2>&1 # Android
|
||||
flutter build ipa --no-codesign 2>&1 # iOS (CI without signing)
|
||||
flutter build web 2>&1 # Web
|
||||
```
|
||||
|
||||
## Resolution Workflow
|
||||
|
||||
```text
|
||||
1. flutter analyze -> Parse error messages
|
||||
2. Read affected file -> Understand context
|
||||
3. Apply minimal fix -> Only what's needed
|
||||
4. flutter analyze -> Verify fix
|
||||
5. flutter test -> Ensure nothing broke
|
||||
```
|
||||
|
||||
## Common Fix Patterns
|
||||
|
||||
| Error | Cause | Fix |
|
||||
|-------|-------|-----|
|
||||
| `The name 'X' isn't defined` | Missing import or typo | Add correct `import` or fix name |
|
||||
| `A value of type 'X?' can't be assigned to type 'X'` | Null safety — nullable not handled | Add `!`, `?? default`, or null check |
|
||||
| `The argument type 'X' can't be assigned to 'Y'` | Type mismatch | Fix type, add explicit cast, or correct API call |
|
||||
| `Non-nullable instance field 'x' must be initialized` | Missing initializer | Add initializer, mark `late`, or make nullable |
|
||||
| `The method 'X' isn't defined for type 'Y'` | Wrong type or wrong import | Check type and imports |
|
||||
| `'await' applied to non-Future` | Awaiting a non-async value | Remove `await` or make function async |
|
||||
| `Missing concrete implementation of 'X'` | Abstract interface not fully implemented | Add missing method implementations |
|
||||
| `The class 'X' doesn't implement 'Y'` | Missing `implements` or missing method | Add method or fix class signature |
|
||||
| `Because X depends on Y >=A and Z depends on Y <B, version solving failed` | Pub version conflict | Adjust version constraints or add `dependency_overrides` |
|
||||
| `Could not find a file named "pubspec.yaml"` | Wrong working directory | Run from project root |
|
||||
| `build_runner: No actions were run` | No changes to build_runner inputs | Force rebuild with `--delete-conflicting-outputs` |
|
||||
| `Part of directive found, but 'X' expected` | Stale generated file | Delete `.g.dart` file and re-run build_runner |
|
||||
|
||||
## Pub Dependency Troubleshooting
|
||||
|
||||
```bash
|
||||
# Show full dependency tree
|
||||
flutter pub deps
|
||||
|
||||
# Check why a specific package version was chosen
|
||||
flutter pub deps --style=compact | grep <package>
|
||||
|
||||
# Upgrade packages to latest compatible versions
|
||||
flutter pub upgrade
|
||||
|
||||
# Upgrade specific package
|
||||
flutter pub upgrade <package_name>
|
||||
|
||||
# Clear pub cache if metadata is corrupted
|
||||
flutter pub cache repair
|
||||
|
||||
# Verify pubspec.lock is consistent
|
||||
flutter pub get --enforce-lockfile
|
||||
```
|
||||
|
||||
## Null Safety Fix Patterns
|
||||
|
||||
```dart
|
||||
// Error: A value of type 'String?' can't be assigned to type 'String'
|
||||
// BAD — force unwrap
|
||||
final name = user.name!;
|
||||
|
||||
// GOOD — provide fallback
|
||||
final name = user.name ?? 'Unknown';
|
||||
|
||||
// GOOD — guard and return early
|
||||
if (user.name == null) return;
|
||||
final name = user.name!; // safe after null check
|
||||
|
||||
// GOOD — Dart 3 pattern matching
|
||||
final name = switch (user.name) {
|
||||
final n? => n,
|
||||
null => 'Unknown',
|
||||
};
|
||||
```
|
||||
|
||||
## Type Error Fix Patterns
|
||||
|
||||
```dart
|
||||
// Error: The argument type 'List<dynamic>' can't be assigned to 'List<String>'
|
||||
// BAD
|
||||
final ids = jsonList; // inferred as List<dynamic>
|
||||
|
||||
// GOOD
|
||||
final ids = List<String>.from(jsonList);
|
||||
// or
|
||||
final ids = (jsonList as List).cast<String>();
|
||||
```
|
||||
|
||||
## build_runner Troubleshooting
|
||||
|
||||
```bash
|
||||
# Clean and regenerate all files
|
||||
dart run build_runner clean
|
||||
dart run build_runner build --delete-conflicting-outputs
|
||||
|
||||
# Watch mode for development
|
||||
dart run build_runner watch --delete-conflicting-outputs
|
||||
|
||||
# Check for missing build_runner dependencies in pubspec.yaml
|
||||
# Required: build_runner, json_serializable / freezed / riverpod_generator (as dev_dependencies)
|
||||
```
|
||||
|
||||
## Android Build Troubleshooting
|
||||
|
||||
```bash
|
||||
# Clean Android build cache
|
||||
cd android && ./gradlew clean && cd ..
|
||||
|
||||
# Invalidate Flutter tool cache
|
||||
flutter clean
|
||||
|
||||
# Rebuild
|
||||
flutter pub get && flutter build apk
|
||||
|
||||
# Check Gradle/JDK version compatibility
|
||||
cd android && ./gradlew --version
|
||||
```
|
||||
|
||||
## iOS Build Troubleshooting
|
||||
|
||||
```bash
|
||||
# Update CocoaPods
|
||||
cd ios && pod install --repo-update && cd ..
|
||||
|
||||
# Clean iOS build
|
||||
flutter clean && cd ios && pod deintegrate && pod install && cd ..
|
||||
|
||||
# Check for platform version mismatches in Podfile
|
||||
# Ensure ios platform version >= minimum required by all pods
|
||||
```
|
||||
|
||||
## Key Principles
|
||||
|
||||
- **Surgical fixes only** — don't refactor, just fix the error
|
||||
- **Never** add `// ignore:` suppressions without approval
|
||||
- **Never** use `dynamic` to silence type errors
|
||||
- **Always** run `flutter analyze` after each fix to verify
|
||||
- Fix root cause over suppressing symptoms
|
||||
- Prefer null-safe patterns over bang operators (`!`)
|
||||
|
||||
## Stop Conditions
|
||||
|
||||
Stop and report if:
|
||||
- Same error persists after 3 fix attempts
|
||||
- Fix introduces more errors than it resolves
|
||||
- Requires architectural changes or package upgrades that change behavior
|
||||
- Conflicting platform constraints need user decision
|
||||
|
||||
## Output Format
|
||||
|
||||
```text
|
||||
[FIXED] lib/features/cart/data/cart_repository_impl.dart:42
|
||||
Error: A value of type 'String?' can't be assigned to type 'String'
|
||||
Fix: Changed `final id = response.id` to `final id = response.id ?? ''`
|
||||
Remaining errors: 2
|
||||
|
||||
[FIXED] pubspec.yaml
|
||||
Error: Version solving failed — http >=0.13.0 required by dio and <0.13.0 required by retrofit
|
||||
Fix: Upgraded dio to ^5.3.0 which allows http >=0.13.0
|
||||
Remaining errors: 0
|
||||
```
|
||||
|
||||
Final: `Build Status: SUCCESS/FAILED | Errors Fixed: N | Files Modified: list`
|
||||
|
||||
For detailed Dart patterns and code examples, see `skill: flutter-dart-code-review`.
|
||||
45
agents/pr-test-analyzer.md
Normal file
45
agents/pr-test-analyzer.md
Normal file
@@ -0,0 +1,45 @@
|
||||
---
|
||||
name: pr-test-analyzer
|
||||
description: Review pull request test coverage quality and completeness, with emphasis on behavioral coverage and real bug prevention.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# PR Test Analyzer Agent
|
||||
|
||||
You review whether a PR's tests actually cover the changed behavior.
|
||||
|
||||
## Analysis Process
|
||||
|
||||
### 1. Identify Changed Code
|
||||
|
||||
- map changed functions, classes, and modules
|
||||
- locate corresponding tests
|
||||
- identify new untested code paths
|
||||
|
||||
### 2. Behavioral Coverage
|
||||
|
||||
- check that each feature has tests
|
||||
- verify edge cases and error paths
|
||||
- ensure important integrations are covered
|
||||
|
||||
### 3. Test Quality
|
||||
|
||||
- prefer meaningful assertions over no-throw checks
|
||||
- flag flaky patterns
|
||||
- check isolation and clarity of test names
|
||||
|
||||
### 4. Coverage Gaps
|
||||
|
||||
Rate gaps by impact:
|
||||
|
||||
- critical
|
||||
- important
|
||||
- nice-to-have
|
||||
|
||||
## Output Format
|
||||
|
||||
1. coverage summary
|
||||
2. critical gaps
|
||||
3. improvement suggestions
|
||||
4. positive observations
|
||||
62
agents/seo-specialist.md
Normal file
62
agents/seo-specialist.md
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
name: seo-specialist
|
||||
description: SEO specialist for technical SEO audits, on-page optimization, structured data, Core Web Vitals, and content/keyword mapping. Use for site audits, meta tag reviews, schema markup, sitemap and robots issues, and SEO remediation plans.
|
||||
tools: ["Read", "Grep", "Glob", "Bash", "WebSearch", "WebFetch"]
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are a senior SEO specialist focused on technical SEO, search visibility, and sustainable ranking improvements.
|
||||
|
||||
When invoked:
|
||||
1. Identify the scope: full-site audit, page-specific issue, schema problem, performance issue, or content planning task.
|
||||
2. Read the relevant source files and deployment-facing assets first.
|
||||
3. Prioritize findings by severity and likely ranking impact.
|
||||
4. Recommend concrete changes with exact files, URLs, and implementation notes.
|
||||
|
||||
## Audit Priorities
|
||||
|
||||
### Critical
|
||||
|
||||
- crawl or index blockers on important pages
|
||||
- `robots.txt` or meta-robots conflicts
|
||||
- canonical loops or broken canonical targets
|
||||
- redirect chains longer than two hops
|
||||
- broken internal links on key paths
|
||||
|
||||
### High
|
||||
|
||||
- missing or duplicate title tags
|
||||
- missing or duplicate meta descriptions
|
||||
- invalid heading hierarchy
|
||||
- malformed or missing JSON-LD on key page types
|
||||
- Core Web Vitals regressions on important pages
|
||||
|
||||
### Medium
|
||||
|
||||
- thin content
|
||||
- missing alt text
|
||||
- weak anchor text
|
||||
- orphan pages
|
||||
- keyword cannibalization
|
||||
|
||||
## Review Output
|
||||
|
||||
Use this format:
|
||||
|
||||
```text
|
||||
[SEVERITY] Issue title
|
||||
Location: path/to/file.tsx:42 or URL
|
||||
Issue: What is wrong and why it matters
|
||||
Fix: Exact change to make
|
||||
```
|
||||
|
||||
## Quality Bar
|
||||
|
||||
- no vague SEO folklore
|
||||
- no manipulative pattern recommendations
|
||||
- no advice detached from the actual site structure
|
||||
- recommendations should be implementable by the receiving engineer or content owner
|
||||
|
||||
## Reference
|
||||
|
||||
Use `skills/seo` for the canonical ECC SEO workflow and implementation guidance.
|
||||
50
agents/silent-failure-hunter.md
Normal file
50
agents/silent-failure-hunter.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
name: silent-failure-hunter
|
||||
description: Review code for silent failures, swallowed errors, bad fallbacks, and missing error propagation.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# Silent Failure Hunter Agent
|
||||
|
||||
You have zero tolerance for silent failures.
|
||||
|
||||
## Hunt Targets
|
||||
|
||||
### 1. Empty Catch Blocks
|
||||
|
||||
- `catch {}` or ignored exceptions
|
||||
- errors converted to `null` / empty arrays with no context
|
||||
|
||||
### 2. Inadequate Logging
|
||||
|
||||
- logs without enough context
|
||||
- wrong severity
|
||||
- log-and-forget handling
|
||||
|
||||
### 3. Dangerous Fallbacks
|
||||
|
||||
- default values that hide real failure
|
||||
- `.catch(() => [])`
|
||||
- graceful-looking paths that make downstream bugs harder to diagnose
|
||||
|
||||
### 4. Error Propagation Issues
|
||||
|
||||
- lost stack traces
|
||||
- generic rethrows
|
||||
- missing async handling
|
||||
|
||||
### 5. Missing Error Handling
|
||||
|
||||
- no timeout or error handling around network/file/db paths
|
||||
- no rollback around transactional work
|
||||
|
||||
## Output Format
|
||||
|
||||
For each finding:
|
||||
|
||||
- location
|
||||
- severity
|
||||
- issue
|
||||
- impact
|
||||
- fix recommendation
|
||||
41
agents/type-design-analyzer.md
Normal file
41
agents/type-design-analyzer.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
name: type-design-analyzer
|
||||
description: Analyze type design for encapsulation, invariant expression, usefulness, and enforcement.
|
||||
model: sonnet
|
||||
tools: [Read, Grep, Glob, Bash]
|
||||
---
|
||||
|
||||
# Type Design Analyzer Agent
|
||||
|
||||
You evaluate whether types make illegal states harder or impossible to represent.
|
||||
|
||||
## Evaluation Criteria
|
||||
|
||||
### 1. Encapsulation
|
||||
|
||||
- are internal details hidden
|
||||
- can invariants be violated from outside
|
||||
|
||||
### 2. Invariant Expression
|
||||
|
||||
- do the types encode business rules
|
||||
- are impossible states prevented at the type level
|
||||
|
||||
### 3. Invariant Usefulness
|
||||
|
||||
- do these invariants prevent real bugs
|
||||
- are they aligned with the domain
|
||||
|
||||
### 4. Enforcement
|
||||
|
||||
- are invariants enforced by the type system
|
||||
- are there easy escape hatches
|
||||
|
||||
## Output Format
|
||||
|
||||
For each type reviewed:
|
||||
|
||||
- type name and location
|
||||
- scores for the four dimensions
|
||||
- overall assessment
|
||||
- specific improvement suggestions
|
||||
23
commands/agent-sort.md
Normal file
23
commands/agent-sort.md
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
description: Legacy slash-entry shim for the agent-sort skill. Prefer the skill directly.
|
||||
---
|
||||
|
||||
# Agent Sort (Legacy Shim)
|
||||
|
||||
Use this only if you still invoke `/agent-sort`. The maintained workflow lives in `skills/agent-sort/SKILL.md`.
|
||||
|
||||
## Canonical Surface
|
||||
|
||||
- Prefer the `agent-sort` skill directly.
|
||||
- Keep this file only as a compatibility entry point.
|
||||
|
||||
## Arguments
|
||||
|
||||
`$ARGUMENTS`
|
||||
|
||||
## Delegation
|
||||
|
||||
Apply the `agent-sort` skill.
|
||||
- Classify ECC surfaces with concrete repo evidence.
|
||||
- Keep the result to DAILY vs LIBRARY.
|
||||
- If an install change is needed afterward, hand off to `configure-ecc` instead of re-implementing install logic here.
|
||||
49
commands/feature-dev.md
Normal file
49
commands/feature-dev.md
Normal file
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: Guided feature development with codebase understanding and architecture focus
|
||||
---
|
||||
|
||||
A structured feature-development workflow that emphasizes understanding existing code before writing new code.
|
||||
|
||||
## Phases
|
||||
|
||||
### 1. Discovery
|
||||
|
||||
- read the feature request carefully
|
||||
- identify requirements, constraints, and acceptance criteria
|
||||
- ask clarifying questions if the request is ambiguous
|
||||
|
||||
### 2. Codebase Exploration
|
||||
|
||||
- use `code-explorer` to analyze the relevant existing code
|
||||
- trace execution paths and architecture layers
|
||||
- understand integration points and conventions
|
||||
|
||||
### 3. Clarifying Questions
|
||||
|
||||
- present findings from exploration
|
||||
- ask targeted design and edge-case questions
|
||||
- wait for user response before proceeding
|
||||
|
||||
### 4. Architecture Design
|
||||
|
||||
- use `code-architect` to design the feature
|
||||
- provide the implementation blueprint
|
||||
- wait for approval before implementing
|
||||
|
||||
### 5. Implementation
|
||||
|
||||
- implement the feature following the approved design
|
||||
- prefer TDD where appropriate
|
||||
- keep commits small and focused
|
||||
|
||||
### 6. Quality Review
|
||||
|
||||
- use `code-reviewer` to review the implementation
|
||||
- address critical and important issues
|
||||
- verify test coverage
|
||||
|
||||
### 7. Summary
|
||||
|
||||
- summarize what was built
|
||||
- list follow-up items or limitations
|
||||
- provide testing instructions
|
||||
164
commands/flutter-build.md
Normal file
164
commands/flutter-build.md
Normal file
@@ -0,0 +1,164 @@
|
||||
---
|
||||
description: Fix Dart analyzer errors and Flutter build failures incrementally. Invokes the dart-build-resolver agent for minimal, surgical fixes.
|
||||
---
|
||||
|
||||
# Flutter Build and Fix
|
||||
|
||||
This command invokes the **dart-build-resolver** agent to incrementally fix Dart/Flutter build errors with minimal changes.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Run Diagnostics**: Execute `flutter analyze`, `flutter pub get`
|
||||
2. **Parse Errors**: Group by file and sort by severity
|
||||
3. **Fix Incrementally**: One error at a time
|
||||
4. **Verify Each Fix**: Re-run analysis after each change
|
||||
5. **Report Summary**: Show what was fixed and what remains
|
||||
|
||||
## When to Use
|
||||
|
||||
Use `/flutter-build` when:
|
||||
- `flutter analyze` reports errors
|
||||
- `flutter build` fails for any platform
|
||||
- `dart pub get` / `flutter pub get` fails with version conflicts
|
||||
- `build_runner` fails to generate code
|
||||
- After pulling changes that break the build
|
||||
|
||||
## Diagnostic Commands Run
|
||||
|
||||
```bash
|
||||
# Analysis
|
||||
flutter analyze 2>&1
|
||||
|
||||
# Dependencies
|
||||
flutter pub get 2>&1
|
||||
|
||||
# Code generation (if project uses build_runner)
|
||||
dart run build_runner build --delete-conflicting-outputs 2>&1
|
||||
|
||||
# Platform builds
|
||||
flutter build apk 2>&1
|
||||
flutter build web 2>&1
|
||||
```
|
||||
|
||||
## Example Session
|
||||
|
||||
````text
|
||||
User: /flutter-build
|
||||
|
||||
Agent:
|
||||
# Flutter Build Resolution
|
||||
|
||||
## Initial Diagnostics
|
||||
|
||||
```
|
||||
$ flutter analyze
|
||||
Analyzing project...
|
||||
|
||||
error • lib/features/user/data/user_repository_impl.dart:34:16 •
|
||||
A value of type 'String?' can't be assigned to a variable of type 'String'. •
|
||||
invalid_assignment
|
||||
|
||||
error • lib/features/cart/presentation/cart_page.dart:58:5 •
|
||||
The method 'add' isn't defined for the type 'List<Item>'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'add'. •
|
||||
undefined_method
|
||||
|
||||
2 errors found.
|
||||
```
|
||||
|
||||
## Fix 1: Null Safety
|
||||
|
||||
File: lib/features/user/data/user_repository_impl.dart:34
|
||||
Error: A value of type 'String?' can't be assigned to type 'String'
|
||||
|
||||
Changed:
|
||||
```dart
|
||||
final id = response.id;
|
||||
```
|
||||
To:
|
||||
```dart
|
||||
final id = response.id ?? '';
|
||||
```
|
||||
|
||||
```
|
||||
$ flutter analyze
|
||||
1 error found.
|
||||
```
|
||||
|
||||
## Fix 2: Immutable List
|
||||
|
||||
File: lib/features/cart/presentation/cart_page.dart:58
|
||||
Error: The method 'add' isn't defined for the type 'List<Item>'
|
||||
Cause: State holds an unmodifiable list; mutation goes through Cubit
|
||||
|
||||
Changed:
|
||||
```dart
|
||||
state.items.add(item);
|
||||
```
|
||||
To:
|
||||
```dart
|
||||
context.read<CartCubit>().addItem(item);
|
||||
// Note: Cubit exposes named methods (addItem, removeItem);
|
||||
// .add(event) is the BLoC event API — don't mix them.
|
||||
```
|
||||
|
||||
```
|
||||
$ flutter analyze
|
||||
No issues found!
|
||||
```
|
||||
|
||||
## Final Verification
|
||||
|
||||
```
|
||||
$ flutter test
|
||||
All tests passed.
|
||||
```
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Count |
|
||||
|--------|-------|
|
||||
| Analysis errors fixed | 2 |
|
||||
| Files modified | 2 |
|
||||
| Remaining issues | 0 |
|
||||
|
||||
Build Status: PASS ✓
|
||||
````
|
||||
|
||||
## Common Errors Fixed
|
||||
|
||||
| Error | Typical Fix |
|
||||
|-------|-------------|
|
||||
| `A value of type 'X?' can't be assigned to 'X'` | Add `?? default` or null guard |
|
||||
| `The name 'X' isn't defined` | Add import or fix typo |
|
||||
| `Non-nullable instance field must be initialized` | Add initializer or `late` |
|
||||
| `Version solving failed` | Adjust version constraints in pubspec.yaml |
|
||||
| `Missing concrete implementation of 'X'` | Implement missing interface method |
|
||||
| `build_runner: Part of X expected` | Delete stale `.g.dart` and rebuild |
|
||||
|
||||
## Fix Strategy
|
||||
|
||||
1. **Analysis errors first** — code must be error-free
|
||||
2. **Warning triage second** — fix warnings that could cause runtime bugs
|
||||
3. **pub conflicts third** — fix dependency resolution
|
||||
4. **One fix at a time** — verify each change
|
||||
5. **Minimal changes** — don't refactor, just fix
|
||||
|
||||
## Stop Conditions
|
||||
|
||||
The agent will stop and report if:
|
||||
- Same error persists after 3 attempts
|
||||
- Fix introduces more errors
|
||||
- Requires architectural changes
|
||||
- Package upgrade conflicts need user decision
|
||||
|
||||
## Related Commands
|
||||
|
||||
- `/flutter-test` — Run tests after build succeeds
|
||||
- `/flutter-review` — Review code quality
|
||||
- `/verify` — Full verification loop
|
||||
|
||||
## Related
|
||||
|
||||
- Agent: `agents/dart-build-resolver.md`
|
||||
- Skill: `skills/flutter-dart-code-review/`
|
||||
116
commands/flutter-review.md
Normal file
116
commands/flutter-review.md
Normal file
@@ -0,0 +1,116 @@
|
||||
---
|
||||
description: Review Flutter/Dart code for idiomatic patterns, widget best practices, state management, performance, accessibility, and security. Invokes the flutter-reviewer agent.
|
||||
---
|
||||
|
||||
# Flutter Code Review
|
||||
|
||||
This command invokes the **flutter-reviewer** agent to review Flutter/Dart code changes.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Gather Context**: Review `git diff --staged` and `git diff`
|
||||
2. **Inspect Project**: Check `pubspec.yaml`, `analysis_options.yaml`, state management solution
|
||||
3. **Security Pre-scan**: Check for hardcoded secrets and critical security issues
|
||||
4. **Full Review**: Apply the complete review checklist
|
||||
5. **Report Findings**: Output issues grouped by severity with fix guidance
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before running `/flutter-review`, ensure:
|
||||
1. **Build passes** — run `/flutter-build` first; a review on broken code is incomplete
|
||||
2. **Tests pass** — run `/flutter-test` to confirm no regressions
|
||||
3. **No merge conflicts** — resolve all conflicts so the diff reflects only intentional changes
|
||||
4. **`flutter analyze` is clean** — fix analyzer warnings before review
|
||||
|
||||
## When to Use
|
||||
|
||||
Use `/flutter-review` when:
|
||||
- Before submitting a PR with Flutter/Dart changes (after build and tests pass)
|
||||
- After implementing a new feature to catch issues early
|
||||
- When reviewing someone else's Flutter code
|
||||
- To audit a widget, state management component, or service class
|
||||
- Before a production release
|
||||
|
||||
## Review Areas
|
||||
|
||||
| Area | Severity |
|
||||
|------|----------|
|
||||
| Hardcoded secrets, cleartext HTTP | CRITICAL |
|
||||
| Architecture violations, state management anti-patterns | CRITICAL |
|
||||
| Widget rebuild issues, resource leaks | HIGH |
|
||||
| Missing `dispose()`, `BuildContext` after await | HIGH |
|
||||
| Dart null safety, missing error/loading states | HIGH |
|
||||
| Const propagation, widget composition | HIGH |
|
||||
| Performance: expensive work in `build()` | HIGH |
|
||||
| Accessibility, semantic labels | MEDIUM |
|
||||
| Missing tests for state transitions | HIGH |
|
||||
| Hardcoded strings (l10n) | MEDIUM |
|
||||
| Pub dependency hygiene | LOW |
|
||||
|
||||
## Example Session
|
||||
|
||||
````text
|
||||
User: /flutter-review
|
||||
|
||||
Agent:
|
||||
# Flutter Code Review
|
||||
|
||||
## Context
|
||||
|
||||
Changed files:
|
||||
- lib/features/auth/presentation/login_page.dart
|
||||
- lib/features/auth/data/auth_repository_impl.dart
|
||||
|
||||
State management: Riverpod (detected from pubspec.yaml)
|
||||
Architecture: feature-first
|
||||
|
||||
## Security Pre-scan
|
||||
|
||||
✓ No hardcoded secrets detected
|
||||
✓ No cleartext HTTP calls
|
||||
|
||||
## Review Findings
|
||||
|
||||
[HIGH] BuildContext used after async gap without mounted check
|
||||
File: lib/features/auth/presentation/login_page.dart:67
|
||||
Issue: `context.go('/home')` called after `await auth.login(...)` with no `mounted` check.
|
||||
Fix: Add `if (!context.mounted) return;` before any navigation after awaits (Flutter 3.7+).
|
||||
|
||||
[HIGH] AsyncValue error state not handled
|
||||
File: lib/features/auth/presentation/login_page.dart:42
|
||||
Issue: `ref.watch(authProvider)` switches on loading/data but has no `error` branch.
|
||||
Fix: Add error case to the switch expression or `when()` call to show a user-facing error message.
|
||||
|
||||
[MEDIUM] Hardcoded string not localized
|
||||
File: lib/features/auth/presentation/login_page.dart:89
|
||||
Issue: `Text('Login')` — user-visible string not using localization system.
|
||||
Fix: Use the project's l10n accessor: `Text(context.l10n.loginButton)`.
|
||||
|
||||
## Review Summary
|
||||
|
||||
| Severity | Count | Status |
|
||||
|----------|-------|--------|
|
||||
| CRITICAL | 0 | pass |
|
||||
| HIGH | 2 | block |
|
||||
| MEDIUM | 1 | info |
|
||||
| LOW | 0 | note |
|
||||
|
||||
Verdict: BLOCK — HIGH issues must be fixed before merge.
|
||||
````
|
||||
|
||||
## Approval Criteria
|
||||
|
||||
- **Approve**: No CRITICAL or HIGH issues
|
||||
- **Block**: Any CRITICAL or HIGH issues must be fixed before merge
|
||||
|
||||
## Related Commands
|
||||
|
||||
- `/flutter-build` — Fix build errors first
|
||||
- `/flutter-test` — Run tests before reviewing
|
||||
- `/code-review` — General code review (language-agnostic)
|
||||
|
||||
## Related
|
||||
|
||||
- Agent: `agents/flutter-reviewer.md`
|
||||
- Skill: `skills/flutter-dart-code-review/`
|
||||
- Rules: `rules/dart/`
|
||||
144
commands/flutter-test.md
Normal file
144
commands/flutter-test.md
Normal file
@@ -0,0 +1,144 @@
|
||||
---
|
||||
description: Run Flutter/Dart tests, report failures, and incrementally fix test issues. Covers unit, widget, golden, and integration tests.
|
||||
---
|
||||
|
||||
# Flutter Test
|
||||
|
||||
This command runs the Flutter test suite and reports results. When failures occur, it diagnoses and fixes issues incrementally.
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Run Tests**: Execute `flutter test` (or scope to changed files)
|
||||
2. **Parse Failures**: Identify failing tests by type and cause
|
||||
3. **Fix Incrementally**: One failure at a time where possible
|
||||
4. **Verify**: Re-run after each fix
|
||||
5. **Report**: Show coverage summary and remaining failures
|
||||
|
||||
## When to Use
|
||||
|
||||
Use `/flutter-test` when:
|
||||
- After implementing a feature to verify nothing broke
|
||||
- After running `/flutter-build` to ensure tests pass
|
||||
- To check test coverage on new code
|
||||
- When a specific test file is failing
|
||||
- Before submitting a PR
|
||||
|
||||
## Commands Run
|
||||
|
||||
```bash
|
||||
# Run all tests
|
||||
flutter test 2>&1
|
||||
|
||||
# Run with coverage
|
||||
flutter test --coverage 2>&1
|
||||
|
||||
# Run specific test file
|
||||
flutter test test/unit/domain/usecases/get_user_test.dart 2>&1
|
||||
|
||||
# Run tests matching a name pattern
|
||||
flutter test --name "CartBloc" 2>&1
|
||||
|
||||
# Run integration tests (requires device/emulator)
|
||||
flutter test integration_test/ 2>&1
|
||||
|
||||
# Update golden files when intentional visual changes are made
|
||||
flutter test --update-goldens 2>&1
|
||||
```
|
||||
|
||||
## Example Session
|
||||
|
||||
````text
|
||||
User: /flutter-test
|
||||
|
||||
Agent:
|
||||
# Flutter Test Run
|
||||
|
||||
## Test Execution
|
||||
|
||||
```
|
||||
$ flutter test
|
||||
00:05 +42 -2: Some tests failed.
|
||||
|
||||
FAILED: test/unit/data/user_repository_test.dart
|
||||
UserRepository getById
|
||||
returns null when user not found
|
||||
Expected: null
|
||||
Actual: User(id: 'test-id', name: 'Test User')
|
||||
|
||||
FAILED: test/widget/cart_page_test.dart
|
||||
CartPage
|
||||
shows empty state when cart is empty
|
||||
Expected: exactly one widget with text 'Your cart is empty'
|
||||
Found: no widget with text 'Your cart is empty'
|
||||
```
|
||||
|
||||
## Fix 1: Repository Test
|
||||
|
||||
File: test/unit/data/user_repository_test.dart
|
||||
Failure: `getById` returns a user when it should return null for missing ID
|
||||
|
||||
Root cause: Test setup adds a user with ID 'test-id' but queries with 'missing-id'.
|
||||
Fix: Updated test to query with 'missing-id' — setup was correct, query was wrong.
|
||||
|
||||
```
|
||||
$ flutter test test/unit/data/user_repository_test.dart
|
||||
1 test passed.
|
||||
```
|
||||
|
||||
## Fix 2: Widget Test
|
||||
|
||||
File: test/widget/cart_page_test.dart
|
||||
Failure: Empty state text widget not found
|
||||
|
||||
Root cause: Empty state message was renamed from 'Your cart is empty' to 'Cart is empty' in the widget.
|
||||
Fix: Updated test string to match current widget copy.
|
||||
|
||||
```
|
||||
$ flutter test test/widget/cart_page_test.dart
|
||||
1 test passed.
|
||||
```
|
||||
|
||||
## Final Run
|
||||
|
||||
```
|
||||
$ flutter test --coverage
|
||||
All 44 tests passed.
|
||||
Coverage: 84.2% (target: 80%)
|
||||
```
|
||||
|
||||
## Summary
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Total tests | 44 |
|
||||
| Passed | 44 |
|
||||
| Failed | 0 |
|
||||
| Coverage | 84.2% |
|
||||
|
||||
Test Status: PASS ✓
|
||||
````
|
||||
|
||||
## Common Test Failures
|
||||
|
||||
| Failure | Typical Fix |
|
||||
|---------|-------------|
|
||||
| `Expected: <X> Actual: <Y>` | Update assertion or fix implementation |
|
||||
| `Widget not found` | Fix finder selector or update test after widget rename |
|
||||
| `Golden file not found` | Run `flutter test --update-goldens` to generate |
|
||||
| `Golden mismatch` | Inspect diff; run `--update-goldens` if change was intentional |
|
||||
| `MissingPluginException` | Mock platform channel in test setup |
|
||||
| `LateInitializationError` | Initialize `late` fields in `setUp()` |
|
||||
| `pumpAndSettle timed out` | Replace with explicit `pump(Duration)` calls |
|
||||
|
||||
## Related Commands
|
||||
|
||||
- `/flutter-build` — Fix build errors before running tests
|
||||
- `/flutter-review` — Review code after tests pass
|
||||
- `/tdd` — Test-driven development workflow
|
||||
|
||||
## Related
|
||||
|
||||
- Agent: `agents/flutter-reviewer.md`
|
||||
- Agent: `agents/dart-build-resolver.md`
|
||||
- Skill: `skills/flutter-dart-code-review/`
|
||||
- Rules: `rules/dart/testing.md`
|
||||
14
commands/hookify-configure.md
Normal file
14
commands/hookify-configure.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
description: Enable or disable hookify rules interactively
|
||||
---
|
||||
|
||||
Interactively enable or disable existing hookify rules.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Find all `.claude/hookify.*.local.md` files
|
||||
2. Read the current state of each rule
|
||||
3. Present the list with current enabled / disabled status
|
||||
4. Ask which rules to toggle
|
||||
5. Update the `enabled:` field in the selected rule files
|
||||
6. Confirm the changes
|
||||
46
commands/hookify-help.md
Normal file
46
commands/hookify-help.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: Get help with the hookify system
|
||||
---
|
||||
|
||||
Display comprehensive hookify documentation.
|
||||
|
||||
## Hook System Overview
|
||||
|
||||
Hookify creates rule files that integrate with Claude Code's hook system to prevent unwanted behaviors.
|
||||
|
||||
### Event Types
|
||||
|
||||
- `bash`: triggers on Bash tool use and matches command patterns
|
||||
- `file`: triggers on Write/Edit tool use and matches file paths
|
||||
- `stop`: triggers when a session ends
|
||||
- `prompt`: triggers on user message submission and matches input patterns
|
||||
- `all`: triggers on all events
|
||||
|
||||
### Rule File Format
|
||||
|
||||
Files are stored as `.claude/hookify.{name}.local.md`:
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: descriptive-name
|
||||
enabled: true
|
||||
event: bash|file|stop|prompt|all
|
||||
action: block|warn
|
||||
pattern: "regex pattern to match"
|
||||
---
|
||||
Message to display when rule triggers.
|
||||
Supports multiple lines.
|
||||
```
|
||||
|
||||
### Commands
|
||||
|
||||
- `/hookify [description]` creates new rules and auto-analyzes the conversation when no description is given
|
||||
- `/hookify-list` lists configured rules
|
||||
- `/hookify-configure` toggles rules on or off
|
||||
|
||||
### Pattern Tips
|
||||
|
||||
- use regex syntax
|
||||
- for `bash`, match against the full command string
|
||||
- for `file`, match against the file path
|
||||
- test patterns before deploying
|
||||
21
commands/hookify-list.md
Normal file
21
commands/hookify-list.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
description: List all configured hookify rules
|
||||
---
|
||||
|
||||
Find and display all hookify rules in a formatted table.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Find all `.claude/hookify.*.local.md` files
|
||||
2. Read each file's frontmatter:
|
||||
- `name`
|
||||
- `enabled`
|
||||
- `event`
|
||||
- `action`
|
||||
- `pattern`
|
||||
3. Display them as a table:
|
||||
|
||||
| Rule | Enabled | Event | Pattern | File |
|
||||
|------|---------|-------|---------|------|
|
||||
|
||||
4. Show the rule count and remind the user that `/hookify-configure` can change state later.
|
||||
50
commands/hookify.md
Normal file
50
commands/hookify.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: Create hooks to prevent unwanted behaviors from conversation analysis or explicit instructions
|
||||
---
|
||||
|
||||
Create hook rules to prevent unwanted Claude Code behaviors by analyzing conversation patterns or explicit user instructions.
|
||||
|
||||
## Usage
|
||||
|
||||
`/hookify [description of behavior to prevent]`
|
||||
|
||||
If no arguments are provided, analyze the current conversation to find behaviors worth preventing.
|
||||
|
||||
## Workflow
|
||||
|
||||
### Step 1: Gather Behavior Info
|
||||
|
||||
- With arguments: parse the user's description of the unwanted behavior
|
||||
- Without arguments: use the `conversation-analyzer` agent to find:
|
||||
- explicit corrections
|
||||
- frustrated reactions to repeated mistakes
|
||||
- reverted changes
|
||||
- repeated similar issues
|
||||
|
||||
### Step 2: Present Findings
|
||||
|
||||
Show the user:
|
||||
|
||||
- behavior description
|
||||
- proposed event type
|
||||
- proposed pattern or matcher
|
||||
- proposed action
|
||||
|
||||
### Step 3: Generate Rule Files
|
||||
|
||||
For each approved rule, create a file at `.claude/hookify.{name}.local.md`:
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: rule-name
|
||||
enabled: true
|
||||
event: bash|file|stop|prompt|all
|
||||
action: block|warn
|
||||
pattern: "regex pattern"
|
||||
---
|
||||
Message shown when rule triggers.
|
||||
```
|
||||
|
||||
### Step 4: Confirm
|
||||
|
||||
Report created rules and how to manage them with `/hookify-list` and `/hookify-configure`.
|
||||
106
commands/jira.md
Normal file
106
commands/jira.md
Normal file
@@ -0,0 +1,106 @@
|
||||
---
|
||||
description: Retrieve a Jira ticket, analyze requirements, update status, or add comments. Uses the jira-integration skill and MCP or REST API.
|
||||
---
|
||||
|
||||
# Jira Command
|
||||
|
||||
Interact with Jira tickets directly from your workflow — fetch tickets, analyze requirements, add comments, and transition status.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/jira get <TICKET-KEY> # Fetch and analyze a ticket
|
||||
/jira comment <TICKET-KEY> # Add a progress comment
|
||||
/jira transition <TICKET-KEY> # Change ticket status
|
||||
/jira search <JQL> # Search issues with JQL
|
||||
```
|
||||
|
||||
## What This Command Does
|
||||
|
||||
1. **Get & Analyze** — Fetch a Jira ticket and extract requirements, acceptance criteria, test scenarios, and dependencies
|
||||
2. **Comment** — Add structured progress updates to a ticket
|
||||
3. **Transition** — Move a ticket through workflow states (To Do → In Progress → Done)
|
||||
4. **Search** — Find issues using JQL queries
|
||||
|
||||
## How It Works
|
||||
|
||||
### `/jira get <TICKET-KEY>`
|
||||
|
||||
1. Fetch the ticket from Jira (via MCP `jira_get_issue` or REST API)
|
||||
2. Extract all fields: summary, description, acceptance criteria, priority, labels, linked issues
|
||||
3. Optionally fetch comments for additional context
|
||||
4. Produce a structured analysis:
|
||||
|
||||
```
|
||||
Ticket: PROJ-1234
|
||||
Summary: [title]
|
||||
Status: [status]
|
||||
Priority: [priority]
|
||||
Type: [Story/Bug/Task]
|
||||
|
||||
Requirements:
|
||||
1. [extracted requirement]
|
||||
2. [extracted requirement]
|
||||
|
||||
Acceptance Criteria:
|
||||
- [ ] [criterion from ticket]
|
||||
|
||||
Test Scenarios:
|
||||
- Happy Path: [description]
|
||||
- Error Case: [description]
|
||||
- Edge Case: [description]
|
||||
|
||||
Dependencies:
|
||||
- [linked issues, APIs, services]
|
||||
|
||||
Recommended Next Steps:
|
||||
- /plan to create implementation plan
|
||||
- /tdd to implement with tests first
|
||||
```
|
||||
|
||||
### `/jira comment <TICKET-KEY>`
|
||||
|
||||
1. Summarize current session progress (what was built, tested, committed)
|
||||
2. Format as a structured comment
|
||||
3. Post to the Jira ticket
|
||||
|
||||
### `/jira transition <TICKET-KEY>`
|
||||
|
||||
1. Fetch available transitions for the ticket
|
||||
2. Show options to user
|
||||
3. Execute the selected transition
|
||||
|
||||
### `/jira search <JQL>`
|
||||
|
||||
1. Execute the JQL query against Jira
|
||||
2. Return a summary table of matching issues
|
||||
|
||||
## Prerequisites
|
||||
|
||||
This command requires Jira credentials. Choose one:
|
||||
|
||||
**Option A — MCP Server (recommended):**
|
||||
Add `jira` to your `mcpServers` config (see `mcp-configs/mcp-servers.json` for the template).
|
||||
|
||||
**Option B — Environment variables:**
|
||||
```bash
|
||||
export JIRA_URL="https://yourorg.atlassian.net"
|
||||
export JIRA_EMAIL="your.email@example.com"
|
||||
export JIRA_API_TOKEN="your-api-token"
|
||||
```
|
||||
|
||||
If credentials are missing, stop and direct the user to set them up.
|
||||
|
||||
## Integration with Other Commands
|
||||
|
||||
After analyzing a ticket:
|
||||
- Use `/plan` to create an implementation plan from the requirements
|
||||
- Use `/tdd` to implement with test-driven development
|
||||
- Use `/code-review` after implementation
|
||||
- Use `/jira comment` to post progress back to the ticket
|
||||
- Use `/jira transition` to move the ticket when work is complete
|
||||
|
||||
## Related
|
||||
|
||||
- **Skill:** `skills/jira-integration/`
|
||||
- **MCP config:** `mcp-configs/mcp-servers.json` → `jira`
|
||||
@@ -24,20 +24,20 @@ Apply the orchestration skills instead of maintaining a second workflow spec her
|
||||
- Keep handoffs structured, but let the skills define the maintained sequencing rules.
|
||||
Security Reviewer: [summary]
|
||||
|
||||
FILES CHANGED
|
||||
-------------
|
||||
### FILES CHANGED
|
||||
|
||||
[List all files modified]
|
||||
|
||||
TEST RESULTS
|
||||
------------
|
||||
### TEST RESULTS
|
||||
|
||||
[Test pass/fail summary]
|
||||
|
||||
SECURITY STATUS
|
||||
---------------
|
||||
### SECURITY STATUS
|
||||
|
||||
[Security findings]
|
||||
|
||||
RECOMMENDATION
|
||||
--------------
|
||||
### RECOMMENDATION
|
||||
|
||||
[SHIP / NEEDS WORK / BLOCKED]
|
||||
```
|
||||
|
||||
@@ -111,7 +111,7 @@ Telemetry:
|
||||
|
||||
This keeps planner, implementer, reviewer, and loop workers legible from the operator surface.
|
||||
|
||||
## Arguments
|
||||
## Workflow Arguments
|
||||
|
||||
$ARGUMENTS:
|
||||
- `feature <description>` - Full feature workflow
|
||||
|
||||
@@ -177,7 +177,7 @@ Next steps:
|
||||
|
||||
## Edge Cases
|
||||
|
||||
- **No `gh` CLI**: Stop with: "GitHub CLI (`gh`) is required. Install: https://cli.github.com/"
|
||||
- **No `gh` CLI**: Stop with: "GitHub CLI (`gh`) is required. Install: <https://cli.github.com/>"
|
||||
- **Not authenticated**: Stop with: "Run `gh auth login` first."
|
||||
- **Force push needed**: If remote has diverged and rebase was done, use `git push --force-with-lease` (never `--force`).
|
||||
- **Multiple PR templates**: If `.github/PULL_REQUEST_TEMPLATE/` has multiple files, list them and ask user to choose.
|
||||
|
||||
37
commands/review-pr.md
Normal file
37
commands/review-pr.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
description: Comprehensive PR review using specialized agents
|
||||
---
|
||||
|
||||
Run a comprehensive multi-perspective review of a pull request.
|
||||
|
||||
## Usage
|
||||
|
||||
`/review-pr [PR-number-or-URL] [--focus=comments|tests|errors|types|code|simplify]`
|
||||
|
||||
If no PR is specified, review the current branch's PR. If no focus is specified, run the full review stack.
|
||||
|
||||
## Steps
|
||||
|
||||
1. Identify the PR:
|
||||
- use `gh pr view` to get PR details, changed files, and diff
|
||||
2. Find project guidance:
|
||||
- look for `CLAUDE.md`, lint config, TypeScript config, repo conventions
|
||||
3. Run specialized review agents:
|
||||
- `code-reviewer`
|
||||
- `comment-analyzer`
|
||||
- `pr-test-analyzer`
|
||||
- `silent-failure-hunter`
|
||||
- `type-design-analyzer`
|
||||
- `code-simplifier`
|
||||
4. Aggregate results:
|
||||
- dedupe overlapping findings
|
||||
- rank by severity
|
||||
5. Report findings grouped by severity
|
||||
|
||||
## Confidence Rule
|
||||
|
||||
Only report issues with confidence >= 80:
|
||||
|
||||
- Critical: bugs, security, data loss
|
||||
- Important: missing tests, quality problems, style violations
|
||||
- Advisory: suggestions only when explicitly requested
|
||||
224
docs/HERMES-OPENCLAW-MIGRATION.md
Normal file
224
docs/HERMES-OPENCLAW-MIGRATION.md
Normal file
@@ -0,0 +1,224 @@
|
||||
# Hermes / OpenClaw -> ECC Migration
|
||||
|
||||
This document is the public migration guide for moving a Hermes or OpenClaw-style operator setup into the current ECC model.
|
||||
|
||||
The goal is not to reproduce a private operator workspace byte-for-byte.
|
||||
|
||||
The goal is to preserve the useful workflow surface:
|
||||
|
||||
- reusable skills
|
||||
- stable automation entrypoints
|
||||
- cross-harness portability
|
||||
- schedulers / reminders / dispatch
|
||||
- durable context and operator memory
|
||||
|
||||
while removing the parts that should stay private:
|
||||
|
||||
- secrets
|
||||
- personal datasets
|
||||
- account tokens
|
||||
- local-only business artifacts
|
||||
|
||||
## Migration Thesis
|
||||
|
||||
Treat Hermes and OpenClaw as source systems, not as the final runtime.
|
||||
|
||||
ECC is the durable public system:
|
||||
|
||||
- skills
|
||||
- agents
|
||||
- commands
|
||||
- hooks
|
||||
- install surfaces
|
||||
- session adapters
|
||||
- ECC 2.0 control-plane work
|
||||
|
||||
Hermes and OpenClaw are useful inputs because they contain repeated operator workflows that can be distilled into ECC-native surfaces.
|
||||
|
||||
That means the shortest safe path is:
|
||||
|
||||
1. extract the reusable behavior
|
||||
2. translate it into ECC-native skills, hooks, docs, or adapter work
|
||||
3. keep secrets and personal data outside the repo
|
||||
|
||||
## Current Workspace Model
|
||||
|
||||
Use the current workspace split consistently:
|
||||
|
||||
- live code work happens in cloned repos under `~/GitHub`
|
||||
- repo-specific active execution context lives in repo-level `WORKING-CONTEXT.md`
|
||||
- broader non-code context can live in KB/archive layers
|
||||
- durable cross-machine truth should prefer GitHub, Linear, and the knowledge base
|
||||
|
||||
Do not rebuild a shadow private workspace inside the public repo.
|
||||
|
||||
## Translation Map
|
||||
|
||||
### 1. Scheduler / cron layer
|
||||
|
||||
Source examples:
|
||||
|
||||
- `cron/scheduler.py`
|
||||
- `jobs.py`
|
||||
- recurring readiness or accountability loops
|
||||
|
||||
Translate into:
|
||||
|
||||
- Claude-native scheduling where available
|
||||
- ECC hook / command automation for local repeatability
|
||||
- ECC 2.0 scheduler work under issue `#1050`
|
||||
|
||||
Today, the repo already has the right public framing:
|
||||
|
||||
- hooks for low-latency repo-local automation
|
||||
- commands for explicit operator actions
|
||||
- ECC 2.0 as the future long-lived scheduling/control plane
|
||||
|
||||
### 2. Gateway / dispatch layer
|
||||
|
||||
Source examples:
|
||||
|
||||
- Hermes gateway
|
||||
- mobile dispatch / remote nudges
|
||||
- operator routing between active sessions
|
||||
|
||||
Translate into:
|
||||
|
||||
- ECC session adapter and control-plane work
|
||||
- orchestration/session inspection commands
|
||||
- ECC 2.0 control-plane backlog under:
|
||||
- `#1045`
|
||||
- `#1046`
|
||||
- `#1047`
|
||||
- `#1048`
|
||||
|
||||
The public repo should describe the adapter boundary and control-plane model, not pretend the remote operator shell is already fully GA.
|
||||
|
||||
### 3. Memory layer
|
||||
|
||||
Source examples:
|
||||
|
||||
- `memory_tool.py`
|
||||
- local operator memory
|
||||
- business / ops context stores
|
||||
|
||||
Translate into:
|
||||
|
||||
- `knowledge-ops`
|
||||
- repo `WORKING-CONTEXT.md`
|
||||
- GitHub / Linear / KB-backed durable context
|
||||
- future deep memory work under `#1049`
|
||||
|
||||
The important distinction is:
|
||||
|
||||
- repo execution context belongs near the repo
|
||||
- broader non-code memory belongs in KB/archive systems
|
||||
- the public repo should document the boundary, not store private memory dumps
|
||||
|
||||
### 4. Skill layer
|
||||
|
||||
Source examples:
|
||||
|
||||
- Hermes skills
|
||||
- OpenClaw skills
|
||||
- generated operator playbooks
|
||||
|
||||
Translate into:
|
||||
|
||||
- ECC-native top-level skills when the workflow is reusable
|
||||
- docs/examples when the content is only a template
|
||||
- hooks or commands when the behavior is procedural rather than knowledge-shaped
|
||||
|
||||
Recent examples already salvaged this way:
|
||||
|
||||
- `knowledge-ops`
|
||||
- `github-ops`
|
||||
- `hookify-rules`
|
||||
- `automation-audit-ops`
|
||||
- `email-ops`
|
||||
- `finance-billing-ops`
|
||||
- `messages-ops`
|
||||
- `research-ops`
|
||||
- `terminal-ops`
|
||||
- `ecc-tools-cost-audit`
|
||||
|
||||
### 5. Tool / service layer
|
||||
|
||||
Source examples:
|
||||
|
||||
- custom service wrappers
|
||||
- API-key-backed local tools
|
||||
- browser automation glue
|
||||
|
||||
Translate into:
|
||||
|
||||
- MCP-backed surfaces when a connector exists
|
||||
- ECC-native operator skills when the workflow logic is the real asset
|
||||
- adapter/control-plane work when the missing piece is session/runtime coordination
|
||||
|
||||
Do not import opaque third-party runtimes into ECC just because a private workflow depended on them.
|
||||
|
||||
If a workflow is valuable:
|
||||
|
||||
1. understand the behavior
|
||||
2. rebuild the minimum ECC-native version
|
||||
3. document the auth/connectors required locally
|
||||
|
||||
## What Already Exists Publicly
|
||||
|
||||
The current repo already covers meaningful parts of the migration:
|
||||
|
||||
- ECC 2.0 adapter/control-plane discovery docs
|
||||
- orchestration/session inspection substrate
|
||||
- operator workflow skills
|
||||
- cost / billing / workflow audit skills
|
||||
- cross-harness install surfaces
|
||||
- AgentShield for config and agent-surface scanning
|
||||
|
||||
This means the migration problem is no longer "start from zero."
|
||||
|
||||
It is mostly:
|
||||
|
||||
- distilling missing private workflows
|
||||
- clarifying public docs
|
||||
- continuing the ECC 2.0 operator/control-plane buildout
|
||||
|
||||
## What Still Belongs In Backlog
|
||||
|
||||
The remaining large migration themes are already tracked:
|
||||
|
||||
- `#1051` Hermes/OpenClaw migration
|
||||
- `#1049` deep memory layer
|
||||
- `#1050` autonomous scheduling
|
||||
- `#1048` universal harness compatibility layer
|
||||
- `#1046` agent orchestrator
|
||||
- `#1045` multi-session TUI manager
|
||||
- `#1047` visual worktree manager
|
||||
|
||||
That is the right place for the unresolved control-plane work.
|
||||
|
||||
Do not pretend the migration is "done" just because the public docs exist.
|
||||
|
||||
## Recommended Bring-Up Order
|
||||
|
||||
1. Keep the public ECC repo as the canonical reusable layer.
|
||||
2. Port reusable Hermes/OpenClaw workflows into ECC-native skills one lane at a time.
|
||||
3. Keep private auth and personal context outside the repo.
|
||||
4. Use GitHub / Linear / KB systems as durable truth.
|
||||
5. Treat ECC 2.0 as the path to a native operator shell, not as a finished product.
|
||||
|
||||
## Decision Rule
|
||||
|
||||
When reviewing a Hermes or OpenClaw artifact, ask:
|
||||
|
||||
1. Is this reusable across operators or only personal?
|
||||
2. Is the asset mainly knowledge, procedure, or runtime behavior?
|
||||
3. Should it become:
|
||||
- a skill
|
||||
- a command
|
||||
- a hook
|
||||
- a doc/example
|
||||
- a control-plane issue
|
||||
4. Does shipping it publicly leak secrets, private datasets, or personal operating state?
|
||||
|
||||
Only ship the reusable surface.
|
||||
110
docs/HERMES-SETUP.md
Normal file
110
docs/HERMES-SETUP.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Hermes x ECC Setup
|
||||
|
||||
Hermes is the operator shell. ECC is the reusable system behind it.
|
||||
|
||||
This guide is the public, sanitized version of the Hermes stack used to run content, outreach, research, sales ops, finance checks, and engineering workflows from one terminal-native surface.
|
||||
|
||||
## What Ships Publicly
|
||||
|
||||
- ECC skills, agents, commands, hooks, and MCP configs from this repo
|
||||
- Hermes-generated workflow skills that are stable enough to reuse
|
||||
- a documented operator topology for chat, crons, workspace memory, and distribution flows
|
||||
- launch collateral for sharing the stack publicly
|
||||
|
||||
This guide does not include private secrets, live tokens, personal data, or a raw `~/.hermes` export.
|
||||
|
||||
## Architecture
|
||||
|
||||
Use Hermes as the front door and ECC as the reusable workflow substrate.
|
||||
|
||||
```text
|
||||
Telegram / CLI / TUI
|
||||
↓
|
||||
Hermes
|
||||
↓
|
||||
ECC skills + hooks + MCPs + generated workflow packs
|
||||
↓
|
||||
Google Drive / GitHub / browser automation / research APIs / media tools / finance tools
|
||||
```
|
||||
|
||||
## Public Workspace Map
|
||||
|
||||
Use this as the minimal surface to reproduce the setup without leaking private state.
|
||||
|
||||
- `~/.hermes/config.yaml`
|
||||
- model routing
|
||||
- MCP server registration
|
||||
- plugin loading
|
||||
- `~/.hermes/skills/ecc-imports/`
|
||||
- ECC skills copied in for Hermes-native use
|
||||
- `skills/hermes-generated/`
|
||||
- operator patterns distilled from repeated Hermes sessions
|
||||
- `~/.hermes/plugins/`
|
||||
- bridge plugins for hooks, reminders, and workflow-specific tool glue
|
||||
- `~/.hermes/cron/jobs.json`
|
||||
- scheduled automation runs with explicit prompts and channels
|
||||
- `~/.hermes/workspace/`
|
||||
- business, ops, health, content, and memory artifacts
|
||||
|
||||
## Recommended Capability Stack
|
||||
|
||||
### Core
|
||||
|
||||
- Hermes for chat, cron, orchestration, and workspace state
|
||||
- ECC for skills, rules, prompts, and cross-harness conventions
|
||||
- GitHub + Context7 + Exa + Firecrawl + Playwright as the baseline MCP layer
|
||||
|
||||
### Content
|
||||
|
||||
- FFmpeg for local edit and assembly
|
||||
- Remotion for programmable clips
|
||||
- fal.ai for image/video generation
|
||||
- ElevenLabs for voice, cleanup, and audio packaging
|
||||
- CapCut or VectCutAPI for final social-native polish
|
||||
|
||||
### Business Ops
|
||||
|
||||
- Google Drive as the system of record for docs, sheets, decks, and research dumps
|
||||
- Stripe for revenue and payment operations
|
||||
- GitHub for engineering execution
|
||||
- Telegram and iMessage-style channels for urgent nudges and approvals
|
||||
|
||||
## What Still Requires Local Auth
|
||||
|
||||
These stay local and should be configured per operator:
|
||||
|
||||
- Google OAuth token for Drive / Docs / Sheets / Slides
|
||||
- X / LinkedIn / outbound distribution credentials
|
||||
- Stripe keys
|
||||
- browser automation credentials and stealth/proxy settings
|
||||
- any CRM or project system credentials such as Linear or Apollo
|
||||
- Apple Health export or ingest path if health automations are enabled
|
||||
|
||||
## Suggested Bring-Up Order
|
||||
|
||||
1. Install ECC and verify the baseline harness setup.
|
||||
2. Install Hermes and point it at ECC-imported skills.
|
||||
3. Register the MCP servers you actually use every day.
|
||||
4. Authenticate Google Drive first, then GitHub, then distribution channels.
|
||||
5. Start with a small cron surface: readiness check, content accountability, inbox triage, revenue monitor.
|
||||
6. Only then add heavier personal workflows like health, relationship graphing, or outbound sequencing.
|
||||
|
||||
## Why Hermes x ECC
|
||||
|
||||
This stack is useful when you want:
|
||||
|
||||
- one terminal-native place to run business and engineering operations
|
||||
- reusable skills instead of one-off prompts
|
||||
- automation that can nudge, audit, and escalate
|
||||
- a public repo that shows the system shape without exposing your private operator state
|
||||
|
||||
## Public Preview Scope
|
||||
|
||||
ECC 2.0 preview documents the Hermes surface and ships launch collateral now.
|
||||
|
||||
The remaining private pieces can be layered later:
|
||||
|
||||
- additional sanitized templates
|
||||
- richer public examples
|
||||
- more generated workflow packs
|
||||
- tighter CRM and Google Workspace integrations
|
||||
214
docs/MANUAL-ADAPTATION-GUIDE.md
Normal file
214
docs/MANUAL-ADAPTATION-GUIDE.md
Normal file
@@ -0,0 +1,214 @@
|
||||
# Manual Adaptation Guide for Non-Native Harnesses
|
||||
|
||||
Use this guide when you want ECC behavior inside a harness that does not natively load `.claude/`, `.codex/`, `.opencode/`, `.cursor/`, or `.agent/` layouts.
|
||||
|
||||
This is the fallback path for tools like Grok and other chat-style interfaces that can accept system prompts, uploaded files, or pasted instructions, but cannot execute the repo's native install surfaces directly.
|
||||
|
||||
## When to Use This
|
||||
|
||||
Use manual adaptation when the target harness:
|
||||
|
||||
- does not auto-load repo folders
|
||||
- does not support custom slash commands
|
||||
- does not support hooks
|
||||
- does not support repo-local skill activation
|
||||
- has partial or no filesystem/tool access
|
||||
|
||||
Prefer a first-class ECC target whenever one exists:
|
||||
|
||||
- Claude Code
|
||||
- Codex
|
||||
- Cursor
|
||||
- OpenCode
|
||||
- CodeBuddy
|
||||
- Antigravity
|
||||
|
||||
Use this guide only when you need ECC behavior in a non-native harness.
|
||||
|
||||
## What You Are Reproducing
|
||||
|
||||
When you adapt ECC manually, you are trying to preserve four things:
|
||||
|
||||
1. Focused context instead of dumping the whole repo.
|
||||
2. Skill activation cues instead of hoping the model guesses the workflow.
|
||||
3. Command intent even when the harness has no slash-command system.
|
||||
4. Hook discipline even when the harness has no native automation.
|
||||
|
||||
You are not trying to mirror every file in the repo. You are trying to recreate the useful behavior with the smallest possible context bundle.
|
||||
|
||||
## The ECC-Native Fallback
|
||||
|
||||
Default to manual selection from the repo itself.
|
||||
|
||||
Start with only the files you actually need:
|
||||
|
||||
- one language or framework skill
|
||||
- one workflow skill
|
||||
- one domain skill if the task is specialized
|
||||
- one agent or command only if the harness benefits from explicit orchestration
|
||||
|
||||
Good minimal examples:
|
||||
|
||||
- Python feature work:
|
||||
- `skills/python-patterns/SKILL.md`
|
||||
- `skills/tdd-workflow/SKILL.md`
|
||||
- `skills/verification-loop/SKILL.md`
|
||||
- TypeScript API work:
|
||||
- `skills/backend-patterns/SKILL.md`
|
||||
- `skills/security-review/SKILL.md`
|
||||
- `skills/tdd-workflow/SKILL.md`
|
||||
- Content/outbound work:
|
||||
- `skills/brand-voice/SKILL.md`
|
||||
- `skills/content-engine/SKILL.md`
|
||||
- `skills/crosspost/SKILL.md`
|
||||
|
||||
If the harness supports file upload, upload only those files.
|
||||
|
||||
If the harness only supports pasted context, extract the relevant sections and paste a compressed bundle rather than the raw full files.
|
||||
|
||||
## Manual Context Packing
|
||||
|
||||
You do not need extra tooling to do this.
|
||||
|
||||
Use the repo directly:
|
||||
|
||||
```bash
|
||||
cd /path/to/everything-claude-code
|
||||
|
||||
sed -n '1,220p' skills/tdd-workflow/SKILL.md > /tmp/ecc-context.md
|
||||
printf '\n\n---\n\n' >> /tmp/ecc-context.md
|
||||
sed -n '1,220p' skills/backend-patterns/SKILL.md >> /tmp/ecc-context.md
|
||||
printf '\n\n---\n\n' >> /tmp/ecc-context.md
|
||||
sed -n '1,220p' skills/security-review/SKILL.md >> /tmp/ecc-context.md
|
||||
```
|
||||
|
||||
You can also use `rg` to identify the right skills before packing:
|
||||
|
||||
```bash
|
||||
rg -n "When to use|Use when|Trigger" skills -g 'SKILL.md'
|
||||
```
|
||||
|
||||
Optional: if you already use a repo packer like `repomix`, it can help compress selected files into one handoff document. It is a convenience tool, not the canonical ECC path.
|
||||
|
||||
## Compression Rules
|
||||
|
||||
When manually packing ECC for another harness:
|
||||
|
||||
- keep the task framing
|
||||
- keep the activation conditions
|
||||
- keep the workflow steps
|
||||
- keep the critical examples
|
||||
- remove repetitive prose first
|
||||
- remove unrelated variants second
|
||||
- avoid pasting whole directories when one or two skills are enough
|
||||
|
||||
If you need a tighter prompt format, convert the essential parts into a compact structured block:
|
||||
|
||||
```xml
|
||||
<skill name="tdd-workflow">
|
||||
<when>New feature, bug fix, or refactor that should be test-first.</when>
|
||||
<steps>
|
||||
<step>Write a failing test.</step>
|
||||
<step>Make it pass with the smallest change.</step>
|
||||
<step>Refactor and rerun validation.</step>
|
||||
</steps>
|
||||
</skill>
|
||||
```
|
||||
|
||||
## Reproducing Commands
|
||||
|
||||
If the harness has no slash-command system, define a small command registry in the system prompt or session preamble.
|
||||
|
||||
Example:
|
||||
|
||||
```text
|
||||
Command registry:
|
||||
- /plan -> use planner-style reasoning, produce a short execution plan, then act
|
||||
- /tdd -> follow the tdd-workflow skill
|
||||
- /review -> switch into code-review mode and enumerate findings first
|
||||
- /verify -> run a verification loop before claiming completion
|
||||
```
|
||||
|
||||
You are not implementing real commands. You are giving the harness explicit invocation handles that map to ECC behavior.
|
||||
|
||||
## Reproducing Hooks
|
||||
|
||||
If the harness has no native hooks, move the hook intent into the standing instructions.
|
||||
|
||||
Example:
|
||||
|
||||
```text
|
||||
Before writing code:
|
||||
1. Check whether a relevant skill should be activated.
|
||||
2. Check for security-sensitive changes.
|
||||
3. Prefer tests before implementation when feasible.
|
||||
|
||||
Before finalizing:
|
||||
1. Re-read the user request.
|
||||
2. Verify the main changed paths.
|
||||
3. State what was actually validated and what was not.
|
||||
```
|
||||
|
||||
That does not recreate true automation, but it captures the operational discipline of ECC.
|
||||
|
||||
## Harness Capability Matrix
|
||||
|
||||
| Capability | First-Class ECC Targets | Manual-Adaptation Targets |
|
||||
| --- | --- | --- |
|
||||
| Folder-based install | Native | No |
|
||||
| Slash commands | Native | Simulated in prompt |
|
||||
| Hooks | Native | Simulated in prompt |
|
||||
| Skill activation | Native | Manual |
|
||||
| Repo-local tooling | Native | Depends on harness |
|
||||
| Context packing | Optional | Required |
|
||||
|
||||
## Practical Grok-Style Setup
|
||||
|
||||
1. Pick the smallest useful bundle.
|
||||
2. Pack the selected ECC skill files into one upload or paste block.
|
||||
3. Add a short command registry.
|
||||
4. Add standing “hook intent” instructions.
|
||||
5. Start with one task and verify the harness follows the workflow before scaling up.
|
||||
|
||||
Example starter preamble:
|
||||
|
||||
```text
|
||||
You are operating with a manually adapted ECC bundle.
|
||||
|
||||
Active skills:
|
||||
- backend-patterns
|
||||
- tdd-workflow
|
||||
- security-review
|
||||
|
||||
Command registry:
|
||||
- /plan
|
||||
- /tdd
|
||||
- /verify
|
||||
|
||||
Before writing code, follow the active skill instructions.
|
||||
Before finalizing, verify what changed and report any remaining gaps.
|
||||
```
|
||||
|
||||
## Limitations
|
||||
|
||||
Manual adaptation is useful, but it is still second-class compared with native targets.
|
||||
|
||||
You lose:
|
||||
|
||||
- automatic install and sync
|
||||
- native hook execution
|
||||
- true command plumbing
|
||||
- reliable skill discovery at runtime
|
||||
- built-in multi-agent/worktree orchestration
|
||||
|
||||
So the rule is simple:
|
||||
|
||||
- use manual adaptation to carry ECC behavior into non-native harnesses
|
||||
- use native ECC targets whenever you want the full system
|
||||
|
||||
## Related Work
|
||||
|
||||
- [Issue #1186](https://github.com/affaan-m/everything-claude-code/issues/1186)
|
||||
- [Discussion #1077](https://github.com/affaan-m/everything-claude-code/discussions/1077)
|
||||
- [Antigravity Guide](./ANTIGRAVITY-GUIDE.md)
|
||||
- [Troubleshooting](./TROUBLESHOOTING.md)
|
||||
@@ -703,7 +703,7 @@ Suggested payload:
|
||||
"skippedModules": []
|
||||
},
|
||||
"source": {
|
||||
"repoVersion": "1.9.0",
|
||||
"repoVersion": "1.10.0",
|
||||
"repoCommit": "git-sha",
|
||||
"manifestVersion": 1
|
||||
},
|
||||
|
||||
@@ -909,7 +909,7 @@ npm run test:e2e
|
||||
## Additional Resources
|
||||
|
||||
- [CONTRIBUTING.md](../CONTRIBUTING.md) - General contribution guidelines
|
||||
- [project-guidelines-example](../skills/project-guidelines-example/SKILL.md) - Project-specific skill template
|
||||
- [project-guidelines-template](./examples/project-guidelines-template.md) - Project-specific skill template
|
||||
- [coding-standards](../skills/coding-standards/SKILL.md) - Example of standards skill
|
||||
- [tdd-workflow](../skills/tdd-workflow/SKILL.md) - Example of workflow skill
|
||||
- [security-review](../skills/security-review/SKILL.md) - Example of domain knowledge skill
|
||||
|
||||
@@ -69,6 +69,7 @@ exit 2
|
||||
|
||||
## Related ECC Docs
|
||||
|
||||
- [hook-bug-workarounds.md](./hook-bug-workarounds.md) for the shorter hook/compaction/MCP recovery checklist.
|
||||
- [hooks/README.md](../hooks/README.md) for ECC's documented hook lifecycle and exit-code behavior.
|
||||
- [token-optimization.md](./token-optimization.md) for cost and context management settings.
|
||||
- [issue #644](https://github.com/affaan-m/everything-claude-code/issues/644) for the original report and tested environment.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user