Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
21cb5e7
feat(skills): add i18n-sync skill for agent-driven locale file transl…
berkayyalcin7 Jul 4, 2026
4acd6aa
docs: agent architecture audit fixes
invalid-email-address Jul 28, 2026
3fed6f3
feat(commands): add Antigravity CLI (agy) as santa-loop Reviewer B op…
Or4cu1o Jul 31, 2026
3c8c20c
Merge remote-tracking branch 'origin/main' into HEAD
haelyra Aug 11, 2026
d73009b
fix(commands): route Santa reviewer through Antigravity wrapper
haelyra Aug 11, 2026
c00eb80
feat(skills): context-budget — account for reconnect scaffolding
robinryuk Aug 19, 2026
b620c0d
fix(skills): correct the headroom guidance in context-budget
robinryuk Aug 19, 2026
67ba568
fix(skills): remove duplicated CLAUDE.md heading
robinryuk Aug 19, 2026
e58bb26
fix(config-protection): protect shared/base linter configs, not just …
labeedsoft-cloud Aug 21, 2026
9a44131
fix(config-protection): protect ignore files and current config spell…
ntdat812 Aug 24, 2026
e19e74a
fix(config-protection): cover the TypeScript and ESM config variants
ntdat812 Aug 24, 2026
9af6606
fix(continuous-learning-v2): count every instinct extension in observ…
ntdat812 Aug 25, 2026
3afd97b
fix(docs): stop translated agent docs from contradicting the shipped …
ntdat812 Aug 25, 2026
ed6e5a4
test(observer-status): report every case, not just the first failure
ntdat812 Aug 25, 2026
4f18d1e
test(locale-agents): fail on a locale doc whose agent no longer exists
ntdat812 Aug 25, 2026
5f79c39
test(locale-agents): derive the file lists instead of accumulating them
ntdat812 Aug 25, 2026
7871547
test(locale-agents): set process.exitCode so the summary always flushes
ntdat812 Aug 25, 2026
e3ab979
test(observer-status): set process.exitCode so the summary always flu…
ntdat812 Aug 25, 2026
6f9282a
fix(gan): require Playwright capability in harness
wellkilo Sep 4, 2026
b3a2d35
fix(block-no-verify): bound the flag scan to the enclosing quote/here…
Sep 5, 2026
5a87813
fix(block-no-verify): split scanner and close quoting bypasses
cursoragent Sep 5, 2026
a839c07
fix(commands): clarify overlapping command triggers
DEOWL-kan Sep 5, 2026
14c0129
fix(commands): avoid false security-scan skill relationship
DEOWL-kan Sep 5, 2026
765b419
feat: map FastAPI projects to fastapi-patterns and api-design
jlwainwright Sep 6, 2026
a3acfd3
docs: add DevScratchpad AI Skill Studio to Skill Development Guide
Saad-web-spec Sep 6, 2026
f8c0c2c
fix(install): gate OpenCode hook activation
samartomar Sep 7, 2026
7678661
fix(gateguard): deny dd whose input path is not word-initial
ntdat812 Aug 21, 2026
79d3fef
fix(gateguard): detect dd by command word, not by text match
ntdat812 Aug 21, 2026
249b0ec
test(gateguard): fail the allow-cases when the hook returns nothing
ntdat812 Aug 21, 2026
c88b3f8
test(gateguard): cover dd with an intervening option before if=
ntdat812 Aug 21, 2026
e39eeb7
fix(docs): correct broken asset paths in Turkish guides
Sep 7, 2026
8115a5e
fix(skills): align skill frontmatter names with directory names
Alt-Smash Sep 10, 2026
214c6a1
fix(ci): validate cross-harness catalog counts
dajiaohuang Sep 10, 2026
04b44ec
fix(ci): isolate catalog validator fixtures
dajiaohuang Sep 10, 2026
22ec4a6
test(ci): make catalog validator fixtures explicit
dajiaohuang Sep 10, 2026
7c1df74
docs: move Atlas Cloud to past sponsors
affaan-m Sep 10, 2026
3157466
test(ci): cover cross-harness catalog sync
dajiaohuang Sep 10, 2026
460b488
merge: sync main into catalog count fix
dajiaohuang Sep 10, 2026
948dffe
fix(ci): sync catalog counts after main update
dajiaohuang Sep 10, 2026
2d2fa29
test(install): allow slower Windows CI process startup
dajiaohuang Sep 10, 2026
3a9c2b2
fix(ci): sync cross-harness catalog counts
dajiaohuang Sep 10, 2026
f3b423c
docs: update DevScratchpad description with AGENTS.md specs and 13 fo…
Saad-web-spec Sep 11, 2026
03b44fe
docs: add oxlint complexity rule and ratchet ceiling for JS/TS
gabchess Sep 12, 2026
97ba8b0
docs(plankton-code-quality): address oxlint review findings
gabchess Sep 13, 2026
3e72db8
docs(i18n): add Polish localization scout
Dante-dan Sep 14, 2026
071f2db
docs(i18n): clarify Polish module scope
Dante-dan Sep 14, 2026
0a1e078
fix(ci): reconcile catalog validation with current main
affaan-m Sep 18, 2026
4be4eb4
fix(install): reconcile OpenCode hook consent with current main
affaan-m Sep 18, 2026
23634af
docs(i18n): reconcile Polish locale installation guidance
affaan-m Sep 18, 2026
9a19f25
merge: retain current hook checks with Polish locale
affaan-m Sep 18, 2026
1e4576e
fix: enforce signed release provenance gates
PhillipsT-Ai2 Sep 20, 2026
5b05a3f
fix: address release gate review findings
PhillipsT-Ai2 Sep 21, 2026
32c1093
fix: accept nullable workflow metadata
PhillipsT-Ai2 Sep 21, 2026
7371f03
merge: reconcile Polish locale with current main
Dante-dan Sep 22, 2026
94ca2de
fix(install): accept UTF-8 BOM in install configs
shoyann Sep 22, 2026
61c230c
fix: distinguish PowerShell foreach statements
Dante-dan Sep 22, 2026
306c217
fix: scan piped foreach grouping blocks
Dante-dan Sep 22, 2026
62bf2b2
fix(mcp): pin chrome-devtools-mcp to 1.10.1 instead of @latest
ritms42 Sep 24, 2026
0ae2fa0
fix(control-pane): report a failed live refresh instead of discarding it
L4XB Sep 24, 2026
10969f5
fix(control-pane): keep a superseded refresh failure off the board
L4XB Sep 24, 2026
9848380
fix(control-pane): judge a failed refresh by the loads that started a…
L4XB Sep 25, 2026
96516aa
test(control-pane): give the page a fixed clock
L4XB Sep 25, 2026
029f850
test(control-pane): pin which load decides a failed refresh
L4XB Sep 25, 2026
928a295
fix(control-pane): let the newest finished load decide the board
L4XB Sep 25, 2026
3646082
test(control-pane): pin that a late response keeps its hands off newe…
L4XB Sep 25, 2026
a82d587
fix(control-pane): order data and outcomes of every load separately
L4XB Sep 25, 2026
217f303
fix(control-pane): fail a load whose snapshot cannot be shown, and ru…
L4XB Sep 25, 2026
742395b
fix(scripts): confine plan-canvas artifact assets and escape 404 paths
ushbay Sep 25, 2026
d237e19
fix(scripts): sandbox HTML siblings, link-name MIME, portable fixtures
ushbay Sep 25, 2026
3052732
fix(control-pane): add non-color risk cues to the control-plane view
pasmud Sep 26, 2026
18e78da
test(control-pane): derive the a11y palette from the rendered view
pasmud Sep 26, 2026
6744a01
fix(control-pane): announce polled advisories through a live region
pasmud Sep 27, 2026
9e0996c
fix(control-pane): replace stale live-region guidance when a poll fails
pasmud Sep 27, 2026
e97e333
fix(control-pane): keep the canvas label and live region consistent
pasmud Sep 27, 2026
5b65751
fix: restore plan canvas process launcher
qshanx Sep 27, 2026
a3e9bc5
docs: fix prerequisites in manual install examples
shoyann Sep 27, 2026
cee58ba
fix(control-pane): settle the poll guard against the last settled req…
pasmud Sep 27, 2026
2b35e29
test: cover launcher error handling
qshanx Sep 27, 2026
d42d918
fix(control-pane): stop a stale poll lowering the staleness mark
pasmud Sep 27, 2026
7eb1e32
merge: preserve Turkish guide link fixes with reviewed main
affaan-m Sep 28, 2026
f8c604d
Merge current main into PR #3060, preserving reviewed contribution
affaan-m Sep 28, 2026
80b9339
Merge current main into PR #3121, preserving reviewed contribution
affaan-m Sep 28, 2026
72c7ca5
Merge current main into PR #3013, preserving reviewed contribution
affaan-m Sep 28, 2026
923019d
fix(opencode): preserve consent ownership through guarded install and…
affaan-m Sep 28, 2026
6104954
Merge current main while preserving reviewed OpenCode consent guards
affaan-m Sep 28, 2026
ac27e09
Merge branch 'main' into docs/oxlint-complexity-ratchet
affaan-m Sep 28, 2026
9f64ff2
fix(context): refresh registry binding for Polish docs module
affaan-m Sep 28, 2026
533f5ff
fix(docs): format complexity sources as Markdown links
affaan-m Sep 28, 2026
5ffe239
fix(tests): reconcile launcher coverage with current main
affaan-m Sep 28, 2026
aff9c64
fix(control-pane): preserve snapshot integrity during failed refreshes
affaan-m Sep 28, 2026
9f6c16f
fix(tests): make guarded parent replacement portable to Windows
affaan-m Sep 28, 2026
6dc706f
fix(install): distinguish user plugins from ECC aliases
affaan-m Sep 28, 2026
d4047a4
docs: reconcile manual install prerequisites with current main
affaan-m Sep 28, 2026
f5d0fcc
fix(install): reconcile UTF-8 BOM support with current main
affaan-m Sep 28, 2026
506f25f
fix(plan-canvas): confine artifact assets and sandbox SVG documents
affaan-m Sep 28, 2026
503e2ef
fix(mcp): reconcile reviewed chrome-devtools pin with current main
affaan-m Sep 28, 2026
a74c743
fix(gateguard): classify literal dd execution without matching passiv…
affaan-m Sep 28, 2026
d12c5a5
fix(context): refresh manual trigger binding after Plankton docs update
affaan-m Sep 28, 2026
1394cf6
Merge current main and verify PowerShell foreach classification
affaan-m Sep 28, 2026
1c41fa7
docs(codex): clarify explicit MCP pin refresh and verify shared recom…
affaan-m Sep 28, 2026
429384f
fix(opencode): refuse known legacy hooks without consent
affaan-m Sep 28, 2026
dbeb723
fix(plan-canvas): bind bounded artifact reads to verified descriptors
affaan-m Sep 28, 2026
d811349
fix(gateguard): detect stdin dd writes and launcher-wrapped shells
affaan-m Sep 28, 2026
e9911d6
fix(opencode): preserve primary failures through complete lock cleanup
affaan-m Sep 28, 2026
57841ab
test(plan-canvas): canonicalize temporary fixture paths
affaan-m Sep 28, 2026
7c9c447
fix(release): bind trusted checks and signed tag identity on current …
affaan-m Sep 28, 2026
cfe6d90
fix(control-plane): preserve accessible state across poll races
affaan-m Sep 28, 2026
83f19de
test(plan-canvas): isolate filesystem fixtures and cleanup failures
affaan-m Sep 28, 2026
8f7db0f
fix(gan): verify responsive and keyboard evaluator capabilities
affaan-m Sep 28, 2026
2f0df4e
fix(project-init): map FastAPI guidance without unsupported launchers
affaan-m Sep 28, 2026
1673814
Merge current main and reconcile scientific skill names
affaan-m Sep 28, 2026
d98549c
Merge reviewed contributor PR #3008 into backlog batch
affaan-m Sep 28, 2026
3587ba7
Merge reviewed contributor PR #3210 into backlog batch
affaan-m Sep 28, 2026
f2835aa
Merge reviewed contributor PR #3121 into backlog batch
affaan-m Sep 28, 2026
7253ad4
Merge reviewed contributor PR #3246 into backlog batch
affaan-m Sep 28, 2026
68b8559
Merge reviewed contributor PR #3233 into backlog batch
affaan-m Sep 28, 2026
ef57e97
Merge reviewed contributor PR #3099 into backlog batch
affaan-m Sep 28, 2026
982e7d3
Merge reviewed contributor PR #3060 into backlog batch
affaan-m Sep 28, 2026
aa233ef
Merge reviewed contributor PR #3013 into backlog batch
affaan-m Sep 28, 2026
b66584c
Merge reviewed contributor PR #3244 into backlog batch
affaan-m Sep 28, 2026
0656f7a
Merge reviewed contributor PR #3235 into backlog batch
affaan-m Sep 28, 2026
e6cd449
Merge reviewed contributor PR #3243 into backlog batch
affaan-m Sep 28, 2026
75dec47
Merge reviewed contributor PR #3213 into backlog batch
affaan-m Sep 28, 2026
72c6d90
Merge reviewed contributor PR #2829 into backlog batch
affaan-m Sep 28, 2026
9fae916
Merge reviewed contributor PR #2954 into backlog batch
affaan-m Sep 28, 2026
6e87e7a
Merge reviewed contributor PR #2988 into backlog batch
affaan-m Sep 28, 2026
d2ce0b5
Merge reviewed contributor PR #3241 into backlog batch
affaan-m Sep 28, 2026
b7cc7e3
Merge reviewed contributor PR #3195 into backlog batch
affaan-m Sep 28, 2026
426bb26
Merge reviewed contributor PR #3059 into backlog batch
affaan-m Sep 28, 2026
d0dc1fc
fix(install): preserve OpenCode refusal for relative source roots
affaan-m Sep 28, 2026
17c1752
Merge relative-root consent correction from PR #3008
affaan-m Sep 28, 2026
ffb6974
fix(release): report pending gate reasons on bounded timeout
affaan-m Sep 28, 2026
6a3c2d0
fix(context): bind manual triggers to reviewed batch inventory
affaan-m Sep 28, 2026
6fcdd7a
Merge release-gate diagnostic correction from PR #3195
affaan-m Sep 28, 2026
e8cba15
fix: make optional reviewer dispatch clean up safely
affaan-m Sep 28, 2026
57da51c
fix: count observer instinct files using loader eligibility
affaan-m Sep 28, 2026
eaae00d
fix: deny Playwright tools in non-browser evaluator modes
affaan-m Sep 28, 2026
ef8c2d8
fix(opencode): guard legacy cleanup and portable consent fixtures
affaan-m Sep 28, 2026
f36b5d1
fix(release): bind privileged checkout to verified event commit
affaan-m Sep 28, 2026
39a73dc
fix(config): cover requirements-based FastAPI builds
affaan-m Sep 28, 2026
2edb1de
fix(control-plane): restore accepted view after render failure
affaan-m Sep 28, 2026
71bb09c
test(plan-canvas): isolate independently owned asset descriptors
affaan-m Sep 28, 2026
490585f
fix(platform): pass Windows browser URLs as validated data
affaan-m Sep 28, 2026
aa31502
Merge reviewed PR #3008 CI and security follow-up
affaan-m Sep 28, 2026
f1a9849
Merge reviewed PR #3195 CI and security follow-up
affaan-m Sep 28, 2026
620d70b
Merge reviewed PR #2988 CI and security follow-up
affaan-m Sep 28, 2026
e9a1c75
Merge reviewed PR #3243 CI and security follow-up
affaan-m Sep 28, 2026
12f10ba
Merge reviewed PR #3241 CI and security follow-up
affaan-m Sep 28, 2026
b989e2d
Merge reviewed PR #3244 CI and security follow-up
affaan-m Sep 28, 2026
1995a75
Merge reviewed PR #2954 CI and security follow-up
affaan-m Sep 28, 2026
c4b18b4
fix(gateguard): classify standard launcher and GNU time options
affaan-m Sep 28, 2026
a7be02f
Merge reviewed PR #2829 launcher and GNU time correction
affaan-m Sep 28, 2026
863dad8
docs(sponsors): reconcile inactive listings with current main
affaan-m Sep 28, 2026
c492920
fix(install): bind legacy reads to trusted access flags
affaan-m Sep 28, 2026
c76bdfe
fix(plan-canvas): describe browser dispatch accurately
affaan-m Sep 28, 2026
b16955f
Integrate exact reviewed PR3008 follow-up
affaan-m Sep 28, 2026
0d8070b
Integrate exact reviewed PR3244 follow-up
affaan-m Sep 28, 2026
ccb4c51
Integrate reviewed contributor PR2768
affaan-m Sep 28, 2026
be9fe61
fix(install): verify legacy postimages with owned descriptors
affaan-m Sep 28, 2026
4e57bf3
Merge commit 'be9fe61ef75bd907e62e800b464704d3fa2509eb' into affaan/i…
affaan-m Sep 28, 2026
c47f902
Merge reviewed observer status counting repair and retain combined re…
affaan-m Sep 28, 2026
54e30ad
Merge reviewed sponsor status corrections while retaining combined do…
affaan-m Sep 28, 2026
c583184
Merge commit '4e57bf3225e639ccd00db636ea9b4175b3f6b39c' into affaan/i…
affaan-m Sep 28, 2026
de480c6
fix(hooks): distinguish literal data from executable shell contexts
affaan-m Sep 28, 2026
609427c
Merge commit 'de480c65fdbbdf8b0b6ffce0f16c0968791c5fbd' into affaan/i…
affaan-m Sep 28, 2026
615b7f1
test(install): mutate postimage fixtures through owned descriptors
affaan-m Sep 28, 2026
b87d887
Merge commit '615b7f107a21b67532944f3f321c61dd282060c3' into affaan/i…
affaan-m Sep 28, 2026
8e0b985
Merge commit 'b87d8875825d052aff7aea6b69c0d92650dc62a4' into affaan/i…
affaan-m Sep 28, 2026
b07f690
test: cover commands after empty PowerShell foreach body
Dante-dan Sep 28, 2026
621abca
fix(control-pane): bound snapshot loads and automatic polling
affaan-m Sep 28, 2026
78527c0
Merge commit '621abca3503a0cd3464928a94c1c1e93dcc1d9bd' into affaan/i…
affaan-m Sep 28, 2026
ef0c31a
Merge contributor empty-foreach regression coverage into reviewed fol…
affaan-m Sep 28, 2026
c1f9286
Merge main and reconcile agent inventory documentation
affaan-m Sep 28, 2026
cc9914c
Merge main and align translated agent metadata
affaan-m Sep 28, 2026
8d15d6b
Merge reviewed agent inventory and evaluator defense documentation
affaan-m Sep 28, 2026
b23b602
Merge main and preserve clarified command descriptions
affaan-m Sep 28, 2026
13b3c59
test(observer): dispatch status through a fixed private wrapper
affaan-m Sep 28, 2026
f4d06f7
docs(context-budget): scope transcript accounting to explicit private…
affaan-m Sep 28, 2026
46df9cc
fix(install): preserve inactive user configs and recheck consent befo…
affaan-m Sep 28, 2026
a7a1d8c
Merge reviewed locale metadata alignment with canonical GAN capabilities
affaan-m Sep 28, 2026
ec0753b
fix(hooks): preserve shell boundaries and detect literal hook bypasses
affaan-m Sep 28, 2026
2b9164c
fix(gateguard): inspect SQL clients behind supported launchers
affaan-m Sep 28, 2026
19c0c16
Merge reviewed command trigger descriptions with preserved Santa work…
affaan-m Sep 28, 2026
5dc3f96
test(release): fail when the asynchronous check queue cannot complete
affaan-m Sep 28, 2026
3cceee8
Merge reviewed context accounting with aggregate registry binding
affaan-m Sep 28, 2026
97ac100
Merge exact reviewed PR3008 follow-up
affaan-m Sep 28, 2026
d30050d
Merge exact reviewed PR2878 follow-up
affaan-m Sep 28, 2026
f4528c4
Merge exact reviewed PR2965 follow-up
affaan-m Sep 28, 2026
442179e
Merge exact reviewed PR2829 follow-up
affaan-m Sep 28, 2026
6c4e682
Merge exact reviewed PR3195 follow-up
affaan-m Sep 28, 2026
63f30ff
test(plan-canvas): close owned resources across failure paths
affaan-m Sep 28, 2026
9886c33
fix(batch): preserve Plan Canvas cleanup on every failure path
affaan-m Sep 28, 2026
a0444eb
feat(skills): add scoped JSON locale synchronization workflow
affaan-m Sep 28, 2026
339db5b
fix(config-protection): guard current config and ignore filenames
affaan-m Sep 28, 2026
74023e5
fix(config-protection): protect qualified shared linter configurations
affaan-m Sep 28, 2026
b150db1
Merge reviewed PR2444 localization workflow into maintained batch
affaan-m Sep 28, 2026
78dee5c
Merge reviewed PR2845 configuration filename protections
affaan-m Sep 28, 2026
da2edcb
Merge reviewed PR2835 qualified configuration protections
affaan-m Sep 28, 2026
de5119d
fix(locale): reject missing canonical agent declarations
affaan-m Sep 28, 2026
e7d69ac
Merge reviewed PR2879 missing-declaration regression correction
affaan-m Sep 28, 2026
cc1539f
test(plan-canvas): bound stalled cleanup and flush results before exit
affaan-m Sep 28, 2026
6bcc313
Merge reviewed Plan Canvas test termination correction
affaan-m Sep 28, 2026
154fa12
docs: describe optional skill editor without unsupported claims
affaan-m Sep 28, 2026
b5406da
Merge reviewed optional skill-editor documentation PR2990
affaan-m Sep 28, 2026
dee8846
fix(hooks): preserve Git configuration across shell command scopes
affaan-m Sep 28, 2026
807f07a
Merge reviewed Git environment scope correction for PR2965
affaan-m Sep 28, 2026
5d4cca8
test: bound installer child shutdown and preserve diagnostics
affaan-m Sep 28, 2026
aa0ea42
docs: align composed catalog counts with i18n skill
affaan-m Sep 28, 2026
e41c924
test(installer): pass capability probe as a private script file
affaan-m Sep 28, 2026
eca8462
fix(hooks): track append assignments in Git override checks
affaan-m Sep 28, 2026
423b215
docs(ja): match the canonical command count
affaan-m Sep 28, 2026
7ffea70
fix(hooks): distinguish Biome configs from results files
affaan-m Sep 28, 2026
e10bbaa
Merge reviewed append-assignment correction from PR2965
affaan-m Sep 28, 2026
93fca4a
Merge reviewed Biome-filename correction from PR2835
affaan-m Sep 28, 2026
a85f43b
test(control-pane): assert the rollback redraws without waiting for a…
pasmud Sep 29, 2026
bd9402f
fix(hooks): scope MCP health checks to MCP tools (#2838)
santhiprakash Sep 29, 2026
dc3f44a
Merge branch 'main' into affaan/integrate-reviewed-followups-20260928
haelyra Sep 29, 2026
51a59a1
test(gateguard): align spawned hook timeouts
haelyra Sep 29, 2026
759d841
merge: preserve PR #3243 rollback redraw regression
haelyra Sep 29, 2026
d30588f
Merge pull request #3251 from affaan-m/affaan/integrate-reviewed-foll…
haelyra Sep 29, 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, 292 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, 293 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",
"version": "2.2.2",
"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.2",
"description": "Harness-native ECC plugin for engineering teams - 68 agents, 292 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, 293 skills, 94 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
2 changes: 1 addition & 1 deletion .gemini/GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides Gemini CLI with the baseline ECC workflow, review standards,

## Overview

Everything Claude Code (ECC) is a cross-harness coding system with 36 specialized agents, 142 skills, and 68 commands.
Everything Claude Code (ECC) is a cross-harness coding system with 68 specialized agents, 293 skills, and 94 commands.

Gemini support is currently focused on a strong project-local instruction layer via `.gemini/GEMINI.md`, plus the shared MCP catalog and package-manager setup assets shipped by the installer.

Expand Down
36 changes: 36 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@ on:
tags: ['v*']

permissions:
actions: read
checks: read
contents: read

jobs:
verify:
name: Verify Release
runs-on: ubuntu-latest
outputs:
release_sha: ${{ steps.release_gate.outputs.release_sha }}
tag_object_sha: ${{ steps.release_gate.outputs.tag_object_sha }}
already_published: ${{ steps.npm_publish_state.outputs.already_published }}
dist_tag: ${{ steps.npm_publish_state.outputs.dist_tag }}
publish_tag: ${{ steps.npm_publish_state.outputs.publish_tag }}
Expand Down Expand Up @@ -43,6 +47,13 @@ jobs:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'

- name: Verify signed tag and exact-SHA CI gates
id: release_gate
env:
GITHUB_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.ref_name }}
run: RELEASE_SHA="$(git rev-parse HEAD)" node scripts/ci/verify-release-gates.js

