fix(ci): catalog sync, markdownlint, unicode safety, unsupported frontmatter key

catalog:sync: update skill count 261→265 in README.md, AGENTS.md,
docs/zh-CN/AGENTS.md, .claude-plugin/plugin.json

markdownlint:
- MD009: strip trailing spaces in 10_purpose-why, 20_positioning,
  40_personality-archetype, 50_voice-tone, 60_narrative-story, 90_SYNTHESIS
  (both skills/ and .agents/skills/ copies)
- MD037: wrap ___ placeholders in backticks in 70_founder-tension.md:39
- MD028: replace blank lines inside blockquotes with bare > in 90_SYNTHESIS.md

unicode-safety: replace U+2194 (↔) with ASCII <-> in 50_voice-tone.md and
competitive-report-structure/SKILL.md (both copies)

codex-validator: remove unsupported `origin: community` key from
brand-discovery, competitive-platform-analysis, competitive-report-structure,
benchmark-methodology SKILL.md files (both copies)
This commit is contained in:
Eryk Orłowski 2026-06-11 10:22:25 +02:00
parent ccce25fe2b
commit f810c19c13
26 changed files with 83 additions and 87 deletions

View File

@ -6,7 +6,6 @@ description: >-
personality, voice, narrative, and founder-brand tension across 8 modules
using laddering, 5 Whys, and projective techniques. Produces a resumable
session with disk-persisted state and a master brandbook (90_SYNTHESIS.md).
origin: community
---
# Brand Discovery

View File

@ -31,9 +31,9 @@
### Candidate Why formulations (offer 23 versions, vary register and specificity)
1.
2.
3.
1.
2.
3.
### Open questions / threads to pursue in later modules

View File

@ -36,8 +36,8 @@
### Alternative framings (vary the category or the differentiator)
1.
2.
1.
2.
### White-space hypothesis (what no competitor is claiming that this brand could own)

View File

@ -50,9 +50,9 @@
### Personality in action (3 behavioural guidelines derived from the archetype)
1.
2.
3.
1.
2.
3.
### What the brand must never sound or look like (the anti-personality)

View File

@ -1,7 +1,7 @@
# Module 50 — Voice & Tone
> **Frameworks:** Brand voice spectrum (formal ↔ casual, serious ↔ playful,
> distant ↔ warm, conventional ↔ irreverent) · Content-type tone matrix
> **Frameworks:** Brand voice spectrum (formal <-> casual, serious <-> playful,
> distant <-> warm, conventional <-> irreverent) · Content-type tone matrix
>
> **Goal:** Codify the brand's verbal register precisely enough that two different
> writers produce copy that sounds like the same person. Voice is constant;
@ -54,8 +54,8 @@
### The three things to check every draft against
1.
2.
3.
1.
2.
3.
### Open questions / tensions with Module 40 Personality

View File

@ -32,13 +32,13 @@
### Trueline draft (Neumeier: "[Brand] is the only [category] that [unique claim].")
>
>
### Alternative truelines (23 variations, vary level of abstraction)
1.
2.
3.
1.
2.
3.
### Brand story arc

View File

