compound-engineering

AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 28 specialized agents, 24 commands, and 15 skills.

View on GitHub
Author Kieran Klaassen
Namespace @EveryInc/every-marketplace
Category general
Version 2.28.0
Stars 6,637
Downloads 2,535
self.md verified
Table of content

AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last. Includes 28 specialized agents, 24 commands, and 15 skills.

Installation

npx claude-plugins install @EveryInc/every-marketplace/compound-engineering

Contents

Folders: agents, commands, skills

Files: CHANGELOG.md, CLAUDE.md, LICENSE, README.md

Documentation

AI-powered development tools that get smarter with every use. Make each unit of engineering work easier than the last.

Components

ComponentCount
Agents27
Commands20
Skills14
MCP Servers1

Agents

Agents are organized into categories for easier discovery.

Review (14)

AgentDescription
agent-native-reviewerVerify features are agent-native (action + context parity)
architecture-strategistAnalyze architectural decisions and compliance
code-simplicity-reviewerFinal pass for simplicity and minimalism
data-integrity-guardianDatabase migrations and data integrity
data-migration-expertValidate ID mappings match production, check for swapped values
deployment-verification-agentCreate Go/No-Go deployment checklists for risky data changes
dhh-rails-reviewerRails review from DHH’s perspective
kieran-rails-reviewerRails code review with strict conventions
kieran-python-reviewerPython code review with strict conventions
kieran-typescript-reviewerTypeScript code review with strict conventions
pattern-recognition-specialistAnalyze code for patterns and anti-patterns
performance-oraclePerformance analysis and optimization
security-sentinelSecurity audits and vulnerability assessments
julik-frontend-races-reviewerReview JavaScript/Stimulus code for race conditions

Research (4)

AgentDescription
best-practices-researcherGather external best practices and examples
framework-docs-researcherResearch framework documentation and best practices
git-history-analyzerAnalyze git history and code evolution
repo-research-analystResearch repository structure and conventions

Design (3)

AgentDescription
design-implementation-reviewerVerify UI implementations match Figma designs
design-iteratorIteratively refine UI through systematic design iterations
figma-design-syncSynchronize web implementations with Figma designs

Workflow (5)

AgentDescription
bug-reproduction-validatorSystematically reproduce and validate bug reports
every-style-editorEdit content to conform to Every’s style guide
lintRun linting and code quality checks on Ruby and ERB files
pr-comment-resolverAddress PR comments and implement fixes
spec-flow-analyzerAnalyze user flows and identify gaps in specifications

Docs (1)

AgentDescription
ankane-readme-writerCreate READMEs following Ankane-style template for Ruby gems

Commands

Workflow Commands

Core workflow commands use workflows: prefix to avoid collisions with built-in commands:

CommandDescription
/workflows:brainstormExplore requirements and approaches before planning
/workflows:planCreate implementation plans
/workflows:reviewRun comprehensive code reviews
/workflows:workExecute work items systematically
/workflows:compoundDocument solved problems to compound team knowledge

Utility Commands

CommandDescription
/deepen-planEnhance plans with parallel research agents for each section
/changelogCreate engaging changelogs for recent merges
/create-agent-skillCreate or edit Claude Code skills
/generate_commandGenerate new slash commands
/heal-skillFix skill documentation issues
/plan_reviewMulti-agent plan review in parallel
/report-bugReport a bug in the plugin
/reproduce-bugReproduce bugs using logs and console
/resolve_parallelResolve TODO comments in parallel
/resolve_pr_parallelResolve PR comments in parallel
/resolve_todo_parallelResolve todos in parallel
/triageTriage and prioritize issues
/test-browserRun browser tests on PR-affected pages
/xcode-testBuild and test iOS apps on simulator
/feature-videoRecord video walkthroughs and add to PR description

Skills

Architecture & Design

SkillDescription
agent-native-architectureBuild AI agents using prompt-native architecture

Development Tools