- name: Install dependencies
run: npm ci --ignore-scripts

Expand Down Expand Up @@ -194,6 +205,31 @@ jobs:
ECC_RELEASE_SHA256: ${{ needs.verify.outputs.package_sha256 }}
run: node -e "const crypto = require('crypto'); const fs = require('fs'); const file = process.env.ECC_RELEASE_PACKAGE; const expected = process.env.ECC_RELEASE_SHA256; if (!/^ecc-universal-[0-9A-Za-z.+-]+\.tgz$/.test(file || '')) throw new Error('Unexpected packed filename'); if (!/^[a-f0-9]{64}$/.test(expected || '')) throw new Error('Invalid packed SHA-256'); const archives = fs.readdirSync('.').filter(name => name.endsWith('.tgz')); if (archives.length !== 1 || archives[0] !== file) throw new Error('Expected exactly one downloaded archive'); const actual = crypto.createHash('sha256').update(fs.readFileSync(file)).digest('hex'); if (actual !== expected) throw new Error('Downloaded publish artifact SHA-256 mismatch')"

- name: Bind gate source to triggering commit
env:
EVENT_SHA: ${{ github.sha }}
VERIFIED_RELEASE_SHA: ${{ needs.verify.outputs.release_sha }}
run: node -e "const actual = process.env.EVENT_SHA; const expected = process.env.VERIFIED_RELEASE_SHA; if (typeof actual !== 'string' || actual.length !== 40 || !/^[a-f0-9]{40}$/.test(actual) || expected !== actual) throw new Error('Verified release differs from triggering commit')"

