Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
{
"name": "ecc",
"source": "./",
"description": "Harness-native ECC operator layer - 68 agents, 286 skills, 94 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses",
"description": "Harness-native ECC operator layer - 68 agents, 286 skills, 95 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses",
"version": "2.2.1",
"author": {
"name": "Affaan Mustafa",
Expand Down
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ecc",
"version": "2.2.1",
"description": "Harness-native ECC plugin for engineering teams - 68 agents, 286 skills, 94 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
"description": "Harness-native ECC plugin for engineering teams - 68 agents, 286 skills, 95 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
"author": {
"name": "Affaan Mustafa",
"url": "https://x.com/affaanmustafa"
Expand Down
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Everything Claude Code (ECC) — Agent Instructions

This is a **production-ready AI coding plugin** providing 68 specialized agents, 286 skills, 94 commands, and automated hook workflows for software development.
This is a **production-ready AI coding plugin** providing 68 specialized agents, 286 skills, 95 commands, and automated hook workflows for software development.

**Version:** 2.2.1

Expand Down Expand Up @@ -155,7 +155,7 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
```
agents/ — 68 specialized subagents
skills/ — 286 workflow skills and domain knowledge
commands/ — 94 slash commands
commands/ — 95 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)
scripts/ — Cross-platform Node.js utilities
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,13 @@ Instead of rebuilding that process in every prompt, you install it once and make

ECC is MIT-licensed open source. It works best with Claude Code today, has a supported Codex sync path, and provides capability-limited adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses. See the [support status matrix](#platform-support) before assuming feature parity.

Access to 68 agents, 286 skills, and 94 legacy command shims, plus hooks, rules, memory, continuous learning, and AgentShield security scanning. The agents are specialized for planning, review, build repair, security, architecture, and domain work.
Access to 68 agents, 286 skills, and 95 legacy command shims, plus hooks, rules, memory, continuous learning, and AgentShield security scanning. The agents are specialized for planning, review, build repair, security, architecture, and domain work.

| Included | Count | What it gives you |
| ---------------- | ----------: | ------------------------------------------------------------------------------------ |
| Agents | 68 agents | Planning, review, build repair, security, architecture, and domain work |
| Skills | 286 skills | TDD, research, security, docs, frontend, data, ML, operations, and more |
| Commands | 94 commands | Convenient entry points while ECC moves to a skills-first surface |
| Commands | 95 commands | Convenient entry points while ECC moves to a skills-first surface |
| Hooks and memory | Runtime | Enforcement, session summaries, continuous learning, instincts, and context controls |
| Rules | Selective | Always-loaded standards you choose by language or project |
| AgentShield | Included | Scanning for prompts, hooks, MCP config, permissions, secrets, and agent files |
Expand Down
2 changes: 1 addition & 1 deletion README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Copy-Item -Recurse rules/typescript "$HOME/.claude/rules/"
/plugin list ecc@ecc
```

**完成!** 你现在可以使用 68 个代理、286 个技能和 94 个命令。
**完成!** 你现在可以使用 68 个代理、286 个技能和 95 个命令。

### multi-* 命令需要额外配置

Expand Down
1 change: 1 addition & 0 deletions agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ commands:
- plan
- plan-canvas
- plan-prd
- plugin-profiles
- pm2
- projects
- promote
Expand Down
78 changes: 78 additions & 0 deletions commands/plugin-profiles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
description: Generate and manage slim ECC profile plugin carriers - list profiles, plan the listing ledger and capability decision, generate a receipted plugin, and activate it per project.
argument-hint: "[list | plan <profile> | generate <profile> | activate <plugin-name>]"
Comment on lines +1 to +3

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Legacy command surface expands

This adds and registers /plugin-profiles as a new primary workflow without a migration or cross-harness compatibility need, expanding the legacy command catalog instead of placing the workflow on the repository's canonical skills-first surface.

File Used: AGENTS.md (source)

Prompt To Fix With AI
This is a comment left during a code review.
Path: commands/plugin-profiles.md
Line: 1-3

Comment:
**Legacy command surface expands**

This adds and registers `/plugin-profiles` as a new primary workflow without a migration or cross-harness compatibility need, expanding the legacy command catalog instead of placing the workflow on the repository's canonical skills-first surface.

**File Used:** `AGENTS.md` ([source](https://github.com/affaan-m/ecc/blob/d4e2007ee22d1dbeb0e661b882823394f2024f52/AGENTS.md))

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

---

# Plugin Profiles Command

Manage slim ECC profile plugin carriers from inside Claude Code. A carrier is
a standalone plugin generated from an install selection: it lists only the
selected skills, agents, and commands, keeps the rest of the skill catalog
reachable on demand inside the plugin, and records how it was built in
`ecc-profile.json`. See `docs/PLUGIN-PROFILES.md` for the underlying tool.

Run every command below from the ECC plugin root (`${CLAUDE_PLUGIN_ROOT}` when
set, otherwise the everything-claude-code checkout).

## Subcommands

### `/plugin-profiles list`

Run `node scripts/plugin-profiles.js list` and show the available install
profiles with their module counts.

### `/plugin-profiles plan <profile>`

Run `node scripts/plugin-profiles.js plan --profile <profile>` and report:

- the context selection (skills, agents, commands) and the token ledger with
its method label and budget verdict;
- the capability selection: whether the hook runtime is off, enabled at a
profile, or still needs a decision.

If the plan says a hook decision is required, ask the user whether to carry
the hook runtime (`--hooks minimal|standard|strict`) or not (`--hooks off`)
before offering to generate. Never choose for them.

### `/plugin-profiles generate <profile>`

1. Run `node scripts/plugin-profiles.js generate --profile <profile> --dry-run`
first and show the target path, whether an existing directory would be
replaced, the ledger, and any blockers.
2. If the dry run lists blockers, resolve them with the user: a hook decision
(`--hooks ...`), an over-budget ledger (`--budget <n>` or
`--allow-over-budget`), or a target that is not an unmodified generated
carrier (`--force`, only with explicit confirmation).
3. Run the real `generate` with the agreed flags and show the generated path,
the receipt digests, and the printed next steps.
4. Offer the activation step below.

Pass through extra flags the user asks for (`--name`, `--out`, `--modules`,
`--with`, `--without`, `--no-catalog`, `--keep-prev`).

### `/plugin-profiles activate <plugin-name>`

Offer to write the per-project opt-in to `.claude/settings.json` in the
current project:

```json
{
"enabledPlugins": {
"ecc@ecc": false,
"<plugin-name>@ecc-profiles": true
}
}
```

Merge with any existing `enabledPlugins` block instead of overwriting the
file. ALWAYS show the resulting JSON and get user confirmation before
writing - never change plugin activation silently. Remind the user the
change takes effect on the next session.

## Notes

- Custom selections work too: `generate --modules commands-core --with skill:react-patterns`.
- Regenerate after updating ECC: the carrier is a snapshot, not a live link.
- The generated `ecc-catalog` skill indexes the full catalog with paths inside
the carrier (`on-demand/<skill>/SKILL.md`), so nothing outside the plugin is
ever referenced.
23 changes: 17 additions & 6 deletions docs/COMMAND-REGISTRY.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
"totalCommands": 94,
"totalCommands": 95,
"commands": [
{
"command": "aside",
Expand Down Expand Up @@ -661,6 +661,17 @@
],
"path": "commands/plan.md"
},
{
"command": "plugin-profiles",
"description": "Generate and manage slim ECC profile plugin carriers - list profiles, plan the listing ledger and capability decision, generate a receipted plugin, and activate it per project.",
"type": "planning",
"primaryAgents": [],
"allAgents": [],
"skills": [
"react-patterns"
],
"path": "commands/plugin-profiles.md"
},
{
"command": "pm2",
"description": "Analyze a project and generate PM2 service commands for detected frontend, backend, or database services.",
Expand Down Expand Up @@ -1031,7 +1042,7 @@
"build": 2,
"general": 10,
"orchestration": 11,
"planning": 2,
"planning": 3,
"refactoring": 1,
"review": 15,
"testing": 53
Expand Down Expand Up @@ -1108,15 +1119,15 @@
"count": 3
},
{
"skill": "rust-patterns",
"skill": "react-patterns",
"count": 3
},
{
"skill": "cpp-coding-standards",
"count": 2
"skill": "rust-patterns",
"count": 3
},
{
"skill": "cpp-testing",
"skill": "cpp-coding-standards",
"count": 2
}
]
Expand Down
Loading