bigpowers Principles: The Evolution of Agentic Engineering
<!– story: e35s09 –>
The bigpowers skill set is the result of a chronological evolution of software engineering discipline, starting from classic human-centric craftsmanship and culminating in a high-integrity, agent-first methodology.
1. The Foundation: Classical Craftsmanship (2008)
Section titled “1. The Foundation: Classical Craftsmanship (2008)”Source: Uncle Bob (Clean Code)
Before agents, there was the Software Craftsman. We inherit the non-negotiable foundations of clean code:
- SRP (Single Responsibility Principle): Each function and module must do one thing.
- The Boy Scout Rule: Always leave the code cleaner than you found it.
- F.I.R.S.T Testing: Tests must be Fast, Independent, Repeatable, Self-Validating, and Timely.
- Intention-Revealing Names: Names must reveal why code exists and what it does.
2. Refining the Structure: Complexity Management (2018)
Section titled “2. Refining the Structure: Complexity Management (2018)”Source: John Ousterhout (A Philosophy of Software Design)
As systems grew, we learned that “small functions” (from Uncle Bob) could lead to “shallow modules.” bigpowers upgrades the foundation with:
- Deep Modules: We favor modules with simple interfaces that hide significant internal complexity.
- Information Hiding: Reducing the “cognitive surface area” (and later, the token surface area) that an agent must understand.
- Define Errors Out of Existence: Designing APIs so that agents cannot easily trigger invalid states.
There is an apparent tension between Uncle Bob’s guidance to keep functions small (4–20 lines) and Ousterhout’s preference for deep modules — but the two principles are complementary, not contradictory. A deep module is a cohesive set of small, single-responsibility functions united behind a simple interface; depth is achieved at the file or module level by hiding many small functions from callers, not by writing large, monolithic functions. Small functions remain the unit of implementation; the module’s interface remains the unit of abstraction.
3. The Agentic Pivot: Behavioral Integrity (2023-2024)
Section titled “3. The Agentic Pivot: Behavioral Integrity (2023-2024)”Sources: Karpathy, Superpowers, Pocock
With the rise of LLMs, engineering shifted from writing code to orchestrating it. We introduced:
- Think First: Surfacing assumptions and planning before a single line of code is written.
- Skill-Based Architecture: Organizing capabilities into discrete, verb-noun “skills” (the
superpowersmodel). - Zoom-Out Strategy: Understanding the callers and the broader context before modifying internals (the
Pocockmandate). - Surgical Edits: Touching only what is required to fulfill the goal.
4. The Interface for Agents: Spec-Driven Development (2024)
Section titled “4. The Interface for Agents: Spec-Driven Development (2024)”Sources: Jaroslaw Wasowski, BCP — Business Complexity Points
We recognized that the “Missing Link” between human intent and agent execution is the Specification.
- SDD (Spec-Driven Development): The specification is the primary driver of behavior.
- BDD as the Link: Using Gherkin and scenarios to provide unambiguous, verifiable instructions.
- The Verification Loop: Closing the loop between spec, plan, and empirical proof.
5. The Modern Standard: Agent-Centric Refinement (2026)
Section titled “5. The Modern Standard: Agent-Centric Refinement (2026)”Source: Akita (Clean Code for AI Agents)
This is the definitive “Update” to Uncle Bob. We optimize the foundation specifically for the “Agentic Turn”:
- Searchability is King (Grep-ability): Unique code symbol naming (functions, classes, constants) to ensure a global
grepreturns < 5 results. Skill directory names are intentionally referenced across docs and indexes — the < 5 rule applies to code symbols only. - Structured Observability: Mandatory JSON logging and idempotent setup. If an agent can’t observe it, it can’t fix it.
- Token Economy: Eliminating filler and redundant output to preserve the context window.
- Remediation Hints: Error messages that explicitly tell the agent how to recover.
6. The Synthesis: bigpowers Discipline (Current)
Section titled “6. The Synthesis: bigpowers Discipline (Current)”bigpowers consolidates these decades of learning into a single, cohesive discipline:
- The 6-Phase Lifecycle: A canonical arc (Discover → Elaborate → Plan → Build → Verify → Release). Note: Sustain is a session flow state, not a lifecycle phase.
- Hard Gates: Explicit blocks that prevent execution until quality criteria are met.
- Session Governance: Using
specs/state.yamlandspecs/release-plan.yamlto prevent context rot and drift. - 94% Quality Threshold: Running
npm run compliance(viascripts/audit-compliance.sh) prints aPASS/TOTALcount and a percentage; the project must score at least 94%, meaning at least 94% of the Gherkin scenarios inspecs/verifications/features/pass. Falling below this threshold is treated as a Hard Stop.
7. Verification & Compliance: Turning Philosophy into Proof
Section titled “7. Verification & Compliance: Turning Philosophy into Proof”Principles without verification are merely suggestions. We use Gherkin-based Audit Features to empirically prove compliance. Every philosophical pillar is backed by a detailed .feature file in specs/verifications/features/:
| Philosophical Pillar | Verification Source (Feature File) |
|---|---|
| Classical Craftsmanship | cleancode.feature |
| Complexity Management | pocock.feature |
| Behavioral Integrity | karpathy.feature |
| Spec-Driven Development | wasowski.feature (Implicit in SDD workflow) |
| Agentic Standard | akita.feature |
| Project Conventions | conventions.feature |
| Original Baseline | superpowers.feature |
How to Verify
Section titled “How to Verify”To ensure these principles are being followed, we run the following mandate:
- Audit Check: Periodically run the audit suite against the codebase to generate a quality score.
- Red-Flag Detection: If a scenario in a
.featurefile fails, it is treated as a Hard Stop. - Continuous Refinement: As we learn from new agents, we update the
.featurefiles to harden our “Best-in-Class” standard.
8. The Anatomy of a High-Integrity Skill: Definition of Ready
Section titled “8. The Anatomy of a High-Integrity Skill: Definition of Ready”When creating a new skill, it must meet these “Best-in-Class” requirements derived from our principles:
- Atomic Naming (Akita/Superpowers): Must be a unique two-word
verb-nounpair. Searchable with a singlegrep(< 5 results). - High-Density Description: The description must contain specific triggers (“Use when…”) to minimize unnecessary skill loading (Token Economy).
- Hard-Gated Workflows: Processes must include explicit checkpoints or checklists to stop execution if quality criteria are not met.
- Information Hiding (Ousterhout):
SKILL.mdsize is lint-enforced byscripts/check-skill-size.sh: target under 100 lines; hard cap is 120 lines for utility skills and 150 lines for critical-path lifecycle skills. When aSKILL.mdwould exceed its cap, advanced procedures and examples must be moved into a peerREFERENCE.md, keeping the primary interface minimal. - Provenance-Ready: If the skill modifies code, it must include a step to document why (link to ADR or spec).
- Empirically Verifiable: Every new skill should have a corresponding
.featurefile inspecs/verifications/features/to verify its own implementation.
9. Reference Library
Section titled “9. Reference Library”The philosophy sources cited above (Uncle Bob, Ousterhout, Akita, Karpathy, Pocock, Superpowers, Wasowski, BMAD, GSD, BCP) are the why. The references below are the operational how — consult them when applying the discipline. Historical and exploratory material lives in docs/archive/.
Core loop & gates:
orchestration.md— the 6-phase core loop (discover→elaborate→plan→build→verify→release)gates.md— confirm/quality/safety/transition gates and the computed 94% thresholdcheckpoints.md— progress-reporting milestonesverification-patterns.md— how outputs are verified
Historical foundations (credited per the e35 Missing Historical References epic):
kent-beck.md— Beck: XP, TDD (red-green-refactor), and Tidy First?fowler.md— Fowler: refactoring catalog and code-smell taxonomyfeathers.md— Feathers: seams, characterization tests, and legacy codepragmatic-programmer.md— Hunt & Thomas: DRY, broken windows, tracer bulletsrich-hickey.md— Hickey: simple vs easy, complectingsandi-metz.md— Metz: SOLID in practice, message-level testingddd.md— Evans: bounded contexts, context mapping, ubiquitous languageaccelerate.md— Forsgren, Humble, Kim: DORA four keys
Routing & methods:
model-profiles.md— per-skill model assignment (auto-generated) and token budgetstdd.md— test-driven development referencecode-review.md— review checklistsecurity-threats.md— slopcheck and supply-chain threat patternsthinking-models.md— reasoning-mode selectiondomain-probes.md— domain-discovery probesgit-integration.md— git/PR integration patternsspec-kit.md— external spec-kit method comparison
“Classic foundations, modern orchestration, agentic integrity.”