- name: Checkout verified gate source
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.sha }}
path: release-gate-source
persist-credentials: false
sparse-checkout: scripts/ci/verify-release-gates.js
sparse-checkout-cone-mode: false

# This read-only API check uses the existing publish job token. It is a
# snapshot; preventing subsequent tag movement requires protected tags.
- name: Recheck verified tag before publish
env:
GITHUB_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ github.ref_name }}
RELEASE_SHA: ${{ needs.verify.outputs.release_sha }}
RELEASE_TAG_OBJECT_SHA: ${{ needs.verify.outputs.tag_object_sha }}
run: node release-gate-source/scripts/ci/verify-release-gates.js --tag-only

- name: Publish npm package
if: needs.verify.outputs.already_published != 'true'
env:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/reusable-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,17 @@ on:
type: string

permissions:
actions: read
checks: read
contents: read

jobs:
verify:
name: Verify Release
runs-on: ubuntu-latest
outputs:
release_sha: ${{ steps.release_gate.outputs.release_sha }}
tag_object_sha: ${{ steps.release_gate.outputs.tag_object_sha }}
already_published: ${{ steps.npm_publish_state.outputs.already_published }}
dist_tag: ${{ steps.npm_publish_state.outputs.dist_tag }}
publish_tag: ${{ steps.npm_publish_state.outputs.publish_tag }}
Expand Down Expand Up @@ -57,6 +61,13 @@ jobs:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'

