Knowledge plane
Establishes what the project and a proposed change mean.
- Policy definition
- System model
- Intent
- Specification
- Design
Tyler J. Peckenpaugh / Agentic development
ArDD, Superpowers, and Spec Kit each combine durable knowledge, delivery practices, and workflow machinery. Pulling those concerns apart makes overlap visible and composition possible.
The structural model
The planes separate meaning, delivery, and operational reliability. A complete methodology usually spans all three; a composable tool does not need to.
Establishes what the project and a proposed change mean.
Transforms an approved commitment into integrated, evidenced code.
Makes the other planes observable, recoverable, and composable.
Across all three planes
Project specificity and execution effectiveness are independent. A rule needs an owner, an application point, and evidence.
What do we require?
Behavior changes need regression coverage.
Which rules apply?
Combine project policy, defaults, and explicit exceptions.
How does work change?
Carry requirements into plans and worker briefs.
What proves compliance?
Review evidence and run required checks.
A skill instructs. A reviewer assesses. A required check blocks. Each provides a different level of assurance.
Its documented precedence puts direct user instructions and project files such as AGENTS.md and CLAUDE.md above skill defaults. Plans also carry global constraints. This supports explicit project overrides without changing upstream skills; consistent propagation to every worker and reviewer still depends on the workflow. Instruction precedence · Plan constraints
How a module takes effect
A module names a responsibility. Its mechanism supplies the behavior; its trigger determines whether that behavior runs.
Project rules and decisions. AGENTS.md / CLAUDE.md are harness entry points where supported; a constitution needs an explicit reference or read step. Being on disk does not make it active.
A procedure interpreted by an agent. Activated by a user command, skill discovery, or another workflow step. Strong wording guides behavior but supplies no independent barrier.
A role, instructions, input context, and output contract. Dispatch activates it. Tools, model, isolation, and permissions are separate harness settings when supported; a reviewer prompt alone does not restrict access.
Shape specs, plans, task briefs, and ledgers. Loaded during generation or execution. A template suggests structure; a parser or validator can enforce it.
Execute concrete operations: mutate state, inspect Git, run tests, or create an issue. Deterministic behavior begins after invocation; an agent may still omit the call or mishandle its result.
The harness invokes a handler on an event such as session start or tool use. A handler may inject instructions, report findings, or block an operation where supported. Automatic activation is not automatically enforcement.
Git hooks, CI events, protected branches, and tool permissions operate outside skill prose. A required check can block a merge; an optional check merely reports. Coverage and bypass rules determine the guarantee.
Approval, clarification, review, and exceptions. A prompt asks for a decision; enforcement depends on whether the agent or runtime actually waits before acting.
Manual: a person remembers to run it. Agent-directed: a skill tells the agent to run it. Event-driven: the harness, Git, or CI runs it. Required gate: a controlling system refuses the operation when it fails. These describe invocation and consequences, not the sophistication of the script.
Superpowers' Claude hook starts at SessionStart; it bootstraps skill guidance. Spec Kit's implementation template directs the agent to invoke extension hooks. Those are different activation mechanisms despite sharing the name “hook.” Superpowers hook configuration · Spec Kit implementation template
Capability comparison
Capability coverage and implementation mechanisms are separate assessments. Mechanism entries summarize the reviewed sources; installed versions and harness configuration can change activation and enforcement.
| Module | ArDD | Superpowers | Spec Kit |
|---|
State is not one thing
Calling every file an artifact hides crucial differences in authority, lifetime, mutability, and recovery.
What rules govern all work?
What is the system supposed to be?
What might need attention?
What behavior should this change produce?
How will the approved behavior be built?
What executable action happens next?
Why should a correctness claim be believed?
Where did this execution run stop?
What does current state look like right now?
Orthogonal to lifecycle
A lifecycle stage says where a capability acts. An archetype says what kind of action it performs.
A coherent hybrid
Use each tool where its model is strongest. Treat overlap as an ownership decision, not an invitation to run both.
Many inspectors may read the same state. Independent reviews, audits, and validators add evidence without competing for ownership.
Two planners, queues, status ledgers, or branch coordinators create split authority and contradictory transitions.
The unit of composition
A module becomes composable when its authority and failure behavior are as explicit as its happy path. Commands and prompts are delivery mechanisms; this contract is the capability boundary.
Name: Question answered: Inputs: Outputs: Canonical state owned: Policy inputs and precedence: Mechanism and invocation owner: Failure consequence: report | ask | block Authority: advisory | gating | mutating Execution: deterministic | constrained judgment | open judgment Trigger: explicit | automatic | event-driven Failure and recovery contract:
A capability can have many readers and inspectors, but only one module should mutate its authoritative state.
Drafting and deliberation should not consume intake, supersede accepted work, or advance lifecycle state.
Status views should be regenerated from source records, never patched into becoming another source of truth.
“Use TDD” is policy. Running a test command is mechanism. A module should make clear which it supplies.
Every mutating module needs an idempotency, rollback, reconciliation, or abandonment story.
A command that elicits, compiles, gates, mutates, and coordinates should usually be decomposed behind its interface.