@ -36,7 +36,7 @@
[Founder IS the brand] ←————————→ [Organisation brand stands alone]
1 2 3 4 5
```
Current position: ___ Target position (3-year): ___
Current position: `___` Target position (3-year): `___`
### What the founder brand should own (and keeps owning)

View File

@ -24,9 +24,9 @@
### 1. The Why (from Module 10)
> **Core belief:**
>
> **Behavioural How (values in action):**
>
> **What we refuse to be:**
---
@ -37,7 +37,7 @@
> For **[target client]** who **[situation]**, **[brand name]** is the
> **[category]** that **[unique value]**. Unlike **[alternatives]**, we
> **[key differentiator]**.
>
> **White-space the brand owns:**
---
@ -45,9 +45,9 @@
### 3. Audience (from Module 30)
> **Ideal Client Profile (one-paragraph portrait):**
>
> **Niche the brand is building toward:**
>
> **Red-flag / disqualifier:**
---
@ -68,17 +68,17 @@
### 4b. Aaker Brand System (from Module 40)
> **Primary archetype** (Mark & Pearson):
>
> **Secondary archetype** (if present):
>
> **Aaker brand identity** — four dimensions:
> - *Brand as product:*
> - *Brand as organisation:*
> - *Brand as person (personality):*
> - *Brand as symbol:*
>
> **Brand associations** (35 key associations the brand should own):
>
> **Brand equity signals** (what clients would lose if this brand disappeared):
---
@ -86,18 +86,18 @@
### 5. Voice & Tone summary (from Module 50)
> **Voice statement (one paragraph):**
>
> **The three checks every draft must pass:**
> 1.
> 2.
> 3.
> 1.
> 2.
> 3.
---
### 6. Narrative assets (from Module 60)
> **Trueline:**
>
> **Brand story arc (one paragraph, usable as an About page starting point):**
---
@ -105,7 +105,7 @@
### 7. Founder / organisation brand boundary (from Module 70)
> **What the founder brand owns:**
>
> **What the organisation brand owns:**
---
@ -128,6 +128,6 @@
<!-- 35 concrete actions the brand can take based on this brandbook. -->
1.
2.
3.
1.
2.
3.

View File

@ -6,7 +6,6 @@ description: >-
counts as a competitor, which tier they belong to, and which sources to mine.
First step in the three-skill competitive pipeline; precedes
benchmark-methodology.
origin: community
---
# Competitive Platform Analysis

View File

@ -6,7 +6,6 @@ description: >-
profiles, benchmarking matrix, white-space analysis, strategic recommendations,
and team alignment trigger questions. Final step in the three-skill competitive
pipeline.
origin: community
---
# Competitive Report Structure
@ -59,7 +58,7 @@ this and knows what to do. No methodology here.
### 2. Market landscape & category framing
Define the category and map it. Use a **multi-axis map** — at minimum a 2×2
(e.g., *brand-led ↔ capability-led* × *boutique ↔ enterprise-scale*), and
(e.g., *brand-led <-> capability-led* × *boutique <-> enterprise-scale*), and
ideally the **client's tension plot** from `benchmark-methodology` as the
headline map. Place every profiled competitor and the client. The map should
make the client's intended position visually obvious and show how crowded (or

View File

@ -1,7 +1,7 @@
{
"name": "ecc",
"version": "2.0.0",
"description": "Harness-native ECC plugin for engineering teams - 64 agents, 262 skills, 84 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
"description": "Harness-native ECC plugin for engineering teams - 64 agents, 269 skills, 84 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses",
"author": {
"name": "Affaan Mustafa",
"url": "https://x.com/affaanmustafa"

View File

@ -1,6 +1,6 @@
# Everything Claude Code (ECC) — Agent Instructions
This is a **production-ready AI coding plugin** providing 64 specialized agents, 262 skills, 84 commands, and automated hook workflows for software development.
This is a **production-ready AI coding plugin** providing 64 specialized agents, 269 skills, 84 commands, and automated hook workflows for software development.
**Version:** 2.0.0
@ -150,7 +150,7 @@ Troubleshoot failures: check test isolation → verify mocks → fix implementat
```
agents/ — 64 specialized subagents
skills/ — 262 workflow skills and domain knowledge
skills/ — 269 workflow skills and domain knowledge
commands/ — 84 slash commands
hooks/ — Trigger-based automations
rules/ — Always-follow guidelines (common + per-language)

View File