- name: Verify signed tag and exact-SHA CI gates
id: release_gate
env:
GITHUB_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ inputs.tag }}
run: RELEASE_SHA="$(git rev-parse HEAD)" node scripts/ci/verify-release-gates.js

- name: Install dependencies
run: npm ci --ignore-scripts

Expand Down Expand Up @@ -208,6 +219,25 @@ jobs:
ECC_RELEASE_SHA256: ${{ needs.verify.outputs.package_sha256 }}
run: node -e "const crypto = require('crypto'); const fs = require('fs'); const file = process.env.ECC_RELEASE_PACKAGE; const expected = process.env.ECC_RELEASE_SHA256; if (!/^ecc-universal-[0-9A-Za-z.+-]+\.tgz$/.test(file || '')) throw new Error('Unexpected packed filename'); if (!/^[a-f0-9]{64}$/.test(expected || '')) throw new Error('Invalid packed SHA-256'); const archives = fs.readdirSync('.').filter(name => name.endsWith('.tgz')); if (archives.length !== 1 || archives[0] !== file) throw new Error('Expected exactly one downloaded archive'); const actual = crypto.createHash('sha256').update(fs.readFileSync(file)).digest('hex'); if (actual !== expected) throw new Error('Downloaded publish artifact SHA-256 mismatch')"

