ea-harness
CLAUDE.md15 starsChanged 51 days agoMITView on GitHub
This file is the Claude Code rules file (CLAUDE.md). OpenCode, Codex, GitHub Copilot, and Cursor read the equivalent AGENTS.md. Both files carry the same shared body — the block delimited by archharness-shared markers below — and CI fails when the two drift (tests/test_rules_files_in_sync.py). ArchHarness is a multi-tool architecture skill pack for enterprise architecture work. It runs natively in Claude Code and OpenCode and is discovered by Codex, GitHub Copilot, and Cursor. It turns the AI into a team of architecture…
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- axisrobo/ea-harnessword for word, first seen Sep 25, 2026
Other versions1 project uses a version of this.
Word for word · 1
- axisrobo/ea-harness★ 15100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- arch-designSkill
- arch-diagramSkill
- arch-enforceSkill
- arch-optimizeSkill
- arch-reportSkill
- arch-req-from-apiSkill
- arch-req-from-diagramSkill
- arch-req-from-docSkill
- arch-req-mergeSkill
- arch-requirementsSkill
- arch-reviewSkill
- arch-securitySkill
- arch-validateSkill
- arch-workflowSkill
- arch-designSkill
- arch-diagramSkill
- arch-enforceSkill
- arch-optimizeSkill
- arch-reportSkill
- arch-req-from-apiSkill
- arch-req-from-diagramSkill
- arch-req-from-docSkill
- arch-req-mergeSkill
- arch-requirementsSkill
- arch-reviewSkill
- arch-securitySkill
- arch-validateSkill
- arch-workflowSkill
The file
We split this CLAUDE.md into the rules it gives an agent
6 rules. About 0 are common, 2 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 38
All company-specific values (DC names, platform names, classification labels) live in config.yaml at the repository root.
- Very specific: line 53
If the cwd is inside projects/<id>/, that project is the active project.
- Very specific: line 54
Use --project <id> to select a project from anywhere in the workspace.
- Very specific: line 63
All skills load company-specific values from config.yaml at runtime.
- Distinctive: line 121
Never fabricate predecessor outputs and never skip a stage.
- Distinctive: line 122
After the enforce gate, continue only on PASS or WARN.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
ArchHarness — Enterprise Architecture Design & Validation
This file is the Claude Code rules file (
CLAUDE.md). OpenCode, Codex, GitHub Copilot, and Cursor read the equivalentAGENTS.md. Both files carry the same shared body — the block delimited byarchharness-sharedmarkers below — and CI fails when the two drift (tests/test_rules_files_in_sync.py).
<!-- archharness-shared:start -->What this is
ArchHarness is a multi-tool architecture skill pack for enterprise architecture
work. It runs natively in Claude Code and OpenCode and is discovered by
Codex, GitHub Copilot, and Cursor. It turns the AI into a team of
architecture specialists you summon on demand, backed by a real CLI
(python -m archharness), versioned contracts, and a deterministic gate.
Available agents and skills
| Agent | Claude Code | OpenCode | Role |
| arch-workflow | /arch-workflow | @arch-workflow | Pipeline gatekeeper — enforces stage order and the PASS/WARN/BLOCK gate; blocks skipping |
| arch-requirements | /arch-requirements | @arch-requirements | Orchestrator — interview + multi-source intake → REQ.md + req.yaml |
| arch-req-from-diagram | /arch-req-from-diagram | @arch-req-from-diagram | Reader — draw.io / D2 / arch YAML / PNG (vision) → partial req.yaml |
| arch-req-from-doc | /arch-req-from-doc | @arch-req-from-doc | Reader — PDF / DOCX / MD / TXT via LLM → partial req.yaml |
| arch-req-from-api | /arch-req-from-api | @arch-req-from-api | Reader — CMDB / ServiceNow / CSV → partial req.yaml |
| arch-req-merge | /arch-req-merge | @arch-req-merge | Merger — combine partials, conflict detection, gap report |
| arch-design | /arch-design | @arch-design | Senior architect — requirements → architecture YAML blueprint |
| arch-diagram | /arch-diagram | @arch-diagram | Diagram generator — Architecture YAML → draw.io / D2 / PNG / PlantUML |
| arch-validate | /arch-validate | @arch-validate | Paranoid security architect — diagram → scored JSON (6 dimensions) |
| arch-enforce | /arch-enforce | @arch-enforce | CI enforcement gate — gate policy → PASS/WARN/BLOCK + exit code |
| arch-security | /arch-security | @arch-security | Security auditor — auth / credentials / network boundary deep-dive |
| arch-review | /arch-review | @arch-review | Review board — APPROVED / APPROVED WITH CONDITIONS / REJECTED |
| arch-optimize | /arch-optimize | @arch-optimize | Staff architect — prioritized fix backlog (P0–P3) |
| arch-report | /arch-report | @arch-report | Technical writer — Confluence pages, executive summaries, risk briefs |
Configuration
All company-specific values (DC names, platform names, classification labels)
live in config.yaml at the repository root. Edit it before first use — it is
the only file you need to change. Skills and rules load these values at runtime:
company.name, datacenters (names, locations, zones), and platforms (API
gateway, message bus, K8s platform).
Multi-project workspace
One checkout supports many isolated projects. Create projects with the CLI
(python -m archharness): init-workspace, init-project, list-projects,
doctor. Each project lives under projects/<id>/ with its own input/,
working/, output/, and a project.yaml describing id, name, platform,
and data_classification.
Working session rules:
- If the cwd is inside
projects/<id>/, that project is the active project. - Use
--project <id>to select a project from anywhere in the workspace. - Inputs resolve against the active project
input/; generated files land in the active projectoutput/(subfoldersrequirements/,designs/,diagrams/,validation/,reports/). - Project data dirs are git-ignored. Do not scatter generated files in the
repository root when a workspace project is active — target the project
output/.
Standards in scope
All skills load company-specific values from config.yaml at runtime. The
standards/ directory holds the platform-agnostic rules and topology
requirements. Six deployment targets are supported, each with a standard, a
placement-rule family (E-*), a design template, and a worked example:
private-cloud-standard.yaml— F5 ingress model, east-west isolation, PAW, DC zone modelsaws-standard.yaml— Hub-Spoke, ALB/WAF, API Gateway in Spoke VPC, IAM + Secrets Managerazure-standard.yaml— Hub-Spoke, App Gateway WAF v2, APIM in Spoke VNET, Key Vaultgcp-standard.yaml— Shared VPC host + service projects, global HTTPS LB + Cloud Armor, Cloud NAT, CMEK (E-GCP-*)aliyun-standard.yaml— resource directory + central VPC, Anti-DDoS → WAF → SLB, CEN, RAM roles + STS (E-ALI-*)microsoft-saas-standard.yaml— black-box tenant/environment containers, one boundary component, Entra ID + DLP; Microsoft 365 / Power Platform / Dynamics 365 (E-MS-*)
Diagram shape spec
standards/diagram-style.yaml — full shape, color, arrow, and metadata rules from:
- Private Cloud Architecture Diagram Shape Specification v1.0
- Technical Architecture Diagram Specification v1.0
Validation rules
Skills load rules from .claude/skills/arch-validate/rules/:
diagram-rules.yaml— V- series: shape, color, arrow, legendinteraction-rules.yaml— W- series: arrow direction, protocol, integration platformsecurity-rules.yaml— S- series: auth, user auth, credential protectionaccuracy-rules.yaml— E- series: DC location, network segments, component completenessplatform-rules.yaml— platform-specific rules for private cloud, AWS, Azure, GCP, Alibaba Cloud, Microsoft SaaScompliance/terminology.yaml— cloud terminology and ISO27001/TOGAF mapping
Scoring
Six dimensions, 10 points total:
- Cloud_Network_Completeness (2.0), Connectivity (1.0), Technical_Component_Completeness (2.0)
- Interaction_Integration (2.0), Security_Compliance (2.0), Terminology_Expression (1.0)
Usage pattern
- Design → run the design skill to generate architecture YAML from requirements
- Validate → run the validation skill on the diagram image for a scored JSON report
- Enforce → run the enforce skill to apply the CI gate policy (or skip for human review)
- Deep-dive security → run the security skill for an auth/credential/network boundary audit
- Standards check → run the review skill for committee-style compliance scoring
- Fix it → run the optimize skill for prioritized improvement suggestions
- Document it → run the report skill for an executive summary or Confluence page
Pipeline discipline (mandatory order)
Architecture stages run in the order defined by standards/workflow.yaml:
Requirements → design → draw (export PNG) → validate → enforce gate
│ PASS / WARN → security + review
│ BLOCK → pipeline stops
security + review → optimize → reportGate rules (fail-closed, enforced by the arch-workflow gatekeeper):
- A stage starts only when every artifact in its
requireslist exists in the active projectoutput//working/. - Never fabricate predecessor outputs and never skip a stage.
- After the enforce gate, continue only on PASS or WARN. BLOCK requires fixing the findings and re-running validate → enforce.
- Invoke
arch-workflow status/arch-workflow can <stage>(@arch-workflowin OpenCode) before starting a stage when in doubt.
<!-- archharness-shared:end -->Claude Code specifics
Discovery. Claude Code registers each directory under .claude/skills/ that
contains a SKILL.md as a /arch-* slash command — the Claude Code Agent Skills
open standard.
Install from the chat window (plugin marketplace).
/plugin marketplace add axisrobo/ea-harness
/plugin install archharness@archharness-marketplace
/reload-pluginsPlugin skills are namespaced /archharness:arch-validate, /archharness:arch-design,
etc. For shared resources (standards/, tools/, config.yaml) run
pip install "archharness[all]" once, or set ARCHHARNESS_HOME to a checkout.
Diagram tool. tools/arch-diagram-gen/arch_diagram_gen.py -i arch.yaml is
equivalent to python -m archharness diagram -i arch.yaml; both write into the
active project output/diagrams/ and emit draw.io, D2, PlantUML, and PNG.
If skills aren't loading, confirm the working directory is the repository root
(or a project directory) and that .claude/skills/ exists.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