SkillDescription
andrew-kane-gem-writerWrite Ruby gems following Andrew Kane’s patterns
compound-docsCapture solved problems as categorized documentation
create-agent-skillsExpert guidance for creating Claude Code skills
dhh-rails-styleWrite Ruby/Rails code in DHH’s 37signals style
dspy-rubyBuild type-safe LLM applications with DSPy.rb
frontend-designCreate production-grade frontend interfaces
skill-creatorGuide for creating effective Claude Code skill

…(truncated)

Included Skills

This plugin includes 5 skill definitions:

agent-browser

Browser automation using Vercel’s agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots, or scrape data. Alternative to Playwright MCP - uses Bash commands with ref-based element selection. Triggers on “browse website”, “fill form”, “click button”, “take screenshot”, “scrape page”, “web automation”.

View skill definition

agent-browser: CLI Browser Automation

Vercel’s headless browser automation CLI designed for AI agents. Uses ref-based selection (@e1, @e2) from accessibility snapshots.

Setup Check

# Check installation
command -v agent-browser >/dev/null 2>&1 && echo "Installed" || echo "NOT INSTALLED - run: npm install -g agent-browser && agent-browser install"

Install if needed

npm install -g agent-browser
agent-browser install  # Downloads Chromium

Core Workflow

The snapshot + ref pattern is optimal for LLMs:

  1. Navigate to URL
  2. Snapshot to get interactive elements with refs
  3. Interact using refs (@e1, @e2, etc.)
  4. Re-snapshot after navigation or DOM changes
# Step 1: Open URL
agent-browser open https://example.com

# Step 2: Get interactive elements with refs
agent-browser snapshot -i --json

# Step 3: Interact using refs
agent-browser click @e1
agent-browser fill @e2 "search query"

# Step 4: Re-snapshot after changes
agent-browser snapshot -i

Key Commands

agent-browser open <url>       # Navigate to URL
agent-browser back             # Go back
agent-browser forward          # Go forward
agent-browser reload           # Reload page
agent-browser close            # Close browser

Snapshots (Essential for AI)

agent-browser snapshot              # Full accessibility tree
agent-browser snapshot -i           # Interactive elements only (recommended)
agent-browser snap

...(truncated)

</details>

### agent-native-architecture

> Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools, implementing self-modifying systems, or building apps where features are outcomes achieved by agents operating in a loop.

<details>
<summary>View skill definition</summary>

<why_now>
## Why Now

Software agents work reliably now. Claude Code demonstrated that an LLM with access to bash and file tools, operating in a loop until an objective is achieved, can accomplish complex multi-step tasks autonomously.

The surprising discovery: **a really good coding agent is actually a really good general-purpose agent.** The same architecture that lets Claude Code refactor a codebase can let an agent organize your files, manage your reading list, or automate your workflows.

The Claude Code SDK makes this accessible. You can build applications where features aren't code you write—they're outcomes you describe, achieved by an agent with tools, operating in a loop until the outcome is reached.

This opens up a new field: software that works the way Claude Code works, applied to categories far beyond coding.
</why_now>

<core_principles>
## Core Principles

### 1. Parity

**Whatever the user can do through the UI, the agent should be able to achieve through tools.**

This is the foundational principle. Without it, nothing else matters.

Imagine you build a notes app with a beautiful interface for creating, organizing, and tagging notes. A user asks the agent: "Create a note summarizing my meeting and tag it as urgent."

If you built UI for creating notes but no agent capability to do the same, the agent is stuck. It might apologize or ask clarifying questions, but it can't help—even though the action is trivial for a human using the interface.

**The fix:** E

...(truncated)

</details>

### andrew-kane-gem-writer

> This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on requests like "create a gem", "write a Ruby library", "design a gem API", or mentions of Andrew Kane's style.

<details>
<summary>View skill definition</summary>

# Andrew Kane Gem Writer

Write Ruby gems following Andrew Kane's battle-tested patterns from 100+ gems with 374M+ downloads (Searchkick, PgHero, Chartkick, Strong Migrations, Lockbox, Ahoy, Blazer, Groupdate, Neighbor, Blind Index).

## Core Philosophy

**Simplicity over cleverness.** Zero or minimal dependencies. Explicit code over metaprogramming. Rails integration without Rails coupling. Every pattern serves production use cases.

## Entry Point Structure

