<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Agent Harness Operating System on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/agent-harness-operating-system/</link>
        <description>Recent content in Agent Harness Operating System on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Wed, 29 Jul 2026 17:56:43 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/agent-harness-operating-system/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>ECC</title>
        <link>https://producthunt.programnotes.cn/en/p/ecc/</link>
        <pubDate>Wed, 29 Jul 2026 17:56:43 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/ecc/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1706425278316-a9f44c03c00a?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3ODUzMTg3NTV8&amp;ixlib=rb-4.1.0" alt="Featured image of post ECC" /&gt;&lt;h1 id=&#34;affaan-mecc&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;affaan-m/ECC&lt;/a&gt;
&lt;/h1&gt;&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;assets/hero.png&#34; alt=&#34;ECC - the agent harness operating system&#34; width=&#34;100%&#34; /&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;strong&gt;Language:&lt;/strong&gt;
  &lt;a href=&#34;README.md&#34;&gt;English&lt;/a&gt; |
  &lt;a href=&#34;docs/pt-BR/README.md&#34;&gt;Português (Brasil)&lt;/a&gt; |
  &lt;a href=&#34;README.zh-CN.md&#34;&gt;简体中文&lt;/a&gt; |
  &lt;a href=&#34;docs/zh-TW/README.md&#34;&gt;繁體中文&lt;/a&gt; |
  &lt;a href=&#34;docs/ja-JP/README.md&#34;&gt;日本語&lt;/a&gt; |
  &lt;a href=&#34;docs/ko-KR/README.md&#34;&gt;한국어&lt;/a&gt; |
  &lt;a href=&#34;docs/tr/README.md&#34;&gt;Türkçe&lt;/a&gt; |
  &lt;a href=&#34;docs/ru/README.md&#34;&gt;Русский&lt;/a&gt; |
  &lt;a href=&#34;docs/vi-VN/README.md&#34;&gt;Tiếng Việt&lt;/a&gt; |
  &lt;a href=&#34;docs/th/README.md&#34;&gt;ไทย&lt;/a&gt; |
  &lt;a href=&#34;docs/de-DE/README.md&#34;&gt;Deutsch&lt;/a&gt; |
  &lt;a href=&#34;docs/es/README.md&#34;&gt;Español&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://discord.gg/36yGMHGFbR&#34;&gt;&lt;img src=&#34;https://img.shields.io/discord/1496644400590094540?logo=discord&amp;logoColor=white&amp;label=Discord&amp;color=5865F2&#34; alt=&#34;Discord&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://ecc.tools&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/Website-ecc.tools-E07856?logo=googlechrome&amp;logoColor=white&#34; alt=&#34;Website&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/apps/ecc-tools&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/GitHub%20App-ECC%20Tools-181717?logo=github&amp;logoColor=white&#34; alt=&#34;GitHub App&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;LICENSE&#34;&gt;&lt;img src=&#34;https://img.shields.io/badge/license-MIT-blue.svg&#34; alt=&#34;MIT license&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://github.com/affaan-m/ECC/stargazers&#34;&gt;&lt;img src=&#34;https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Fstars&amp;style=flat&#34; alt=&#34;Stars&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/affaan-m/ECC/network/members&#34;&gt;&lt;img src=&#34;https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Fforks&amp;style=flat&#34; alt=&#34;Forks&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/affaan-m/ECC/graphs/contributors&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/contributors/affaan-m/ECC?style=flat&#34; alt=&#34;Contributors&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/marketplace/ecc-tools&#34;&gt;&lt;img src=&#34;https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Finstalls&amp;logo=github&#34; alt=&#34;GitHub App installs&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://www.npmjs.com/package/ecc-universal&#34;&gt;&lt;img src=&#34;https://img.shields.io/npm/dw/ecc-universal?label=ecc-universal&amp;logo=npm&#34; alt=&#34;ecc-universal npm downloads&#34; /&gt;&lt;/a&gt;
  &lt;a href=&#34;https://www.npmjs.com/package/ecc-agentshield&#34;&gt;&lt;img src=&#34;https://img.shields.io/npm/dw/ecc-agentshield?label=ecc-agentshield&amp;logo=npm&#34; alt=&#34;ecc-agentshield npm downloads&#34; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Shell-4EAA25?logo=gnu-bash&amp;logoColor=white&#34; alt=&#34;Shell&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&amp;logoColor=white&#34; alt=&#34;TypeScript&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Python-3776AB?logo=python&amp;logoColor=white&#34; alt=&#34;Python&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Go-00ADD8?logo=go&amp;logoColor=white&#34; alt=&#34;Go&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Java-ED8B00?logo=openjdk&amp;logoColor=white&#34; alt=&#34;Java&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Perl-39457E?logo=perl&amp;logoColor=white&#34; alt=&#34;Perl&#34; /&gt;
  &lt;img src=&#34;https://img.shields.io/badge/-Markdown-000000?logo=markdown&amp;logoColor=white&#34; alt=&#34;Markdown&#34; /&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
&lt;strong&gt;Official sources only.&lt;/strong&gt; Install ECC only from verified channels: the GitHub repository &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;github.com/affaan-m/ECC&lt;/a&gt;, the npm packages &lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/ecc-universal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;ecc-universal&lt;/code&gt;&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/ecc-agentshield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;ecc-agentshield&lt;/code&gt;&lt;/a&gt;, the &lt;a class=&#34;link&#34; href=&#34;https://github.com/apps/ecc-tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub App&lt;/a&gt;, the plugin slug &lt;code&gt;ecc@ecc&lt;/code&gt;, and the project website &lt;a class=&#34;link&#34; href=&#34;https://ecc.tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ecc.tools&lt;/a&gt;. Third-party re-uploads and unofficial mirrors are not maintained or reviewed by the project and may contain malware.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;table aria-label=&#34;ECC primary links&#34;&gt;
&lt;tr&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://ecc.tools/pricing&#34;&gt;
    &lt;img src=&#34;assets/images/community/ecc-tools-mark.svg&#34; height=&#34;42&#34; alt=&#34;ECC Tools&#34; /&gt;&lt;br /&gt;
    &lt;strong&gt;ECC Pro + GitHub App&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;&lt;a href=&#34;https://github.com/apps/ecc-tools&#34;&gt;Install free&lt;/a&gt; · &lt;a href=&#34;https://ecc.tools/pricing&#34;&gt;Private repos from $19/seat/mo&lt;/a&gt;&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://github.com/sponsors/affaan-m&#34;&gt;
    &lt;img src=&#34;assets/images/community/heart.svg&#34; height=&#34;42&#34; alt=&#34;&#34; /&gt;&lt;br /&gt;
    &lt;strong&gt;Sponsor ECC&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;Fund the open-source project&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://discord.gg/36yGMHGFbR&#34;&gt;
    &lt;img src=&#34;assets/images/community/discord.svg&#34; height=&#34;42&#34; alt=&#34;Discord&#34; /&gt;&lt;br /&gt;
    &lt;strong&gt;Community&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;Discord · Q&amp;amp;A · Show and Tell&lt;/sub&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;sub&gt;&lt;strong&gt;OSS stays free.&lt;/strong&gt; This repo is MIT-licensed forever. ECC Pro is the hosted GitHub App for private repos. &lt;a href=&#34;https://github.com/sponsors/affaan-m&#34;&gt;Sponsors&lt;/a&gt; and &lt;a href=&#34;https://ecc.tools/pricing&#34;&gt;Pro subscribers&lt;/a&gt; fund the work. That&amp;rsquo;s why a single maintainer ships weekly across 7 harnesses.&lt;/sub&gt;&lt;/p&gt;
&lt;div align=&#34;center&#34;&gt;
&lt;p&gt;&lt;sub&gt;&lt;strong&gt;Partners &amp;amp; sponsors&lt;/strong&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p align=&#34;center&#34; aria-label=&#34;Partners and sponsors&#34;&gt;
  &lt;a href=&#34;https://www.coderabbit.ai&#34; title=&#34;CodeRabbit&#34;&gt;&lt;img src=&#34;assets/images/sponsors/coderabbit.png&#34; height=&#34;54&#34; alt=&#34;CodeRabbit&#34; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;a href=&#34;https://www.greptile.com/go/ecc&#34; title=&#34;Greptile&#34;&gt;&lt;img src=&#34;assets/images/sponsors/greptile.png&#34; height=&#34;54&#34; alt=&#34;Greptile&#34; /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;a href=&#34;https://www.atlascloud.ai/?utm_source=github&amp;amp;utm_medium=link&amp;amp;utm_campaign=ECC&#34; title=&#34;Atlas Cloud&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/images/sponsors/atlascloud-dark.svg&#34; /&gt;&lt;img src=&#34;assets/images/sponsors/atlascloud.svg&#34; width=&#34;154&#34; alt=&#34;Atlas Cloud&#34; /&gt;&lt;/picture&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;a href=&#34;https://www.moonshot.ai&#34; title=&#34;Moonshot AI - Kimi&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/images/sponsors/moonshot-dark.png&#34; /&gt;&lt;img src=&#34;assets/images/sponsors/moonshot.png&#34; width=&#34;132&#34; alt=&#34;Moonshot AI - Kimi&#34; /&gt;&lt;/picture&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;a href=&#34;https://compute.itomarkets.com&#34; title=&#34;Itô Markets&#34;&gt;&lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;assets/images/sponsors/ito-transparent-light.png&#34; /&gt;&lt;img src=&#34;assets/images/sponsors/ito-transparent.png&#34; width=&#34;96&#34; alt=&#34;Itô Markets&#34; /&gt;&lt;/picture&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;strong&gt;Community sponsors:&lt;/strong&gt; &lt;a href=&#34;https://github.com/mikejmorgan-ai&#34;&gt;Mike Morgan&lt;/a&gt; · &lt;a href=&#34;https://github.com/jasonwu513&#34;&gt;@jasonwu513&lt;/a&gt; · &lt;a href=&#34;https://github.com/1anter&#34;&gt;@1anter&lt;/a&gt; · &lt;a href=&#34;https://github.com/massimotodaro&#34;&gt;@massimotodaro&lt;/a&gt; · &lt;a href=&#34;https://github.com/meadmccabe&#34;&gt;@meadmccabe&lt;/a&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;&lt;a href=&#34;https://github.com/sponsors/affaan-m&#34;&gt;&lt;strong&gt;Become a Sponsor&lt;/strong&gt;&lt;/a&gt; · &lt;a href=&#34;SPONSORS.md&#34;&gt;Sponsor Tiers&lt;/a&gt; · &lt;a href=&#34;SPONSORING.md&#34;&gt;Sponsorship Program&lt;/a&gt;&lt;/sub&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p align=&#34;center&#34;&gt;&lt;a href=&#34;#install-ecc&#34;&gt;Jump to install ↓&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;ecc&#34;&gt;ECC
&lt;/h1&gt;&lt;p&gt;Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills and workflows.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;plan -&amp;gt; test -&amp;gt; implement -&amp;gt; review -&amp;gt; verify -&amp;gt; remember -&amp;gt; improve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Instead of rebuilding that process in every prompt, you install it once and make it part of how your agent works.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Optimize the context window. Persist everything else.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ECC is MIT-licensed open source. It works best with Claude Code today, with first-class Codex support and adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses.&lt;/p&gt;
&lt;p&gt;Access to 67 agents, 281 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.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Included&lt;/th&gt;
					&lt;th style=&#34;text-align: right&#34;&gt;Count&lt;/th&gt;
					&lt;th&gt;What it gives you&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Agents&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;67 agents&lt;/td&gt;
					&lt;td&gt;Planning, review, build repair, security, architecture, and domain work&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Skills&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;281 skills&lt;/td&gt;
					&lt;td&gt;TDD, research, security, docs, frontend, data, ML, operations, and more&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Commands&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;94 commands&lt;/td&gt;
					&lt;td&gt;Convenient entry points while ECC moves to a skills-first surface&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hooks and memory&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;Runtime&lt;/td&gt;
					&lt;td&gt;Enforcement, session summaries, continuous learning, instincts, and context controls&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Rules&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;Selective&lt;/td&gt;
					&lt;td&gt;Always-loaded standards you choose by language or project&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AgentShield&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;Included&lt;/td&gt;
					&lt;td&gt;Scanning for prompts, hooks, MCP config, permissions, secrets, and agent files&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;install-ecc&#34;&gt;Install ECC
&lt;/h2&gt;&lt;h3 id=&#34;pick-one-path-only-per-harness&#34;&gt;Pick one path only (per harness)
&lt;/h3&gt;&lt;p&gt;You can use ECC with Claude Code, Codex, and other harnesses at the same time. Choose one install method for each harness:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Works:&lt;/strong&gt; Claude Code plugin + Codex sync&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Avoid:&lt;/strong&gt; Claude Code plugin + full Claude manual install&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Avoid:&lt;/strong&gt; Codex sync + Codex marketplace plugin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Recommended default:&lt;/strong&gt; install the Claude Code plugin for Claude Code and use the supported sync flow for Codex. &lt;strong&gt;Do not stack install methods.&lt;/strong&gt; Installing ECC twice into the same harness can duplicate skills, commands, hooks, or configuration; installing it once into multiple harnesses does not.&lt;/p&gt;
&lt;p&gt;If you already layered multiple installs and things look duplicated, skip straight to &lt;a class=&#34;link&#34; href=&#34;#reset--uninstall-ecc&#34; &gt;Reset / Uninstall ECC&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;claude-code&#34;&gt;Claude Code
&lt;/h3&gt;&lt;p&gt;Run these commands inside Claude Code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin marketplace add https://github.com/affaan-m/ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin install ecc@ecc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That installs ECC&amp;rsquo;s skills, agents, commands, and plugin-managed hooks. Claude Code plugins cannot distribute &lt;code&gt;rules&lt;/code&gt;, so add only the rule packs you actually want:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/affaan-m/ECC.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.claude/rules/ecc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -R rules/common ~/.claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -R rules/typescript ~/.claude/rules/ecc/  &lt;span class=&#34;c1&#34;&gt;# replace with your stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Start with &lt;code&gt;rules/common&lt;/code&gt; plus one language or framework pack you actually use. If you install the plugin, do not run &lt;code&gt;./install.sh --profile full&lt;/code&gt; afterward.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Prefer settings.json? Add the marketplace declaratively&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Add directly to your &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;extraKnownMarketplaces&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;ecc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nt&#34;&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;source&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;github&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;&amp;#34;repo&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;affaan-m/ECC&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;enabledPlugins&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;ecc@ecc&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This gives you the same result as the two &lt;code&gt;/plugin&lt;/code&gt; commands above.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Naming + migration note (ecc@ecc, affaan-m/ECC, ecc-universal)&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC has three public identifiers, and they are not interchangeable:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub source repo: &lt;code&gt;affaan-m/ECC&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Claude marketplace/plugin identifier: &lt;code&gt;ecc@ecc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;npm package: &lt;code&gt;ecc-universal&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is intentional. Anthropic marketplace/plugin installs are keyed by a canonical plugin identifier, so ECC uses &lt;code&gt;ecc@ecc&lt;/code&gt; to keep tool names and slash-command namespaces short enough for strict Desktop/API validators. Older posts may still show the former long marketplace identifier; treat that as a legacy alias only. Separately, the npm package stayed on &lt;code&gt;ecc-universal&lt;/code&gt;, so npm installs and marketplace installs intentionally use different names.&lt;/p&gt;
&lt;p&gt;npm releases are cut per version tag, not per commit, so &lt;code&gt;ecc-universal&lt;/code&gt; tracks releases (2.1, 2.2, &amp;hellip;) rather than every push to &lt;code&gt;main&lt;/code&gt;. Install from git if you want the bleeding edge.&lt;/p&gt;
&lt;p&gt;If your local Claude setup was wiped or reset, that does not mean you need to repurchase anything. Start with &lt;code&gt;node scripts/ecc.js list-installed&lt;/code&gt;, then run &lt;code&gt;node scripts/ecc.js doctor&lt;/code&gt; and &lt;code&gt;node scripts/ecc.js repair&lt;/code&gt; before reinstalling. That usually restores ECC-managed files without rebuilding your setup.&lt;/p&gt;
&lt;/details&gt;
&lt;h3 id=&#34;codex-app-and-cli&#34;&gt;Codex App and CLI
&lt;/h3&gt;&lt;p&gt;The reliable ECC setup for Codex is the sync flow. Run Codex once first so &lt;code&gt;~/.codex/config.toml&lt;/code&gt; exists. The sync preserves your existing Codex files, creates timestamped backups, and merges ECC&amp;rsquo;s &lt;code&gt;AGENTS.md&lt;/code&gt;, skills, prompts, agents, and reference config into &lt;code&gt;~/.codex&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/affaan-m/ECC.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bash scripts/sync-ecc-to-codex.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You can also open the ECC repository directly in Codex for a project-local setup. Codex reads the root &lt;code&gt;AGENTS.md&lt;/code&gt; and the trusted project configuration in &lt;code&gt;.codex/&lt;/code&gt; without a global sync.&lt;/p&gt;
&lt;p&gt;For repo navigation, surface ownership, and PR diff packet guidance, read the &lt;a class=&#34;link&#34; href=&#34;docs/CODEX-NAVIGATION-GUIDE.md&#34; &gt;Codex ECC Navigation Map&lt;/a&gt;.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Codex plugin marketplace (experimental for ECC)&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Codex officially supports plugin marketplaces, and ECC publishes a repo marketplace:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex plugin marketplace add affaan-m/ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex plugin marketplace list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Restart Codex, then install or enable &lt;code&gt;ecc&lt;/code&gt; from the Plugins directory. Do not add the marketplace plugin on top of the Codex sync flow. Marketplace registration is stable in Codex, but ECC&amp;rsquo;s current plugin package references shared repository content that may not be copied into Codex&amp;rsquo;s install cache. Until that upstream cache behavior is resolved, use the sync flow above when you need all ECC skills reliably.&lt;/p&gt;
&lt;p&gt;From an ECC checkout, verify the installed plugin cache with:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/codex/check-plugin-cache.js
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See the &lt;a class=&#34;link&#34; href=&#34;.codex-plugin/README.md&#34; &gt;.codex plugin notes&lt;/a&gt; for the current limitation and tracking issues.&lt;/p&gt;
&lt;/details&gt;
&lt;h3 id=&#34;other-agents-and-editors&#34;&gt;Other agents and editors
&lt;/h3&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Cursor, OpenCode, Gemini, Zed, Antigravity, Qwen, Hermes, OpenClaw, Kimi, CodeBuddy, JoyCode, Copilot&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Clone ECC once, then choose the target that matches your harness:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/affaan-m/ECC.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ECC
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Harness&lt;/th&gt;
					&lt;th&gt;Install or setup&lt;/th&gt;
					&lt;th&gt;Notes&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Cursor&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target cursor&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.cursor/&lt;/code&gt; adapter&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenCode&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;npm install &amp;amp;&amp;amp; npm run build:opencode &amp;amp;&amp;amp; ./install.sh --profile full --target opencode&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Builds the plugin payload before the full install&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Gemini CLI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target gemini&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.gemini/&lt;/code&gt; config&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Zed&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target zed&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.zed/&lt;/code&gt; adapter&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Antigravity&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target antigravity&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;See the &lt;a class=&#34;link&#34; href=&#34;docs/ANTIGRAVITY-GUIDE.md&#34; &gt;Antigravity guide&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Qwen CLI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target qwen&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;See the &lt;a class=&#34;link&#34; href=&#34;docs/QWEN-GUIDE.md&#34; &gt;Qwen guide&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hermes&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target hermes&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;See the &lt;a class=&#34;link&#34; href=&#34;docs/HERMES-SETUP.md&#34; &gt;Hermes setup guide&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenClaw&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target openclaw&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Managed home-directory install&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Kimi Code CLI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target kimi&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.kimi/&lt;/code&gt; install&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CodeBuddy&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target codebuddy&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.codebuddy/&lt;/code&gt; install&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;JoyCode&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;./install.sh --profile minimal --target joycode&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Project-local &lt;code&gt;.joycode/&lt;/code&gt; install&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;GitHub Copilot support is already included in this repository. &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; provides the instruction layer, &lt;code&gt;.github/prompts/&lt;/code&gt; contains the reusable &lt;code&gt;/plan&lt;/code&gt;, &lt;code&gt;/tdd&lt;/code&gt;, &lt;code&gt;/security-review&lt;/code&gt;, &lt;code&gt;/build-fix&lt;/code&gt;, and &lt;code&gt;/refactor&lt;/code&gt; prompts, and &lt;code&gt;.vscode/settings.json&lt;/code&gt; enables &lt;code&gt;chat.promptFiles&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For a harness without a native ECC target, use the &lt;a class=&#34;link&#34; href=&#34;docs/MANUAL-ADAPTATION-GUIDE.md&#34; &gt;manual adaptation guide&lt;/a&gt;. It explains how to carry a small set of ECC skills and workflow instructions into chat-style tools without pretending hooks or native skill discovery are available.&lt;/p&gt;
