Skip to content

feat: add compound-engineering ECC bundle#2

Open
ecc-tools[bot] wants to merge 11 commits into
mainfrom
ecc-tools/compound-engineering-1780678997332
Open

feat: add compound-engineering ECC bundle#2
ecc-tools[bot] wants to merge 11 commits into
mainfrom
ecc-tools/compound-engineering-1780678997332

Conversation

@ecc-tools
Copy link
Copy Markdown

@ecc-tools ecc-tools Bot commented Jun 5, 2026

Summary

Auto-generated ECC bundle from repository analysis.

What This Does

Merging this PR adds repo-local ECC artifacts for both Claude Code and Codex. The generated bundle captures repository patterns, Codex baseline config, and reusable workflow scaffolds derived from git history analysis.

Analysis Scope

  • Commit history patterns and conventions
  • Code architecture and structure
  • Testing patterns and coverage
  • Recurring workflows

Files

Path Description
.claude/ecc-tools.json ECC install manifest used for upgrades, repair, and uninstall.
.claude/skills/compound-engineering/SKILL.md Repository-specific Claude Code skill generated from git history.
.agents/skills/compound-engineering/SKILL.md Codex-facing copy of the generated repository skill.
.agents/skills/compound-engineering/agents/openai.yaml Codex skill metadata so the repo skill appears cleanly in the skill interface.
.claude/identity.json Suggested identity.json baseline derived from repository conventions.
.codex/config.toml Repo-local Codex MCP and multi-agent baseline aligned with ECC defaults.
.codex/AGENTS.md Codex usage guide that points at the generated repo skill and workflow bundle.
.codex/agents/explorer.toml Read-only explorer role config for Codex multi-agent work.
.codex/agents/reviewer.toml Read-only reviewer role config focused on correctness and security.
.codex/agents/docs-researcher.toml Read-only docs researcher role config for API verification.
.claude/homunculus/instincts/inherited/compound-engineering-instincts.yaml Continuous-learning instincts derived from repository patterns.
Optional: Continuous Learning (16 instincts)

This PR also includes instincts for the continuous-learning-v2 skill. These are optional and only useful if you use that skill.

Import after merging:

/instinct-import .claude/homunculus/instincts/inherited/compound-engineering-instincts.yaml

Review Checklist

  • Verify detected patterns are accurate
  • Confirm generated config, commands, and skill metadata match the repo’s real workflow
  • Check best practices align with team standards before merging

ECC Tools | Everything Claude Code

Summary by Sourcery

Add repository-specific ECC configuration and skills for Claude Code and Codex, including development conventions, multi-agent setups, and continuous-learning instincts.

New Features:

  • Introduce Claude and Codex repo skills documenting compound-engineering development patterns, commit conventions, and testing practices.
  • Add Codex baseline configuration with MCP integrations and multi-agent agent profiles for explorer, reviewer, and docs researcher.
  • Provide continuous-learning instincts capturing repo-specific coding, testing, and git workflows for Claude-based tooling.

Enhancements:

  • Expose the compound-engineering skill to Codex via agent metadata for clean discovery in the skill interface.

Documentation:

  • Document Codex ECC usage, available repo skills, and multi-agent roles in a repo-local AGENTS guide.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Jun 5, 2026

Reviewer's Guide

Adds an auto-generated ECC bundle for the compound-engineering repo, wiring up Claude Code and Codex with shared repo-specific skills, a Codex MCP/multi-agent baseline, and optional continuous-learning instincts derived from repository analysis.

File-Level Changes

Change Details Files
Introduce repository-specific development-pattern skills for both Claude Code and Codex.
  • Add Claude-facing SKILL describing compound-engineering coding conventions, commit style, and testing patterns.
  • Add Codex-facing SKILL that mirrors the Claude skill content for repo-local usage.
  • Document repo commands (/test, /commit) and explicitly call out unknown/undetected workflow and test framework details.
.claude/skills/compound-engineering/SKILL.md
.agents/skills/compound-engineering/SKILL.md
Configure Codex MCP servers and multi-agent setup aligned with ECC defaults.
  • Add Codex config.toml enabling GitHub, Context7, Exa, Memory, Playwright, and Sequential Thinking MCP servers.
  • Enable multi_agent mode with bounded threads/depth and define explorer, reviewer, and docs_researcher agents wired to per-agent config files.
  • Add AGENTS.md documenting how the repo-local Codex config and skill integrate with the existing agent setup.
.codex/config.toml
.codex/AGENTS.md
Define specialized Codex agent roles for explorer, reviewer, and docs researcher.
  • Create explorer agent config with read-only sandbox and instructions focused on evidence gathering and execution-path tracing.
  • Create reviewer agent config with read-only sandbox and guidance to prioritize correctness, security, regressions, and tests.
  • Create docs-researcher agent config emphasizing verification of APIs/framework behavior against primary documentation and citation of sources.
.codex/agents/explorer.toml
.codex/agents/reviewer.toml
.codex/agents/docs-researcher.toml
Expose the repo skill to the Codex skill interface with appropriate metadata.
  • Add openai.yaml metadata for the compound-engineering repo skill, including display name, description, default prompt, and implicit invocation policy.
.agents/skills/compound-engineering/agents/openai.yaml
Introduce optional continuous-learning instincts derived from repository conventions.
  • Add homunculus instincts YAML capturing commit conventions, naming patterns, import/export style, test layout, and skills-folder usage.
  • Document confidence levels, triggers, and evidence for each instinct to align Claude behavior with repo norms.
  • Clarify that instincts supplement (not replace) existing curated instincts and can be imported via /instinct-import.
