정보
이 스킬은 개발자들이 의견 불일치를 조기 결정을 강제하는 상황이 아니라, 타당하고 맥락에 의존적인 접근법이 드러나는 순간으로 인식하도록 돕습니다. 이는 비용 대 대기 시간과 같이 서로 다른 우선순위를 최적화하는 여러 실행 가능한 해결책을 보존합니다. 동등하게 타당한 옵션 사이에서 흔들릴 때, 인위적으로 긴장을 해소하기보다 유연성을 유지하기 위해 이 스킬을 사용하세요.
빠른 설치
Claude Code
추천npx skills add obra/superpowers-skills -a claude-code/plugin add https://github.com/obra/superpowers-skillsgit clone https://github.com/obra/superpowers-skills.git ~/.claude/skills/Preserving Productive TensionsClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Preserving Productive Tensions
Overview
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.
Recognizing Productive Tensions
A tension is productive when:
- Both approaches optimize for different valid priorities (cost vs latency, simplicity vs features)
- The "better" choice depends on deployment context, not technical superiority
- Different users/deployments would choose differently
- The trade-off is real and won't disappear with clever engineering
- Stakeholders have conflicting valid concerns
A tension needs resolution when:
- Implementation cost of preserving both is prohibitive
- The approaches fundamentally conflict (can't coexist)
- There's clear technical superiority for this specific use case
- It's a one-way door (choice locks architecture)
- Preserving both adds complexity without value
Preservation Patterns
Pattern 1: Configuration
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
Pattern 2: Parallel Implementations
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
Pattern 3: Documented Trade-off
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
Red Flags - You're Forcing Resolution
- Asking "which is best?" when both are valid
- "We need to pick one" without explaining why
- Choosing based on your preference vs user context
- Resolving tensions to "make progress" when preserving them IS progress
- Forcing consensus when diversity is valuable
All of these mean: STOP. Consider preserving the tension.
When to Force Resolution
You SHOULD force resolution when:
-
Implementation cost is prohibitive
- Building/maintaining both would slow development significantly
- Team doesn't have bandwidth for parallel approaches
-
Fundamental conflict
- Approaches make contradictory architectural assumptions
- Can't cleanly separate concerns
-
Clear technical superiority
- One approach is objectively better for this specific context
- Not "I prefer X" but "X solves our constraints, Y doesn't"
-
One-way door
- Choice locks us into an architecture
- Migration between options would be expensive
-
Simplicity requires choice
- Preserving both genuinely adds complexity
- YAGNI: Don't build both if we only need one
Ask explicitly: "Should I pick one, or preserve both as options?"
Documentation Format
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]
Examples
Productive Tension (Preserve)
"Should we optimize for cost or latency?"
- Answer: Make it configurable - different deployments need different trade-offs
Technical Decision (Resolve)
"Should we use SSE or WebSockets?"
- Answer: SSE - we only need one-way communication, simpler implementation
Business Decision (Defer)
"Should we support offline mode?"
- Answer: Don't preserve both - ask stakeholder to decide based on user needs
Remember
- Tensions between valid priorities are features, not bugs
- Premature consensus destroys valuable flexibility
- Configuration > forced choice (when reasonable)
- Document trade-offs explicitly
- Resolution is okay when justified
GitHub 저장소
자주 묻는 질문
Preserving Productive Tensions Skill이란 무엇인가요?
Preserving Productive Tensions은(는) obra이(가) 만든 Claude Skill입니다. Skill은 Claude가 필요할 때 불러오는 지침과 리소스를 묶어 추가 프롬프트 없이 Preserving Productive Tensions 관련 작업을 수행할 수 있게 합니다.
Preserving Productive Tensions은(는) 어떻게 설치하나요?
이 페이지의 설치 명령을 사용하세요. Preserving Productive Tensions을(를) Claude Code 플러그인으로 추가하거나 저장소를 skills 디렉터리에 복제한 다음 Claude를 다시 시작해 Skill을 불러옵니다.
Preserving Productive Tensions은(는) 어떤 카테고리에 속하나요?
Preserving Productive Tensions은(는) 기타 카테고리에 속합니다.
Preserving Productive Tensions은(는) 무료로 사용할 수 있나요?
네. Preserving Productive Tensions은(는) AIMCP에 등록되어 있으며 무료로 설치할 수 있습니다.
연관 스킬
이 Claude Skill은 스프레드, 오버/언더, 프로프 베트를 포함한 스포츠 베팅 시장을 분석합니다. 역사적 추이와 상황별 통계를 검토하여 가치 베트를 발견하고, 교육적 목적으로 실행 가능한 권장 사항이 담긴 구조화된 마크다운 결과를 제공합니다. 개발자는 이 기능을 스포츠 베팅 분석 도구에 활용할 수 있으며, 단순히 엔터테인먼트/교육 목적으로만 설계되었음을 유의해야 합니다.
LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
