Skip to content
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
af403cd
feat(plugins): generate slim profile plugins from selective-install m…
montjeffrey Aug 5, 2026
8bfd1f1
fix(plugins): address profile-plugin review findings
montjeffrey Aug 5, 2026
1c58cef
feat(hooks): add skill-router prompt hook and /plugin-profiles command
montjeffrey Aug 5, 2026
e0e02bb
fix(hooks): harden skill-router per review findings
montjeffrey Aug 5, 2026
61f3baa
chore: sync catalog counts and command registry for /plugin-profiles
montjeffrey Aug 14, 2026
483d3fe
fix(plugins): close review findings on profile plugins and skill router
claude Aug 15, 2026
abfd71e
Merge branch 'main' into feat/profile-plugins
montjeffrey Aug 18, 2026
1e1b03b
Merge remote-tracking branch 'upstream/main' into feat/profile-plugins
montjeffrey Sep 2, 2026
18919a4
chore: sync catalog counts after merging main
montjeffrey Sep 2, 2026
9a6d3cd
feat(plugins): fail-closed, receipted, self-contained profile carriers
montjeffrey Sep 2, 2026
add7b88
refactor(hooks): move the skill router to its own opt-in PR
montjeffrey Sep 2, 2026
68b3a3c
docs(tr): report 95 commands after /plugin-profiles
montjeffrey Sep 3, 2026
0d0df38
fix(plugins): reject symlinked sources in generated carriers
montjeffrey Sep 3, 2026
a9aadcd
test(plugins): cover the on-demand catalog copy path for symlink reje…
montjeffrey Sep 3, 2026
0a95c2e
refactor(plugins): split plugin-profiles.js into a bounded module dir…
montjeffrey Sep 4, 2026
cb71499
feat(plugins): refuse dynamic requires the staged carrier cannot load
montjeffrey Sep 4, 2026
6c1e8a8
feat(plugins): make the token ledger conservative and provider-measur…
montjeffrey Sep 4, 2026
0ce5bec
feat(plugins): resolve the context surface through one binding seam
montjeffrey Sep 4, 2026
2ff9a55
test(plugins): make the personal-path check assert instead of opting out
montjeffrey Sep 4, 2026
da95daf
fix(install): ship the command entry scripts' runtime closure
montjeffrey Sep 4, 2026
9ef04d6
feat(skills): make plugin-profiles a canonical skill with a command shim
montjeffrey Sep 4, 2026
e59e802
docs(plugins): make the session-context saving reproducible
montjeffrey Sep 4, 2026
769e17a
fix(tests): update the surfaces the new module and skill changed
montjeffrey Sep 4, 2026
f2f673d
test(install): expand the pinned module lists for commands-runtime
montjeffrey Sep 4, 2026
a3d6f6a
feat(hooks): skill router as an opt-in, bounded, evidenced adapter
montjeffrey Sep 2, 2026
371696d
fix(router): enforce budget during catalog scan, not just after it
montjeffrey Sep 3, 2026
5a85111
refactor(router): read the catalog on the prompt path, never build it
montjeffrey Sep 4, 2026
f1a6d0b
docs(plugins): refresh ledger numbers after the plugin-profiles skill…
montjeffrey Sep 5, 2026
b7c8994
fix(plugins): omit commands whose runtime needs an unshippable npm pa…
montjeffrey Sep 5, 2026
0fc324c
merge: pr2788 (feat/profile-plugins unshippable-command fix) onto pr2…
montjeffrey Sep 9, 2026
f8264d9
fix(router): fail closed on symlinked catalog paths; add missing JSDoc
montjeffrey Sep 9, 2026
5d45d61
docs(router): reframe as a structured task resolver (proposal-only)
montjeffrey Sep 9, 2026
f49e176
fix(router): bound routePrompt's own scan to the routing budget
montjeffrey Sep 10, 2026
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, 287 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, 287 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
6 changes: 3 additions & 3 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, 287 skills, 95 commands, and automated hook workflows for software development.

**Version:** 2.2.1

Expand Down Expand Up @@ -154,8 +154,8 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat

