From claude-skills
Recognize when disagreements reveal valuable context, preserve multiple valid approaches instead of forcing premature resolution
npx claudepluginhub orban/claude-skills --plugin claude-skillsThis skill uses the workspace's default tool permissions.
Some tensions aren't problems to solve - they're valuable information to preserve. When multiple approaches are genuinely valid in different contexts, forcing a choice destroys flexibility.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Some tensions aren't problems to solve - they're valuable information to preserve. When multiple approaches are genuinely valid in different contexts, forcing a choice destroys flexibility.
Core principle: Preserve tensions that reveal context-dependence. Force resolution only when necessary.
A tension is productive when:
A tension needs resolution when:
Make the choice configurable rather than baked into architecture:
class Config:
mode: Literal["optimize_cost", "optimize_latency"]
# Each mode gets clean, simple implementation
When to use: Both approaches are architecturally compatible, switching is runtime decision
Maintain both as separate clean modules with shared contract:
# processor/batch.py - optimizes for cost
# processor/stream.py - optimizes for latency
# Both implement: def process(data) -> Result
When to use: Approaches diverge significantly, but share same interface
Capture the tension explicitly in documentation/decision records:
## Unresolved Tension: Authentication Strategy
**Option A: JWT** - Stateless, scales easily, but token revocation is hard
**Option B: Sessions** - Easy revocation, but requires shared state
**Why unresolved:** Different deployments need different trade-offs
**Decision deferred to:** Deployment configuration
**Review trigger:** If 80% of deployments choose one option
When to use: Can't preserve both in code, but need to document the choice was deliberate
All of these mean: STOP. Consider preserving the tension.
You SHOULD force resolution when:
Implementation cost is prohibitive
Fundamental conflict
Clear technical superiority
One-way door
Simplicity requires choice
Ask explicitly: "Should I pick one, or preserve both as options?"
When preserving tensions, document clearly:
## Tension: [Name]
**Context:** [Why this tension exists]
**Option A:** [Approach]
- Optimizes for: [Priority]
- Trade-off: [Cost]
- Best when: [Context]
**Option B:** [Approach]
- Optimizes for: [Different priority]
- Trade-off: [Different cost]
- Best when: [Different context]
**Preservation strategy:** [Configuration/Parallel/Documented]
**Resolution trigger:** [Conditions that would force choosing one]
"Should we optimize for cost or latency?"
"Should we use SSE or WebSockets?"
"Should we support offline mode?"