.claude/homunculus/instincts/inherited/compound-engineering-instincts.yaml
Add ECC tooling and identity baselines for Claude Code.
  • Introduce ecc-tools.json manifest (content not shown in diff) to manage ECC install/upgrade/uninstall operations for this repo.
  • Add identity.json baseline (content not shown in diff) derived from repository conventions to guide Claude identity/behavior in this project.
.claude/ecc-tools.json
.claude/identity.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 2 issues, and left some high level feedback:

  • The instincts YAML contains multiple overlapping entries for similar behaviors (e.g., file naming, import/export style, commit format, test location); consider consolidating or pruning duplicates to avoid conflicting guidance for downstream tools.
  • Both SKILL.md files are wrapped in a top-level ```markdown code fence, which will cause the entire content to render as a code block rather than normal markdown; you may want to remove the outer fence so consumers see formatted headings and lists.
  • There is a mismatch between the instincts (tests in tests/tests directories) and the SKILL.md description (tests colocated with source files); it would be helpful to reconcile this so the documented testing pattern is consistent across artifacts.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The instincts YAML contains multiple overlapping entries for similar behaviors (e.g., file naming, import/export style, commit format, test location); consider consolidating or pruning duplicates to avoid conflicting guidance for downstream tools.
- Both SKILL.md files are wrapped in a top-level ```markdown code fence, which will cause the entire content to render as a code block rather than normal markdown; you may want to remove the outer fence so consumers see formatted headings and lists.
- There is a mismatch between the instincts (tests in tests/__tests__ directories) and the SKILL.md description (tests colocated with source files); it would be helpful to reconcile this so the documented testing pattern is consistent across artifacts.

## Individual Comments

### Comment 1
<location path=".claude/homunculus/instincts/inherited/compound-engineering-instincts.yaml" line_range="134" />
<code_context>
+confidence: 0.9
+domain: code-style
+source: repo-analysis
+source_repo: aegntic/compound-engineering
+---
+
</code_context>
<issue_to_address>
**suggestion:** Align `source_repo` format across instincts to keep provenance consistent and machine-parseable.

Earlier entries use a full URL (`https://github.com/aegntic/compound-engineering`), while this one uses `aegntic/compound-engineering`. If any downstream tooling assumes a single format, this inconsistency may break provenance parsing. Please choose one representation and use it consistently for `source_repo` in this file.

```suggestion
source_repo: https://github.com/aegntic/compound-engineering
```
</issue_to_address>

### Comment 2
<location path=".codex/config.toml" line_range="14-23" />
<code_context>
+
+[mcp_servers.context7]
+command = "npx"
+args = ["-y", "@upstash/context7-mcp@latest"]
+
+[mcp_servers.exa]
+url = "https://mcp.exa.ai/mcp"
+
+[mcp_servers.memory]
+command = "npx"
+args = ["-y", "@modelcontextprotocol/server-memory"]
+
+[mcp_servers.playwright]
+command = "npx"
+args = ["-y", "@playwright/mcp@latest", "--extension"]
+
+[mcp_servers.sequential-thinking]
</code_context>
<issue_to_address>
**suggestion (bug_risk):** Avoid `@latest` in MCP server commands to reduce risk of unexpected breaking changes.

Several servers here are pinned to `@latest` (e.g., `@upstash/context7-mcp@latest`, `@playwright/mcp@latest`). This tightly couples behavior to upstream releases and can introduce regressions without any changes in this repo. Please pin these to specific versions and update deliberately as needed.

Suggested implementation:

```
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@X.Y.Z"]

```

```
[mcp_servers.playwright]
command = "npx"
args = ["-y", "@playwright/mcp@A.B.C", "--extension"]

```

Replace the placeholder versions `X.Y.Z` and `A.B.C` with specific, tested versions of `@upstash/context7-mcp` and `@playwright/mcp` that are compatible with your environment (for example, the versions currently deployed in production or known stable releases). When upgrading these MCP servers in the future, update the pinned versions here as part of a deliberate, tested change.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

confidence: 0.9
domain: code-style
source: repo-analysis
source_repo: aegntic/compound-engineering
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: Align source_repo format across instincts to keep provenance consistent and machine-parseable.

Earlier entries use a full URL (https://github.com/aegntic/compound-engineering), while this one uses aegntic/compound-engineering. If any downstream tooling assumes a single format, this inconsistency may break provenance parsing. Please choose one representation and use it consistently for source_repo in this file.

Suggested change
source_repo: aegntic/compound-engineering
source_repo: https://github.com/aegntic/compound-engineering

Comment thread .codex/config.toml
Comment on lines +14 to +23
args = ["-y", "@upstash/context7-mcp@latest"]

[mcp_servers.exa]
url = "https://mcp.exa.ai/mcp"

[mcp_servers.memory]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-memory"]

[mcp_servers.playwright]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (bug_risk): Avoid @latest in MCP server commands to reduce risk of unexpected breaking changes.

Several servers here are pinned to @latest (e.g., @upstash/context7-mcp@latest, @playwright/mcp@latest). This tightly couples behavior to upstream releases and can introduce regressions without any changes in this repo. Please pin these to specific versions and update deliberately as needed.

Suggested implementation:

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp@X.Y.Z"]

[mcp_servers.playwright]
command = "npx"
args = ["-y", "@playwright/mcp@A.B.C", "--extension"]

Replace the placeholder versions X.Y.Z and A.B.C with specific, tested versions of @upstash/context7-mcp and @playwright/mcp that are compatible with your environment (for example, the versions currently deployed in production or known stable releases). When upgrading these MCP servers in the future, update the pinned versions here as part of a deliberate, tested change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants