Use when the workflow feels over-engineered, has premature optimizations, unnecessary abstraction layers, or complexity beyond actual requirements.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add Doddy70/bengkelwiguna --skill temper --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Temper?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/doddy70-temper-bengkelwiguna)More formats (shields.io, HTML) on the badges page.
---
name: temper
description: "Use when the workflow feels over-engineered, has premature optimizations, unnecessary abstraction layers, or complexity beyond actual requirements."
argument-hint: "[target]"
category: enhancement
version: 2.0.0
user-invocable: true
---
## MANDATORY PREPARATION
Invoke /agent-workflow — it contains workflow principles, anti-patterns, and the **Context Gathering Protocol**. Follow the protocol before proceeding — if no workflow context exists yet, you MUST run /teach-maestro first.
Consult the agent-architecture reference in the agent-workflow skill for topology patterns and when multi-agent is justified.
---
Pull back from over-engineering. The most common mistake isn't building too little — it's building too much.
### Over-Engineering Detection
**Signs you've over-engineered:**
- Multi-agent for a single-agent problem
- Premature optimization before you have performance data
- Abstraction layers with one implementation
- Configuration for things that never change
- Evaluation loops on non-critical outputs
- Framework before features
### The Complexity Test
For each component:
1. **Is this solving a problem we actually have?** (not "might have")
2. **Is this the simplest solution that works?**
3. **Would removing this break anything?** (if not, remove it)
4. **Can someone new understand this in 5 minutes?** (if not, simplify)
### Tempering Strategies
**Collapse Unnecessary Agents**
```text
OVER-ENGINEERED: User → Classifier → Router → Specialist → Formatter → Checker (6 components)
TEMPERED: User → Single Agent with good prompt (1 component, same quality)
```
**Remove Premature Abstraction**
```text
OVER-ENGINEERED: class AgentOrchestrator with 5 strategy interfaces
TEMPERED: async function runWorkflow(input) — direct, readable
```
**Simplify Configuration**
```text
OVER-ENGINEERED: config.yaml (200 lines, 47 params, 3 inheritance levels)
TEMPERED: config.yaml (20 lines, essential params only, sensible defaults)
```
### What NOT to Temper
- Error handling — essential, not overhead
- Logging — saves you when things go wrong
- Input validation — prevents cascading failures
- Core guardrails — safety is non-negotiable
- The golden test set — how you know it still works
### Recommended Next Step
After tempering, run `/evaluate` to confirm quality is preserved, or `/diagnose` for a full health check.
**NEVER**:
- Temper without measuring output quality before and after
- Remove error handling in the name of simplicity
- Simplify below the level of correctness
- Remove features users actively rely on
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!