Compare commits

...

79 Commits

Author SHA1 Message Date
Affaan Mustafa
9971e7550b test: isolate loop-status missing transcript fixture 2026-04-30 10:12:38 -04:00
Affaan Mustafa
5aff158511 fix: require bounded loop-status exit-code watch 2026-04-30 10:06:53 -04:00
Affaan Mustafa
6decc41121 feat: add loop-status exit-code mode 2026-04-30 10:00:40 -04:00
Affaan Mustafa
99177e81ea test: report instruction guardrails independently 2026-04-30 09:39:54 -04:00
Affaan Mustafa
b6a7f8ab0c fix: gate search-first apply steps 2026-04-30 09:39:54 -04:00
Affaan Mustafa
c9962bf83e fix: harden agent instruction surfaces 2026-04-30 09:39:54 -04:00
Affaan Mustafa
38f4265a1c feat: add loop-status watch mode 2026-04-30 09:09:23 -04:00
Affaan Mustafa
b1456bd954 fix: cap session-start context injection 2026-04-30 08:41:52 -04:00
Affaan Mustafa
95bef977c1 fix: fail open on gateguard state write errors 2026-04-30 08:15:27 -04:00
Affaan Mustafa
e381c8d8a8 fix: namespace claude managed install paths 2026-04-30 07:53:20 -04:00
Affaan Mustafa
08d6c82989 fix: harden consult argument parsing 2026-04-30 07:19:43 -04:00
Affaan Mustafa
9a3f72712b feat: add ECC consult command 2026-04-30 07:19:43 -04:00
Affaan Mustafa
708a8fd715 fix: clarify loop status empty output 2026-04-30 06:35:37 -04:00
Affaan Mustafa
9aace2e6fe fix: keep loop status scans fail-soft 2026-04-30 06:35:37 -04:00
Affaan Mustafa
fb6cc8548b fix: harden loop status transcript scanning 2026-04-30 06:35:37 -04:00
Affaan Mustafa
b8452dc108 feat: add loop status transcript inspector 2026-04-30 06:35:37 -04:00
Affaan Mustafa
2fd8dfc7e1 docs: clarify MCP disable guidance 2026-04-30 05:03:04 -04:00
Affaan Mustafa
158cbd8979 docs: sync zh-cn rc1 release heading 2026-04-30 04:40:12 -04:00
Affaan Mustafa
3e18127a3d test: require canonical rc1 launch link 2026-04-30 04:13:26 -04:00
Affaan Mustafa
63c97b4c26 docs: align rc1 social launch copy 2026-04-30 04:13:26 -04:00
Affaan Mustafa
70cc2bb247 fix: accept crlf command frontmatter 2026-04-30 03:41:18 -04:00
Affaan Mustafa
01d3743a8c fix: add command metadata frontmatter 2026-04-30 03:41:18 -04:00
Affaan Mustafa
a374eaf49d docs: use canonical plugin command namespace 2026-04-30 03:12:54 -04:00
Affaan Mustafa
d05855be5f test: handle missing configure-ecc docs cleanly 2026-04-30 02:50:58 -04:00
Affaan Mustafa
803abe52a5 fix: clarify configure-ecc skill copy roots 2026-04-30 02:50:58 -04:00
Affaan Mustafa
e1d6d853f7 fix: namespace cursor agent installs 2026-04-30 02:19:57 -04:00
Affaan Mustafa
5881554a1c fix: add no-hooks minimal install path 2026-04-30 01:57:31 -04:00
Affaan Mustafa
d26d66fd3b fix: inject learned skills at session start 2026-04-30 01:31:41 -04:00
Affaan Mustafa
0c61710c43 fix: disable claude plugin bundled mcps 2026-04-30 01:13:53 -04:00
Affaan Mustafa
d49f0329a9 fix: avoid cursor nested AGENTS context pollution 2026-04-30 00:43:27 -04:00
Affaan Mustafa
95ce9eaaeb fix: remove canonical Anthropic skill duplicates 2026-04-30 00:21:13 -04:00
Affaan Mustafa
06f9eca8e2 fix: retire legacy command shims from default surface 2026-04-29 23:56:40 -04:00
Affaan Mustafa
affbd33485 fix: avoid opencode shell file probes 2026-04-29 23:26:10 -04:00
Affaan Mustafa
9627c201c7 test: harden mcp health http probe fixture 2026-04-29 23:05:17 -04:00
Affaan Mustafa
1188aeafc4 fix: refine gateguard destructive git detection 2026-04-29 22:41:22 -04:00
Affaan Mustafa
17aafc4506 fix: make plan command work without planner agent 2026-04-29 22:18:53 -04:00
Affaan Mustafa
0dcde13384 fix: parse block-no-verify flags by shell words 2026-04-29 21:59:12 -04:00
Affaan Mustafa
3fadc37802 fix: route continuous learning observe hooks through node 2026-04-29 21:28:59 -04:00
Affaan Mustafa
2006d2ee77 fix: publish auto-update runtime script 2026-04-29 21:01:27 -04:00
Affaan Mustafa
149fae7008 test: normalize auto-update repo root expectation on windows 2026-04-29 21:01:27 -04:00
Affaan Mustafa
a7a56fa2a2 feat: add auto-update command 2026-04-29 21:01:27 -04:00
Affaan Mustafa
84ac76fa2b docs: sync session storage paths across translations 2026-04-29 20:34:01 -04:00
Affaan Mustafa
69b8ec4e0b docs: add ecc2 rc1 quickstart path 2026-04-29 20:15:38 -04:00
Affaan Mustafa
4b67c3cac6 docs: close ecc2 rc1 release policy drift 2026-04-29 19:52:09 -04:00
Affaan Mustafa
c3ea7a1e5e fix: preserve gateguard concurrent state writes (#1623) 2026-04-29 19:31:11 -04:00
Affaan Mustafa
468c755abd test: extend insaits monitor subprocess timeout 2026-04-29 19:25:18 -04:00
Affaan Mustafa
fc96be4924 test: cover skill tracker edge paths 2026-04-29 19:21:03 -04:00
Affaan Mustafa
7ca48f376f test: cover skill dashboard edge paths 2026-04-29 19:15:47 -04:00
Affaan Mustafa
8c7e6611e0 test: cover gateguard edge paths 2026-04-29 19:08:47 -04:00
Affaan Mustafa
b5bdd9352f fix: run pre-bash linters through windows wrappers 2026-04-29 18:59:10 -04:00
Affaan Mustafa
ae02b26cf9 test: cover mcp config merge edges 2026-04-29 18:57:55 -04:00
Affaan Mustafa
cc89c40751 test: cover codex config merge edges 2026-04-29 18:51:56 -04:00
Affaan Mustafa
880c487c0f test: cover state store query edge paths 2026-04-29 18:45:20 -04:00
Affaan Mustafa
45a9bcf295 test: lift harness manifest branch coverage 2026-04-29 18:38:48 -04:00
Affaan Mustafa
ebf0d4322b test: support windows pre-bash linter shims 2026-04-29 18:36:33 -04:00
Affaan Mustafa
015b00b8fc test: stabilize mcp health crash probes 2026-04-29 18:29:02 -04:00
Affaan Mustafa
51511461f6 test: cover pre-bash commit quality edges 2026-04-29 18:28:56 -04:00
Affaan Mustafa
aaaf52fb1e test: cover session adapter edge cases 2026-04-29 18:21:31 -04:00
Affaan Mustafa
33edfd3bb3 test: cover session activity tracker edge paths 2026-04-29 18:15:51 -04:00
Affaan Mustafa
f92dc544c4 test: cover mcp health edge paths 2026-04-29 18:08:45 -04:00
Affaan Mustafa
1c2d5dd389 fix: fail open on insaits monitor errors 2026-04-29 18:03:33 -04:00
Affaan Mustafa
b40de37ccb test: cover install lifecycle edge paths 2026-04-29 17:56:25 -04:00
Affaan Mustafa
63485a26bf fix: support windows insaits python shims 2026-04-29 17:53:07 -04:00
Affaan Mustafa
fe40a3d27b test: cover hook bootstrap and InsAIts monitor 2026-04-29 17:45:22 -04:00
Affaan Mustafa
2c56c9c69f test: relax windows install apply timeout 2026-04-29 17:42:19 -04:00
Affaan Mustafa
d9d52d8b77 test: cover install executor planning 2026-04-29 17:32:37 -04:00
Affaan Mustafa
2eaafc38f6 test(ecc2): normalize release workflow newlines 2026-04-29 17:31:01 -04:00
Affaan Mustafa
c7c7d37f29 Merge remote-tracking branch 'origin/main' into feat/ecc2-rc1-preview-surface 2026-04-28 22:15:34 -04:00
Affaan Mustafa
b6b5b6d08e test: cover CI catalog validator 2026-04-28 22:14:19 -04:00
Affaan Mustafa
f6acf6e19f Merge pull request #1606 from affaan-m/fix/1598-observer-sigusr1-wait
fix: retry observer wait after SIGUSR1
2026-04-28 22:12:04 -04:00
Affaan Mustafa
46aa301f1d Merge remote-tracking branch 'origin/main' into feat/ecc2-rc1-preview-surface
# Conflicts:
#	docs/fixes/HOOK-FIX-20260421-ADDENDUM.md
2026-04-28 22:11:54 -04:00
Affaan Mustafa
fd95cf6b29 fix: retry observer wait after signal 2026-04-28 22:11:47 -04:00
Affaan Mustafa
83d6bb230d Merge pull request #1605 from affaan-m/fix/1587-codex-skills-validation
fix: normalize codex skill metadata
2026-04-28 22:11:29 -04:00
Affaan Mustafa
6c8a6bd7c0 docs: remove unicode markers from hook addendum 2026-04-28 22:11:19 -04:00
Affaan Mustafa
d89f8d895d fix: normalize codex skill metadata 2026-04-28 22:10:17 -04:00
Affaan Mustafa
0a87323eda feat(ecc2): finalize rc1 release surface 2026-04-28 22:10:04 -04:00
Affaan Mustafa
5595c074fe Merge pull request #1555 from affaan-m/fix/install-uninstall-readme-clarity
docs: clarify install and uninstall paths
2026-04-28 22:10:03 -04:00
Affaan Mustafa
530088c77c docs: remove unicode safety violations from hook addendum 2026-04-23 02:14:28 -04:00
Affaan Mustafa
177b8f31da docs: clarify install and uninstall paths 2026-04-23 02:11:29 -04:00
258 changed files with 12871 additions and 1986 deletions

View File

@@ -6,7 +6,7 @@
"plugins": [
{
"name": "ecc",
"version": "1.10.0",
"version": "2.0.0-rc.1",
"source": {
"source": "local",
"path": "../.."

View File

@@ -1,7 +1,6 @@
---
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

View File

@@ -0,0 +1,7 @@
interface:
display_name: "Agent Introspection Debugging"
short_description: "Structured self-debugging for AI agent failures"
brand_color: "#0EA5E9"
default_prompt: "Use $agent-introspection-debugging to diagnose and recover from an AI agent failure."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
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

View File

@@ -0,0 +1,7 @@
interface:
display_name: "Agent Sort"
short_description: "Evidence-backed ECC install planning"
brand_color: "#0EA5E9"
default_prompt: "Use $agent-sort to build an evidence-backed ECC install plan."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: api-design
description: REST API design patterns including resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting for production APIs.
origin: ECC
---
# API Design Patterns

View File

@@ -2,6 +2,6 @@ interface:
display_name: "API Design"
short_description: "REST API design patterns and best practices"
brand_color: "#F97316"
default_prompt: "Design REST API: resources, status codes, pagination"
default_prompt: "Use $api-design to design production REST API resources and responses."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: article-writing
description: Write articles, guides, blog posts, tutorials, newsletter issues, and other long-form content in a distinctive voice derived from supplied examples or brand guidance. Use when the user wants polished written content longer than a paragraph, especially when voice consistency, structure, and credibility matter.
origin: ECC
---
# Article Writing

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Article Writing"
short_description: "Write long-form content in a supplied voice without sounding templated"
short_description: "Long-form content in a supplied voice"
brand_color: "#B45309"
default_prompt: "Draft a sharp long-form article from these notes and examples"
default_prompt: "Use $article-writing to draft polished long-form content in the supplied voice."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: backend-patterns
description: Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.
origin: ECC
---
# Backend Development Patterns

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Backend Patterns"
short_description: "API design, database, and server-side patterns"
short_description: "API, database, and server-side patterns"
brand_color: "#F59E0B"
default_prompt: "Apply backend patterns: API design, repository, caching"
default_prompt: "Use $backend-patterns to apply backend architecture and API patterns."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: brand-voice
description: Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.
origin: ECC
---
# Brand Voice

View File

@@ -0,0 +1,7 @@
interface:
display_name: "Brand Voice"
short_description: "Source-derived writing style profiles"
brand_color: "#0EA5E9"
default_prompt: "Use $brand-voice to derive and reuse a source-grounded writing style."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: bun-runtime
description: Bun as runtime, package manager, bundler, and test runner. When to choose Bun vs Node, migration notes, and Vercel support.
origin: ECC
---
# Bun Runtime

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Bun Runtime"
short_description: "Bun as runtime, package manager, bundler, and test runner"
short_description: "Bun runtime, package manager, and test runner"
brand_color: "#FBF0DF"
default_prompt: "Use Bun for scripts, install, or run"
default_prompt: "Use $bun-runtime to choose and apply Bun runtime workflows."
policy:
allow_implicit_invocation: true

View File

@@ -1,337 +0,0 @@
---
name: claude-api
description: Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.
origin: ECC
---
# Claude API
Build applications with the Anthropic Claude API and SDKs.
## When to Activate
- Building applications that call the Claude API
- Code imports `anthropic` (Python) or `@anthropic-ai/sdk` (TypeScript)
- User asks about Claude API patterns, tool use, streaming, or vision
- Implementing agent workflows with Claude Agent SDK
- Optimizing API costs, token usage, or latency
## Model Selection
| Model | ID | Best For |
|-------|-----|----------|
| Opus 4.6 | `claude-opus-4-6` | Complex reasoning, architecture, research |
| Sonnet 4.6 | `claude-sonnet-4-6` | Balanced coding, most development tasks |
| Haiku 4.5 | `claude-haiku-4-5-20251001` | Fast responses, high-volume, cost-sensitive |
Default to Sonnet 4.6 unless the task requires deep reasoning (Opus) or speed/cost optimization (Haiku).
## Python SDK
### Installation
```bash
pip install anthropic
```
### Basic Message
```python
import anthropic
client = anthropic.Anthropic() # reads ANTHROPIC_API_KEY from env
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[
{"role": "user", "content": "Explain async/await in Python"}
]
)
print(message.content[0].text)
```
### Streaming
```python
with client.messages.stream(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "Write a haiku about coding"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
```
### System Prompt
```python
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="You are a senior Python developer. Be concise.",
messages=[{"role": "user", "content": "Review this function"}]
)
```
## TypeScript SDK
### Installation
```bash
npm install @anthropic-ai/sdk
```
### Basic Message
```typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic(); // reads ANTHROPIC_API_KEY from env
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [
{ role: "user", content: "Explain async/await in TypeScript" }
],
});
console.log(message.content[0].text);
```
### Streaming
```typescript
const stream = client.messages.stream({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "Write a haiku" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
```
## Tool Use
Define tools and let Claude call them:
```python
tools = [
{
"name": "get_weather",
"description": "Get current weather for a location",
"input_schema": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}
]
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather in SF?"}]
)
# Handle tool use response
for block in message.content:
if block.type == "tool_use":
# Execute the tool with block.input
result = get_weather(**block.input)
# Send result back
follow_up = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=tools,
messages=[
{"role": "user", "content": "What's the weather in SF?"},
{"role": "assistant", "content": message.content},
{"role": "user", "content": [
{"type": "tool_result", "tool_use_id": block.id, "content": str(result)}
]}
]
)
```
## Vision
Send images for analysis:
```python
import base64
with open("diagram.png", "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{
"role": "user",
"content": [
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": image_data}},
{"type": "text", "text": "Describe this diagram"}
]
}]
)
```
## Extended Thinking
For complex reasoning tasks:
```python
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[{"role": "user", "content": "Solve this math problem step by step..."}]
)
for block in message.content:
if block.type == "thinking":
print(f"Thinking: {block.thinking}")
elif block.type == "text":
print(f"Answer: {block.text}")
```
## Prompt Caching
Cache large system prompts or context to reduce costs:
```python
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system=[
{"type": "text", "text": large_system_prompt, "cache_control": {"type": "ephemeral"}}
],
messages=[{"role": "user", "content": "Question about the cached context"}]
)
# Check cache usage
print(f"Cache read: {message.usage.cache_read_input_tokens}")
print(f"Cache creation: {message.usage.cache_creation_input_tokens}")
```
## Batches API
Process large volumes asynchronously at 50% cost reduction:
```python
import time
batch = client.messages.batches.create(
requests=[
{
"custom_id": f"request-{i}",
"params": {
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": prompt}]
}
}
for i, prompt in enumerate(prompts)
]
)
# Poll for completion
while True:
status = client.messages.batches.retrieve(batch.id)
if status.processing_status == "ended":
break
time.sleep(30)
# Get results
for result in client.messages.batches.results(batch.id):
print(result.result.message.content[0].text)
```
## Claude Agent SDK
Build multi-step agents:
```python
# Note: Agent SDK API surface may change — check official docs
import anthropic
# Define tools as functions
tools = [{
"name": "search_codebase",
"description": "Search the codebase for relevant code",
"input_schema": {
"type": "object",
"properties": {"query": {"type": "string"}},
"required": ["query"]
}
}]
# Run an agentic loop with tool use
client = anthropic.Anthropic()
messages = [{"role": "user", "content": "Review the auth module for security issues"}]
while True:
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
tools=tools,
messages=messages,
)
if response.stop_reason == "end_turn":
break
# Handle tool calls and continue the loop
messages.append({"role": "assistant", "content": response.content})
# ... execute tools and append tool_result messages
```
## Cost Optimization
| Strategy | Savings | When to Use |
|----------|---------|-------------|
| Prompt caching | Up to 90% on cached tokens | Repeated system prompts or context |
| Batches API | 50% | Non-time-sensitive bulk processing |
| Haiku instead of Sonnet | ~75% | Simple tasks, classification, extraction |
| Shorter max_tokens | Variable | When you know output will be short |
| Streaming | None (same cost) | Better UX, same price |
## Error Handling
```python
import time
from anthropic import APIError, RateLimitError, APIConnectionError
try:
message = client.messages.create(...)
except RateLimitError:
# Back off and retry
time.sleep(60)
except APIConnectionError:
# Network issue, retry with backoff
pass
except APIError as e:
print(f"API error {e.status_code}: {e.message}")
```
## Environment Setup
```bash
# Required
export ANTHROPIC_API_KEY="your-api-key-here"
# Optional: set default model
export ANTHROPIC_MODEL="claude-sonnet-4-6"
```
Never hardcode API keys. Always use environment variables.

View File

@@ -1,7 +0,0 @@
interface:
display_name: "Claude API"
short_description: "Anthropic Claude API patterns and SDKs"
brand_color: "#D97706"
default_prompt: "Build applications with the Claude API using Messages, tool use, streaming, and Agent SDK"
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: coding-standards
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

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Coding Standards"
short_description: "Universal coding standards and best practices"
short_description: "Cross-project coding conventions and review"
brand_color: "#3B82F6"
default_prompt: "Apply standards: immutability, error handling, type safety"
default_prompt: "Use $coding-standards to review code against cross-project standards."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: content-engine
description: Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.
origin: ECC
---
# Content Engine

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Content Engine"
short_description: "Turn one idea into platform-native social and content outputs"
short_description: "Platform-native content systems and campaigns"
brand_color: "#DC2626"
default_prompt: "Turn this source asset into strong multi-platform content"
default_prompt: "Use $content-engine to turn source material into platform-native content."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: crosspost
description: Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.
origin: ECC
---
# Crosspost

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Crosspost"
short_description: "Multi-platform content distribution with native adaptation"
short_description: "Multi-platform social distribution"
brand_color: "#EC4899"
default_prompt: "Distribute content across X, LinkedIn, Threads, and Bluesky with platform-native adaptation"
default_prompt: "Use $crosspost to adapt content for multiple social platforms."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: deep-research
description: Multi-source deep research using firecrawl and exa MCPs. Searches the web, synthesizes findings, and delivers cited reports with source attribution. Use when the user wants thorough research on any topic with evidence and citations.
origin: ECC
---
# Deep Research

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Deep Research"
short_description: "Multi-source deep research with firecrawl and exa MCPs"
short_description: "Multi-source cited research reports"
brand_color: "#6366F1"
default_prompt: "Research the given topic using firecrawl and exa, produce a cited report"
default_prompt: "Use $deep-research to produce a cited multi-source research report."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: dmux-workflows
description: Multi-agent orchestration using dmux (tmux pane manager for AI agents). Patterns for parallel agent workflows across Claude Code, Codex, OpenCode, and other harnesses. Use when running multiple agent sessions in parallel or coordinating multi-agent development workflows.
origin: ECC
---
# dmux Workflows

View File

@@ -2,6 +2,6 @@ interface:
display_name: "dmux Workflows"
short_description: "Multi-agent orchestration with dmux"
brand_color: "#14B8A6"
default_prompt: "Orchestrate parallel agent sessions using dmux pane manager"
default_prompt: "Use $dmux-workflows to orchestrate parallel agent sessions with dmux."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: documentation-lookup
description: Use up-to-date library and framework docs via Context7 MCP instead of training data. Activates for setup questions, API references, code examples, or when the user names a framework (e.g. React, Next.js, Prisma).
origin: ECC
---
# Documentation Lookup (Context7)

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Documentation Lookup"
short_description: "Fetch up-to-date library docs via Context7 MCP"
short_description: "Current library docs via Context7"
brand_color: "#6366F1"
default_prompt: "Look up docs for a library or API"
default_prompt: "Use $documentation-lookup to fetch current library documentation via Context7."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: e2e-testing
description: Playwright E2E testing patterns, Page Object Model, configuration, CI/CD integration, artifact management, and flaky test strategies.
origin: ECC
---
# E2E Testing Patterns

View File

@@ -1,7 +1,7 @@
interface:
display_name: "E2E Testing"
short_description: "Playwright end-to-end testing"
short_description: "Playwright E2E testing patterns"
brand_color: "#06B6D4"
default_prompt: "Generate Playwright E2E tests with Page Object Model"
default_prompt: "Use $e2e-testing to design Playwright end-to-end test coverage."
policy:
allow_implicit_invocation: true

View File

@@ -1,8 +1,7 @@
---
name: eval-harness
description: Formal evaluation framework for Claude Code sessions implementing eval-driven development (EDD) principles
origin: ECC
tools: Read, Write, Edit, Bash, Grep, Glob
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
---
# Eval Harness Skill

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Eval Harness"
short_description: "Eval-driven development with pass/fail criteria"
short_description: "Eval-driven development harnesses"
brand_color: "#EC4899"
default_prompt: "Set up eval-driven development with pass/fail criteria"
default_prompt: "Use $eval-harness to define eval-driven development checks."
policy:
allow_implicit_invocation: true

View File

@@ -1,5 +1,5 @@
---
name: everything-claude-code-conventions
name: everything-claude-code
description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.
---

View File

@@ -1,6 +1,7 @@
interface:
display_name: "Everything Claude Code"
short_description: "Repo-specific patterns and workflows for everything-claude-code"
default_prompt: "Use the everything-claude-code repo skill to follow existing architecture, testing, and workflow conventions."
short_description: "Repo workflows for everything-claude-code"
brand_color: "#0EA5E9"
default_prompt: "Use $everything-claude-code to follow this repository's conventions and workflows."
policy:
allow_implicit_invocation: true
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: exa-search
description: Neural search via Exa MCP for web, code, and company research. Use when the user needs web search, code examples, company intel, people lookup, or AI-powered deep research with Exa's neural search engine.
origin: ECC
---
# Exa Search

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Exa Search"
short_description: "Neural search via Exa MCP for web, code, and companies"
short_description: "Neural search via Exa MCP"
brand_color: "#8B5CF6"
default_prompt: "Search using Exa MCP tools for web content, code, or company research"
default_prompt: "Use $exa-search to search web, code, or company data through Exa."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: fal-ai-media
description: Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.
origin: ECC
---
# fal.ai Media Generation

View File

@@ -1,7 +1,7 @@
interface:
display_name: "fal.ai Media"
short_description: "AI image, video, and audio generation via fal.ai"
short_description: "AI media generation via fal.ai"
brand_color: "#F43F5E"
default_prompt: "Generate images, videos, or audio using fal.ai models"
default_prompt: "Use $fal-ai-media to generate image, video, or audio assets with fal.ai."
policy:
allow_implicit_invocation: true

View File

@@ -1,145 +0,0 @@
---
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

View File

@@ -1,7 +1,6 @@
---
name: frontend-patterns
description: Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.
origin: ECC
---
# Frontend Development Patterns
@@ -18,6 +17,12 @@ Modern frontend patterns for React, Next.js, and performant user interfaces.
- Handling client-side routing and navigation
- Building accessible, responsive UI patterns
## Privacy and Data Boundaries
Frontend examples should use synthetic or domain-generic data. Do not collect, log, persist, or display credentials, access tokens, SSNs, health data, payment details, private emails, phone numbers, or other sensitive personal data unless the user explicitly requests a scoped implementation with appropriate validation, redaction, and access controls.
Avoid adding analytics, tracking pixels, third-party scripts, or external data sinks without explicit approval. When handling user data, prefer least-privilege APIs, client-side redaction before logging, and server-side validation for every boundary.
## Component Patterns
### Composition Over Inheritance

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Frontend Patterns"
short_description: "React and Next.js patterns and best practices"
short_description: "React and Next.js frontend patterns"
brand_color: "#8B5CF6"
default_prompt: "Apply React/Next.js patterns and best practices"
default_prompt: "Use $frontend-patterns to apply React and Next.js frontend patterns."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: frontend-slides
description: Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
origin: ECC
---
# Frontend Slides

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Frontend Slides"
short_description: "Create distinctive HTML slide decks and convert PPTX to web"
short_description: "Animation-rich HTML presentation decks"
brand_color: "#FF6B3D"
default_prompt: "Create a viewport-safe HTML presentation with strong visual direction"
default_prompt: "Use $frontend-slides to create an animation-rich HTML presentation deck."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: investor-materials
description: Create and update pitch decks, one-pagers, investor memos, accelerator applications, financial models, and fundraising materials. Use when the user needs investor-facing documents, projections, use-of-funds tables, milestone plans, or materials that must stay internally consistent across multiple fundraising assets.
origin: ECC
---
# Investor Materials

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Investor Materials"
short_description: "Create decks, memos, and financial materials from one source of truth"
short_description: "Investor decks, memos, and financial materials"
brand_color: "#7C3AED"
default_prompt: "Draft investor materials that stay numerically consistent across assets"
default_prompt: "Use $investor-materials to draft consistent investor-facing fundraising assets."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: investor-outreach
description: Draft cold emails, warm intro blurbs, follow-ups, update emails, and investor communications for fundraising. Use when the user wants outreach to angels, VCs, strategic investors, or accelerators and needs concise, personalized, investor-facing messaging.
origin: ECC
---
# Investor Outreach

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Investor Outreach"
short_description: "Write concise, personalized outreach and follow-ups for fundraising"
short_description: "Personalized investor outreach and follow-ups"
brand_color: "#059669"
default_prompt: "Draft a personalized investor outreach email with a clear low-friction ask"
default_prompt: "Use $investor-outreach to write concise personalized investor outreach."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: market-research
description: Conduct market research, competitive analysis, investor due diligence, and industry intelligence with source attribution and decision-oriented summaries. Use when the user wants market sizing, competitor comparisons, fund research, technology scans, or research that informs business decisions.
origin: ECC
---
# Market Research

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Market Research"
short_description: "Source-attributed market, competitor, and investor research"
short_description: "Source-attributed market research"
brand_color: "#2563EB"
default_prompt: "Research this market and summarize the decision-relevant findings"
default_prompt: "Use $market-research to research markets with source-attributed findings."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: mcp-server-patterns
description: Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API.
origin: ECC
---
# MCP Server Patterns

View File

@@ -0,0 +1,7 @@
interface:
display_name: "MCP Server Patterns"
short_description: "MCP server tools, resources, and prompts"
brand_color: "#0EA5E9"
default_prompt: "Use $mcp-server-patterns to build MCP tools, resources, and prompts."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: nextjs-turbopack
description: Next.js 16+ and Turbopack — incremental bundling, FS caching, dev speed, and when to use Turbopack vs webpack.
origin: ECC
---
# Next.js and Turbopack

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Next.js Turbopack"
short_description: "Next.js 16+ and Turbopack dev bundler"
short_description: "Next.js and Turbopack workflow guidance"
brand_color: "#000000"
default_prompt: "Next.js dev, Turbopack, or bundle optimization"
default_prompt: "Use $nextjs-turbopack to work through Next.js and Turbopack decisions."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
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

View File

@@ -0,0 +1,7 @@
interface:
display_name: "Product Capability"
short_description: "Implementation-ready product capability plans"
brand_color: "#0EA5E9"
default_prompt: "Use $product-capability to turn product intent into an implementation plan."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: security-review
description: Use this skill when adding authentication, handling user input, working with secrets, creating API endpoints, or implementing payment/sensitive features. Provides comprehensive security checklist and patterns.
origin: ECC
---
# Security Review Skill

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Security Review"
short_description: "Comprehensive security checklist and vulnerability detection"
short_description: "Security checklist and vulnerability review"
brand_color: "#EF4444"
default_prompt: "Run security checklist: secrets, input validation, injection prevention"
default_prompt: "Use $security-review to review sensitive code with the security checklist."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: strategic-compact
description: Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
origin: ECC
---
# Strategic Compact Skill

View File

@@ -2,6 +2,6 @@ interface:
display_name: "Strategic Compact"
short_description: "Context management via strategic compaction"
brand_color: "#14B8A6"
default_prompt: "Suggest task boundary compaction for context management"
default_prompt: "Use $strategic-compact to choose a useful context compaction boundary."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: tdd-workflow
description: Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.
origin: ECC
---
# Test-Driven Development Workflow

View File

@@ -1,7 +1,7 @@
interface:
display_name: "TDD Workflow"
short_description: "Test-driven development with 80%+ coverage"
short_description: "Test-driven development with coverage gates"
brand_color: "#22C55E"
default_prompt: "Follow TDD: write tests first, implement, verify 80%+ coverage"
default_prompt: "Use $tdd-workflow to drive the change with tests before implementation."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: verification-loop
description: "A comprehensive verification system for Claude Code sessions."
origin: ECC
---
# Verification Loop Skill

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Verification Loop"
short_description: "Build, test, lint, typecheck verification"
short_description: "Build, test, lint, and typecheck verification"
brand_color: "#10B981"
default_prompt: "Run verification: build, test, lint, typecheck, security"
default_prompt: "Use $verification-loop to run build, test, lint, and typecheck verification."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: video-editing
description: AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.
origin: ECC
---
# Video Editing

View File

@@ -1,7 +1,7 @@
interface:
display_name: "Video Editing"
short_description: "AI-assisted video editing for real footage"
short_description: "AI-assisted editing for real footage"
brand_color: "#EF4444"
default_prompt: "Edit video using AI-assisted pipeline: organize, cut, compose, generate assets, polish"
default_prompt: "Use $video-editing to plan an AI-assisted edit for real footage."
policy:
allow_implicit_invocation: true

View File

@@ -1,7 +1,6 @@
---
name: x-api
description: X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.
origin: ECC
---
# X API

View File

@@ -1,7 +1,7 @@
interface:
display_name: "X API"
short_description: "X/Twitter API integration for posting, threads, and analytics"
short_description: "X API posting, timelines, and analytics"
brand_color: "#000000"
default_prompt: "Use X API to post tweets, threads, or retrieve timeline and search data"
default_prompt: "Use $x-api to build X API posting, timeline, or analytics workflows."
policy:
allow_implicit_invocation: true

View File

@@ -132,6 +132,26 @@ The test `plugin.json does NOT have explicit hooks declaration` in `tests/hooks/
---
## The `mcpServers` Field: Keep the Empty Opt-Out
ECC keeps `.mcp.json` at the repository root for Codex plugin installs and manual MCP setup.
Claude Code also auto-discovers plugin-root `.mcp.json` files by convention, which would bundle the same MCP servers into Claude plugin installs.
Keep this field in `.claude-plugin/plugin.json`:
```json
{
"mcpServers": {}
}
```
This explicit empty object prevents Claude plugin installs from auto-loading ECC's root MCP definitions.
Without the opt-out, strict OpenAI-compatible gateways can reject plugin MCP tool names such as `mcp__plugin_everything-claude-code_github__create_pull_request_review` because they exceed 64 characters.
Users who want the bundled MCP servers should configure them manually from `.mcp.json` or `mcp-configs/mcp-servers.json`.
---
## Known Anti-Patterns
These look correct but are rejected:
@@ -142,6 +162,7 @@ These look correct but are rejected:
* Relying on inferred paths
* Assuming marketplace behavior matches local validation
* **Adding `"hooks": "./hooks/hooks.json"`** - auto-loaded by convention, causes duplicate error
* Removing `"mcpServers": {}` - re-enables root `.mcp.json` auto-discovery for Claude plugin installs and can produce overlong MCP tool names
Avoid cleverness. Be explicit.
@@ -170,7 +191,8 @@ Before submitting changes that touch `plugin.json`:
1. Ensure all component fields are arrays
2. Include a `version`
3. Do NOT add `agents` or `hooks` fields (both are auto-loaded by convention)
4. Run:
4. Preserve `"mcpServers": {}` unless you are intentionally changing Claude plugin MCP bundling behavior
5. Run:
```bash
claude plugin validate .claude-plugin/plugin.json

View File

@@ -11,8 +11,8 @@
{
"name": "everything-claude-code",
"source": "./",
"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",
"description": "The most comprehensive Claude Code plugin — 48 agents, 182 skills, 68 legacy command shims, selective install profiles, and production-ready hooks for TDD, security scanning, code review, and continuous learning",
"version": "2.0.0-rc.1",
"author": {
"name": "Affaan Mustafa",
"email": "me@affaanmustafa.com"

View File

@@ -1,7 +1,7 @@
{
"name": "everything-claude-code",
"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",
"version": "2.0.0-rc.1",
"description": "Battle-tested Claude Code plugin for engineering teams — 48 agents, 182 skills, 68 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"
@@ -22,6 +22,7 @@
"automation",
"best-practices"
],
"mcpServers": {},
"skills": ["./skills/"],
"commands": ["./commands/"]
}

View File

@@ -12,7 +12,7 @@ This directory contains the **Codex plugin manifest** for Everything Claude Code
## What This Provides
- **156 skills** from `./skills/` — reusable Codex workflows for TDD, security,
- **182 skills** from `./skills/` — reusable Codex workflows for TDD, security,
code review, architecture, and more
- **6 MCP servers** — GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking

View File

@@ -1,7 +1,7 @@
{
"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.",
"version": "2.0.0-rc.1",
"description": "Battle-tested Codex workflows — 182 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",
@@ -15,7 +15,7 @@
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Everything Claude Code",
"shortDescription": "156 battle-tested ECC skills plus MCP configs for TDD, security, code review, and autonomous development.",
"shortDescription": "182 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",

View File

@@ -60,6 +60,12 @@ The sync script (`scripts/sync-ecc-to-codex.sh`) uses a Node-based TOML parser t
- **`--update-mcp`** — explicitly replaces all ECC-managed servers with the latest recommended config (safely removes subtables like `[mcp_servers.supabase.env]`).
- **User config is always preserved** — custom servers, args, env vars, and credentials outside ECC-managed sections are never touched.
## External Action Boundaries
Treat networked tools as read-only by default. Search, inspect, and draft freely within the user's requested scope, but require explicit user approval before posting, publishing, pushing, merging, opening paid jobs, dispatching remote agents, changing third-party resources, or modifying credentials.
When approval is ambiguous, produce a local plan or draft artifact instead of taking the external action. Preserve user config and private state unless the user specifically asks for a scoped change.
## Multi-Agent Support
Codex now supports multi-agent workflows behind the experimental `features.multi_agent` flag.

View File

@@ -2,7 +2,8 @@ name: CI
on:
push:
branches: [main]
branches: [main, 'release/**']
tags: ['v*']
pull_request:
branches: [main]

View File

@@ -33,8 +33,8 @@ jobs:
- name: Validate version tag
run: |
if ! [[ "${REF_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Invalid version tag format. Expected vX.Y.Z"
if ! [[ "${REF_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then
echo "Invalid version tag format. Expected vX.Y.Z or vX.Y.Z-prerelease"
exit 1
fi
@@ -60,17 +60,13 @@ jobs:
run: |
PACKAGE_NAME=$(node -p "require('./package.json').name")
PACKAGE_VERSION=$(node -p "require('./package.json').version")
NPM_DIST_TAG=$(node -p "require('./package.json').version.includes('-') ? 'next' : 'latest'")
if npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" version >/dev/null 2>&1; then
echo "already_published=true" >> "$GITHUB_OUTPUT"
else
echo "already_published=false" >> "$GITHUB_OUTPUT"
fi
- name: Publish npm package
if: steps.npm_publish_state.outputs.already_published != 'true'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access public --provenance
echo "dist_tag=${NPM_DIST_TAG}" >> "$GITHUB_OUTPUT"
- name: Generate release highlights
id: highlights
@@ -102,3 +98,11 @@ jobs:
with:
body_path: release_body.md
generate_release_notes: true
prerelease: ${{ contains(github.ref_name, '-') }}
make_latest: ${{ contains(github.ref_name, '-') && 'false' || 'true' }}
- name: Publish npm package
if: steps.npm_publish_state.outputs.already_published != 'true'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access public --provenance --tag "${{ steps.npm_publish_state.outputs.dist_tag }}"

View File

@@ -18,7 +18,7 @@ on:
workflow_dispatch:
inputs:
tag:
description: 'Version tag to release or republish (e.g., v1.10.0)'
description: 'Version tag to release or republish (e.g., v2.0.0-rc.1)'
required: true
type: string
generate-notes:
@@ -41,6 +41,7 @@ jobs:
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
ref: ${{ inputs.tag }}
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
@@ -58,8 +59,8 @@ jobs:
env:
INPUT_TAG: ${{ inputs.tag }}
run: |
if ! [[ "$INPUT_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Invalid version tag format. Expected vX.Y.Z"
if ! [[ "$INPUT_TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$ ]]; then
echo "Invalid version tag format. Expected vX.Y.Z or vX.Y.Z-prerelease"
exit 1
fi
@@ -83,17 +84,13 @@ jobs:
run: |
PACKAGE_NAME=$(node -p "require('./package.json').name")
PACKAGE_VERSION=$(node -p "require('./package.json').version")
NPM_DIST_TAG=$(node -p "require('./package.json').version.includes('-') ? 'next' : 'latest'")
if npm view "${PACKAGE_NAME}@${PACKAGE_VERSION}" version >/dev/null 2>&1; then
echo "already_published=true" >> "$GITHUB_OUTPUT"
else
echo "already_published=false" >> "$GITHUB_OUTPUT"
fi
- name: Publish npm package
if: steps.npm_publish_state.outputs.already_published != 'true'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access public --provenance
echo "dist_tag=${NPM_DIST_TAG}" >> "$GITHUB_OUTPUT"
- name: Generate release highlights
env:
@@ -119,3 +116,11 @@ jobs:
tag_name: ${{ inputs.tag }}
body_path: release_body.md
generate_release_notes: ${{ inputs.generate-notes }}
prerelease: ${{ contains(inputs.tag, '-') }}
make_latest: ${{ contains(inputs.tag, '-') && 'false' || 'true' }}
- name: Publish npm package
if: steps.npm_publish_state.outputs.already_published != 'true'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access public --provenance --tag "${{ steps.npm_publish_state.outputs.dist_tag }}"

View File

@@ -21,6 +21,12 @@ Use this skill when:
- The user asks "add X functionality" and you're about to write code
- Before creating a new utility, helper, or abstraction
## Scope and Approval Rules
Default to read-only research: inspect the repo, package metadata, docs, and public examples before recommending a dependency or integration. Do not install packages, configure MCP servers, publish artifacts, open PRs, or make external write actions from this skill unless the user has explicitly approved that action in the current task.
When a candidate requires credentials, paid services, network writes, or project-wide config changes, return a recommendation and approval checkpoint instead of applying it directly.
## Workflow
```
@@ -45,9 +51,9 @@ Use this skill when:
│ │ as-is │ │ /Wrap │ │ Custom │ │
│ └─────────┘ └──────────┘ └─────────┘ │
├─────────────────────────────────────────────┤
│ 5. IMPLEMENT
Install package / Configure MCP /
Write minimal custom code
│ 5. APPROVAL CHECKPOINT / IMPLEMENT
Recommend package / MCP / custom code
Apply only after explicit approval
└─────────────────────────────────────────────┘
```
@@ -55,10 +61,10 @@ Use this skill when:
| Signal | Action |
|--------|--------|
| Exact match, well-maintained, MIT/Apache | **Adopt**install and use directly |
| Partial match, good foundation | **Extend**install + write thin wrapper |
| Multiple weak matches | **Compose**combine 2-3 small packages |
| Nothing suitable found | **Build**write custom, but informed by research |
| Exact match, well-maintained, MIT/Apache | **Adopt**recommend the package and request approval before install or config changes |
| Partial match, good foundation | **Extend**recommend the package plus a thin wrapper, then wait for approval before applying |
| Multiple weak matches | **Compose**propose 2-3 small packages and the integration plan before installing anything |
| Nothing suitable found | **Build**explain why custom code is warranted, then implement only within the approved task scope |
## How to Use
@@ -135,8 +141,8 @@ Combine for progressive discovery:
Need: Check markdown files for broken links
Search: npm "markdown dead link checker"
Found: textlint-rule-no-dead-link (score: 9/10)
Action: ADOPT — npm install textlint-rule-no-dead-link
Result: Zero custom code, battle-tested solution
Action: ADOPT — recommend `textlint-rule-no-dead-link` and ask before installing it
Result: Zero custom code if approved, battle-tested solution
```
### Example 2: "Add HTTP client wrapper"
@@ -144,8 +150,8 @@ Result: Zero custom code, battle-tested solution
Need: Resilient HTTP client with retries and timeout handling
Search: npm "http client retry", PyPI "httpx retry"
Found: got (Node) with retry plugin, httpx (Python) with built-in retry
Action: ADOPT — use got/httpx directly with retry config
Result: Zero custom code, production-proven libraries
Action: ADOPT — recommend `got`/`httpx` directly with retry config and ask before changing dependencies
Result: Zero custom code if approved, production-proven libraries
```
### Example 3: "Add config file linter"
@@ -153,8 +159,8 @@ Result: Zero custom code, production-proven libraries
Need: Validate project config files against a schema
Search: npm "config linter schema", "json schema validator cli"
Found: ajv-cli (score: 8/10)
Action: ADOPT + EXTEND — install ajv-cli, write project-specific schema
Result: 1 package + 1 schema file, no custom validation logic
Action: ADOPT + EXTEND — recommend `ajv-cli` plus a project-specific schema, then wait for approval before install/write
Result: 1 package + 1 schema file if approved, no custom validation logic
```
## Anti-Patterns

2
.opencode/.npmignore Normal file
View File

@@ -0,0 +1,2 @@
node_modules
bun.lock

View File

@@ -1,12 +1,12 @@
{
"name": "ecc-universal",
"version": "1.10.0",
"version": "2.0.0-rc.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "ecc-universal",
"version": "1.10.0",
"version": "2.0.0-rc.1",
"license": "MIT",
"devDependencies": {
"@opencode-ai/plugin": "^1.4.3",

View File

@@ -1,6 +1,6 @@
{
"name": "ecc-universal",
"version": "1.10.0",
"version": "2.0.0-rc.1",
"description": "Everything Claude Code (ECC) plugin for OpenCode - agents, commands, hooks, and skills",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -43,6 +43,14 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
return path.join(worktreePath, p)
}
function hasProjectFile(relativePath: string): boolean {
try {
return fs.existsSync(resolvePath(relativePath))
} catch {
return false
}
}
const pendingToolChanges = new Map<string, { path: string; type: "added" | "modified" }>()
let writeCounter = 0
@@ -275,13 +283,8 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
log("info", `[ECC] Session started - profile=${currentProfile}`)
// Check for project-specific context files
try {
const hasClaudeMd = await $`test -f ${worktree}/CLAUDE.md && echo "yes"`.text()
if (hasClaudeMd.trim() === "yes") {
log("info", "[ECC] Found CLAUDE.md - loading project context")
}
} catch {
// No CLAUDE.md found
if (hasProjectFile("CLAUDE.md")) {
log("info", "[ECC] Found CLAUDE.md - loading project context")
}
},
@@ -400,7 +403,7 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
ECC_PLUGIN: "true",
ECC_HOOK_PROFILE: currentProfile,
ECC_DISABLED_HOOKS: process.env.ECC_DISABLED_HOOKS || "",
PROJECT_ROOT: worktree || directory,
PROJECT_ROOT: worktreePath,
}
// Detect package manager
@@ -411,12 +414,9 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
"package-lock.json": "npm",
}
for (const [lockfile, pm] of Object.entries(lockfiles)) {
try {
await $`test -f ${worktree}/${lockfile}`
if (hasProjectFile(lockfile)) {
env.PACKAGE_MANAGER = pm
break
} catch {
// Not found, try next
}
}
@@ -430,11 +430,8 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
}
const detected: string[] = []
for (const [file, lang] of Object.entries(langDetectors)) {
try {
await $`test -f ${worktree}/${file}`
if (hasProjectFile(file)) {
detected.push(lang)
} catch {
// Not found
}
}
if (detected.length > 0) {
@@ -456,7 +453,7 @@ export const ECCHooksPlugin: ECCHooksPluginFn = async ({
const contextBlock = [
"# ECC Context (preserve across compaction)",
"",
"## Active Plugin: Everything Claude Code v1.10.0",
"## Active Plugin: Everything Claude Code v2.0.0-rc.1",
"- Hooks: file.edited, tool.execute.before/after, session.created/idle/deleted, shell.env, compacting, permission.ask",
"- Tools: run-tests, check-coverage, security-audit, format-code, lint-check, git-summary, changed-files",
"- Agents: 13 specialized (planner, architect, tdd-guide, code-reviewer, security-reviewer, build-error-resolver, e2e-runner, refactor-cleaner, doc-updater, go-reviewer, go-build-resolver, database-reviewer, python-reviewer)",

View File

@@ -1,8 +1,8 @@
# Everything Claude Code (ECC) — Agent Instructions
This is a **production-ready AI coding plugin** providing 48 specialized agents, 183 skills, 79 commands, and automated hook workflows for software development.
This is a **production-ready AI coding plugin** providing 48 specialized agents, 182 skills, 68 commands, and automated hook workflows for software development.
**Version:** 1.10.0
**Version:** 2.0.0-rc.1
## Core Principles
@@ -146,8 +146,8 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
```
agents/ — 48 specialized subagents
skills/ — 183 workflow skills and domain knowledge
commands/ — 79 slash commands
skills/ — 182 workflow skills and domain knowledge
commands/ — 68 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)
scripts/ — Cross-platform Node.js utilities

View File

@@ -1,5 +1,25 @@
# Changelog
## 2.0.0-rc.1 - 2026-04-28
### Highlights
- Adds the public ECC 2.0 release-candidate surface for the Hermes operator story.
- Documents ECC as the reusable cross-harness substrate across Claude Code, Codex, Cursor, OpenCode, and Gemini.
- Adds a sanitized Hermes import skill surface instead of publishing private operator state.
### Release Surface
- Updated package, plugin, marketplace, OpenCode, agent, and README metadata to `2.0.0-rc.1`.
- Added `docs/releases/2.0.0-rc.1/` with release notes, social drafts, launch checklist, handoff notes, and demo prompts.
- Added `docs/architecture/cross-harness.md` and regression coverage for the ECC/Hermes boundary.
- Kept `ecc2/` versioning independent for now; it remains an alpha control-plane scaffold unless release engineering decides otherwise.
### Notes
- This is a release candidate, not a GA claim for the full ECC 2.0 control-plane roadmap.
- Prerelease npm publishing should use the `next` dist-tag unless release engineering explicitly chooses otherwise.
## 1.10.0 - 2026-04-05
### Highlights

286
README.md
View File

@@ -40,6 +40,8 @@ Not just configs. A complete system: skills, instincts, memory optimization, con
Works across **Claude Code**, **Codex**, **Cursor**, **OpenCode**, **Gemini**, and other AI agent harnesses.
ECC v2.0.0-rc.1 adds the public Hermes operator story on top of that reusable layer: start with the [Hermes setup guide](docs/HERMES-SETUP.md), then review the [rc.1 release notes](docs/releases/2.0.0-rc.1/release-notes.md) and [cross-harness architecture](docs/architecture/cross-harness.md).
---
## The Guides
@@ -84,10 +86,10 @@ 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)
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
- **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar.
- **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.
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 48 agents, 182 skills, and 68 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.
@@ -167,7 +169,55 @@ See the full changelog in [Releases](https://github.com/affaan-m/everything-clau
Get up and running in under 2 minutes:
### Step 1: Install the Plugin
### Pick one path only
Most Claude Code users should use exactly one install path:
- **Recommended default:** install the Claude Code plugin, then copy only the rule folders you actually want.
- **Use the manual installer only if** you want finer-grained control, want to avoid the plugin path entirely, or your Claude Code build has trouble resolving the self-hosted marketplace entry.
- **Do not stack install methods.** The most common broken setup is: `/plugin install` first, then `install.sh --profile full` or `npx ecc-install --profile full` afterward.
If you already layered multiple installs and things look duplicated, skip straight to [Reset / Uninstall ECC](#reset--uninstall-ecc).
### Low-context / no-hooks path
If hooks feel too global or you only want ECC's rules, agents, commands, and core workflow skills, skip the plugin and use the minimal manual profile:
```bash
./install.sh --profile minimal --target claude
```
```powershell
.\install.ps1 --profile minimal --target claude
# or
npx ecc-install --profile minimal --target claude
```
This profile intentionally excludes `hooks-runtime`.
If you want the normal core profile but need hooks off, use:
```bash
./install.sh --profile core --without baseline:hooks --target claude
```
Add hooks later only if you want runtime enforcement:
```bash
./install.sh --target claude --modules hooks-runtime
```
### Find the right components first
If you are not sure which ECC profile or component to install, ask the packaged advisor from any project:
```bash
npx ecc consult "security reviews" --target claude
```
It returns matching components, related profiles, and preview/install commands. Use the preview command before installing if you want to inspect the exact file plan.
### Step 1: Install the Plugin (Recommended)
> 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.
@@ -195,9 +245,11 @@ This is intentional. Anthropic marketplace/plugin installs are keyed by a canoni
>
> If you already installed ECC via `/plugin install`, **do not run `./install.sh --profile full`, `.\install.ps1 --profile full`, or `npx ecc-install --profile full` afterward**. The plugin already loads ECC skills, commands, and hooks. Running the full installer after a plugin install copies those same surfaces into your user directories and can create duplicate skills plus duplicate runtime behavior.
>
> For plugin installs, manually copy only the `rules/` directories you want. Use the full installer only when you are doing a fully manual ECC install instead of the plugin path.
> For plugin installs, manually copy only the `rules/` directories you want under `~/.claude/rules/ecc/`. Start with `rules/common` plus one language or framework pack you actually use. Do not copy every rules directory unless you explicitly want all of that context in Claude.
>
> If your local Claude setup was wiped or reset, that does not mean you need to repurchase ECC. Start with `ecc list-installed`, then run `ecc doctor` and `ecc repair` before reinstalling anything. That usually restores ECC-managed files without rebuilding your setup. If the problem is account or marketplace access for ECC Tools, handle billing/account recovery separately.
> Use the full installer only when you are doing a fully manual ECC install instead of the plugin path.
>
> If your local Claude setup was wiped or reset, that does not mean you need to repurchase ECC. Start with `node scripts/ecc.js list-installed`, then run `node scripts/ecc.js doctor` and `node scripts/ecc.js repair` before reinstalling anything. That usually restores ECC-managed files without rebuilding your setup. If the problem is account or marketplace access for ECC Tools, handle billing/account recovery separately.
```bash
# Clone the repo first
@@ -207,10 +259,10 @@ cd everything-claude-code
# Install dependencies (pick your package manager)
npm install # or: pnpm install | yarn install | bun install
# Plugin install path: copy only rules
mkdir -p ~/.claude/rules
cp -R rules/common ~/.claude/rules/
cp -R rules/typescript ~/.claude/rules/
# Plugin install path: copy only ECC rules into an ECC-owned namespace
mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/
# Fully manual ECC install path (use this instead of /plugin install)
# ./install.sh --profile full
@@ -219,10 +271,10 @@ cp -R rules/typescript ~/.claude/rules/
```powershell
# Windows PowerShell
# Plugin install path: copy only rules
New-Item -ItemType Directory -Force -Path "$HOME/.claude/rules" | Out-Null
Copy-Item -Recurse rules/common "$HOME/.claude/rules/"
Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
# Plugin install path: copy only ECC rules into an ECC-owned namespace
New-Item -ItemType Directory -Force -Path "$HOME/.claude/rules/ecc" | Out-Null
Copy-Item -Recurse rules/common "$HOME/.claude/rules/ecc/"
Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/ecc/"
# Fully manual ECC install path (use this instead of /plugin install)
# .\install.ps1 --profile full
@@ -231,14 +283,65 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
For manual install instructions see the README in the `rules/` folder. When copying rules manually, copy the whole language directory (for example `rules/common` or `rules/golang`), not the files inside it, so relative references keep working and filenames do not collide.
### Fully manual install (Fallback)
Use this only if you are intentionally skipping the plugin path:
```bash
./install.sh --profile full
```
```powershell
.\install.ps1 --profile full
# or
npx ecc-install --profile full
```
If you choose this path, stop there. Do not also run `/plugin install`.
### Reset / Uninstall ECC
If ECC feels duplicated, intrusive, or broken, do not keep reinstalling it on top of itself.
- **Plugin path:** remove the plugin from Claude Code, then delete the specific rule folders you manually copied under `~/.claude/rules/ecc/`.
- **Manual installer / CLI path:** from the repo root, preview removal first:
```bash
node scripts/uninstall.js --dry-run
```
Then remove ECC-managed files:
```bash
node scripts/uninstall.js
```
You can also use the lifecycle wrapper:
```bash
node scripts/ecc.js list-installed
node scripts/ecc.js doctor
node scripts/ecc.js repair
node scripts/ecc.js uninstall --dry-run
```
ECC only removes files recorded in its install-state. It will not delete unrelated files it did not install.
If you stacked methods, clean up in this order:
1. Remove the Claude Code plugin install.
2. Run the ECC uninstall command from the repo root to remove install-state-managed files.
3. Delete any extra rule folders you copied manually and no longer want.
4. Reinstall once, using a single path.
### Step 3: Start Using
```bash
# Skills are the primary workflow surface.
# Existing slash-style command names still work while ECC migrates off commands/.
# Plugin install uses the namespaced form
/ecc:plan "Add user authentication"
# Plugin install uses the canonical namespaced form
/everything-claude-code:plan "Add user authentication"
# Manual install keeps the shorter slash form:
# /plan "Add user authentication"
@@ -247,7 +350,7 @@ For manual install instructions see the README in the `rules/` folder. When copy
/plugin list everything-claude-code@everything-claude-code
```
**That's it!** You now have access to 48 agents, 183 skills, and 79 legacy command shims.
**That's it!** You now have access to 48 agents, 182 skills, and 68 legacy command shims.
### Dashboard GUI
@@ -325,6 +428,12 @@ export ECC_HOOK_PROFILE=standard
# Comma-separated hook IDs to disable
export ECC_DISABLED_HOOKS="pre:bash:tmux-reminder,post:edit:typecheck"
# Cap SessionStart additional context (default: 8000 chars)
export ECC_SESSION_START_MAX_CHARS=4000
# Disable SessionStart additional context entirely for low-context/local-model setups
export ECC_SESSION_START_CONTEXT=off
```
---
@@ -434,17 +543,15 @@ everything-claude-code/
| |-- autonomous-loops/ # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration (NEW)
| |-- plankton-code-quality/ # Write-time code quality enforcement with Plankton hooks (NEW)
|
|-- commands/ # Legacy slash-entry shims; prefer skills/
| |-- tdd.md # /tdd - Test-driven development
|-- commands/ # Maintained slash-entry compatibility; prefer skills/
| |-- plan.md # /plan - Implementation planning
| |-- e2e.md # /e2e - E2E test generation
| |-- code-review.md # /code-review - Quality review
| |-- build-fix.md # /build-fix - Fix build errors
| |-- refactor-clean.md # /refactor-clean - Dead code removal
| |-- quality-gate.md # /quality-gate - Verification gate
| |-- learn.md # /learn - Extract patterns mid-session (Longform Guide)
| |-- learn-eval.md # /learn-eval - Extract, evaluate, and save patterns (NEW)
| |-- checkpoint.md # /checkpoint - Save verification state (Longform Guide)
| |-- verify.md # /verify - Run verification loop (Longform Guide)
| |-- setup-pm.md # /setup-pm - Configure package manager
| |-- go-review.md # /go-review - Go code review (NEW)
| |-- go-test.md # /go-test - Go TDD workflow (NEW)
@@ -461,15 +568,19 @@ everything-claude-code/
| |-- multi-backend.md # /multi-backend - Backend multi-service orchestration (NEW)
| |-- multi-frontend.md # /multi-frontend - Frontend multi-service orchestration (NEW)
| |-- multi-workflow.md # /multi-workflow - General multi-service workflows (NEW)
| |-- orchestrate.md # /orchestrate - Multi-agent coordination
| |-- sessions.md # /sessions - Session history management
| |-- eval.md # /eval - Evaluate against criteria
| |-- test-coverage.md # /test-coverage - Test coverage analysis
| |-- update-docs.md # /update-docs - Update documentation
| |-- update-codemaps.md # /update-codemaps - Update codemaps
| |-- python-review.md # /python-review - Python code review (NEW)
|-- legacy-command-shims/ # Opt-in archive for retired shims such as /tdd and /eval
| |-- tdd.md # /tdd - Prefer the tdd-workflow skill
| |-- e2e.md # /e2e - Prefer the e2e-testing skill
| |-- eval.md # /eval - Prefer the eval-harness skill
| |-- verify.md # /verify - Prefer the verification-loop skill
| |-- orchestrate.md # /orchestrate - Prefer dmux-workflows or multi-workflow
|
|-- rules/ # Always-follow guidelines (copy to ~/.claude/rules/)
|-- rules/ # Always-follow guidelines (copy to ~/.claude/rules/ecc/)
| |-- README.md # Structure overview and installation guide
| |-- common/ # Language-agnostic principles
| | |-- coding-style.md # Immutability, file organization
@@ -686,17 +797,17 @@ This gives you instant access to all commands, agents, skills, and hooks.
> git clone https://github.com/affaan-m/everything-claude-code.git
>
> # Option A: User-level rules (applies to all projects)
> mkdir -p ~/.claude/rules
> cp -r everything-claude-code/rules/common ~/.claude/rules/
> cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # pick your stack
> cp -r everything-claude-code/rules/python ~/.claude/rules/
> cp -r everything-claude-code/rules/golang ~/.claude/rules/
> cp -r everything-claude-code/rules/php ~/.claude/rules/
> mkdir -p ~/.claude/rules/ecc
> cp -r everything-claude-code/rules/common ~/.claude/rules/ecc/
> cp -r everything-claude-code/rules/typescript ~/.claude/rules/ecc/ # pick your stack
> cp -r everything-claude-code/rules/python ~/.claude/rules/ecc/
> cp -r everything-claude-code/rules/golang ~/.claude/rules/ecc/
> cp -r everything-claude-code/rules/php ~/.claude/rules/ecc/
>
> # Option B: Project-level rules (applies to current project only)
> mkdir -p .claude/rules
> cp -r everything-claude-code/rules/common .claude/rules/
> cp -r everything-claude-code/rules/typescript .claude/rules/ # pick your stack
> mkdir -p .claude/rules/ecc
> cp -r everything-claude-code/rules/common .claude/rules/ecc/
> cp -r everything-claude-code/rules/typescript .claude/rules/ecc/ # pick your stack
> ```
---
@@ -713,26 +824,30 @@ git clone https://github.com/affaan-m/everything-claude-code.git
cp everything-claude-code/agents/*.md ~/.claude/agents/
# Copy rules directories (common + language-specific)
mkdir -p ~/.claude/rules
cp -r everything-claude-code/rules/common ~/.claude/rules/
cp -r everything-claude-code/rules/typescript ~/.claude/rules/ # pick your stack
cp -r everything-claude-code/rules/python ~/.claude/rules/
cp -r everything-claude-code/rules/golang ~/.claude/rules/
cp -r everything-claude-code/rules/php ~/.claude/rules/
mkdir -p ~/.claude/rules/ecc
cp -r everything-claude-code/rules/common ~/.claude/rules/ecc/
cp -r everything-claude-code/rules/typescript ~/.claude/rules/ecc/ # pick your stack
cp -r everything-claude-code/rules/python ~/.claude/rules/ecc/
cp -r everything-claude-code/rules/golang ~/.claude/rules/ecc/
cp -r everything-claude-code/rules/php ~/.claude/rules/ecc/
# Copy skills first (primary workflow surface)
# Recommended (new users): core/general skills only
cp -r everything-claude-code/.agents/skills/* ~/.claude/skills/
cp -r everything-claude-code/skills/search-first ~/.claude/skills/
mkdir -p ~/.claude/skills/ecc
cp -r everything-claude-code/.agents/skills/* ~/.claude/skills/ecc/
cp -r everything-claude-code/skills/search-first ~/.claude/skills/ecc/
# Optional: add niche/framework-specific skills only when needed
# for s in django-patterns django-tdd laravel-patterns springboot-patterns; do
# cp -r everything-claude-code/skills/$s ~/.claude/skills/
# cp -r everything-claude-code/skills/$s ~/.claude/skills/ecc/
# done
# Optional: keep legacy slash-command compatibility during migration
# Optional: keep maintained slash-command compatibility during migration
mkdir -p ~/.claude/commands
cp everything-claude-code/commands/*.md ~/.claude/commands/
# Retired shims live in legacy-command-shims/commands/.
# Copy individual files from there only if you still need old names such as /tdd.
```
#### Install hooks
@@ -759,7 +874,11 @@ Windows note: the Claude config directory is `%USERPROFILE%\\.claude`, not `~/cl
#### Configure MCPs
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.
Claude plugin installs intentionally do not auto-enable ECC's bundled MCP server definitions. This avoids overlong plugin MCP tool names on strict third-party gateways while keeping manual MCP setup available.
Use Claude Code's `/mcp` command or CLI-managed MCP setup for live Claude Code server changes. Use `/mcp` for Claude Code runtime disables; Claude Code persists those choices in `~/.claude.json`.
For repo-local MCP access, copy desired MCP server definitions from `mcp-configs/mcp-servers.json` into a project-scoped `.mcp.json`.
If you already run your own copies of ECC-bundled MCPs, set:
@@ -767,7 +886,7 @@ If you already run your own copies of ECC-bundled MCPs, set:
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.
ECC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates. `ECC_DISABLED_MCPS` is an ECC install/sync filter, not a live Claude Code toggle.
**Important:** Replace `YOUR_*_HERE` placeholders with your actual API keys.
@@ -792,7 +911,7 @@ You are a senior code reviewer...
### Skills
Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. ECC still ships `commands/` during migration, but new workflow development should land in `skills/` first.
Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. ECC still ships maintained `commands/` during migration, while retired short-name shims live under `legacy-command-shims/` for explicit opt-in only. New workflow development should land in `skills/` first.
```markdown
# TDD Workflow
@@ -838,16 +957,16 @@ See [`rules/README.md`](rules/README.md) for installation and structure details.
## Which Agent Should I Use?
Not sure where to start? Use this quick reference. Skills are the canonical workflow surface; slash entries below are the compatibility form most users already know.
Not sure where to start? Use this quick reference. Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.
| I want to... | Use this command | Agent used |
| I want to... | Use this surface | Agent used |
|--------------|-----------------|------------|
| 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 |
| Plan a new feature | `/everything-claude-code:plan "Add auth"` | planner |
| Design system architecture | `/everything-claude-code:plan` + architect agent | architect |
| Write code with tests first | `tdd-workflow` skill | tdd-guide |
| Review code I just wrote | `/code-review` | code-reviewer |
| Fix a failing build | `/build-fix` | build-error-resolver |
| Run end-to-end tests | `/e2e` | e2e-runner |
| Run end-to-end tests | `e2e-testing` skill | e2e-runner |
| Find security vulnerabilities | `/security-scan` | security-reviewer |
| Remove dead code | `/refactor-clean` | refactor-cleaner |
| Update documentation | `/update-docs` | doc-updater |
@@ -858,19 +977,19 @@ Not sure where to start? Use this quick reference. Skills are the canonical work
### Common Workflows
Slash forms below are shown because they are still the fastest familiar entrypoint. Under the hood, ECC is shifting these workflows toward skills-first definitions.
Slash forms below are shown where they remain part of the maintained command surface. Retired short-name shims such as `/tdd` and `/eval` live in `legacy-command-shims/` for explicit opt-in only.
**Starting a new feature:**
```
/ecc:plan "Add user authentication with OAuth"
/everything-claude-code:plan "Add user authentication with OAuth"
→ planner creates implementation blueprint
/tdd → tdd-guide enforces write-tests-first
tdd-workflow skill → tdd-guide enforces write-tests-first
/code-review → code-reviewer checks your work
```
**Fixing a bug:**
```
/tdd → tdd-guide: write a failing test that reproduces it
tdd-workflow skill → tdd-guide: write a failing test that reproduces it
→ implement the fix, verify test passes
/code-review → code-reviewer: catch regressions
```
@@ -878,7 +997,7 @@ Slash forms below are shown because they are still the fastest familiar entrypoi
**Preparing for production:**
```
/security-scan → security-reviewer: OWASP Top 10 audit
/e2e → e2e-runner: critical user flow tests
e2e-testing skill → e2e-runner: critical user flow tests
/test-coverage → verify 80%+ coverage
```
@@ -930,15 +1049,9 @@ Official references:
<details>
<summary><b>My context window is shrinking / Claude is running out of context</b></summary>
Too many MCP servers eat your context. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.
Too many MCP servers eat your context. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k. SessionStart context is capped at 8000 characters by default; lower it with `ECC_SESSION_START_MAX_CHARS=4000` or disable it with `ECC_SESSION_START_CONTEXT=off` for local-model or low-context setups.
**Fix:** Disable unused MCPs per project:
```json
// In your project's .claude/settings.json
{
"disabledMcpServers": ["supabase", "railway", "vercel"]
}
```
**Fix:** Disable unused MCPs from Claude Code with `/mcp`. Claude Code writes those runtime choices to `~/.claude.json`; `.claude/settings.json` and `.claude/settings.local.json` are not reliable toggles for already-loaded MCP servers.
Keep under 10 MCPs enabled and under 80 tools active.
</details>
@@ -953,8 +1066,8 @@ Yes. Use Option 2 (manual installation) and copy only what you need:
cp everything-claude-code/agents/*.md ~/.claude/agents/
# Just rules
mkdir -p ~/.claude/rules/
cp -r everything-claude-code/rules/common ~/.claude/rules/
mkdir -p ~/.claude/rules/ecc/
cp -r everything-claude-code/rules/common ~/.claude/rules/ecc/
```
Each component is fully independent.
@@ -1033,7 +1146,7 @@ These are not bundled with ECC and are not audited by this repo, but they are wo
## Cursor IDE Support
ECC provides **full Cursor IDE support** with hooks, rules, agents, skills, commands, and MCP configs adapted for Cursor's native format.
ECC provides Cursor IDE support with hooks, rules, agents, skills, commands, and MCP configs adapted for Cursor's project layout.
### Quick Start (Cursor)
@@ -1056,11 +1169,17 @@ ECC provides **full Cursor IDE support** with hooks, rules, agents, skills, comm
| Hook Events | 15 | sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt, and 10 more |
| Hook Scripts | 16 | Thin Node.js scripts delegating to `scripts/hooks/` via shared adapter |
| Rules | 34 | 9 common (alwaysApply) + 25 language-specific (TypeScript, Python, Go, Swift, PHP) |
| Agents | Shared | Via AGENTS.md at root (read by Cursor natively) |
| Skills | Shared + Bundled | Via AGENTS.md at root and `.cursor/skills/` for translated additions |
| Agents | 48 | `.cursor/agents/ecc-*.md` when installed; prefixed to avoid collisions with user or marketplace agents |
| Skills | Shared + Bundled | `.cursor/skills/` for translated additions |
| Commands | Shared | `.cursor/commands/` if installed |
| MCP Config | Shared | `.cursor/mcp.json` if installed |
### Cursor Loading Notes
ECC does not install root `AGENTS.md` into `.cursor/`. Cursor treats nested `AGENTS.md` files as directory context, so copying ECC's repo identity into a host project would pollute that project.
Cursor-native loading behavior can vary by Cursor build. ECC installs agents as `.cursor/agents/ecc-*.md`; if your Cursor build does not expose project agents, those files still work as explicit reference definitions instead of hidden global prompt context.
### Hook Architecture (DRY Adapter Pattern)
Cursor has **more hook events than Claude Code** (20 vs 8). The `.cursor/hooks/adapter.js` module transforms Cursor's stdin JSON to Claude Code's format, allowing existing `scripts/hooks/*.js` to be reused without duplication.
@@ -1128,7 +1247,7 @@ 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 | 30 | `.agents/skills/` — SKILL.md + agents/openai.yaml per skill |
| Skills | 32 | `.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 |
@@ -1137,14 +1256,17 @@ Codex macOS app:
Skills at `.agents/skills/` are auto-loaded by Codex:
Canonical Anthropic skills such as `claude-api`, `frontend-design`, and `skill-creator` are intentionally not re-bundled here. Install those from [`anthropics/skills`](https://github.com/anthropics/skills) when you want the official versions.
| Skill | Description |
|-------|-------------|
| agent-introspection-debugging | Debug agent behavior, routing, and prompt boundaries |
| agent-sort | Sort agent catalogs and assignment surfaces |
| api-design | REST API design patterns |
| article-writing | Long-form writing from notes and voice references |
| 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 |
@@ -1163,6 +1285,7 @@ Skills at `.agents/skills/` are auto-loaded by Codex:
| 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 |
| product-capability | Translate product goals into scoped capability maps |
| security-review | Comprehensive security checklist |
| strategic-compact | Context management |
| tdd-workflow | Test-driven development with 80%+ coverage |
@@ -1214,8 +1337,8 @@ The configuration is automatically detected from `.opencode/opencode.json`.
| Feature | Claude Code | OpenCode | Status |
|---------|-------------|----------|--------|
| Agents | PASS: 48 agents | PASS: 12 agents | **Claude Code leads** |
| Commands | PASS: 79 commands | PASS: 31 commands | **Claude Code leads** |
| Skills | PASS: 183 skills | PASS: 37 skills | **Claude Code leads** |
| Commands | PASS: 68 commands | PASS: 31 commands | **Claude Code leads** |
| Skills | PASS: 182 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** |
@@ -1235,21 +1358,17 @@ OpenCode's plugin system is MORE sophisticated than Claude Code with 20+ event t
**Additional OpenCode events**: `file.edited`, `file.watcher.updated`, `message.updated`, `lsp.client.diagnostics`, `tui.toast.show`, and more.
### Available Slash Entry Shims (31+)
### Maintained Slash Entries
| Command | Description |
|---------|-------------|
| `/plan` | Create implementation plan |
| `/tdd` | Enforce TDD workflow |
| `/code-review` | Review code changes |
| `/build-fix` | Fix build errors |
| `/e2e` | Generate E2E tests |
| `/refactor-clean` | Remove dead code |
| `/orchestrate` | Multi-agent workflow |
| `/learn` | Extract patterns from session |
| `/checkpoint` | Save verification state |
| `/verify` | Run verification loop |
| `/eval` | Evaluate against criteria |
| `/quality-gate` | Run the maintained verification gate |
| `/update-docs` | Update documentation |
| `/update-codemaps` | Update codemaps |
| `/test-coverage` | Analyze coverage |
@@ -1323,8 +1442,8 @@ 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** | 48 | Shared (AGENTS.md) | Shared (AGENTS.md) | 12 |
| **Commands** | 79 | Shared | Instruction-based | 31 |
| **Skills** | 183 | Shared | 10 (native format) | 37 |
| **Commands** | 68 | Shared | Instruction-based | 31 |
| **Skills** | 182 | 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 |
@@ -1334,7 +1453,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.10.0 |
| **Version** | Plugin | Plugin | Reference config | 2.0.0-rc.1 |
**Key architectural decisions:**
- **AGENTS.md** at root is the universal cross-tool file (read by all 4 tools)
@@ -1410,7 +1529,8 @@ The `strategic-compact` skill (included in this plugin) suggests `/compact` at l
- Keep under 10 MCPs enabled per project
- Keep under 80 tools active
- Use `disabledMcpServers` in project config to disable unused ones
- Use `/mcp` to disable unused Claude Code MCP servers; those runtime choices persist in `~/.claude.json`
- Use `ECC_DISABLED_MCPS` only to filter ECC-generated MCP configs during install/sync flows
### Agent Teams Cost Warning

View File

@@ -80,7 +80,7 @@
## 最新动态
### v1.10.0 — 表面同步、运营工作流与 ECC 2.0 Alpha2026年4月
### v2.0.0-rc.1 — 表面同步、运营工作流与 ECC 2.0 Alpha2026年4月
- **公共表面已与真实仓库同步** —— 元数据、目录数量、插件清单以及安装文档现在都与实际开源表面保持一致。
- **运营与外向型工作流扩展** —— `brand-voice``social-graph-ranker``customer-billing-ops``google-workspace-ops` 等运营型 skill 已纳入同一系统。
@@ -151,7 +151,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
```bash
# 尝试一个命令(插件安装使用命名空间形式)
/ecc:plan "添加用户认证"
/everything-claude-code:plan "添加用户认证"
# 手动安装选项2使用简短形式
# /plan "添加用户认证"
@@ -160,7 +160,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
/plugin list everything-claude-code@everything-claude-code
```
**完成!** 你现在可以使用 48 个代理、183 个技能和 79 个命令。
**完成!** 你现在可以使用 48 个代理、182 个技能和 68 个命令。
### multi-* 命令需要额外配置
@@ -330,17 +330,15 @@ everything-claude-code/
| |-- autonomous-loops/ # 自主循环模式顺序流水线、PR 循环、DAG 编排(新增)
| |-- plankton-code-quality/ # 基于 Plankton 钩子的实时代码质量管控(新增)
|
|-- commands/ # 传统斜杠命令兼容层;优先使用 skills/
| |-- tdd.md # /tdd - 测试驱动开发
|-- commands/ # 维护中的斜杠命令兼容层;优先使用 skills/
| |-- plan.md # /plan - 实现规划
| |-- e2e.md # /e2e - 生成端到端测试
| |-- code-review.md # /code-review - 代码质量审查
| |-- build-fix.md # /build-fix - 修复构建错误
| |-- quality-gate.md # /quality-gate - 验证门禁
| |-- 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 工作流(新增)
@@ -357,13 +355,17 @@ everything-claude-code/
| |-- 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 代码审查(新增)
|-- legacy-command-shims/ # 已退役短命令的按需归档,例如 /tdd 和 /eval
| |-- tdd.md # /tdd - 优先使用 tdd-workflow 技能
| |-- e2e.md # /e2e - 优先使用 e2e-testing 技能
| |-- eval.md # /eval - 优先使用 eval-harness 技能
| |-- verify.md # /verify - 优先使用 verification-loop 技能
| |-- orchestrate.md # /orchestrate - 优先使用 dmux-workflows 或 multi-workflow
|
|-- rules/ # 必须遵守的规范(复制到 ~/.claude/rules/
| |-- README.md # 结构概览与安装指南
@@ -618,9 +620,12 @@ cp -r everything-claude-code/skills/search-first ~/.claude/skills/
# cp -r everything-claude-code/skills/$s ~/.claude/skills/
# done
# 可选:迁移期间保留传统斜杠命令兼容
# 可选:迁移期间保留维护中的斜杠命令兼容
mkdir -p ~/.claude/commands
cp everything-claude-code/commands/*.md ~/.claude/commands/
# 已退役短命令位于 legacy-command-shims/commands/。
# 仅在仍需要 /tdd 等旧名称时,单独复制对应文件。
```
#### 将钩子配置添加到 settings.json

View File

@@ -1 +1 @@
1.10.0
2.0.0-rc.1

View File

@@ -1,6 +1,6 @@
spec_version: "0.1.0"
name: everything-claude-code
version: 1.10.0
version: 2.0.0-rc.1
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
@@ -28,7 +28,6 @@ skills:
- canary-watch
- carrier-relationship-management
- ck
- claude-api
- claude-devfleet
- click-path-audit
- clickhouse-io
@@ -144,20 +143,14 @@ skills:
- visa-doc-translate
- x-api
commands:
- agent-sort
- aside
- auto-update
- build-fix
- checkpoint
- claw
- code-review
- context-budget
- cpp-build
- cpp-review
- cpp-test
- devfleet
- docs
- e2e
- eval
- evolve
- feature-dev
- flutter-build
@@ -191,12 +184,10 @@ commands:
- multi-frontend
- multi-plan
- multi-workflow
- orchestrate
- plan
- pm2
- projects
- promote
- prompt-optimize
- prp-commit
- prp-implement
- prp-plan
@@ -208,7 +199,6 @@ commands:
- refactor-clean
- resume-session
- review-pr
- rules-distill
- rust-build
- rust-review
- rust-test
@@ -218,11 +208,9 @@ commands:
- setup-pm
- skill-create
- skill-health
- tdd
- test-coverage
- update-codemaps
- update-docs
- verify
tags:
- agent-harness
- developer-tools

28
commands/auto-update.md Normal file
View File

@@ -0,0 +1,28 @@
---
description: Pull the latest ECC repo changes and reinstall the current managed targets.
disable-model-invocation: true
---
# Auto Update
Update ECC from its upstream repo and regenerate the current context's managed install using the original install-state request.
## Usage
```bash
# Preview the update without mutating anything
ECC_ROOT="${CLAUDE_PLUGIN_ROOT:-$(node -e "var r=(()=>{var e=process.env.CLAUDE_PLUGIN_ROOT;if(e&&e.trim())return e.trim();var p=require('path'),f=require('fs'),h=require('os').homedir(),d=p.join(h,'.claude'),q=p.join('scripts','lib','utils.js');if(f.existsSync(p.join(d,q)))return d;for(var s of [['ecc'],['ecc@ecc'],['marketplace','ecc'],['everything-claude-code'],['everything-claude-code@everything-claude-code'],['marketplace','everything-claude-code']]){var l=p.join(d,'plugins',...s);if(f.existsSync(p.join(l,q)))return l}try{for(var g of ['ecc','everything-claude-code']){var b=p.join(d,'plugins','cache',g);for(var o of f.readdirSync(b,{withFileTypes:true})){if(!o.isDirectory())continue;for(var v of f.readdirSync(p.join(b,o.name),{withFileTypes:true})){if(!v.isDirectory())continue;var c=p.join(b,o.name,v.name);if(f.existsSync(p.join(c,q)))return c}}}}catch(x){}return d})();console.log(r)")}"
node "$ECC_ROOT/scripts/auto-update.js" --dry-run
# Update only Cursor-managed files in the current project
node "$ECC_ROOT/scripts/auto-update.js" --target cursor
# Override the ECC repo root explicitly
node "$ECC_ROOT/scripts/auto-update.js" --repo-root /path/to/everything-claude-code
```
## Notes
- This command uses the recorded install-state request and reruns `install-apply.js` after pulling the latest repo changes.
- Reinstall is intentional: it handles upstream renames and deletions that `repair.js` cannot safely reconstruct from stale operations alone.
- Use `--dry-run` first if you want to see the reconstructed reinstall plan before mutating anything.

View File

@@ -1,3 +1,7 @@
---
description: Detect the project build system and incrementally fix build/type errors with minimal safe changes.
---
# Build and Fix
Incrementally fix build and type errors with minimal, safe changes.

View File

@@ -1,3 +1,7 @@
---
description: Create, verify, or list workflow checkpoints after running verification checks.
---
# Checkpoint Command
Create or verify a checkpoint in your workflow.

View File

@@ -165,7 +165,7 @@ The agent will stop and report if:
- `/cpp-test` - Run tests after build succeeds
- `/cpp-review` - Review code quality
- `/verify` - Full verification loop
- `verification-loop` skill - Full verification loop
## Related

View File

@@ -243,7 +243,7 @@ genhtml coverage.info --output-directory coverage_html
- `/cpp-build` - Fix build errors
- `/cpp-review` - Review code after implementation
- `/verify` - Run full verification loop
- `verification-loop` skill - Run full verification loop
## Related

View File

@@ -156,7 +156,7 @@ The agent will stop and report if:
- `/flutter-test` — Run tests after build succeeds
- `/flutter-review` — Review code quality
- `/verify` — Full verification loop
- `verification-loop` skill — Full verification loop
## Related

View File

@@ -134,7 +134,7 @@ Test Status: PASS ✓
- `/flutter-build` — Fix build errors before running tests
- `/flutter-review` — Review code after tests pass
- `/tdd` — Test-driven development workflow
- `tdd-workflow` skill — Test-driven development workflow
## Related

View File

@@ -1,3 +1,7 @@
---
description: Run a generator/evaluator build loop for implementation tasks with bounded iterations and scoring.
---
Parse the following from $ARGUMENTS:
1. `brief` — the user's one-line description of what to build
2. `--max-iterations N` — (optional, default 15) maximum generator-evaluator cycles

View File

@@ -1,3 +1,7 @@
---
description: Run a generator/evaluator design loop for frontend or visual work with bounded iterations and scoring.
---
Parse the following from $ARGUMENTS:
1. `brief` — the user's description of the design to create
2. `--max-iterations N` — (optional, default 10) maximum design-evaluate cycles

View File

@@ -175,7 +175,7 @@ The agent will stop and report if:
- `/go-test` - Run tests after build succeeds
- `/go-review` - Review code quality
- `/verify` - Full verification loop
- `verification-loop` skill - Full verification loop
## Related

View File

@@ -260,7 +260,7 @@ go test -race -cover ./...
- `/go-build` - Fix build errors
- `/go-review` - Review code after implementation
- `/verify` - Run full verification loop
- `verification-loop` skill - Run full verification loop
## Related

View File

@@ -1,3 +1,7 @@
---
description: Run a deterministic repository harness audit and return a prioritized scorecard.
---
# Harness Audit Command
Run a deterministic repository harness audit and return a prioritized scorecard.

Some files were not shown because too many files have changed in this diff Show More