Every gem follows this exact pattern in `lib/gemname.rb`:

```ruby
# 1. Dependencies (stdlib preferred)
require "forwardable"

# 2. Internal modules
require_relative "gemname/model"
require_relative "gemname/version"

# 3. Conditional Rails (CRITICAL - never require Rails directly)
require_relative "gemname/railtie" if defined?(Rails)

# 4. Module with config and errors
module GemName
  class Error < StandardError; end
  class InvalidConfigError < Error; end

  class << self
    attr_accessor :timeout, :logger
    attr_writer :client
  end

  self.timeout = 10  # Defaults set immediately
end

Class Macro DSL Pattern

The signature Kane pattern—single method call configures everything:

# Usage
class Product < ApplicationRecord
  searchkick word_start: [:name]
end

# Implementation
module GemName
  module Model
    def gemname(**options)
      unknown = options.keys - KNOWN_KEYWORDS
      raise ArgumentError, "unknown keywords: #{unknown.join(", ")}" if unknown.any?

      mod = Module.new
      mod.module

...(truncated)

</details>

### brainstorming

> This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore approaches", ambiguous feature requests, or when the user's request has multiple valid interpretations that need clarification.

<details>
<summary>View skill definition</summary>

# Brainstorming

This skill provides detailed process knowledge for effective brainstorming sessions that clarify **WHAT** to build before diving into **HOW** to build it.

## When to Use This Skill

Brainstorming is valuable when:
- Requirements are unclear or ambiguous
- Multiple approaches could solve the problem
- Trade-offs need to be explored with the user
- The user hasn't fully articulated what they want
- The feature scope needs refinement

Brainstorming can be skipped when:
- Requirements are explicit and detailed
- The user knows exactly what they want
- The task is a straightforward bug fix or well-defined change

## Core Process

### Phase 0: Assess Requirement Clarity

Before diving into questions, assess whether brainstorming is needed.

**Signals that requirements are clear:**
- User provided specific acceptance criteria
- User referenced existing patterns to follow
- User described exact behavior expected
- Scope is constrained and well-defined

**Signals that brainstorming is needed:**
- User used vague terms ("make it better", "add something like")
- Multiple reasonable interpretations exist
- Trade-offs haven't been discussed
- User seems unsure about the approach

If requirements are clear, suggest: "Your requirements seem clear. Consider proceeding directly to planning or implementation."

### Phase 1: Understand the Idea

Ask questions **one at a time** to understand the user's intent. Avoid overwhelming with multiple questions.

**Question Techniques:*

...(truncated)

</details>

### compound-docs

> Capture solved problems as categorized documentation with YAML frontmatter for fast lookup

<details>
<summary>View skill definition</summary>

# compound-docs Skill

**Purpose:** Automatically document solved problems to build searchable institutional knowledge with category-based organization (enum-validated problem types).

## Overview

This skill captures problem solutions immediately after confirmation, creating structured documentation that serves as a searchable knowledge base for future sessions.

**Organization:** Single-file architecture - each problem documented as one markdown file in its symptom category directory (e.g., `docs/solutions/performance-issues/n-plus-one-briefs.md`). Files use YAML frontmatter for metadata and searchability.

---

<critical_sequence name="documentation-capture" enforce_order="strict">

## 7-Step Process

<step number="1" required="true">
### Step 1: Detect Confirmation

**Auto-invoke after phrases:**

- "that worked"
- "it's fixed"
- "working now"
- "problem solved"
- "that did it"

**OR manual:** `/doc-fix` command

**Non-trivial problems only:**

- Multiple investigation attempts needed
- Tricky debugging that took time
- Non-obvious solution
- Future sessions would benefit

**Skip documentation for:**

- Simple typos
- Obvious syntax errors
- Trivial fixes immediately corrected
</step>

<step number="2" required="true" depends_on="1">
### Step 2: Gather Context

Extract from conversation history:

**Required information:**

- **Module name**: Which module or component had the problem
- **Symptom**: Observable error/behavior (exact error messages)
- **Investigation attempts

...(truncated)

</details>

## Source

[View on GitHub](https://github.com/EveryInc/compound-engineering-plugin)