```
agents/ — 68 specialized subagents
skills/ — 286 workflow skills and domain knowledge
commands/ — 94 slash commands
skills/ — 287 workflow skills and domain knowledge
commands/ — 95 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)
scripts/ — Cross-platform Node.js utilities
Expand Down
1 change: 1 addition & 0 deletions COMMANDS-QUICK-REF.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ These lifecycle commands are also available through the `ecc` CLI.
| `/projects` | List known projects and their instinct statistics |
| `/project-init` | Detect a project's stack and produce a dry-run ECC onboarding plan |
| `/harness-audit` | Audit the agent harness configuration for reliability and cost |
| `/plugin-profiles` | Generate a slim ECC plugin carrier so a project loads only the surface it needs |
| `/model-route` | Route a task to the right model (Haiku / Sonnet / Opus) |
| `/pm2` | PM2 process manager initialisation |
| `/setup-pm` | Configure package manager (npm / pnpm / yarn / bun) |
Expand Down
6 changes: 3 additions & 3 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, 287 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 |
| Skills | 287 skills | TDD, research, security, docs, frontend, data, ML, operations, and more |
| 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 个代理、287 个技能和 95 个命令。

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

Expand Down
2 changes: 2 additions & 0 deletions agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ skills:
- perl-testing
- plankton-code-quality
- plan-canvas
- plugin-profiles
- plan-orchestrate
- postgres-patterns
- product-lens
Expand Down Expand Up @@ -220,6 +221,7 @@ commands:
- plan
- plan-canvas
- plan-prd
- plugin-profiles
- pm2
- projects
- promote
Expand Down
55 changes: 55 additions & 0 deletions commands/plugin-profiles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
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 thread
greptile-apps[bot] marked this conversation as resolved.
---

# 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`.

This command is a thin entry point over the `plugin-profiles` skill. Follow
that skill for the full workflow and rules.

## What This Command Does

1. `list` - show the available install-profile projections and their module counts.
2. `plan <profile>` - report the context surface, the token ledger with its
method label and budget verdict, and the capability decision.
3. `generate <profile>` - dry run first, resolve every blocker with the user,
then generate and show the receipt digests.
4. `activate <plugin-name>` - offer to write the per-project opt-in to
`.claude/settings.json`, merging rather than overwriting, and only after
showing the JSON and getting confirmation.

Two things the skill is strict about, repeated here because they are the easy
mistakes: a narrow context selection never authorizes the hook runtime, so
never choose `--hooks` for the user; and the default ledger over-counts, so
"OVER budget" may be a false positive that `--measure provider` clears.

Profile ids (`minimal`, `developer`, `opencode`, ...) are **install-profile
projections**, not context profiles: ECC has no canonical context-profile
registry yet, so every receipt records `registry: install-profiles@unbound`.

## Example

```
User: /plugin-profiles generate opencode

Assistant: (runs plan, then generate --dry-run)
Ledger 8,323 tokens - OVER the 8,000 budget. That estimate over-counts by
design; --measure provider would give the real number. No hook runtime in
this selection, so no capability decision is needed.
Proceed with --allow-over-budget, raise the budget, or narrow the selection?
User: allow it
Assistant: (generates, reports path + receipt digests, offers activation)
```

## Related

- `plugin-profiles` skill - full workflow, blocker table, receipt reading, rules
- `docs/PLUGIN-PROFILES.md` - design rules, fail-closed behaviour, receipt schema
- Source: `scripts/plugin-profiles.js`, `scripts/lib/plugin-profiles/`
1 change: 1 addition & 0 deletions docs/COMMAND-AGENT-MAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ This document lists each slash command and the primary agent(s) or skills it inv
|---------|------------------|--------|
| `/plan` | planner | Implementation planning before code |
| `/plan-canvas` | — (skill: plan-canvas) | Browser review canvas for plan artifacts: annotate, chat, approve/request changes |
| `/plugin-profiles` | — (skill: plugin-profiles) | Generate, inspect, and activate slim ECC plugin carriers |
| `/tdd` | tdd-guide | Test-driven development |
| `/code-review` | code-reviewer | Quality and security review |
| `/build-fix` | build-error-resolver | Fix build/type errors |
Expand Down
15 changes: 13 additions & 2 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": [
"plugin-profiles"
],
"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
Loading