- name: Checkout verified gate source
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ needs.verify.outputs.release_sha }}
path: release-gate-source
persist-credentials: false
sparse-checkout: scripts/ci/verify-release-gates.js
sparse-checkout-cone-mode: false

# This read-only API check uses the existing publish job token. It is a
# snapshot; preventing subsequent tag movement requires protected tags.
- name: Recheck verified tag before publish
env:
GITHUB_TOKEN: ${{ github.token }}
RELEASE_TAG: ${{ inputs.tag }}
RELEASE_SHA: ${{ needs.verify.outputs.release_sha }}
RELEASE_TAG_OBJECT_SHA: ${{ needs.verify.outputs.tag_object_sha }}
run: node release-gate-source/scripts/ci/verify-release-gates.js --tag-only

- name: Publish npm package
if: needs.verify.outputs.already_published != 'true'
env:
Expand Down
2 changes: 1 addition & 1 deletion .mcp.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
"args": ["-y", "chrome-devtools-mcp@1.10.1"]
}
}
}
51 changes: 49 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, 292 skills, 94 commands, and automated hook workflows for software development.
This is a **production-ready AI coding plugin** providing 68 specialized agents, 293 skills, 94 commands, and automated hook workflows for software development.

**Version:** 2.2.2

Expand Down Expand Up @@ -48,6 +48,42 @@ This is a **production-ready AI coding plugin** providing 68 specialized agents,
| mle-reviewer | Production ML pipeline review | ML pipelines, evals, serving, monitoring, rollback |
| rag-pipeline-reviewer | RAG pipeline review | Retrieval quality, chunking, reranking, RAGAS evaluation coverage |
| typescript-reviewer | TypeScript/JavaScript code review | TypeScript/JavaScript projects |
| react-reviewer | React/JSX code review | React component and hook changes |
| react-build-resolver | React/Vite/Next.js/webpack build errors | React build failures |
| vue-reviewer | Vue.js Composition API and reactivity review | Vue component, Pinia, and Nuxt changes |
| swift-reviewer | Swift/iOS code review | Swift code changes |
| swift-build-resolver | Swift/Xcode/SPM build errors | Swift build failures |
| flutter-reviewer | Flutter/Dart widget and state review | Flutter app changes |
| dart-build-resolver | Dart/Flutter build and pub dependency errors | Flutter compilation failures |
| csharp-reviewer | C#/.NET async patterns, nullability, security | All C# code changes |
| fastapi-reviewer | FastAPI async correctness, Pydantic, OpenAPI | FastAPI endpoint and schema changes |
| php-reviewer | PHP/PSR-12, Eloquent, security review | PHP code changes |
| harmonyos-app-resolver | HarmonyOS ArkTS/ArkUI code and API review | HarmonyOS/OpenHarmony application changes |
| healthcare-reviewer | Clinical safety, PHI compliance, CDSS accuracy | Healthcare, EMR/EHR application code |
| a11y-architect | WCAG 2.2 accessibility architecture | Designing UI components, accessibility audits |
| code-architect | Feature architecture blueprints from codebase patterns | New features needing implementation design |
| network-architect | Enterprise multi-site network architecture | Complex network design decisions |
| homelab-architect | Home/small-lab network design | Home infrastructure planning |
| network-config-reviewer | Router/switch config security and correctness | Network configuration changes |
| network-troubleshooter | OSI-layer connectivity and routing diagnosis | Network connectivity and routing issues |
| performance-optimizer | Bottleneck detection, bundle size, memory leaks | Slow code or high resource usage |
| silent-failure-hunter | Swallowed errors and missing propagation | Code reliability audits |
| type-design-analyzer | Type encapsulation and invariant design | Type design and invariant reviews |
| pr-test-analyzer | PR test coverage quality and completeness | Before merging pull requests |
| code-explorer | Execution path tracing and architecture mapping | Understanding unfamiliar code paths |
| code-simplifier | Clarity-focused code refinement without behavior change | Post-implementation cleanup |
| comment-analyzer | Comment accuracy, freshness, and rot risk | Code comment audits |
| agent-evaluator | 5-axis quality scoring for agent output | Evaluating task completion quality |
| chief-of-staff | Multi-channel communication triage and drafting | Managing email/Slack communication workflows |
| conversation-analyzer | Extract hook behaviors from session transcripts | Creating hooks from observed patterns |
| marketing-agent | Campaign planning, copy creation, content calendars | Product launches, marketing campaigns |
| seo-specialist | Technical SEO audit, structured data, Core Web Vitals | Site audits, meta tag and schema issues |
| opensource-forker | Fork projects and strip secrets for open-sourcing | Starting an open-source release |
| opensource-sanitizer | Verify sanitized fork is release-ready | Before any public release |
| opensource-packager | Generate OSS packaging boilerplate (README, LICENSE, etc.) | Finalizing an open-source release |
| gan-planner | Expand a prompt into a full product specification | Starting a GAN harness session |
| gan-generator | Implement features per spec, iterate on evaluator feedback | GAN harness implementation phase |
| gan-evaluator | Test running application via Playwright and score it | GAN harness evaluation phase |