&lt;p&gt;Cursor installs agent definitions under &lt;code&gt;.cursor/agents/ecc-*.md&lt;/code&gt;. Cursor-native loading behavior can vary by Cursor build. ECC does not install root &lt;code&gt;AGENTS.md&lt;/code&gt; into &lt;code&gt;.cursor/&lt;/code&gt;. The adapter keeps Cursor&amp;rsquo;s context scoped to its native rules and agent surfaces.&lt;/p&gt;
&lt;p&gt;Deep per-harness notes (feature parity, hook adapters, limitations) live in &lt;a class=&#34;link&#34; href=&#34;#platform-support&#34; &gt;Platform Support&lt;/a&gt; below.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;advanced-install-options&#34;&gt;Advanced Install Options
&lt;/h2&gt;&lt;p&gt;The options stay here, directly under the main install paths, so you do not have to hunt through the README when the default setup is not the right fit.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Low-context install with no hook runtime&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;low-context--no-hooks-path&#34;&gt;Low-context / no-hooks path
&lt;/h3&gt;&lt;p&gt;Use this when you want ECC&amp;rsquo;s rules, agents, commands, platform config, and core workflows without runtime hooks:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --profile minimal --target claude
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# or, without cloning first&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc-install --profile minimal --target claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-profile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;minimal&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This profile intentionally excludes &lt;code&gt;hooks-runtime&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Claude manual installs place each skill directly under &lt;code&gt;~/.claude/skills/&amp;lt;skill-name&amp;gt;/&lt;/code&gt; (or &lt;code&gt;.claude/skills/&amp;lt;skill-name&amp;gt;/&lt;/code&gt; for &lt;code&gt;claude-project&lt;/code&gt;) so Claude Code can discover it. When upgrading an older ECC manual install, the installer migrates only nested &lt;code&gt;skills/ecc/&lt;/code&gt; files recorded in ECC install-state. If a flat skill directory is user-owned, ECC preserves it, prints a conflict warning, and keeps any older managed copy tracked for a safe uninstall instead of overwriting user files.&lt;/p&gt;
&lt;p&gt;For the normal core profile with hooks disabled:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --profile core --without baseline:hooks --target claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Add the hook runtime later only if you want it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --target claude --modules hooks-runtime
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Choose only the components you need&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;find-the-right-components-first&#34;&gt;Find the right components first
&lt;/h3&gt;&lt;p&gt;Ask the packaged advisor which components match your work:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc consult &lt;span class=&#34;s2&#34;&gt;&amp;#34;security reviews&amp;#34;&lt;/span&gt; --target claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;You can also install explicit skills or capabilities:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --target claude --skills tdd-workflow,security-review
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc install --profile minimal --target claude --with capability:machine-learning
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Manual component-by-component copying also works. Each component is fully independent:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Just agents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp agents/*.md ~/.claude/agents/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Rules directories (common + language-specific)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.claude/rules/ecc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r rules/common ~/.claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r rules/typescript ~/.claude/rules/ecc/   &lt;span class=&#34;c1&#34;&gt;# pick your stack&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Core/general skills only (Claude Code loads skills from direct children&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# of ~/.claude/skills; do not nest manual installs under ~/.claude/skills/ecc/)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.claude/skills
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r .agents/skills/* ~/.claude/skills/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r skills/search-first ~/.claude/skills/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Optional: maintained slash-command compatibility during migration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.claude/commands
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp commands/*.md ~/.claude/commands/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Retired shims live in &lt;code&gt;legacy-command-shims/&lt;/code&gt;. Copy individual files from there only if you still need old names such as &lt;code&gt;/tdd&lt;/code&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Project-local rules instead of global rules&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Use project-local rules when ECC&amp;rsquo;s standards should apply to one repository rather than every Claude Code session:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; your-project
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p .claude/rules/ecc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -R /path/to/ECC/rules/common .claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -R /path/to/ECC/rules/typescript .claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Rules are always-loaded context, so begin with &lt;code&gt;common&lt;/code&gt; and one pack for the stack you actually use. When copying rules manually, copy the whole language directory (for example &lt;code&gt;rules/common&lt;/code&gt; or &lt;code&gt;rules/golang&lt;/code&gt;), not the files inside it, so relative references keep working and filenames do not collide.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Fully manual Claude install&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Use this only when you are intentionally skipping the plugin path:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/affaan-m/ECC.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --profile full
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clone&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;github&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;affaan-m&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ECC&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;git&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ECC&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-profile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;full&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you choose this path, stop there. Do not also run &lt;code&gt;/plugin install&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For hand-picked manual installs, Claude discovers skills as direct children of &lt;code&gt;~/.claude/skills/&lt;/code&gt;; do not nest them under &lt;code&gt;~/.claude/skills/ecc/&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;install-hooks&#34;&gt;Install hooks
&lt;/h4&gt;&lt;p&gt;Do not copy the raw repo &lt;code&gt;hooks/hooks.json&lt;/code&gt; into &lt;code&gt;~/.claude/settings.json&lt;/code&gt; or &lt;code&gt;~/.claude/hooks/hooks.json&lt;/code&gt;. That file is plugin/repo-oriented; use the installer so hook command paths are rewritten correctly:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bash ./install.sh --target claude --modules hooks-runtime
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That writes resolved hooks to &lt;code&gt;~/.claude/hooks/hooks.json&lt;/code&gt; and leaves any existing &lt;code&gt;~/.claude/settings.json&lt;/code&gt; untouched.&lt;/p&gt;
&lt;p&gt;If you installed ECC via &lt;code&gt;/plugin install&lt;/code&gt;, do not copy those hooks into &lt;code&gt;settings.json&lt;/code&gt;. Claude Code v2.1+ already auto-loads plugin &lt;code&gt;hooks/hooks.json&lt;/code&gt;, and duplicating them in &lt;code&gt;settings.json&lt;/code&gt; causes duplicate execution and cross-platform hook conflicts.&lt;/p&gt;
&lt;p&gt;On Windows, Claude&amp;rsquo;s config root is &lt;code&gt;%USERPROFILE%\.claude&lt;/code&gt;; install the hook runtime with:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;pwsh&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-File&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-modules&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;hooks-runtime&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;configure-mcps&#34;&gt;Configure MCPs
&lt;/h4&gt;&lt;p&gt;Claude plugin installs intentionally do not auto-enable ECC&amp;rsquo;s bundled MCP server definitions. This avoids overlong plugin MCP tool names on strict third-party gateways while keeping manual MCP setup available.&lt;/p&gt;
&lt;p&gt;Use Claude Code&amp;rsquo;s &lt;code&gt;/mcp&lt;/code&gt; command or CLI-managed MCP setup for live Claude Code server changes; Claude Code persists those choices in &lt;code&gt;~/.claude.json&lt;/code&gt;. For repo-local MCP access, copy desired MCP server definitions from &lt;code&gt;mcp-configs/mcp-servers.json&lt;/code&gt; into a project-scoped &lt;code&gt;.mcp.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;ECC ships exactly one default connector (&lt;code&gt;chrome-devtools&lt;/code&gt;); everything else is a skill wrapping a CLI/REST API or an opt-in catalog entry. The rule and the June 2026 audit that retired the previous six defaults live in &lt;a class=&#34;link&#34; href=&#34;docs/MCP-CONNECTOR-POLICY.md&#34; &gt;docs/MCP-CONNECTOR-POLICY.md&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you already run your own copies of ECC-bundled MCPs, set:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_DISABLED_MCPS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;chrome-devtools&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;ECC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates. &lt;code&gt;ECC_DISABLED_MCPS&lt;/code&gt; is an ECC install/sync filter, not a live Claude Code toggle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt; Replace &lt;code&gt;YOUR_*_HERE&lt;/code&gt; placeholders with your actual API keys.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Multi-model commands require additional setup&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;&lt;code&gt;multi-*&lt;/code&gt; commands are &lt;strong&gt;not&lt;/strong&gt; covered by the base plugin/rules install.&lt;/p&gt;
&lt;p&gt;To use &lt;code&gt;/multi-plan&lt;/code&gt;, &lt;code&gt;/multi-execute&lt;/code&gt;, &lt;code&gt;/multi-backend&lt;/code&gt;, &lt;code&gt;/multi-frontend&lt;/code&gt;, and &lt;code&gt;/multi-workflow&lt;/code&gt;, you must also install the &lt;code&gt;ccg-workflow&lt;/code&gt; runtime. Initialize it with &lt;code&gt;npx ccg-workflow&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;That runtime provides the external dependencies these commands expect, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.claude/bin/codeagent-wrapper&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;~/.claude/.ccg/prompts/*&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Without &lt;code&gt;ccg-workflow&lt;/code&gt;, these &lt;code&gt;multi-*&lt;/code&gt; commands will not run correctly.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Custom API endpoints, model gateways, and self-hosted models&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC works through each harness&amp;rsquo;s normal configuration, so you can use an official provider, a compatible custom API endpoint or model gateway, or a self-hosted model without changing ECC&amp;rsquo;s workflows.&lt;/p&gt;
&lt;p&gt;For Claude Code, ECC does not hardcode Anthropic-hosted transport settings. Minimal gateway example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;https://your-gateway.example.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your-token
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If your gateway remaps model names, configure that in Claude Code rather than in ECC. ECC&amp;rsquo;s hooks, skills, commands, and rules are model-provider agnostic once the &lt;code&gt;claude&lt;/code&gt; CLI is already working. See Anthropic&amp;rsquo;s &lt;a class=&#34;link&#34; href=&#34;https://docs.anthropic.com/en/docs/claude-code/llm-gateway&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LLM gateway documentation&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://docs.anthropic.com/en/docs/claude-code/model-config&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;model configuration documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Run or self-host any open-source model behind that gateway using separate compute and serving setup. If you need GPU capacity, &lt;a class=&#34;link&#34; href=&#34;https://compute.itomarkets.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Itô&lt;/a&gt; is ECC&amp;rsquo;s preferred compute sponsor; any GPU provider works. The sponsorship link is passive: it does not invoke an RFQ, reserve capacity, provision compute, or configure serving. Separately, &lt;code&gt;ecc ito find&lt;/code&gt; invokes the explicitly configured canonical Itô CLI and submits a live authenticated RFQ; it does not reserve capacity. Managed inference through Itô is not live yet.&lt;/p&gt;
&lt;h3 id=&#34;self-host-kimi-with-ecc--itô-compute&#34;&gt;Self-host Kimi with ECC + Itô compute
&lt;/h3&gt;&lt;p&gt;The Kimi Code harness and the model-serving layer are separate. ECC configures the agent harness; you bring an API endpoint or self-host an open-weight Kimi model on your own GPU capacity:&lt;/p&gt;
&lt;table aria-label=&#34;Local Kimi model path&#34; width=&#34;100%&#34;&gt;
&lt;tr&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://compute.itomarkets.com&#34;&gt;
    &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;assets/images/sponsors/ito-transparent-light.png&#34; /&gt;&lt;img src=&#34;assets/images/sponsors/ito-transparent.png&#34; width=&#34;92&#34; alt=&#34;Itô Markets&#34; /&gt;&lt;/picture&gt;&lt;br /&gt;
    &lt;strong&gt;1. Get GPU capacity&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;Use Itô or any GPU provider.&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;https://www.moonshot.ai&#34;&gt;
    &lt;picture&gt;&lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;assets/images/sponsors/moonshot-dark.png&#34; /&gt;&lt;img src=&#34;assets/images/sponsors/moonshot.png&#34; width=&#34;126&#34; alt=&#34;Moonshot AI - Kimi&#34; /&gt;&lt;/picture&gt;&lt;br /&gt;
    &lt;strong&gt;2. Serve Kimi&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;Expose the chosen checkpoint through a compatible endpoint.&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
  &lt;a href=&#34;.kimi/README.md&#34;&gt;
    &lt;img src=&#34;assets/images/community/ecc-tools-mark.svg&#34; height=&#34;52&#34; alt=&#34;ECC Tools&#34; /&gt;&lt;br /&gt;
    &lt;strong&gt;3. Run Kimi Code with ECC&lt;/strong&gt;
  &lt;/a&gt;&lt;br /&gt;
  &lt;sub&gt;Install project instructions and skills, then start Kimi Code.&lt;/sub&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Configure the endpoint with Kimi Code&amp;rsquo;s &lt;a href=&#34;https://moonshotai.github.io/kimi-cli/en/configuration/providers.html&#34;&gt;official provider guide&lt;/a&gt;, then install ECC:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bash ./install.sh --target kimi --profile minimal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc doctor --target kimi
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;kimi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Kimi Code discovers the installed &lt;code&gt;.kimi/AGENTS.md&lt;/code&gt; instructions and &lt;code&gt;.kimi/skills/&lt;/code&gt; workflows natively. The installer dry-run and regression suite verify that the Kimi target stays inside the project-local &lt;code&gt;.kimi/&lt;/code&gt; root.&lt;/p&gt;
&lt;h3 id=&#34;itô-compute-cli-bridge&#34;&gt;Itô compute CLI bridge
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ecc ito&lt;/code&gt; delegates to the separately installed canonical Itô client; ECC does not maintain a second API client or browser handoff. The available operations are &lt;code&gt;ecc ito auth&lt;/code&gt;, &lt;code&gt;ecc ito find&lt;/code&gt;, &lt;code&gt;ecc ito status&lt;/code&gt;, and the separately gated &lt;code&gt;ecc ito evals&lt;/code&gt;. The matching MCP tools remain &lt;code&gt;ito_auth&lt;/code&gt;, &lt;code&gt;ito_find&lt;/code&gt;, and &lt;code&gt;ito_status&lt;/code&gt;; node qualification is CLI-only.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;ito-compute-cli&lt;/code&gt; package is currently unpublished. Build it locally from the Itô runtime repo (private while the desk hardens; design partners get access) under &lt;code&gt;cli/ito-compute-cli&lt;/code&gt;, run &lt;code&gt;npm ci&lt;/code&gt; and &lt;code&gt;npm run check&lt;/code&gt;, then set &lt;code&gt;ECC_ITO_CLI_EXECUTABLE&lt;/code&gt; to that build&amp;rsquo;s absolute &lt;code&gt;dist/bin/ito.js&lt;/code&gt; path. Inject &lt;code&gt;ITO_API_KEY&lt;/code&gt; from 1Password or the launching environment. ECC does not discover this credential-bearing client through &lt;code&gt;PATH&lt;/code&gt;. See the &lt;a class=&#34;link&#34; href=&#34;skills/ito-compute/SKILL.md&#34; &gt;&lt;code&gt;ito-compute&lt;/code&gt; skill&lt;/a&gt; for the full RFQ authority and MCP setup contract.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find&lt;/code&gt; submits a live authenticated RFQ. It does not reserve capacity. &lt;code&gt;evals&lt;/code&gt; requires both &lt;code&gt;ITO_ENABLE_SIXTYTWO_LIVE=1&lt;/code&gt; and &lt;code&gt;--live-sixtytwo&lt;/code&gt;, a separately installed &lt;code&gt;sixtytwo-cli==0.3.33&lt;/code&gt;, an explicit node list, and an existing absolute configuration directory. It cannot rent, launch, recover, repair, or purchase. ECC exposes no quote lock, purchase, workload, or inference path, and it never replaces a missing client or failed live call with a local result.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Reset, repair, or uninstall&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;reset--uninstall-ecc&#34;&gt;Reset / Uninstall ECC
&lt;/h3&gt;&lt;p&gt;If ECC feels duplicated, intrusive, or broken, inspect the managed state before reinstalling:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/ecc.js list-installed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/ecc.js doctor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/ecc.js repair
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/ecc.js uninstall --dry-run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For direct uninstall:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/uninstall.js --dry-run
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/uninstall.js
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Plugin users should remove the plugin from Claude Code, then delete only the rule folders they manually copied and no longer want. ECC only removes files recorded in its install-state. It does not claim unrelated files in your harness directories.&lt;/p&gt;
&lt;p&gt;If you stacked methods, clean up in this order:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Remove the Claude Code plugin install.&lt;/li&gt;
&lt;li&gt;Run the ECC uninstall command from the repo root to remove install-state-managed files.&lt;/li&gt;
&lt;li&gt;Delete any extra rule folders you copied manually and no longer want.&lt;/li&gt;
&lt;li&gt;Reinstall once, using a single path.&lt;/li&gt;
&lt;/ol&gt;
&lt;/details&gt;
&lt;h2 id=&#34;start-using-ecc&#34;&gt;Start Using ECC
&lt;/h2&gt;&lt;p&gt;Start with the workflow you need, not the full catalog.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;What you are doing&lt;/th&gt;
					&lt;th&gt;Start here&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Building a feature&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/ecc:plan &amp;quot;describe the feature&amp;quot;&lt;/code&gt;, then &lt;code&gt;tdd-workflow&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Fixing a bug&lt;/td&gt;
					&lt;td&gt;Reproduce it with a failing test, then use &lt;code&gt;tdd-workflow&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Reviewing new code&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/code-review&lt;/code&gt; for a fresh-context review&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Repairing a build&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/build-fix&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Cleaning a codebase&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/refactor-clean&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Checking context pressure&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/context-budget&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ending a long session&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/save-session&lt;/code&gt; or &lt;code&gt;/learn-eval&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Resuming later&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/resume-session&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Auditing agent config&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/security-scan&lt;/code&gt; or &lt;code&gt;npx -y ecc-agentshield scan --path .&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Plugin commands and manual commands&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Claude Code plugin commands use the namespaced form:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ecc:plan &amp;#34;Add authentication&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Manual installs may expose the shorter compatibility form:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plan &amp;#34;Add authentication&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Skills are the primary workflow surface. Commands remain convenient entry points and compatibility shims. Check what is installed with:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/plugin list ecc@ecc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Which agent should I use?&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;I want to&amp;hellip;&lt;/th&gt;
					&lt;th&gt;Use this surface&lt;/th&gt;
					&lt;th&gt;Agent used&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Plan a new feature&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/ecc:plan &amp;quot;Add auth&amp;quot;&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;planner&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Design system architecture&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/ecc:plan&lt;/code&gt; + architect agent&lt;/td&gt;
					&lt;td&gt;architect&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Write code with tests first&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;tdd-workflow&lt;/code&gt; skill&lt;/td&gt;
					&lt;td&gt;tdd-guide&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review code I just wrote&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/code-review&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;code-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Fix a failing build&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/build-fix&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;build-error-resolver&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Run end-to-end tests&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;e2e-testing&lt;/code&gt; skill&lt;/td&gt;
					&lt;td&gt;e2e-runner&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Find security vulnerabilities&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/security-scan&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;security-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Remove dead code&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/refactor-clean&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;refactor-cleaner&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Update documentation&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/update-docs&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;doc-updater&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review Go code&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/go-review&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;go-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review Python code&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/python-review&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;python-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review F# code&lt;/td&gt;
					&lt;td&gt;&lt;em&gt;(invoke &lt;code&gt;fsharp-reviewer&lt;/code&gt; directly)&lt;/em&gt;&lt;/td&gt;
					&lt;td&gt;fsharp-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review TypeScript/JavaScript code&lt;/td&gt;
					&lt;td&gt;&lt;em&gt;(invoke &lt;code&gt;typescript-reviewer&lt;/code&gt; directly)&lt;/em&gt;&lt;/td&gt;
					&lt;td&gt;typescript-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Develop HarmonyOS apps&lt;/td&gt;
					&lt;td&gt;&lt;em&gt;(invoke &lt;code&gt;harmonyos-app-resolver&lt;/code&gt; directly)&lt;/em&gt;&lt;/td&gt;
					&lt;td&gt;harmonyos-app-resolver&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Audit database queries&lt;/td&gt;
					&lt;td&gt;&lt;em&gt;(auto-delegated)&lt;/em&gt;&lt;/td&gt;
					&lt;td&gt;database-reviewer&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Review production ML changes&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;mle-workflow&lt;/code&gt; skill + &lt;code&gt;mle-reviewer&lt;/code&gt; agent&lt;/td&gt;
					&lt;td&gt;mle-reviewer&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Common workflows&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Slash forms below are shown where they remain part of the maintained command surface. Retired short-name shims such as &lt;code&gt;/tdd&lt;/code&gt; and &lt;code&gt;/eval&lt;/code&gt; live in &lt;code&gt;legacy-command-shims/&lt;/code&gt; for explicit opt-in only.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Starting a new feature:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ecc:plan &amp;#34;Add user authentication with OAuth&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                              -&amp;gt; planner creates implementation blueprint
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tdd-workflow skill                            -&amp;gt; tdd-guide enforces write-tests-first
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/code-review                                  -&amp;gt; code-reviewer checks your work
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Fixing a bug:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tdd-workflow skill                            -&amp;gt; tdd-guide: write a failing test that reproduces it
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                              -&amp;gt; implement the fix, verify test passes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/code-review                                  -&amp;gt; code-reviewer: catch regressions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Preparing for production:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/security-scan                                -&amp;gt; security-reviewer: OWASP Top 10 audit
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;e2e-testing skill                             -&amp;gt; e2e-runner: critical user flow tests
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/test-coverage                                -&amp;gt; verify 80%+ coverage
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;h2 id=&#34;whats-new-ecc-21&#34;&gt;What&amp;rsquo;s New: ECC 2.1
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
&lt;strong&gt;NEW IN ECC 2.1: Plan Canvas · Kimi harness · self-hosted compute on Itô GPUs.&lt;/strong&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/blob/main/docs/releases/2.1.0/release-notes.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;See the full release notes →&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;plan-canvas-review-plans-by-pointing-not-retyping&#34;&gt;Plan Canvas: review plans by pointing, not retyping
&lt;/h3&gt;&lt;p&gt;Your agent writes a plan, then opens it in a loopback-only browser canvas. Click the part you mean, attach numbered annotations, chat from a side rail, and hit &lt;strong&gt;Approve plan&lt;/strong&gt; or &lt;strong&gt;Request changes&lt;/strong&gt;. The verdict maps straight onto &lt;code&gt;/plan&lt;/code&gt;&amp;rsquo;s CONFIRM gate. Mermaid diagrams render live, and edits to the plan file reload the page.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/affaan-m/ECC/main/docs/releases/2.1.0/assets/ecc-plan-canvas-demo.gif&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Plan Canvas demo: reviewing an ECC plan in the browser, scrolling diagrams, attaching an anchored annotation, chatting with the agent, and approving the plan&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s harness- and model-agnostic: a plain CLI (&lt;code&gt;ecc-plan-canvas&lt;/code&gt;) speaking JSON, so any agent can drive it. Try it: ask your agent to &lt;code&gt;/ecc:plan&lt;/code&gt; anything, then review from the page instead of the terminal.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/blob/main/docs/releases/2.1.0/plan-canvas-demo.plan.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Open the plan used in this demo →&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;also-in-21&#34;&gt;Also in 2.1
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kimi Code install target&lt;/strong&gt; (&lt;code&gt;--target kimi&lt;/code&gt;): ECC installs natively into &lt;a class=&#34;link&#34; href=&#34;https://www.moonshot.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Moonshot AI&lt;/a&gt;&amp;rsquo;s Kimi Code CLI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Self-host on GPUs&lt;/strong&gt;: a verified path with &lt;a class=&#34;link&#34; href=&#34;https://compute.itomarkets.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Itô&lt;/a&gt;, ECC&amp;rsquo;s preferred compute sponsor, including the opt-in &lt;code&gt;ecc ito find&lt;/code&gt; RFQ bridge (details and disclosures above in the install options)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Moonshot AI (Kimi), Itô, and Atlas Cloud&lt;/strong&gt; are now public sponsors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hermes + OpenClaw install targets&lt;/strong&gt;, a Codex navigation guide, consolidated PostToolUse hooks, and supply-chain hardening&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;current-development-unified-memory-vault&#34;&gt;Current development: Unified Memory Vault
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ecc memory&lt;/code&gt; gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnesses one local, inspectable Markdown format for durable context and handoffs. The optional &lt;code&gt;ecc-memory-mcp&lt;/code&gt; stdio server exposes the same bounded save/search/read/doctor surface without enabling itself by default. Full detail in &lt;a class=&#34;link&#34; href=&#34;#share-context-between-harnesses&#34; &gt;Share context between harnesses&lt;/a&gt; below.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Previous releases&lt;/strong&gt;&lt;/summary&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Version&lt;/th&gt;
					&lt;th&gt;Highlights&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v2.0.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v2.0.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;The Agent Harness Operating System: cross-harness graduation, control-pane substrate, &lt;code&gt;orch-*&lt;/code&gt; orchestrators, Discord + ECC bot, single-connector MCP policy&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.10.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.10.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Surface refresh, operator workflows, ECC 2.0 alpha&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.9.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.9.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Selective install, ECC Tools Pro, 12 language ecosystems&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.8.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.8.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Harness performance and cross-platform reliability&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.7.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.7.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Cross-platform expansion and presentation builder&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.6.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.6.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Codex Edition and the ECC Tools GitHub App&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.5.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.5.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Universal Edition&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.4.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.4.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Multi-language rules, installation wizard, PM2 orchestration&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.3.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.3.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Complete OpenCode plugin support&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.2.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.2.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Unified commands and skills&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.1.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.1.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Cross-platform support and community fixes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases/tag/v1.0.0&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;v1.0.0&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Official plugin release&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Release history in detail&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;v200-the-agent-harness-operating-system-jun-2026&#34;&gt;v2.0.0: The Agent Harness Operating System (Jun 2026)
&lt;/h3&gt;&lt;p&gt;Stable graduation of the 2.0 line: the control-pane substrate (session adapters + MCP inventory), the worktree-lifecycle service, the &lt;code&gt;orch-*&lt;/code&gt; orchestrator family, and the launch of the &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/36yGMHGFbR&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ECC Discord community&lt;/a&gt;. Full notes: &lt;a class=&#34;link&#34; href=&#34;docs/releases/2.0.0/release-notes.md&#34; &gt;docs/releases/2.0.0/release-notes.md&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;v200-rc1-surface-refresh-operator-workflows-and-ecc-20-alpha-apr-2026&#34;&gt;v2.0.0-rc.1: Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dashboard GUI&lt;/strong&gt;: New Tkinter-based desktop application (&lt;code&gt;ecc_dashboard.py&lt;/code&gt; or &lt;code&gt;npm run dashboard&lt;/code&gt;) with dark/light theme toggle, font customization, and project logo in header and taskbar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Public surface synced to the live repo&lt;/strong&gt;: metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operator and outbound workflow expansion&lt;/strong&gt;: &lt;code&gt;brand-voice&lt;/code&gt;, &lt;code&gt;social-graph-ranker&lt;/code&gt;, &lt;code&gt;connections-optimizer&lt;/code&gt;, &lt;code&gt;customer-billing-ops&lt;/code&gt;, &lt;code&gt;ecc-tools-cost-audit&lt;/code&gt;, &lt;code&gt;google-workspace-ops&lt;/code&gt;, &lt;code&gt;project-flow-ops&lt;/code&gt;, and &lt;code&gt;workspace-surface-audit&lt;/code&gt; round out the operator lane.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Media and launch tooling&lt;/strong&gt;: &lt;code&gt;manim-video&lt;/code&gt;, &lt;code&gt;remotion-video-creation&lt;/code&gt;, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Framework and product surface growth&lt;/strong&gt;: &lt;code&gt;nestjs-patterns&lt;/code&gt;, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond a single harness.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Itô prediction-market skill pack&lt;/strong&gt;: &lt;code&gt;ito-market-intelligence&lt;/code&gt;, &lt;code&gt;ito-basket-compare&lt;/code&gt;, &lt;code&gt;ito-trade-planner&lt;/code&gt;, &lt;code&gt;ito-data-atlas-agent&lt;/code&gt;, &lt;code&gt;prediction-market-oracle-research&lt;/code&gt;, and &lt;code&gt;prediction-market-risk-review&lt;/code&gt; add public, non-advisory market/basket workflows while keeping live Itô API access gated and separate from ECC Tools billing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimization skill pack&lt;/strong&gt;: &lt;code&gt;parallel-execution-optimizer&lt;/code&gt;, &lt;code&gt;benchmark-optimization-loop&lt;/code&gt;, &lt;code&gt;data-throughput-accelerator&lt;/code&gt;, &lt;code&gt;latency-critical-systems&lt;/code&gt;, and &lt;code&gt;recursive-decision-ledger&lt;/code&gt; turn repeated speed/recursion prompts into bounded benchmark, throughput, and decision-ledger workflows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ECC 2.0 alpha in-tree&lt;/strong&gt;: the Rust control-plane prototype in &lt;code&gt;ecc2/&lt;/code&gt; builds locally and exposes &lt;code&gt;dashboard&lt;/code&gt;, &lt;code&gt;start&lt;/code&gt;, &lt;code&gt;sessions&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;stop&lt;/code&gt;, &lt;code&gt;resume&lt;/code&gt;, and &lt;code&gt;daemon&lt;/code&gt; commands.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operator status snapshots&lt;/strong&gt;: &lt;code&gt;ecc status --markdown --write status.md&lt;/code&gt; turns the local state store into a portable handoff covering readiness, active sessions, skill-run health, install health, pending governance events, and linked work items from Linear/GitHub/handoffs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ecosystem hardening&lt;/strong&gt;: AgentShield, ECC Tools cost controls, billing portal work, and website refreshes continue to ship around the core plugin instead of drifting into separate silos.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v190-selective-install-and-language-expansion-mar-2026&#34;&gt;v1.9.0: Selective Install and Language Expansion (Mar 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Selective install architecture&lt;/strong&gt;: Manifest-driven install pipeline with &lt;code&gt;install-plan.js&lt;/code&gt; and &lt;code&gt;install-apply.js&lt;/code&gt; for targeted component installation. State store tracks what&amp;rsquo;s installed and enables incremental updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6 new agents&lt;/strong&gt;: &lt;code&gt;typescript-reviewer&lt;/code&gt;, &lt;code&gt;pytorch-build-resolver&lt;/code&gt;, &lt;code&gt;java-build-resolver&lt;/code&gt;, &lt;code&gt;java-reviewer&lt;/code&gt;, &lt;code&gt;kotlin-reviewer&lt;/code&gt;, &lt;code&gt;kotlin-build-resolver&lt;/code&gt; expand language coverage to 10 languages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New skills&lt;/strong&gt;: &lt;code&gt;pytorch-patterns&lt;/code&gt;, &lt;code&gt;documentation-lookup&lt;/code&gt;, &lt;code&gt;bun-runtime&lt;/code&gt;, &lt;code&gt;nextjs-turbopack&lt;/code&gt;, 8 operational domain skills, and &lt;code&gt;mcp-server-patterns&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session and state infrastructure&lt;/strong&gt;: SQLite state store with query CLI, session adapters for structured recording, skill evolution foundation for self-improving skills.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Orchestration overhaul&lt;/strong&gt;: Deterministic harness audit scoring, hardened orchestration status and launcher compatibility, observer loop prevention with 5-layer guard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observer reliability&lt;/strong&gt;: Memory explosion fix with throttling and tail sampling, sandbox access fix, lazy-start logic, and re-entrancy guard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;12 language ecosystems&lt;/strong&gt;: New rules for Java, PHP, Perl, Kotlin/Android/KMP, C++, and Rust join existing TypeScript, Python, Go, and common rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community contributions&lt;/strong&gt;: Korean and Chinese translations, biome hook optimization, video processing skills, operational skills, PowerShell installer, Antigravity IDE support.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI hardening&lt;/strong&gt;: 19 test failure fixes, catalog count enforcement, install manifest validation, and full test suite green.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v180-harness-performance-system-mar-2026&#34;&gt;v1.8.0: Harness Performance System (Mar 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Harness-first release&lt;/strong&gt;: ECC is explicitly framed as an agent harness performance system, not just a config pack.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hook reliability overhaul&lt;/strong&gt;: SessionStart root fallback, Stop-phase session summaries, and script-based hooks replacing fragile inline one-liners.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hook runtime controls&lt;/strong&gt;: &lt;code&gt;ECC_HOOK_PROFILE=minimal|standard|strict&lt;/code&gt; and &lt;code&gt;ECC_DISABLED_HOOKS=...&lt;/code&gt; for runtime gating without editing hook files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New harness commands&lt;/strong&gt;: &lt;code&gt;/harness-audit&lt;/code&gt;, &lt;code&gt;/loop-start&lt;/code&gt;, &lt;code&gt;/loop-status&lt;/code&gt;, &lt;code&gt;/quality-gate&lt;/code&gt;, &lt;code&gt;/model-route&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NanoClaw v2&lt;/strong&gt;: model routing, skill hot-load, session branch/search/export/compact/metrics.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-harness parity&lt;/strong&gt;: behavior tightened across Claude Code, Cursor, OpenCode, and Codex app/CLI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;997 internal tests passing&lt;/strong&gt;: full suite green after hook/runtime refactor and compatibility updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v170-cross-platform-expansion-and-presentation-builder-feb-2026&#34;&gt;v1.7.0: Cross-Platform Expansion and Presentation Builder (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Codex app + CLI support&lt;/strong&gt;: Direct &lt;code&gt;AGENTS.md&lt;/code&gt;-based Codex support, installer targeting, and Codex docs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;frontend-slides&lt;/code&gt; skill&lt;/strong&gt;: Zero-dependency HTML presentation builder with PPTX conversion guidance and strict viewport-fit rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5 new generic business/content skills&lt;/strong&gt;: &lt;code&gt;article-writing&lt;/code&gt;, &lt;code&gt;content-engine&lt;/code&gt;, &lt;code&gt;market-research&lt;/code&gt;, &lt;code&gt;investor-materials&lt;/code&gt;, &lt;code&gt;investor-outreach&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Broader tool coverage&lt;/strong&gt;: Cursor, Codex, and OpenCode support tightened so the same repo ships cleanly across all major harnesses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;992 internal tests&lt;/strong&gt;: Expanded validation and regression coverage across plugin, hooks, skills, and packaging&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v160-codex-cli-agentshield-and-marketplace-feb-2026&#34;&gt;v1.6.0: Codex CLI, AgentShield, and Marketplace (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Codex CLI support&lt;/strong&gt;: New &lt;code&gt;/codex-setup&lt;/code&gt; command generates &lt;code&gt;codex.md&lt;/code&gt; for OpenAI Codex CLI compatibility&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;7 new skills&lt;/strong&gt;: &lt;code&gt;search-first&lt;/code&gt;, &lt;code&gt;swift-actor-persistence&lt;/code&gt;, &lt;code&gt;swift-protocol-di-testing&lt;/code&gt;, &lt;code&gt;regex-vs-llm-structured-text&lt;/code&gt;, &lt;code&gt;content-hash-cache-pattern&lt;/code&gt;, &lt;code&gt;cost-aware-llm-pipeline&lt;/code&gt;, &lt;code&gt;skill-stocktake&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AgentShield integration&lt;/strong&gt;: &lt;code&gt;/security-scan&lt;/code&gt; runs AgentShield directly from Claude Code; 1282 tests, 102 rules&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Marketplace&lt;/strong&gt;: ECC Tools GitHub App live at &lt;a class=&#34;link&#34; href=&#34;https://github.com/marketplace/ecc-tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;github.com/marketplace/ecc-tools&lt;/a&gt; with free/pro/enterprise tiers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;30+ community PRs merged&lt;/strong&gt;: Contributions from 30 contributors across 6 languages&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;978 internal tests&lt;/strong&gt;: Expanded validation suite across agents, skills, commands, hooks, and rules&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v141-bug-fix-feb-2026&#34;&gt;v1.4.1: Bug Fix (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fixed instinct import content loss&lt;/strong&gt;: &lt;code&gt;parse_instinct_file()&lt;/code&gt; was silently dropping all content after frontmatter (Action, Evidence, Examples sections) during &lt;code&gt;/instinct-import&lt;/code&gt;. (&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/148&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#148&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/pull/161&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#161&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v140-multi-language-rules-installation-wizard-and-pm2-feb-2026&#34;&gt;v1.4.0: Multi-Language Rules, Installation Wizard, and PM2 (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interactive installation wizard&lt;/strong&gt;: New &lt;code&gt;configure-ecc&lt;/code&gt; skill provides guided setup with merge/overwrite detection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PM2 and multi-agent orchestration&lt;/strong&gt;: 6 new commands (&lt;code&gt;/pm2&lt;/code&gt;, &lt;code&gt;/multi-plan&lt;/code&gt;, &lt;code&gt;/multi-execute&lt;/code&gt;, &lt;code&gt;/multi-backend&lt;/code&gt;, &lt;code&gt;/multi-frontend&lt;/code&gt;, &lt;code&gt;/multi-workflow&lt;/code&gt;) for managing complex multi-service workflows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-language rules architecture&lt;/strong&gt;: Rules restructured from flat files into &lt;code&gt;common/&lt;/code&gt; + &lt;code&gt;typescript/&lt;/code&gt; + &lt;code&gt;python/&lt;/code&gt; + &lt;code&gt;golang/&lt;/code&gt; directories. Install only the languages you need&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chinese (zh-CN) translations&lt;/strong&gt;: Complete translation of all agents, commands, skills, and rules (80+ files)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Sponsors support&lt;/strong&gt;: Sponsor the project via GitHub Sponsors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhanced CONTRIBUTING.md&lt;/strong&gt;: Detailed PR templates for each contribution type&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v130-opencode-plugin-support-feb-2026&#34;&gt;v1.3.0: OpenCode Plugin Support (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Full OpenCode integration&lt;/strong&gt;: 12 agents, 24 commands, 16 skills with hook support via OpenCode&amp;rsquo;s plugin system (20+ event types)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;3 native custom tools&lt;/strong&gt;: run-tests, check-coverage, security-audit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM documentation&lt;/strong&gt;: &lt;code&gt;llms.txt&lt;/code&gt; for comprehensive OpenCode docs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;v120-unified-commands-and-skills-feb-2026&#34;&gt;v1.2.0: Unified Commands and Skills (Feb 2026)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python/Django support&lt;/strong&gt;: Django patterns, security, TDD, and verification skills&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Java Spring Boot skills&lt;/strong&gt;: Patterns, security, TDD, and verification for Spring Boot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session management&lt;/strong&gt;: &lt;code&gt;/sessions&lt;/code&gt; command for session history&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous learning v2&lt;/strong&gt;: Instinct-based learning with confidence scoring, import/export, evolution&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See the full changelog in &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Releases&lt;/a&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;why-choose-ecc&#34;&gt;Why Choose ECC?
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Without a system&lt;/th&gt;
					&lt;th&gt;With ECC&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Plans disappear into chat history&lt;/td&gt;
					&lt;td&gt;Plans become editable artifacts before implementation starts&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&amp;ldquo;Please use TDD&amp;rdquo; is an instruction the model may forget&lt;/td&gt;
					&lt;td&gt;TDD becomes a gated RED -&amp;gt; GREEN -&amp;gt; REFACTOR workflow with evidence&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;The same context writes and reviews the code&lt;/td&gt;
					&lt;td&gt;A fresh-context reviewer looks for regressions and blind spots&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Memory means saving an enormous transcript&lt;/td&gt;
					&lt;td&gt;Sessions are distilled into summaries, instincts, and reusable skills&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Quality checks depend on reminders&lt;/td&gt;
					&lt;td&gt;Hooks can enforce deterministic checks outside the prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agent configuration is trusted by default&lt;/td&gt;
					&lt;td&gt;AgentShield scans the harness itself as an attack surface&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;tdd-test-driven-development&#34;&gt;TDD: Test-Driven Development
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ecc:plan &amp;#34;Add usage-based billing alerts&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; confirm or edit the plan
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; activate tdd-workflow
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; capture RED evidence before implementation
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; implement until GREEN
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; review from fresh context
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; fix findings with regression tests
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; verify build, lint, types, and tests
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;A result is not just code. It&amp;rsquo;s a trail of evidence: the plan, the failing test, the passing test, the review findings, and the final verification.&lt;/p&gt;
&lt;h3 id=&#34;skills-keep-the-context-focused&#34;&gt;Skills keep the context focused
&lt;/h3&gt;&lt;p&gt;Rules, skills, agents, and hooks solve different problems. Keeping those jobs separate is how ECC adds capability without dumping the entire repository into every session.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Concept&lt;/th&gt;
					&lt;th&gt;What it does&lt;/th&gt;
					&lt;th&gt;Context behavior&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Skills&lt;/td&gt;
					&lt;td&gt;Reusable workflows such as TDD, security review, or deep research&lt;/td&gt;
					&lt;td&gt;Loaded when the task needs them&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agents&lt;/td&gt;
					&lt;td&gt;Scoped workers with their own context and tool permissions&lt;/td&gt;
					&lt;td&gt;Isolate planning, implementation, and review&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Rules&lt;/td&gt;
					&lt;td&gt;Durable project or language standards&lt;/td&gt;
					&lt;td&gt;Always loaded, so install them selectively&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hooks&lt;/td&gt;
					&lt;td&gt;Scripts triggered by harness events&lt;/td&gt;
					&lt;td&gt;Run outside the model context&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Instincts&lt;/td&gt;
					&lt;td&gt;Patterns learned from real sessions with confidence scores&lt;/td&gt;
					&lt;td&gt;Recalled when relevant&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;share-context-between-harnesses&#34;&gt;Share context between harnesses
&lt;/h3&gt;&lt;p&gt;ECC&amp;rsquo;s Memory Vault gives Claude, Codex, Hermes, OpenClaw, Kimi, and other harnesses one local, inspectable Markdown format for durable context and handoffs. Project and team memories live under &lt;code&gt;.ecc/memory/&lt;/code&gt;; user memories live under &lt;code&gt;~/.ecc/memory/&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g ecc-universal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory init --scope project
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory search &lt;span class=&#34;s2&#34;&gt;&amp;#34;authentication migration&amp;#34;&lt;/span&gt; --target-harness codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory doctor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Memory is unreviewed context, not executable policy. Verify important claims against authoritative sources and promote accepted knowledge into governed project documentation. The optional &lt;code&gt;ecc-memory-mcp&lt;/code&gt; server exposes the same bounded save, search, read, and doctor surface without enabling itself by default.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;skills/unified-memory/SKILL.md&#34; &gt;Open the Unified Memory workflow →&lt;/a&gt;&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Memory Vault in depth: scopes, handoffs, and trust boundaries&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;The Memory Vault stores portable &lt;code&gt;ecc.memory.v1&lt;/code&gt; Markdown documents instead of copying vendor transcripts or emailing context between agents. Project memories are protected by a fail-closed &lt;code&gt;.gitignore&lt;/code&gt;; use the team scope only for human-inspected, version-controlled sharing. Team memories remain unreviewed context even after they are committed.&lt;/p&gt;
&lt;p&gt;Skill-only, minimal, manual, and Claude plugin installs do not put the Memory Vault runtime on &lt;code&gt;PATH&lt;/code&gt;. Install the npm runtime separately before using the CLI or optional MCP server:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g ecc-universal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory --help
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; -v ecc-memory-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Initialize the project vault.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory init --scope project
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Write a handoff body to a regular file, then target the next harness.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory handoff &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --from hermes &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --target codex &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --title &lt;span class=&#34;s2&#34;&gt;&amp;#34;Continue authentication migration&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --body-file ./handoff.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Recall it from another harness.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory search &lt;span class=&#34;s2&#34;&gt;&amp;#34;authentication migration&amp;#34;&lt;/span&gt; --target-harness codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory &lt;span class=&#34;nb&#34;&gt;read&lt;/span&gt; &amp;lt;memory-id&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Validate the vault before sharing team memories.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ecc memory doctor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Memory bodies are accepted only through &lt;code&gt;--stdin&lt;/code&gt; or &lt;code&gt;--body-file&lt;/code&gt;, not as command-line values. The first release keeps every vault entry unreviewed and create-only; human review promotes accepted knowledge into governed project documentation rather than changing memory trust. Normal search recall returns active project and team memories. A direct ID read may inspect a non-active entry. User-scope recall must be requested explicitly. Agents must verify important claims against authoritative sources and must never treat recalled bodies as executable instructions or policy.&lt;/p&gt;
&lt;p&gt;For opt-in MCP access, add the &lt;code&gt;ecc-memory-vault&lt;/code&gt; entry from &lt;a class=&#34;link&#34; href=&#34;mcp-configs/mcp-servers.json&#34; &gt;&lt;code&gt;mcp-configs/mcp-servers.json&lt;/code&gt;&lt;/a&gt; to each harness that needs it, then run &lt;code&gt;ecc-memory-mcp&lt;/code&gt;. The server exposes only &lt;code&gt;memory_save&lt;/code&gt;, &lt;code&gt;memory_search&lt;/code&gt;, &lt;code&gt;memory_read&lt;/code&gt;, and &lt;code&gt;memory_doctor&lt;/code&gt;. Each server must launch with a lowercase &lt;code&gt;ECC_MEMORY_HARNESS&lt;/code&gt; identity; the identity is server-bound and cannot be supplied by a tool caller. User scope additionally requires the operator-controlled &lt;code&gt;ECC_MEMORY_ALLOW_USER_SCOPE=1&lt;/code&gt; opt-in. See &lt;a class=&#34;link&#34; href=&#34;skills/unified-memory/SKILL.md&#34; &gt;&lt;code&gt;skills/unified-memory/SKILL.md&lt;/code&gt;&lt;/a&gt; for the workflow and trust boundaries, and &lt;a class=&#34;link&#34; href=&#34;docs/design/ecc-memory-vault.md&#34; &gt;&lt;code&gt;docs/design/ecc-memory-vault.md&lt;/code&gt;&lt;/a&gt; for the capability contract.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;guides&#34;&gt;Guides
&lt;/h2&gt;&lt;p&gt;This repo is the raw code. The guides explain everything.&lt;/p&gt;
&lt;table aria-label=&#34;ECC guides&#34; width=&#34;100%&#34;&gt;
&lt;tr&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
&lt;a href=&#34;./the-shortform-guide.md&#34;&gt;
&lt;img src=&#34;assets/images/guides/shorthand-guide.png&#34; width=&#34;213&#34; height=&#34;120&#34; alt=&#34;The Shorthand Guide to ECC&#34; /&gt;&lt;br /&gt;
&lt;strong&gt;The Shorthand Guide&lt;/strong&gt;
&lt;/a&gt;
&lt;br /&gt;&lt;sub&gt;Setup, foundations, and day-one use. &lt;b&gt;Read this first.&lt;/b&gt; (&lt;a href=&#34;https://x.com/affaan/status/2012378465664745795&#34;&gt;thread&lt;/a&gt;)&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
&lt;a href=&#34;./the-longform-guide.md&#34;&gt;
&lt;img src=&#34;assets/images/guides/longform-guide.png&#34; width=&#34;213&#34; height=&#34;120&#34; alt=&#34;The Longform Guide to ECC&#34; /&gt;&lt;br /&gt;
&lt;strong&gt;The Longform Guide&lt;/strong&gt;
&lt;/a&gt;
&lt;br /&gt;&lt;sub&gt;Context economics, memory, evals, and parallel agents. (&lt;a href=&#34;https://x.com/affaan/status/2014040193557471352&#34;&gt;thread&lt;/a&gt;)&lt;/sub&gt;
&lt;/td&gt;
&lt;td width=&#34;33%&#34; align=&#34;center&#34;&gt;
&lt;a href=&#34;./the-security-guide.md&#34;&gt;
&lt;img src=&#34;assets/images/guides/security-guide.png&#34; width=&#34;213&#34; height=&#34;120&#34; alt=&#34;The Security Guide to ECC&#34; /&gt;&lt;br /&gt;
&lt;strong&gt;The Security Guide&lt;/strong&gt;
&lt;/a&gt;
&lt;br /&gt;&lt;sub&gt;Prompt injection, hooks, MCP, and AgentShield. (&lt;a href=&#34;https://x.com/affaan/status/2033263813387223421&#34;&gt;thread&lt;/a&gt;)&lt;/sub&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Topic&lt;/th&gt;
					&lt;th&gt;What You&amp;rsquo;ll Learn&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Token Optimization&lt;/td&gt;
					&lt;td&gt;Model selection, system prompt slimming, background processes&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Memory Persistence&lt;/td&gt;
					&lt;td&gt;Hooks that save/load context across sessions automatically&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Continuous Learning&lt;/td&gt;
					&lt;td&gt;Auto-extract patterns from sessions into reusable skills&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Verification Loops&lt;/td&gt;
					&lt;td&gt;Checkpoint vs continuous evals, grader types, pass@k metrics&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Parallelization&lt;/td&gt;
					&lt;td&gt;Git worktrees, cascade method, when to scale instances&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Subagent Orchestration&lt;/td&gt;
					&lt;td&gt;The context problem, iterative retrieval pattern&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;./COMMANDS-QUICK-REF.md&#34; &gt;Commands Quick Reference&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;docs/MANUAL-ADAPTATION-GUIDE.md&#34; &gt;Manual Adaptation Guide&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;whats-inside&#34;&gt;What&amp;rsquo;s Inside
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ECC/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- agents/           # 67 specialized subagents for delegation
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- skills/           # 281 reusable workflows loaded on demand
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- commands/         # 94 maintained slash-command shims
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- rules/            # opt-in common and language standards
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- hooks/            # runtime automation and enforcement
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- scripts/          # install, repair, sync, orchestration, and checks
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- .claude-plugin/   # Claude Code marketplace manifest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- .codex/           # Codex reference configuration and agent roles
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- .opencode/        # OpenCode plugin, commands, and instructions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- .cursor/          # Cursor rules and hook adapter
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;|-- docs/             # public setup, architecture, and operating guides
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The root is the source of truth. Platform adapters package or map these same workflows instead of maintaining separate copies.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Annotated component catalog&lt;/strong&gt;&lt;/summary&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;  1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 81
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 82
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 83
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 84
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 85
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 86
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 87
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 88
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 89
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 90
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 91
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 92
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 93
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 94
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 95
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 96
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 97
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 98
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 99
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;100
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;101
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;102
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;103
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;104
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;105
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;106
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;107
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;108
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;109
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;110
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;111
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;112
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;113
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;114
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;115
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;116
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;117
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;118
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;119
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;120
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;121
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;122
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;123
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;124
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;125
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;126
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;127
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;128
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;129
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;130
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;131
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;132
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;133
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;134
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;135
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;136
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;137
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;138
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;139
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;140
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;141
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;142
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;143
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;144
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;145
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;146
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;147
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;148
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;149
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;150
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;151
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;152
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;153
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;154
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;155
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;156
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;157
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;158
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;159
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;160
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;161
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;162
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;163
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;164
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;165
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;166
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;167
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;168
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;169
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;170
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;171
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;172
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;173
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;174
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;175
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;176
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;177
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;178
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;179
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;180
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;181
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;182
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;183
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;184
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;185
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;186
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;187
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;188
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;189
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;190
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;191
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;192
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;193
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;194
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;195
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;196
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;197
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;198
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;199
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;200
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;201
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;202
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;203
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;204
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;205
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;206
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;207
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;ECC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Plugin and marketplace manifests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plugin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Plugin metadata and component paths&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;marketplace&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Marketplace catalog for /plugin marketplace add&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agents&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# 67 specialized subagents for delegation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;planner&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Feature implementation planning&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;architect&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# System design decisions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;guide&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Test-driven development&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Quality and security review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Vulnerability analysis&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e2e&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;runner&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Playwright E2E testing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;refactor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cleaner&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Dead code cleanup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;doc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;updater&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Documentation sync&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;lookup&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Documentation/API lookup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;chief&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;of&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;staff&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Communication triage and drafts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;loop&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;operator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Autonomous loop execution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;harness&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;optimizer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Harness config tuning&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cpp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# C++ code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cpp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# C++ build error resolution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fsharp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# F# functional code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Go code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Go build error resolution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Python code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;database&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Database/Supabase review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;typescript&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# TypeScript/JavaScript code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;java&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Java/Spring Boot code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;java&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Java/Maven/Gradle build errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kotlin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Kotlin/Android/KMP code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kotlin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Kotlin/Gradle build errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;harmonyos&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;app&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# HarmonyOS/ArkTS app development&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rust&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Rust code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rust&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Rust build error resolution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pytorch&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resolver&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# PyTorch/CUDA training errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mle&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;reviewer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Production ML pipeline, eval, serving, and monitoring review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;skills&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Workflow definitions and domain knowledge&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;coding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;standards&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Language best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clickhouse&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;io&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# ClickHouse analytics, queries, data engineering&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;backend&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# API, database, caching patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frontend&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# React, Next.js patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;frontend&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;slides&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# HTML slide decks and PPTX-to-web presentation workflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;article&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;writing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Long-form writing in a supplied voice without generic AI tone&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;engine&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Multi-platform social content and repurposing workflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;market&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;research&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Source-attributed market, competitor, and investor research&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;investor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;materials&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Pitch decks, one-pagers, memos, and financial models&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;investor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;outreach&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Personalized fundraising outreach and follow-up&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;continuous&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;learning&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Legacy v1 Stop-hook pattern extraction&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;continuous&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;learning&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Instinct-based learning with confidence scoring&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;iterative&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;retrieval&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Progressive context refinement for subagents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;strategic&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;compact&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Manual compaction suggestions (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;workflow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# TDD methodology&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;review&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Security checklist&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eval&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;harness&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Verification loop evaluation (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;verification&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loop&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Continuous verification (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;videodb&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                    &lt;span class=&#34;c1&#34;&gt;# Video and audio: ingest, search, edit, generate, stream&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;golang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Go idioms and best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;golang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Go testing patterns, TDD, benchmarks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cpp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;coding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;standards&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# C++ coding standards from C++ Core Guidelines&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cpp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                &lt;span class=&#34;c1&#34;&gt;# C++ testing with GoogleTest, CMake/CTest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;django&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Django patterns, models, views&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;django&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Django security best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;django&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                 &lt;span class=&#34;c1&#34;&gt;# Django TDD workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;django&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;verification&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Django verification loops&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;laravel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Laravel architecture patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;laravel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Laravel security best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;laravel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                &lt;span class=&#34;c1&#34;&gt;# Laravel TDD workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;laravel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;verification&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Laravel verification loops&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Python idioms and best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Python testing with pytest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quarkus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Java Quarkus patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quarkus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Quarkus security&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quarkus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                &lt;span class=&#34;c1&#34;&gt;# Quarkus TDD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quarkus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;verification&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Quarkus verification&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;springboot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Java Spring Boot patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;springboot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Spring Boot security&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;springboot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Spring Boot TDD&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;springboot&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;verification&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Spring Boot verification&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;configure&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ecc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Interactive installation wizard&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;scan&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# AgentShield security auditor integration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;java&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;coding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;standards&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Java coding standards&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;jpa&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# JPA/Hibernate patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;postgres&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# PostgreSQL optimization patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nutrient&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;processing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Document processing with Nutrient API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;database&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;migrations&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Migration patterns (Prisma, Drizzle, Django, Go)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;design&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                 &lt;span class=&#34;c1&#34;&gt;# REST API design, pagination, error responses&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deployment&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# CI/CD, Docker, health checks, rollbacks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;docker&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Docker Compose, networking, volumes, container security&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e2e&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                &lt;span class=&#34;c1&#34;&gt;# Playwright E2E patterns and Page Object Model&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;hash&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cache&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pattern&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# SHA-256 content hash caching for file processing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;aware&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;llm&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pipeline&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# LLM cost optimization, model routing, budget tracking&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;regex&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;vs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;llm&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;structured&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Decision framework: regex vs LLM for text parsing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;actor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;persistence&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Thread-safe Swift data persistence with actors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;protocol&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;di&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Protocol-based DI for testable Swift code&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;search&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;first&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Research-before-coding workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;skill&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stocktake&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Audit skills and commands for quality&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;liquid&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;glass&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;design&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# iOS 26 Liquid Glass design system&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;foundation&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;device&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Apple on-device LLM with FoundationModels&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;concurrency&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;6&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Swift 6.2 Approachable Concurrency&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mle&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;workflow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Production ML data contracts, evals, deployment, monitoring&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;perl&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Modern Perl 5.36+ idioms and best practices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;perl&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Perl security patterns, taint mode, safe I/O&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;perl&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Perl TDD with Test2::V0, prove, Devel::Cover&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;autonomous&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loops&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plankton&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quality&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Write-time code quality enforcement with Plankton hooks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;codehealth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Optional CodeScene Code Health MCP skill (opt-in)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;examples&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;project&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;guidelines&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Template for project-specific skills&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;commands&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Maintained slash-entry compatibility; prefer skills/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;plan&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# /plan - Implementation planning&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;review&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# /code-review - Quality review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fix&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# /build-fix - Fix build errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;refactor&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;clean&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# /refactor-clean - Dead code removal&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quality&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gate&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# /quality-gate - Verification gate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;learn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# /learn - Extract patterns mid-session (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;learn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;eval&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# /learn-eval - Extract, evaluate, and save patterns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;checkpoint&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# /checkpoint - Save verification state (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pm&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# /setup-pm - Configure package manager&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;review&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# /go-review - Go code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# /go-test - Go TDD workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;build&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# /go-build - Fix Go build errors&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;skill&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;create&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# /skill-create - Generate skills from git history&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;instinct&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;status&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# /instinct-status - View learned instincts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;instinct&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;import&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# /instinct-import - Import instincts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;instinct&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;export&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# /instinct-export - Export instincts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;evolve&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# /evolve - Cluster instincts into skills&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;prune&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# /prune - Delete expired pending instincts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pm2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# /pm2 - PM2 service lifecycle management&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;plan&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# /multi-plan - Multi-agent task decomposition&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;execute&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# /multi-execute - Orchestrated multi-agent workflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;backend&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# /multi-backend - Backend multi-service orchestration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;frontend&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# /multi-frontend - Frontend multi-service orchestration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;workflow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# /multi-workflow - General multi-service workflows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sessions&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# /sessions - Session history management&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;test&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;coverage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# /test-coverage - Test coverage analysis&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;update&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# /update-docs - Update documentation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;update&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;codemaps&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# /update-codemaps - Update codemaps&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;review&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# /python-review - Python code review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;legacy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;shims&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Opt-in archive for retired shims such as /tdd and /eval&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tdd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# /tdd - Prefer the tdd-workflow skill&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e2e&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# /e2e - Prefer the e2e-testing skill&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eval&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# /eval - Prefer the eval-harness skill&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;verify&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# /verify - Prefer the verification-loop skill&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;orchestrate&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# /orchestrate - Prefer dmux-workflows or multi-workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rules&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Always-follow guidelines (copy to ~/.claude/rules/ecc/)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;README&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Structure overview and installation guide&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;common&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Language-agnostic principles&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;coding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Immutability, file organization&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;workflow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# Commit format, PR process&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# TDD, 80% coverage requirement&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;performance&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Model selection, context management&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;patterns&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Design patterns, skeleton projects&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Hook architecture, TodoWrite&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agents&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# When to delegate to subagents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Mandatory security checks&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;typescript&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# TypeScript/JavaScript specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Python specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;golang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Go specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Swift specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                 &lt;span class=&#34;c1&#34;&gt;# PHP specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;arkts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# HarmonyOS / ArkTS specific&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Trigger-based automations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;README&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;                 &lt;span class=&#34;c1&#34;&gt;# Hook documentation, recipes, and customization guide&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;                &lt;span class=&#34;c1&#34;&gt;# All hooks config (PreToolUse, PostToolUse, Stop, etc.)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;persistence&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Session lifecycle hooks (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;strategic&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;compact&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Compaction suggestions (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Cross-platform Node.js scripts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lib&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                     &lt;span class=&#34;c1&#34;&gt;# Shared utilities&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;utils&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Cross-platform file/path/system utilities&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;package&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;manager&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Package manager detection and selection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                   &lt;span class=&#34;c1&#34;&gt;# Hook implementations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;session&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;start&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Load context on session start&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;session&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Save state on session end&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pre&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;compact&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;       &lt;span class=&#34;c1&#34;&gt;# Pre-compaction state saving&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;suggest&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;compact&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Strategic compaction suggestions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;evaluate&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;session&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Extract patterns from sessions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;package&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;manager&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Interactive PM setup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;c1&#34;&gt;# Test suite&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lib&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                     &lt;span class=&#34;c1&#34;&gt;# Library tests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                   &lt;span class=&#34;c1&#34;&gt;# Hook tests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;all&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;               &lt;span class=&#34;c1&#34;&gt;# Run all tests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;contexts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Dynamic system prompt injection contexts (Longform Guide)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;              &lt;span class=&#34;c1&#34;&gt;# Development mode context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;review&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Code review mode context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;research&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Research/exploration mode context&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;examples&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# Example configurations and sessions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# Example project-level config&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Example user-level config&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;saas&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nextjs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# Real-world SaaS (Next.js + Supabase + Stripe)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;go&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;microservice&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# Real-world Go microservice (gRPC + PostgreSQL)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;django&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# Real-world Django REST API (DRF + Celery)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;laravel&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# Real-world Laravel API (PostgreSQL + Redis)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rust&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;api&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLAUDE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# Real-world Rust API (Axum + SQLx + PostgreSQL)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;configs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# MCP server configurations&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mcp&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;servers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;# GitHub, Supabase, Vercel, Railway, etc.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ecc_dashboard&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;py&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Desktop GUI dashboard (Tkinter)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;|--&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;marketplace&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# Self-hosted marketplace config (for /plugin marketplace add)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Dashboard GUI&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Launch the desktop dashboard to visually explore ECC components:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run dashboard
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# or&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 ./ecc_dashboard.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tabbed interface: Agents, Skills, Commands, Rules, Settings&lt;/li&gt;
&lt;li&gt;Dark/Light theme toggle&lt;/li&gt;
&lt;li&gt;Font customization (family and size)&lt;/li&gt;
&lt;li&gt;Project logo in header and taskbar&lt;/li&gt;
&lt;li&gt;Search and filter across all components&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h2 id=&#34;ecosystem-tools&#34;&gt;Ecosystem Tools
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Skill Creator: generate skills from your git history&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Two ways to generate skills from your repository:&lt;/p&gt;
&lt;h4 id=&#34;option-a-local-analysis-built-in&#34;&gt;Option A: Local Analysis (Built-in)
&lt;/h4&gt;&lt;p&gt;Use the &lt;code&gt;/skill-create&lt;/code&gt; command for local analysis without external services:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/skill-create                    &lt;span class=&#34;c1&#34;&gt;# Analyze current repo&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/skill-create --instincts        &lt;span class=&#34;c1&#34;&gt;# Also generate instincts for continuous-learning-v2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This analyzes your git history locally and generates SKILL.md files.&lt;/p&gt;
&lt;h4 id=&#34;option-b-github-app-advanced&#34;&gt;Option B: GitHub App (Advanced)
&lt;/h4&gt;&lt;p&gt;For advanced features (10k+ commits, auto-PRs, team sharing):&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/apps/ecc-tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Install ECC Tools GitHub App&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://ecc.tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ecc.tools&lt;/a&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Comment on any issue:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/ecc-tools analyze
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Both options create:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SKILL.md files&lt;/strong&gt;: Ready-to-use skills for the active harness&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instinct collections&lt;/strong&gt;: For continuous-learning-v2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pattern extraction&lt;/strong&gt;: Learns from your commit history&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;AgentShield: security auditor for agent configs&lt;/strong&gt;&lt;/summary&gt;
&lt;blockquote&gt;
&lt;p&gt;Built at the Claude Code Hackathon (Cerebral Valley x Anthropic, Feb 2026). 1282 tests, 98% coverage, 102 static analysis rules.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Scan your agent configuration for vulnerabilities, misconfigurations, and injection risks.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Quick scan (no install needed)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc-agentshield scan
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Auto-fix safe issues&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc-agentshield scan --fix
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Deep analysis with three Opus 4.6 agents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc-agentshield scan --opus --stream
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Generate secure config from scratch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx ecc-agentshield init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;What it scans:&lt;/strong&gt; CLAUDE.md, settings.json, MCP configs, hooks, agent definitions, and skills across 5 categories: secrets detection (14 patterns), permission auditing, hook injection analysis, MCP server risk profiling, and agent config review.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &lt;code&gt;--opus&lt;/code&gt; flag&lt;/strong&gt; runs three Claude Opus 4.6 agents in a red-team/blue-team/auditor pipeline. The attacker finds exploit chains, the defender evaluates protections, and the auditor synthesizes both into a prioritized risk assessment. Adversarial reasoning, not just pattern matching.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Output formats:&lt;/strong&gt; Terminal (color-graded A-F), JSON (CI pipelines), Markdown, HTML. Exit code 2 on critical findings for build gates.&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;/security-scan&lt;/code&gt; in Claude Code to run it, or add to CI with the &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/agentshield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Action&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/agentshield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/ecc-agentshield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;npm&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Continuous Learning v2: instincts&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;The instinct-based learning system automatically learns your patterns:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/instinct-status        &lt;span class=&#34;c1&#34;&gt;# Show learned instincts with confidence&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/instinct-import &amp;lt;file&amp;gt; &lt;span class=&#34;c1&#34;&gt;# Import instincts from others&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/instinct-export        &lt;span class=&#34;c1&#34;&gt;# Export your instincts for sharing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/evolve                 &lt;span class=&#34;c1&#34;&gt;# Cluster related instincts into skills&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See &lt;code&gt;skills/continuous-learning-v2/&lt;/code&gt; for full documentation. Keep &lt;code&gt;continuous-learning/&lt;/code&gt; only when you explicitly want the legacy v1 Stop-hook learned-skill flow.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;key-concepts&#34;&gt;Key Concepts
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Agents, skills, hooks, and rules explained&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;agents&#34;&gt;Agents
&lt;/h3&gt;&lt;p&gt;Subagents handle delegated tasks with limited scope. Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;code-reviewer&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Reviews code for quality, security, and maintainability&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;tools&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Read, Grep, Glob, Bash&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;opus&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;You are a senior code reviewer...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;skills&#34;&gt;Skills
&lt;/h3&gt;&lt;p&gt;Skills are the primary workflow surface. They can be invoked directly, suggested automatically, and reused by agents. ECC still ships maintained &lt;code&gt;commands/&lt;/code&gt; during migration, while retired short-name shims live under &lt;code&gt;legacy-command-shims/&lt;/code&gt; for explicit opt-in only. New workflow development should land in &lt;code&gt;skills/&lt;/code&gt; first.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gh&#34;&gt;# TDD Workflow
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;1.&lt;/span&gt; Define interfaces first
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;2.&lt;/span&gt; Write failing tests (RED)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;3.&lt;/span&gt; Implement minimal code (GREEN)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;4.&lt;/span&gt; Refactor (IMPROVE)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;5.&lt;/span&gt; Verify 80%+ coverage
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;hooks&#34;&gt;Hooks
&lt;/h3&gt;&lt;p&gt;Hooks fire on tool events. Example: warn about console.log:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;matcher&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;tool == \&amp;#34;Edit\&amp;#34; &amp;amp;&amp;amp; tool_input.file_path matches \&amp;#34;\\\\.(ts|tsx|js|jsx)$\&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;hooks&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;#!/bin/bash\ngrep -n &amp;#39;console\\.log&amp;#39; \&amp;#34;$file_path\&amp;#34; &amp;amp;&amp;amp; echo &amp;#39;[Hook] Remove console.log&amp;#39; &amp;gt;&amp;amp;2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;rules&#34;&gt;Rules
&lt;/h3&gt;&lt;p&gt;Rules are always-follow guidelines, organized into &lt;code&gt;common/&lt;/code&gt; (language-agnostic) + language-specific directories:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;rules&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;common&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Universal principles (always install)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;typescript&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# TS/JS specific patterns and tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Python specific patterns and tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;golang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;c1&#34;&gt;# Go specific patterns and tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# Swift specific patterns and tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;             &lt;span class=&#34;c1&#34;&gt;# PHP specific patterns and tools&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;arkts&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# HarmonyOS / ArkTS patterns and constraints&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;rules/README.md&#34; &gt;&lt;code&gt;rules/README.md&lt;/code&gt;&lt;/a&gt; for installation and structure details.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;cross-platform-support&#34;&gt;Cross-Platform Support
&lt;/h2&gt;&lt;p&gt;ECC fully supports &lt;strong&gt;Windows, macOS, and Linux&lt;/strong&gt;, alongside tight integration across major IDEs (Cursor, Zed, OpenCode, Antigravity) and CLI harnesses. All hooks and scripts are written in Node.js for maximum compatibility.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Package manager detection&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;The plugin automatically detects your preferred package manager (npm, pnpm, yarn, or bun) with the following priority:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Environment variable&lt;/strong&gt;: &lt;code&gt;CLAUDE_PACKAGE_MANAGER&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project config&lt;/strong&gt;: &lt;code&gt;.claude/package-manager.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;package.json&lt;/strong&gt;: &lt;code&gt;packageManager&lt;/code&gt; field&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lock file&lt;/strong&gt;: Detection from package-lock.json, yarn.lock, pnpm-lock.yaml, or bun.lockb&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global config&lt;/strong&gt;: &lt;code&gt;~/.claude/package-manager.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fallback&lt;/strong&gt;: First available package manager&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To set your preferred package manager:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via environment variable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;CLAUDE_PACKAGE_MANAGER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pnpm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via global config&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/setup-package-manager.js --global pnpm
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Via project config&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/setup-package-manager.js --project bun
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Detect current setting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/setup-package-manager.js --detect
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Or use the &lt;code&gt;/setup-pm&lt;/code&gt; command.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Hook runtime controls (env vars)&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Use runtime flags to tune strictness or disable specific hooks temporarily:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Hook strictness profile (default: standard)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_HOOK_PROFILE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;standard
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Comma-separated hook IDs to disable&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_DISABLED_HOOKS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;pre:bash:tmux-reminder,post:edit:typecheck&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cap SessionStart additional context (default: 8000 chars)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_SESSION_START_MAX_CHARS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Disable SessionStart additional context entirely for low-context/local-model setups&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_SESSION_START_CONTEXT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;off
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Session-tmp retention window in days (default: 30).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set to 0, off, false, disabled, never, or none to keep all sessions (disable pruning).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_SESSION_RETENTION_DAYS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;14&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cap how many learned instincts SessionStart injects into context (default: 6)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_MAX_INJECTED_INSTINCTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;6&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Minimum confidence an instinct needs to be injected, 0-1 (default: 0.7)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_INSTINCT_CONFIDENCE_THRESHOLD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0.7
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Keep context/scope/loop warnings but suppress API-rate cost estimates&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_CONTEXT_MONITOR_COST_WARNINGS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;Environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SetEnvironmentVariable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ECC_CONTEXT_MONITOR_COST_WARNINGS&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;User&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;Environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SetEnvironmentVariable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ECC_SESSION_RETENTION_DAYS&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;14&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;User&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Agent data home (multi-harness isolation)&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Memory persistence hooks (session summaries, learned skills, session aliases, metrics) store data under a single agent data root. By default that root is &lt;code&gt;~/.claude&lt;/code&gt;. When you use ECC in both Claude Code and Cursor on the same machine, set a separate root for Cursor so the two environments do not overwrite each other&amp;rsquo;s session files:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Cursor-only boundary (Claude Code keeps the default ~/.claude)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_AGENT_DATA_HOME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/.cursor/ecc&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Paths resolved under that root include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;$ECC_AGENT_DATA_HOME/session-data/&lt;/code&gt;: session summaries&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$ECC_AGENT_DATA_HOME/skills/learned/&lt;/code&gt;: learned skills from evaluate-session&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$ECC_AGENT_DATA_HOME/session-aliases.json&lt;/code&gt;: session aliases&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$ECC_AGENT_DATA_HOME/metrics/&lt;/code&gt;: cost and activity metrics&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/2065&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;affaan-m/ECC#2065&lt;/a&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;platform-support&#34;&gt;Platform Support
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Harness&lt;/th&gt;
					&lt;th&gt;ECC distribution&lt;/th&gt;
					&lt;th&gt;Main instruction surface&lt;/th&gt;
					&lt;th&gt;Automation&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Claude Code&lt;/td&gt;
					&lt;td&gt;Plugin or selective installer&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;, rules, skills, agents&lt;/td&gt;
					&lt;td&gt;Native plugin hooks&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Codex&lt;/td&gt;
					&lt;td&gt;Sync flow, repo config, experimental ECC marketplace&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;, skills, &lt;code&gt;.codex/config.toml&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Git hooks and Codex-native configuration&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Cursor&lt;/td&gt;
					&lt;td&gt;Project adapter&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.cursor/rules/&lt;/code&gt;, scoped agents&lt;/td&gt;
					&lt;td&gt;Cursor hook adapter&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenCode&lt;/td&gt;
					&lt;td&gt;Built plugin plus selective installer&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;opencode.json&lt;/code&gt;, instructions, commands&lt;/td&gt;
					&lt;td&gt;OpenCode plugin events&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GitHub Copilot&lt;/td&gt;
					&lt;td&gt;Checked-in instruction layer&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;copilot-instructions.md&lt;/code&gt;, prompt files&lt;/td&gt;
					&lt;td&gt;No ECC hook runtime&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;cross-tool-feature-parity&#34;&gt;Cross-Tool Feature Parity
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Feature&lt;/th&gt;
					&lt;th&gt;Claude Code&lt;/th&gt;
					&lt;th&gt;Cursor IDE&lt;/th&gt;
					&lt;th&gt;Codex CLI&lt;/th&gt;
					&lt;th&gt;OpenCode&lt;/th&gt;
					&lt;th&gt;GitHub Copilot&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Agents&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;67&lt;/td&gt;
					&lt;td&gt;Shared (AGENTS.md)&lt;/td&gt;
					&lt;td&gt;Shared (AGENTS.md)&lt;/td&gt;
					&lt;td&gt;12&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;94&lt;/td&gt;
					&lt;td&gt;Shared&lt;/td&gt;
					&lt;td&gt;Instruction-based&lt;/td&gt;
					&lt;td&gt;35&lt;/td&gt;
					&lt;td&gt;5 prompts&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Skills&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;281&lt;/td&gt;
					&lt;td&gt;Shared&lt;/td&gt;
					&lt;td&gt;10 (native format)&lt;/td&gt;
					&lt;td&gt;37&lt;/td&gt;
					&lt;td&gt;Via instructions&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Hook Events&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;8 types&lt;/td&gt;
					&lt;td&gt;15 types&lt;/td&gt;
					&lt;td&gt;None yet&lt;/td&gt;
					&lt;td&gt;11 types&lt;/td&gt;
					&lt;td&gt;None&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Hook Scripts&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;20+ scripts&lt;/td&gt;
					&lt;td&gt;16 scripts (DRY adapter)&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
					&lt;td&gt;Plugin hooks&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Rules&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;34 (common + lang)&lt;/td&gt;
					&lt;td&gt;34 (YAML frontmatter)&lt;/td&gt;
					&lt;td&gt;Instruction-based&lt;/td&gt;
					&lt;td&gt;13 instructions&lt;/td&gt;
					&lt;td&gt;1 always-on file&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Custom Tools&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Via hooks&lt;/td&gt;
					&lt;td&gt;Via hooks&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
					&lt;td&gt;6 native tools&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;MCP Servers&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;14&lt;/td&gt;
					&lt;td&gt;Shared (mcp.json)&lt;/td&gt;
					&lt;td&gt;7 (auto-merged via TOML parser)&lt;/td&gt;
					&lt;td&gt;Full&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Config Format&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;settings.json&lt;/td&gt;
					&lt;td&gt;hooks.json + rules/&lt;/td&gt;
					&lt;td&gt;config.toml&lt;/td&gt;
					&lt;td&gt;opencode.json&lt;/td&gt;
					&lt;td&gt;copilot-instructions.md + settings.json&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Context File&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;CLAUDE.md + AGENTS.md&lt;/td&gt;
					&lt;td&gt;AGENTS.md&lt;/td&gt;
					&lt;td&gt;AGENTS.md&lt;/td&gt;
					&lt;td&gt;AGENTS.md&lt;/td&gt;
					&lt;td&gt;copilot-instructions.md&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Secret Detection&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Hook-based&lt;/td&gt;
					&lt;td&gt;beforeSubmitPrompt hook&lt;/td&gt;
					&lt;td&gt;Sandbox-based&lt;/td&gt;
					&lt;td&gt;Hook-based&lt;/td&gt;
					&lt;td&gt;Instruction-based&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Auto-Format&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;PostToolUse hook&lt;/td&gt;
					&lt;td&gt;afterFileEdit hook&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
					&lt;td&gt;file.edited hook&lt;/td&gt;
					&lt;td&gt;N/A&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Version&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Plugin&lt;/td&gt;
					&lt;td&gt;Plugin&lt;/td&gt;
					&lt;td&gt;Reference config&lt;/td&gt;
					&lt;td&gt;2.1.0&lt;/td&gt;
					&lt;td&gt;Instruction layer&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Key architectural decisions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AGENTS.md&lt;/strong&gt; at root is the universal cross-tool file (read by Claude Code, Cursor, Codex, and OpenCode; GitHub Copilot uses &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; instead)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DRY adapter pattern&lt;/strong&gt; lets Cursor reuse Claude Code&amp;rsquo;s hook scripts without duplication&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills format&lt;/strong&gt; (SKILL.md with YAML frontmatter) works across Claude Code, Codex, and OpenCode&lt;/li&gt;
&lt;li&gt;Codex&amp;rsquo;s lack of hooks is compensated by &lt;code&gt;AGENTS.md&lt;/code&gt;, optional &lt;code&gt;model_instructions_file&lt;/code&gt; overrides, and sandbox permissions&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Cursor IDE support in depth&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC provides Cursor IDE support with hooks, rules, agents, skills, commands, and MCP configs adapted for Cursor&amp;rsquo;s project layout.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS/Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --target cursor typescript
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --target cursor python golang swift php
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Windows PowerShell&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;typescript&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;python&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;golang&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;swift&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;whats-included&#34;&gt;What&amp;rsquo;s included
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Component&lt;/th&gt;
					&lt;th&gt;Count&lt;/th&gt;
					&lt;th&gt;Details&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Hook Events&lt;/td&gt;
					&lt;td&gt;15&lt;/td&gt;
					&lt;td&gt;sessionStart, beforeShellExecution, afterFileEdit, beforeMCPExecution, beforeSubmitPrompt, and 10 more&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hook Scripts&lt;/td&gt;
					&lt;td&gt;16&lt;/td&gt;
					&lt;td&gt;Thin Node.js scripts delegating to &lt;code&gt;scripts/hooks/&lt;/code&gt; via shared adapter&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Rules&lt;/td&gt;
					&lt;td&gt;34&lt;/td&gt;
					&lt;td&gt;9 common (alwaysApply) + 25 language-specific (TypeScript, Python, Go, Swift, PHP)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agents&lt;/td&gt;
					&lt;td&gt;48&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.cursor/agents/ecc-*.md&lt;/code&gt; when installed; prefixed to avoid collisions with user or marketplace agents&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Skills&lt;/td&gt;
					&lt;td&gt;Shared + Bundled&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.cursor/skills/&lt;/code&gt; for translated additions&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Commands&lt;/td&gt;
					&lt;td&gt;Shared&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.cursor/commands/&lt;/code&gt; if installed&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;MCP Config&lt;/td&gt;
					&lt;td&gt;Shared&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.cursor/mcp.json&lt;/code&gt; if installed&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;cursor-loading-notes&#34;&gt;Cursor loading notes
&lt;/h4&gt;&lt;p&gt;ECC does not install root &lt;code&gt;AGENTS.md&lt;/code&gt; into &lt;code&gt;.cursor/&lt;/code&gt;. Cursor treats nested &lt;code&gt;AGENTS.md&lt;/code&gt; files as directory context, so copying ECC&amp;rsquo;s repo identity into a host project would pollute that project.&lt;/p&gt;
&lt;p&gt;Cursor-native loading behavior can vary by Cursor build. ECC installs agents as &lt;code&gt;.cursor/agents/ecc-*.md&lt;/code&gt;; if your Cursor build does not expose project agents, those files still work as explicit reference definitions instead of hidden global prompt context.&lt;/p&gt;
&lt;h4 id=&#34;memory-and-data-isolation-cursor--claude-code&#34;&gt;Memory and data isolation (Cursor + Claude Code)
&lt;/h4&gt;&lt;p&gt;ECC memory hooks reuse the same &lt;code&gt;scripts/hooks/*.js&lt;/code&gt; as Claude Code. For Cursor, ECC tries to keep memory &lt;strong&gt;out of &lt;code&gt;~/.claude&lt;/code&gt; automatically&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Cursor &lt;code&gt;sessionStart&lt;/code&gt; hook&lt;/strong&gt; (installed to &lt;code&gt;.cursor/hooks.json&lt;/code&gt; on &lt;code&gt;--target cursor&lt;/code&gt;) injects &lt;code&gt;ECC_AGENT_DATA_HOME&lt;/code&gt; for the whole composer session.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hook runtime default&lt;/strong&gt;: when &lt;code&gt;CURSOR_VERSION&lt;/code&gt; or &lt;code&gt;CURSOR_PROJECT_DIR&lt;/code&gt; is present, hooks default to &lt;code&gt;~/.cursor/ecc&lt;/code&gt; if the env var is unset.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project config&lt;/strong&gt;: &lt;code&gt;.cursor/ecc-agent-data.json&lt;/code&gt; documents and overrides the path (&lt;code&gt;agentDataHome&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Always-on rule&lt;/strong&gt;: &lt;code&gt;.cursor/rules/ecc-agent-data-home.mdc&lt;/code&gt; reminds the agent where memory lives.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can still override explicitly:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ECC_AGENT_DATA_HOME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/.cursor/ecc&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;To &lt;strong&gt;share&lt;/strong&gt; memory with Claude Code on purpose, set &lt;code&gt;ECC_AGENT_DATA_HOME=~/.claude&lt;/code&gt; in the shell or in &lt;code&gt;.cursor/ecc-agent-data.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Continuous learning v2 instincts remain separate under &lt;code&gt;CLV2_HOMUNCULUS_DIR&lt;/code&gt; (default &lt;code&gt;~/.local/share/ecc-homunculus&lt;/code&gt;).&lt;/p&gt;
&lt;h4 id=&#34;hook-architecture-dry-adapter-pattern&#34;&gt;Hook architecture (DRY adapter pattern)
&lt;/h4&gt;&lt;p&gt;Cursor has &lt;strong&gt;more hook events than Claude Code&lt;/strong&gt; (20 vs 8). The &lt;code&gt;.cursor/hooks/adapter.js&lt;/code&gt; module transforms Cursor&amp;rsquo;s stdin JSON to Claude Code&amp;rsquo;s format, allowing existing &lt;code&gt;scripts/hooks/*.js&lt;/code&gt; to be reused without duplication.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Cursor stdin JSON -&amp;gt; adapter.js -&amp;gt; transforms -&amp;gt; scripts/hooks/*.js
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                                (shared with Claude Code)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Key hooks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;beforeShellExecution&lt;/strong&gt;: Blocks dev servers outside tmux (exit 2), git push review&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;afterFileEdit&lt;/strong&gt;: Auto-format + TypeScript check + console.log warning&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeSubmitPrompt&lt;/strong&gt;: Detects secrets (sk-, ghp_, AKIA patterns) in prompts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeTabFileRead&lt;/strong&gt;: Blocks Tab from reading .env, .key, .pem files (exit 2)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;beforeMCPExecution / afterMCPExecution&lt;/strong&gt;: MCP audit logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;rules-format&#34;&gt;Rules format
&lt;/h4&gt;&lt;p&gt;Cursor rules use YAML frontmatter with &lt;code&gt;description&lt;/code&gt;, &lt;code&gt;globs&lt;/code&gt;, and &lt;code&gt;alwaysApply&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;description&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;TypeScript coding style extending common rules&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;globs&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;**/*.ts&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;**/*.tsx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;**/*.js&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;**/*.jsx&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;alwaysApply&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Codex macOS app + CLI support in depth&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC provides &lt;strong&gt;first-class Codex support&lt;/strong&gt; for both the macOS app and CLI, with a reference configuration, Codex-specific AGENTS.md supplement, and shared skills. For repo navigation, surface ownership, and PR diff packet guidance, start with &lt;a class=&#34;link&#34; href=&#34;docs/CODEX-NAVIGATION-GUIDE.md&#34; &gt;&lt;code&gt;docs/CODEX-NAVIGATION-GUIDE.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run Codex CLI in the repo: AGENTS.md and .codex/ are auto-detected&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;codex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Automatic setup: sync ECC assets (AGENTS.md, skills, MCP servers) into ~/.codex&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; bash scripts/sync-ecc-to-codex.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Or manually: copy the reference config to your home directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .codex/config.toml ~/.codex/config.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The sync script safely merges ECC MCP servers into your existing &lt;code&gt;~/.codex/config.toml&lt;/code&gt; using an &lt;strong&gt;add-only&lt;/strong&gt; strategy: it never removes or modifies your existing servers. Run with &lt;code&gt;--dry-run&lt;/code&gt; to preview changes, or &lt;code&gt;--update-mcp&lt;/code&gt; to force-refresh ECC servers to the latest recommended config.&lt;/p&gt;
&lt;p&gt;For Context7, ECC uses the canonical Codex section name &lt;code&gt;[mcp_servers.context7]&lt;/code&gt; while still launching the &lt;code&gt;@upstash/context7-mcp&lt;/code&gt; package. If you already have a legacy &lt;code&gt;[mcp_servers.context7-mcp]&lt;/code&gt; entry, &lt;code&gt;--update-mcp&lt;/code&gt; migrates it to the canonical section name.&lt;/p&gt;
&lt;p&gt;Codex macOS app:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open this repository as your workspace.&lt;/li&gt;
&lt;li&gt;The root &lt;code&gt;AGENTS.md&lt;/code&gt; is auto-detected.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.codex/config.toml&lt;/code&gt; and &lt;code&gt;.codex/agents/*.toml&lt;/code&gt; work best when kept project-local.&lt;/li&gt;
&lt;li&gt;The reference &lt;code&gt;.codex/config.toml&lt;/code&gt; intentionally does not pin &lt;code&gt;model&lt;/code&gt; or &lt;code&gt;model_provider&lt;/code&gt;, so Codex uses its own current default unless you override it.&lt;/li&gt;
&lt;li&gt;Optional: copy &lt;code&gt;.codex/config.toml&lt;/code&gt; to &lt;code&gt;~/.codex/config.toml&lt;/code&gt; for global defaults; keep the multi-agent role files project-local unless you also copy &lt;code&gt;.codex/agents/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;whats-included-1&#34;&gt;What&amp;rsquo;s included
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Component&lt;/th&gt;
					&lt;th&gt;Count&lt;/th&gt;
					&lt;th&gt;Details&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Config&lt;/td&gt;
					&lt;td&gt;1&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.codex/config.toml&lt;/code&gt;: top-level approvals/sandbox/web_search, MCP servers, notifications, profiles&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AGENTS.md&lt;/td&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;Root (universal) + &lt;code&gt;.codex/AGENTS.md&lt;/code&gt; (Codex-specific supplement)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Skills&lt;/td&gt;
					&lt;td&gt;32&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.agents/skills/&lt;/code&gt;: SKILL.md + agents/openai.yaml per skill&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;MCP Servers&lt;/td&gt;
					&lt;td&gt;6&lt;/td&gt;
					&lt;td&gt;GitHub, Context7, Exa, Memory, Playwright, Sequential Thinking (7 with Supabase via &lt;code&gt;--update-mcp&lt;/code&gt; sync)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Profiles&lt;/td&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;strict&lt;/code&gt; (read-only sandbox) and &lt;code&gt;yolo&lt;/code&gt; (full auto-approve)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agent Roles&lt;/td&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.codex/agents/&lt;/code&gt;: explorer, reviewer, docs-researcher&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Skills at &lt;code&gt;.agents/skills/&lt;/code&gt; are auto-loaded by Codex. Canonical Anthropic skills such as &lt;code&gt;claude-api&lt;/code&gt;, &lt;code&gt;frontend-design&lt;/code&gt;, and &lt;code&gt;skill-creator&lt;/code&gt; are intentionally not re-bundled here. Install those from &lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;anthropics/skills&lt;/code&gt;&lt;/a&gt; when you want the official versions.&lt;/p&gt;
&lt;h4 id=&#34;key-limitation&#34;&gt;Key limitation
&lt;/h4&gt;&lt;p&gt;Codex does &lt;strong&gt;not yet provide Claude-style hook execution parity&lt;/strong&gt;. ECC enforcement there is instruction-based via &lt;code&gt;AGENTS.md&lt;/code&gt;, optional &lt;code&gt;model_instructions_file&lt;/code&gt; overrides, and sandbox/approval settings.&lt;/p&gt;
&lt;h4 id=&#34;multi-agent-support&#34;&gt;Multi-agent support
&lt;/h4&gt;&lt;p&gt;Current Codex builds support stable multi-agent workflows.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable &lt;code&gt;features.multi_agent = true&lt;/code&gt; in &lt;code&gt;.codex/config.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Define roles under &lt;code&gt;[agents.&amp;lt;name&amp;gt;]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Point each role at a file under &lt;code&gt;.codex/agents/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;/agent&lt;/code&gt; in the CLI to inspect or steer child agents&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ECC ships three sample role configs:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Role&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;explorer&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Read-only codebase evidence gathering before edits&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;reviewer&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Correctness, security, and missing-test review&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;docs_researcher&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Documentation and API verification before release/docs changes&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Zed support&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC provides Zed project support through a conservative &lt;code&gt;.zed&lt;/code&gt; adapter for project-local settings, flattened rules, agents, commands, and skills.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh --profile minimal --target zed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;.\&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-profile&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;minimal&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-target&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;zed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The adapter writes ECC-managed files under &lt;code&gt;.zed/&lt;/code&gt; and keeps BYOK/OpenRouter credentials out of the repo. Configure Zed account or API keys through Zed&amp;rsquo;s own settings UI or your local user settings.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;OpenCode support in depth&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC provides &lt;strong&gt;full OpenCode support&lt;/strong&gt; including plugins and hooks.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Install OpenCode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run in the repository root&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;opencode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The configuration is automatically detected from &lt;code&gt;.opencode/opencode.json&lt;/code&gt;.&lt;/p&gt;
&lt;h4 id=&#34;hook-support-via-plugins&#34;&gt;Hook support via plugins
&lt;/h4&gt;&lt;p&gt;OpenCode&amp;rsquo;s plugin system has 20+ event types:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Claude Code Hook&lt;/th&gt;
					&lt;th&gt;OpenCode Plugin Event&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;PreToolUse&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;tool.execute.before&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PostToolUse&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;tool.execute.after&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Stop&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;session.idle&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SessionStart&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;session.created&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;SessionEnd&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;session.deleted&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Additional OpenCode events&lt;/strong&gt;: &lt;code&gt;file.edited&lt;/code&gt;, &lt;code&gt;file.watcher.updated&lt;/code&gt;, &lt;code&gt;message.updated&lt;/code&gt;, &lt;code&gt;lsp.client.diagnostics&lt;/code&gt;, &lt;code&gt;tui.toast.show&lt;/code&gt;, and more.&lt;/p&gt;
&lt;h4 id=&#34;plugin-installation&#34;&gt;Plugin installation
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;Option 1: Use directly&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ECC
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;opencode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Option 2: Install as npm package&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install ecc-universal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then add to your &lt;code&gt;opencode.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;plugin&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ecc-universal&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That npm plugin entry enables ECC&amp;rsquo;s published OpenCode plugin module (hooks/events and plugin tools). It does &lt;strong&gt;not&lt;/strong&gt; automatically add ECC&amp;rsquo;s full command/agent/instruction catalog to your project config.&lt;/p&gt;
&lt;p&gt;For the full ECC OpenCode setup, either:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;run OpenCode inside this repository, or&lt;/li&gt;
&lt;li&gt;copy the bundled &lt;code&gt;.opencode/&lt;/code&gt; config assets into your project and wire the &lt;code&gt;instructions&lt;/code&gt;, &lt;code&gt;agent&lt;/code&gt;, and &lt;code&gt;command&lt;/code&gt; entries in &lt;code&gt;opencode.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;documentation&#34;&gt;Documentation
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Migration Guide&lt;/strong&gt;: &lt;code&gt;.opencode/MIGRATION.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenCode Plugin README&lt;/strong&gt;: &lt;code&gt;.opencode/README.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consolidated Rules&lt;/strong&gt;: &lt;code&gt;.opencode/instructions/INSTRUCTIONS.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM Documentation&lt;/strong&gt;: &lt;code&gt;llms.txt&lt;/code&gt; (complete OpenCode docs for LLMs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;GitHub Copilot support in depth&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC provides &lt;strong&gt;GitHub Copilot support&lt;/strong&gt; for VS Code via Copilot Chat&amp;rsquo;s native instruction and prompt file system. No extra tooling required.&lt;/p&gt;
&lt;h4 id=&#34;whats-included-2&#34;&gt;What&amp;rsquo;s included
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Component&lt;/th&gt;
					&lt;th&gt;File&lt;/th&gt;
					&lt;th&gt;Purpose&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Core instructions&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Always-loaded rules: coding style, security, testing, git workflow&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;VS Code settings&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.vscode/settings.json&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Per-task instruction files for code gen, test gen, and commit messages&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Plan prompt&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/prompts/plan.prompt.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Phased implementation planning&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TDD prompt&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/prompts/tdd.prompt.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Red-Green-Improve cycle&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Security review prompt&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/prompts/security-review.prompt.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Deep OWASP-aligned security analysis&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Build fix prompt&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/prompts/build-fix.prompt.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Systematic build and CI error resolution&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Refactor prompt&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;.github/prompts/refactor.prompt.md&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Dead code cleanup and simplification&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The files are already in place: open any repo that contains this project and GitHub Copilot Chat will automatically pick up &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;. The committed &lt;code&gt;.vscode/settings.json&lt;/code&gt; enables &lt;code&gt;chat.promptFiles&lt;/code&gt; so VS Code can load the reusable prompts from &lt;code&gt;.github/prompts/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To use the workflow prompts in Copilot Chat:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open the Copilot Chat panel in VS Code.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;paperclip / attach&lt;/strong&gt; icon and select &lt;strong&gt;Prompt&amp;hellip;&lt;/strong&gt;, or type &lt;code&gt;/&lt;/code&gt; and choose a prompt.&lt;/li&gt;
&lt;li&gt;Select the prompt (e.g. &lt;code&gt;plan&lt;/code&gt;, &lt;code&gt;tdd&lt;/code&gt;, &lt;code&gt;security-review&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;feature-coverage&#34;&gt;Feature coverage
&lt;/h4&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;ECC Feature&lt;/th&gt;
					&lt;th&gt;Copilot equivalent&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Coding standards&lt;/td&gt;
					&lt;td&gt;Always-on via &lt;code&gt;copilot-instructions.md&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Security checklist&lt;/td&gt;
					&lt;td&gt;Always-on + &lt;code&gt;security-review&lt;/code&gt; prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Testing / TDD&lt;/td&gt;
					&lt;td&gt;Always-on + &lt;code&gt;tdd&lt;/code&gt; prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Implementation planning&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;plan&lt;/code&gt; prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Code review&lt;/td&gt;
					&lt;td&gt;External PR review via CodeRabbit + Greptile&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Build error resolution&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;build-fix&lt;/code&gt; prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Refactoring&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;refactor&lt;/code&gt; prompt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Commit message format&lt;/td&gt;
					&lt;td&gt;Per-task instruction in &lt;code&gt;settings.json&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hooks / automation&lt;/td&gt;
					&lt;td&gt;Not supported (Copilot has no hook system)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Agents / delegation&lt;/td&gt;
					&lt;td&gt;Not supported (Copilot has no subagent API)&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;limitations&#34;&gt;Limitations
&lt;/h4&gt;&lt;p&gt;GitHub Copilot does not have a hook system or a subagent API, so ECC&amp;rsquo;s hook automations (auto-format, TypeScript check, session persistence, dev-server guard) and agent delegation are unavailable. The instruction and prompt layer still brings the full ECC coding philosophy (standards, security, TDD, and workflow) into every Copilot Chat session.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;What changed in v2.0.0&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC v2.0.0 stabilizes the 2.0 line with the public Hermes operator story, 281 skills, 67 agents, 94 command shims, session adapters, MCP inventory, worktree lifecycle services, orchestrator workflows, and the ECC Discord community.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/releases/2.0.0/release-notes.md&#34; &gt;v2.0.0 release notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/ECC-2.0-REFERENCE-ARCHITECTURE.md&#34; &gt;ECC 2.0 reference architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/HERMES-SETUP.md&#34; &gt;Hermes setup guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/MIGRATION-1X-TO-2.0.md&#34; &gt;Migration guide from 1.x&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h2 id=&#34;token-optimization&#34;&gt;Token Optimization
&lt;/h2&gt;&lt;p&gt;Agent usage can be expensive if you don&amp;rsquo;t manage token consumption. These settings significantly reduce costs without sacrificing quality. Full guide: &lt;a class=&#34;link&#34; href=&#34;docs/token-optimization.md&#34; &gt;docs/token-optimization.md&lt;/a&gt;.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Recommended settings&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Add to &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;model&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sonnet&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;env&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;MAX_THINKING_TOKENS&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;10000&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;50&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;CLAUDE_CODE_SUBAGENT_MODEL&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;haiku&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Setting&lt;/th&gt;
					&lt;th&gt;Default&lt;/th&gt;
					&lt;th&gt;Recommended&lt;/th&gt;
					&lt;th&gt;Impact&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;model&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;opus&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;sonnet&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;~60% cost reduction; handles 80%+ of coding tasks&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;MAX_THINKING_TOKENS&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;31,999&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;10,000&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;~70% reduction in hidden thinking cost per request&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;CLAUDE_AUTOCOMPACT_PCT_OVERRIDE&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;95&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;50&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Compacts earlier, better quality in long sessions&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;ECC_CONTEXT_MONITOR_COST_WARNINGS&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;on&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;off for subscription users&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Suppresses agent-facing API-rate estimate warnings while keeping context/scope/loop warnings&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Switch to Opus only when you need deep architectural reasoning:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/model opus
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Daily workflow commands&lt;/strong&gt;&lt;/summary&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Command&lt;/th&gt;
					&lt;th&gt;When to Use&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;/model sonnet&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Default for most tasks&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;/model opus&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Complex architecture, debugging, deep reasoning&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Between unrelated tasks (free, instant reset)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;At logical task breakpoints (research done, milestone complete)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;/cost&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Monitor token spending during session&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If you use a subscription and the context monitor&amp;rsquo;s API-rate estimates are not useful, set &lt;code&gt;ECC_CONTEXT_MONITOR_COST_WARNINGS=off&lt;/code&gt;. This only suppresses the agent-facing cost warnings; it does not disable context exhaustion, scope, or loop warnings.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Strategic compaction&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;The &lt;code&gt;strategic-compact&lt;/code&gt; skill suggests &lt;code&gt;/compact&lt;/code&gt; at logical breakpoints instead of relying on auto-compaction at 95% context. See &lt;code&gt;skills/strategic-compact/SKILL.md&lt;/code&gt; for the full decision guide.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;When to compact:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;After research/exploration, before implementation&lt;/li&gt;
&lt;li&gt;After completing a milestone, before starting the next&lt;/li&gt;
&lt;li&gt;After debugging, before continuing feature work&lt;/li&gt;
&lt;li&gt;After a failed approach, before trying a new one&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;When NOT to compact:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mid-implementation (you&amp;rsquo;ll lose variable names, file paths, partial state)&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Context window management&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Critical:&lt;/strong&gt; Don&amp;rsquo;t enable all MCPs at once. Each MCP tool description consumes tokens from your 200k window, potentially reducing it to ~70k.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep under 10 MCPs enabled per project&lt;/li&gt;
&lt;li&gt;Keep under 80 tools active&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;/mcp&lt;/code&gt; to disable unused Claude Code MCP servers; those runtime choices persist in &lt;code&gt;~/.claude.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;ECC_DISABLED_MCPS&lt;/code&gt; only to filter ECC-generated MCP configs during install/sync flows&lt;/li&gt;
&lt;li&gt;If context is getting heavy, run &lt;code&gt;/context-budget&lt;/code&gt; and remove rules you do not need&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Agent teams cost warning:&lt;/strong&gt; Agent Teams spawns multiple context windows. Each teammate consumes tokens independently. Only use for tasks where parallelism provides clear value (multi-module work, parallel reviews). For simple sequential tasks, subagents are more token-efficient.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Claude Code CLI version + hooks auto-loading behavior&lt;/strong&gt;&lt;/summary&gt;
&lt;h3 id=&#34;claude-code-cli-version&#34;&gt;Claude Code CLI version
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Minimum version: v2.1.0 or later.&lt;/strong&gt; The plugin requires Claude Code CLI v2.1.0+ due to changes in how the plugin system handles hooks.&lt;/p&gt;
&lt;p&gt;Check your version:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;important-hooks-auto-loading-behavior&#34;&gt;Important: hooks auto-loading behavior
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;WARNING: &lt;strong&gt;For Contributors:&lt;/strong&gt; Do NOT add a &lt;code&gt;&amp;quot;hooks&amp;quot;&lt;/code&gt; field to &lt;code&gt;.claude-plugin/plugin.json&lt;/code&gt;. This is enforced by a regression test.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Claude Code v2.1+ &lt;strong&gt;automatically loads&lt;/strong&gt; &lt;code&gt;hooks/hooks.json&lt;/code&gt; from any installed plugin by convention. Explicitly declaring it in &lt;code&gt;plugin.json&lt;/code&gt; causes a duplicate detection error:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Duplicate&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;file&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;detected&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;./&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;json&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;resolves&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;to&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;already&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loaded&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;History:&lt;/strong&gt; This has caused repeated fix/revert cycles in this repo (&lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#29&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/52&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#52&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/103&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#103&lt;/a&gt;). The behavior changed between Claude Code versions, leading to confusion. There is now a regression test to prevent this from being reintroduced.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;p&gt;Install ECC only from official sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub repository: &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/affaan-m/ECC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Claude Code plugin: &lt;code&gt;ecc@ecc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;npm packages: &lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/ecc-universal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;ecc-universal&lt;/code&gt;&lt;/a&gt; and &lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/ecc-agentshield&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;ecc-agentshield&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;GitHub App: &lt;a class=&#34;link&#34; href=&#34;https://github.com/apps/ecc-tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/apps/ecc-tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Website: &lt;a class=&#34;link&#34; href=&#34;https://ecc.tools&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ecc.tools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Scan a project with AgentShield:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx -y ecc-agentshield scan --path .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Report a vulnerability.&lt;/strong&gt; Use the private process in &lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;SECURITY.md&lt;/a&gt; (GitHub private vulnerability reporting). Please do not open public issues for security reports.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Built-in guardrails.&lt;/strong&gt; GateGuard gates destructive shell commands (including &lt;code&gt;rm&lt;/code&gt;, force/path &lt;code&gt;git checkout&lt;/code&gt;, and destructive &lt;code&gt;find -exec&lt;/code&gt;) before they run; the supply-chain IOC scanner runs in CI; and AgentShield audits your own agent, hook, MCP, permission, and secret surfaces (&lt;code&gt;/security-scan&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Hooks, MCP servers, and context controls&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Hooks can run shell commands, MCP servers can hold credentials, and project instructions can enter an agent&amp;rsquo;s context. Treat all three as executable configuration.&lt;/p&gt;
&lt;p&gt;Do not copy raw &lt;code&gt;hooks/hooks.json&lt;/code&gt; into &lt;code&gt;~/.claude/settings.json&lt;/code&gt; after a plugin install. Modern Claude Code versions load plugin hooks automatically, and a second copy can make them fire twice.&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;/mcp&lt;/code&gt; for Claude Code runtime disables; Claude Code persists those choices in &lt;code&gt;~/.claude.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ECC_DISABLED_MCPS&lt;/code&gt; is an ECC install/sync filter, not a live Claude Code toggle.&lt;/p&gt;
&lt;p&gt;If context is getting heavy, run &lt;code&gt;/context-budget&lt;/code&gt;, remove rules you do not need, and disable unused MCP servers. See the &lt;a class=&#34;link&#34; href=&#34;docs/token-optimization.md&#34; &gt;token optimization guide&lt;/a&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;p&gt;Security references:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;Security policy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;./the-security-guide.md&#34; &gt;Security guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/MCP-CONNECTOR-POLICY.md&#34; &gt;MCP connector policy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/security/supply-chain-incident-response.md&#34; &gt;Supply-chain incident response&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;ECC appears twice or hooks fire twice&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;The usual cause is installing the Claude plugin and then running &lt;code&gt;install.sh --profile full&lt;/code&gt; or &lt;code&gt;npx ecc-install --profile full&lt;/code&gt; on top of it.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Remove the Claude Code plugin install.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;node scripts/ecc.js uninstall --dry-run&lt;/code&gt; from the ECC checkout.&lt;/li&gt;
&lt;li&gt;Remove extra rule folders you manually copied and no longer want.&lt;/li&gt;
&lt;li&gt;Reinstall once, using one path.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For hook-specific checks, see the &lt;a class=&#34;link&#34; href=&#34;hooks/README.md&#34; &gt;hooks README&lt;/a&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;My hooks aren&#39;t working / &#34;Duplicate hooks file&#34; errors&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;&lt;strong&gt;Do NOT add a &lt;code&gt;&amp;quot;hooks&amp;quot;&lt;/code&gt; field to &lt;code&gt;.claude-plugin/plugin.json&lt;/code&gt;.&lt;/strong&gt; Claude Code v2.1+ automatically loads &lt;code&gt;hooks/hooks.json&lt;/code&gt; from installed plugins. Explicitly declaring it causes duplicate detection errors. See &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/29&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#29&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/52&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#52&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/103&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#103&lt;/a&gt;.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Codex marketplace installs but skills do not load&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Run the cache check from an ECC checkout:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node scripts/codex/check-plugin-cache.js
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If it reports unresolved parent references, use &lt;code&gt;bash scripts/sync-ecc-to-codex.sh&lt;/code&gt;. Registration in &lt;code&gt;codex plugin list&lt;/code&gt; confirms the marketplace entry, not that every referenced file reached the plugin cache. Runtime skill loading from local/repo marketplaces is still unreliable upstream (&lt;a class=&#34;link&#34; href=&#34;https://github.com/openai/codex/issues/26037&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;openai/codex#26037&lt;/a&gt;); see &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/issues/2128&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;#2128&lt;/a&gt; for the full investigation.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;My context window is shrinking&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;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 &lt;code&gt;ECC_SESSION_START_MAX_CHARS=4000&lt;/code&gt; or disable it with &lt;code&gt;ECC_SESSION_START_CONTEXT=off&lt;/code&gt; for local-model or low-context setups.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Disable unused MCPs from Claude Code with &lt;code&gt;/mcp&lt;/code&gt;. Claude Code writes those runtime choices to &lt;code&gt;~/.claude.json&lt;/code&gt;; &lt;code&gt;.claude/settings.json&lt;/code&gt; and &lt;code&gt;.claude/settings.local.json&lt;/code&gt; are not reliable toggles for already-loaded MCP servers.&lt;/p&gt;
&lt;p&gt;Keep under 10 MCPs enabled and under 80 tools active.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Can I use only some components (e.g., just agents)?&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Yes. Use the manual component copies in &lt;a class=&#34;link&#34; href=&#34;#advanced-install-options&#34; &gt;Advanced Install Options&lt;/a&gt; and copy only what you need:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Just agents&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp agents/*.md ~/.claude/agents/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Just rules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r rules/common ~/.claude/rules/ecc/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Each component is fully independent.&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Does this work with Cursor / OpenCode / Codex / Antigravity / GitHub Copilot?&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Yes. ECC is cross-platform:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cursor&lt;/strong&gt;: Pre-translated configs in &lt;code&gt;.cursor/&lt;/code&gt;. See &lt;a class=&#34;link&#34; href=&#34;#platform-support&#34; &gt;Platform Support&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini CLI&lt;/strong&gt;: Experimental project-local support via &lt;code&gt;.gemini/GEMINI.md&lt;/code&gt; and shared installer plumbing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OpenCode&lt;/strong&gt;: Full plugin support in &lt;code&gt;.opencode/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codex&lt;/strong&gt;: First-class support for both macOS app and CLI, with adapter drift guards and SessionStart fallback.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot (VS Code)&lt;/strong&gt;: Instruction and prompt layer via &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;, &lt;code&gt;.vscode/settings.json&lt;/code&gt;, and &lt;code&gt;.github/prompts/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Antigravity&lt;/strong&gt;: Tightly integrated setup for workflows, skills, and flattened rules in &lt;code&gt;.agent/&lt;/code&gt;. See &lt;a class=&#34;link&#34; href=&#34;docs/ANTIGRAVITY-GUIDE.md&#34; &gt;Antigravity Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JoyCode / CodeBuddy&lt;/strong&gt;: Project-local selective install adapters for commands, agents, skills, and flattened rules. See &lt;a class=&#34;link&#34; href=&#34;docs/JOYCODE-GUIDE.md&#34; &gt;JoyCode Adapter Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Qwen CLI&lt;/strong&gt;: Home-directory selective install adapter for commands, agents, skills, rules, and Qwen config. See &lt;a class=&#34;link&#34; href=&#34;docs/QWEN-GUIDE.md&#34; &gt;Qwen CLI Adapter Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zed&lt;/strong&gt;: Project-local selective install adapter for &lt;code&gt;.zed/settings.json&lt;/code&gt;, flattened rules, commands, agents, and skills.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-native harnesses&lt;/strong&gt;: Manual fallback path for chat-style interfaces. See &lt;a class=&#34;link&#34; href=&#34;docs/MANUAL-ADAPTATION-GUIDE.md&#34; &gt;Manual Adaptation Guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude Code&lt;/strong&gt;: Native. This is the primary target.&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;My platform is not listed&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Use the &lt;a class=&#34;link&#34; href=&#34;docs/MANUAL-ADAPTATION-GUIDE.md&#34; &gt;manual adaptation guide&lt;/a&gt;, or open a &lt;a class=&#34;link&#34; href=&#34;https://github.com/affaan-m/ECC/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub discussion&lt;/a&gt; with the harness name and the file, skill, command, and hook formats it supports.&lt;/p&gt;
&lt;/details&gt;
&lt;h2 id=&#34;running-tests&#34;&gt;Running Tests
&lt;/h2&gt;&lt;p&gt;The plugin includes a comprehensive test suite:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run all tests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node tests/run-all.js
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Run individual test files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node tests/lib/utils.test.js
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node tests/lib/package-manager.test.js
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node tests/hooks/hooks.test.js
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;background&#34;&gt;Background
&lt;/h2&gt;&lt;p&gt;I&amp;rsquo;ve been using Claude Code since the experimental rollout. Won the Anthropic x Forum Ventures hackathon in Sep 2025 with &lt;a class=&#34;link&#34; href=&#34;https://x.com/DRodriguezFX&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@DRodriguezFX&lt;/a&gt;, built &lt;a class=&#34;link&#34; href=&#34;https://zenith.chat&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zenith.chat&lt;/a&gt; entirely with agentic workflows.&lt;/p&gt;
&lt;p&gt;These configs are battle-tested across multiple production applications.&lt;/p&gt;
&lt;h2 id=&#34;community-and-project&#34;&gt;Community and Project
&lt;/h2&gt;&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Sponsors and ECC Pro&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;ECC stays free because sponsors and Pro users fund the work. Sponsor logos are at the top of this README; the full roster and tiers are in &lt;a class=&#34;link&#34; href=&#34;SPONSORS.md&#34; &gt;SPONSORS.md&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ECC Pro adds private-repo analysis, PR-triggered audits, AgentShield-backed scanning, automatic push and PR checks, pooled team usage, and priority support through the hosted GitHub App.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td width=&#34;25%&#34; align=&#34;center&#34;&gt;&lt;a href=&#34;https://ecc.tools/pricing&#34;&gt;&lt;strong&gt;ECC Pro&lt;/strong&gt;&lt;br /&gt;&lt;sub&gt;Hosted GitHub App for private repos&lt;/sub&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width=&#34;25%&#34; align=&#34;center&#34;&gt;&lt;a href=&#34;https://github.com/sponsors/affaan-m&#34;&gt;&lt;strong&gt;Sponsor ECC&lt;/strong&gt;&lt;br /&gt;&lt;sub&gt;Fund the OSS work&lt;/sub&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width=&#34;25%&#34; align=&#34;center&#34;&gt;&lt;a href=&#34;https://github.com/affaan-m/ECC/discussions&#34;&gt;&lt;strong&gt;Community&lt;/strong&gt;&lt;br /&gt;&lt;sub&gt;Q&amp;amp;A, ideas, and Show and Tell&lt;/sub&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td width=&#34;25%&#34; align=&#34;center&#34;&gt;&lt;a href=&#34;https://github.com/apps/ecc-tools&#34;&gt;&lt;strong&gt;GitHub App&lt;/strong&gt;&lt;br /&gt;&lt;sub&gt;PR audits and hosted workflows&lt;/sub&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/sponsors/affaan-m&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Become a sponsor&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;SPONSORS.md&#34; &gt;Sponsor tiers&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;SPONSORING.md&#34; &gt;Sponsorship program&lt;/a&gt;&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Contributing&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Contributions are welcome across skills, agents, rules, hooks, docs, tests, adapters, and security improvements.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;Contributing guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/SKILL-DEVELOPMENT-GUIDE.md&#34; &gt;Skill development guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/SKILL-PLACEMENT-POLICY.md&#34; &gt;Skill placement policy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;COMMANDS-QUICK-REF.md&#34; &gt;Command quick reference&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The short version:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Fork the repo&lt;/li&gt;
&lt;li&gt;Create your skill in &lt;code&gt;skills/your-skill-name/SKILL.md&lt;/code&gt; (with YAML frontmatter)&lt;/li&gt;
&lt;li&gt;Or create an agent in &lt;code&gt;agents/your-agent.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Submit a PR with a clear description of what it does and when to use it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Ideas for contributions:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Language-specific skills (Rust, C#, Kotlin, Java): Go, Python, Perl, Swift, TypeScript, and HarmonyOS/ArkTS already included&lt;/li&gt;
&lt;li&gt;Framework-specific configs (Rails, FastAPI): Django, NestJS, Spring Boot, and Laravel already included&lt;/li&gt;
&lt;li&gt;DevOps agents (Kubernetes, Terraform, AWS, Docker)&lt;/li&gt;
&lt;li&gt;Testing strategies (different frameworks, visual regression)&lt;/li&gt;
&lt;li&gt;Domain-specific knowledge (ML, data engineering, mobile)&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;h2 id=&#34;links&#34;&gt;Links
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shorthand Guide (Start Here):&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;https://x.com/affaan/status/2012378465664745795&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Shorthand Guide to ECC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Longform Guide (Advanced):&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;https://x.com/affaan/status/2014040193557471352&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Longform Guide to ECC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security Guide:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;./the-security-guide.md&#34; &gt;Security Guide&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;https://x.com/affaan/status/2033263813387223421&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Thread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Follow:&lt;/strong&gt; &lt;a class=&#34;link&#34; href=&#34;https://x.com/affaan&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@affaan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;MIT. Use it freely, adapt it to your workflow, and contribute back when you can.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Star this repo if it helps. Read the guides. Build something great.&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
