Back to Exercises
Audit an Artifact
Apply Rams' principles to evaluate whether each element earns its existence.
Objectives
- Apply "Does this earn its existence?" to each element
- Identify decorative vs. functional elements
- Propose removals with justification
Beads Tasks
Create these tasks in Beads before starting. You learn Beads by using Beads.
bd create "Praxis: Audit [component] with Rams principles" --type=task--labels=learn,foundationsbd create "List elements that fail "earns existence" test" --type=task--labels=learnbd create "Propose removal strategy with rationale" --type=task--labels=learnClaude Code Prompt
Copy this prompt into Claude Code to build YOUR own version:
## Setup: Track this exercise with Beads ```bash bd create "Praxis: Audit [component] with Rams principles" --type=task --labels=learn,foundations bd create "List elements that fail 'earns existence' test" --type=task --labels=learn bd create "Propose removal strategy with rationale" --type=task --labels=learn ``` --- Help me audit [COMPONENT_OR_PAGE] using Rams' "Weniger, aber besser" principle. I'm defining MY standard for what "earns its existence." For each element, ask: 1. **Does this element serve a function?** (If not, it's decorative) 2. **Is the function essential?** (Could the user accomplish their goal without it?) 3. **Is this the simplest way to serve that function?** Analyze [COMPONENT_OR_PAGE] and create a table: | Element | Function | Essential? | Simplest? | Verdict | |---------|----------|------------|-----------|---------| For elements that fail: propose removal or simplification. End with MY Rams principle: a one-sentence test I'll apply to every element I create. The artifact I want to audit: [YOUR_COMPONENT_OR_PAGE]
Subtractive Triad Audit
Review the code below and identify opportunities for improvement at each level of the Subtractive Triad. Look for duplication (DRY), excess complexity (Rams), and disconnection from the larger system (Heidegger).
Code to Audit
function Button({ text, onClick, disabled, loading }) {
if (loading) {
return <button disabled>Loading...</button>;
}
if (disabled) {
return <button disabled>{text}</button>;
}
return <button onClick={onClick}>{text}</button>;
}
function SubmitButton({ onClick }) {
return <button onClick={onClick}>Submit</button>;
}
function CancelButton({ onClick }) {
return <button onClick={onClick}>Cancel</button>;
}Implementation
Unify
Have I built this before?
Look for duplication - repeated logic, similar patterns, or redundant code.
Artifact
Remove
Does this earn its existence?
Identify excess - unnecessary complexity, unused features, or decorative elements.
System
Reconnect
Does this serve the whole?
Find disconnection - components that work in isolation but not as a coherent system.