## Agent Orchestration

Expand All @@ -61,6 +97,17 @@ Use agents proactively without user prompt:
- Autonomous loops / loop monitoring → **ecc:loop-operator**
- Harness config reliability and cost → **ecc:harness-optimizer**
- RAG/retrieval pipeline changes → **ecc:rag-pipeline-reviewer**
- Performance bottleneck or slow code → **ecc:performance-optimizer**
- React/JSX changes → **ecc:react-reviewer**
- Vue changes → **ecc:vue-reviewer**
- Swift changes → **ecc:swift-reviewer**
- C# changes → **ecc:csharp-reviewer**
- PHP changes → **ecc:php-reviewer**
- Flutter/Dart changes → **ecc:flutter-reviewer**
- Healthcare/clinical code → **ecc:healthcare-reviewer**
- UI component design → **ecc:a11y-architect**
- Open-source release prep → **ecc:opensource-forker** → **ecc:opensource-sanitizer** → **ecc:opensource-packager**
- Agent output quality check → **ecc:agent-evaluator**

Use parallel execution for independent operations — launch multiple agents simultaneously.

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

```
agents/ — 68 specialized subagents
skills/ — 292 workflow skills and domain knowledge
skills/ — 293 workflow skills and domain knowledge
commands/ — 94 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)
Expand Down
Loading
Loading