@ -154,7 +154,7 @@ Stable graduation of the 2.0 line: 265 skills, the control-pane substrate (sessi
### v2.0.0-rc.1 — Surface Refresh, Operator Workflows, and ECC 2.0 Alpha (Apr 2026)
- **Dashboard GUI** — New Tkinter-based desktop application (`ecc_dashboard.py` or `npm run dashboard`) with dark/light theme toggle, font customization, and project logo in header and taskbar.
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 261 skills, and 84 legacy command shims.
- **Public surface synced to the live repo** — metadata, catalog counts, plugin manifests, and install-facing docs now match the actual OSS surface: 64 agents, 265 skills, and 84 legacy command shims.
- **Operator and outbound workflow expansion**`brand-voice`, `social-graph-ranker`, `connections-optimizer`, `customer-billing-ops`, `ecc-tools-cost-audit`, `google-workspace-ops`, `project-flow-ops`, and `workspace-surface-audit` round out the operator lane.
- **Media and launch tooling**`manim-video`, `remotion-video-creation`, and upgraded social publishing surfaces make technical explainers and launch content part of the same system.
- **Framework and product surface growth**`nestjs-patterns`, richer Codex/OpenCode install surfaces, and expanded cross-harness packaging keep the repo usable beyond Claude Code alone.

View File

@ -1,6 +1,6 @@
# Everything Claude Code (ECC) — 智能体指令
这是一个**生产就绪的 AI 编码插件**,提供 64 个专业代理、262 项技能、84 条命令以及自动化钩子工作流,用于软件开发。
这是一个**生产就绪的 AI 编码插件**,提供 64 个专业代理、269 项技能、84 条命令以及自动化钩子工作流,用于软件开发。
**版本:** 2.0.0
@ -147,7 +147,7 @@
```
agents/ — 64 个专业子代理
skills/ — 262 个工作流技能和领域知识
skills/ — 269 个工作流技能和领域知识
commands/ — 84 个斜杠命令
hooks/ — 基于触发的自动化
rules/ — 始终遵循的指导方针(通用 + 每种语言)

3
package-lock.json generated
View File

@ -421,6 +421,7 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
"peer": true,
"bin": {
"acorn": "bin/acorn"
},
@ -852,6 +853,7 @@
"integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@ -2433,6 +2435,7 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true,
"license": "MIT",
"peer": true,
"engines": {
"node": ">=12"
},

View File

@ -6,7 +6,6 @@ description: >-
visual craft, offer packaging, evidence, enterprise-readiness, thought
leadership, pricing, client's strategic tension) with explicit 15 rubrics
and a tension-plot. Precedes competitive-report-structure.
origin: community
---
# Benchmark Methodology

View File

@ -6,7 +6,6 @@ description: >-
personality, voice, narrative, and founder-brand tension across 8 modules
using laddering, 5 Whys, and projective techniques. Produces a resumable
session with disk-persisted state and a master brandbook (90_SYNTHESIS.md).
origin: community
---
# Brand Discovery

View File

@ -31,9 +31,9 @@
### Candidate Why formulations (offer 23 versions, vary register and specificity)
1.
2.
3.
1.
2.
3.
### Open questions / threads to pursue in later modules

View File

@ -36,8 +36,8 @@
### Alternative framings (vary the category or the differentiator)
1.
2.
1.
2.
### White-space hypothesis (what no competitor is claiming that this brand could own)

View File

@ -50,9 +50,9 @@
### Personality in action (3 behavioural guidelines derived from the archetype)
1.
2.
3.
1.
2.
3.
### What the brand must never sound or look like (the anti-personality)

View File

@ -1,7 +1,7 @@
# Module 50 — Voice & Tone
> **Frameworks:** Brand voice spectrum (formal ↔ casual, serious ↔ playful,
> distant ↔ warm, conventional ↔ irreverent) · Content-type tone matrix
> **Frameworks:** Brand voice spectrum (formal <-> casual, serious <-> playful,
> distant <-> warm, conventional <-> irreverent) · Content-type tone matrix
>
> **Goal:** Codify the brand's verbal register precisely enough that two different
> writers produce copy that sounds like the same person. Voice is constant;
@ -54,8 +54,8 @@
### The three things to check every draft against
1.
2.
3.
1.
2.
3.
### Open questions / tensions with Module 40 Personality

View File

@ -32,13 +32,13 @@
### Trueline draft (Neumeier: "[Brand] is the only [category] that [unique claim].")
>
>
### Alternative truelines (23 variations, vary level of abstraction)
1.
2.
3.
1.
2.
3.
### Brand story arc

View File

@ -36,7 +36,7 @@
[Founder IS the brand] ←————————→ [Organisation brand stands alone]
1 2 3 4 5
```
Current position: ___ Target position (3-year): ___
Current position: `___` Target position (3-year): `___`
### What the founder brand should own (and keeps owning)

View File

@ -24,9 +24,9 @@
### 1. The Why (from Module 10)
> **Core belief:**
>
> **Behavioural How (values in action):**
>
> **What we refuse to be:**
---
@ -37,7 +37,7 @@
> For **[target client]** who **[situation]**, **[brand name]** is the
> **[category]** that **[unique value]**. Unlike **[alternatives]**, we
> **[key differentiator]**.
>
> **White-space the brand owns:**
---
@ -45,9 +45,9 @@
### 3. Audience (from Module 30)
> **Ideal Client Profile (one-paragraph portrait):**
>
> **Niche the brand is building toward:**
>
> **Red-flag / disqualifier:**
---
@ -68,17 +68,17 @@
### 4b. Aaker Brand System (from Module 40)
> **Primary archetype** (Mark & Pearson):
>
> **Secondary archetype** (if present):
>
> **Aaker brand identity** — four dimensions:
> - *Brand as product:*
> - *Brand as organisation:*
> - *Brand as person (personality):*
> - *Brand as symbol:*
>
> **Brand associations** (35 key associations the brand should own):
>
> **Brand equity signals** (what clients would lose if this brand disappeared):
---
@ -86,18 +86,18 @@
### 5. Voice & Tone summary (from Module 50)
> **Voice statement (one paragraph):**
>
> **The three checks every draft must pass:**
> 1.
> 2.
> 3.
> 1.
> 2.
> 3.
---
### 6. Narrative assets (from Module 60)
> **Trueline:**
>
> **Brand story arc (one paragraph, usable as an About page starting point):**
---
@ -105,7 +105,7 @@
### 7. Founder / organisation brand boundary (from Module 70)
> **What the founder brand owns:**
>
> **What the organisation brand owns:**
---
@ -128,6 +128,6 @@
<!-- 35 concrete actions the brand can take based on this brandbook. -->
1.
2.
3.
1.
2.
3.

View File

@ -6,7 +6,6 @@ description: >-
counts as a competitor, which tier they belong to, and which sources to mine.
First step in the three-skill competitive pipeline; precedes
benchmark-methodology.
origin: community
---
# Competitive Platform Analysis

View File

@ -6,7 +6,6 @@ description: >-
profiles, benchmarking matrix, white-space analysis, strategic recommendations,
and team alignment trigger questions. Final step in the three-skill competitive
pipeline.
origin: community
---
# Competitive Report Structure
@ -59,7 +58,7 @@ this and knows what to do. No methodology here.
### 2. Market landscape & category framing
Define the category and map it. Use a **multi-axis map** — at minimum a 2×2
(e.g., *brand-led ↔ capability-led* × *boutique ↔ enterprise-scale*), and
(e.g., *brand-led <-> capability-led* × *boutique <-> enterprise-scale*), and
ideally the **client's tension plot** from `benchmark-methodology` as the
headline map. Place every profiled competitor and the client. The map should
make the client's intended position visually obvious and show how crowded (or