Loading...
Loading...
Map what we're optimizing and what constraints we treat as real. Use before jumping to solutions, when hitting repeated blockers, or when patches keep accumulating.
npx skill4agent add open-horizon-labs/skills problem-space/problem-space"We are optimizing for [outcome]."
Constraint: [the boundary]
Type: [hard | soft | assumed]
Reason: [why it exists]
Questioning: [could this be false?]"We assume [assumption]. If this is false, [consequence]."
"The user asked for [Y], but the underlying need might be [X]."
## Problem Space Map
**Date:** [timestamp]
**Scope:** [what area this covers]
### Objective
[What we're optimizing for - the outcome, not the feature]
### Constraints
| Constraint | Type | Reason | Question? |
|------------|------|--------|-----------|
| [boundary] | hard/soft/assumed | [why] | [could this be false?] |
### Terrain
- **Systems:** [what's involved]
- **Stakeholders:** [who's affected]
- **Blast radius:** [what breaks if wrong]
- **Precedents:** [existing solutions to examine]
### Assumptions Made Explicit
1. [assumption] - if false: [consequence]
2. [assumption] - if false: [consequence]
### X-Y Check
- **Stated need (Y):** [what was asked for]
- **Underlying need (X):** [what might actually be needed]
- **Confidence:** [high/medium/low that Y=X]
### Ready for Solution Space?
[yes/no] - [why or what's missing]/problem-space
Deployments keep failing. We've added 3 config flags in the last month
and each one "fixes" something but creates new edge cases.## Problem Space Map
**Date:** 2024-01-15
**Scope:** Deployment pipeline reliability
### Objective
We are optimizing for: Reliable deployments that succeed without manual intervention.
### Constraints
| Constraint | Type | Reason | Question? |
|------------|------|--------|-----------|
| Must use existing CI/CD | soft | Team familiarity | Could we evaluate alternatives? |
| Zero-downtime required | hard | SLA commitment | No |
| Config managed in repo | assumed | "Best practice" | Could config live elsewhere? |
| Current rollback approach | soft | Built incrementally | Is this the right rollback model? |
### Terrain
- **Systems:** GitHub Actions, Kubernetes, ArgoCD, 3 microservices
- **Stakeholders:** Dev team, SRE, downstream API consumers
- **Blast radius:** Customer-facing outage, 200+ API consumers
- **Precedents:** Similar system at [X] uses feature flags instead of config
### Assumptions Made Explicit
1. Config flags are the right mechanism for deployment variation - if false: we need environment-aware builds
2. Failures are config-related - if false: we have an architecture problem
### X-Y Check
- **Stated need (Y):** Fix deployment config issues
- **Underlying need (X):** Make deployments reliable
- **Confidence:** Medium - config is a symptom, not the disease
### Ready for Solution Space?
No - Need to understand if this is a band-aid problem (more config) or a redesign problem (change how deployments work)./problem-space
App is slow. PM wants us to "optimize the database queries."## Problem Space Map
**Date:** 2024-01-15
**Scope:** Application performance
### Objective
We are optimizing for: Page load time under 2 seconds for 95th percentile users.
### Constraints
| Constraint | Type | Reason | Question? |
|------------|------|--------|-----------|
| Must use current database | assumed | "Migration too expensive" | Have we actually costed this? |
| Can't change API contracts | soft | Downstream consumers | How many consumers actually use slow endpoints? |
| Feature set is fixed | assumed | PM specified | What if we removed/simplified features? |
### Terrain
- **Systems:** PostgreSQL, Redis cache, React frontend, Node backend
- **Stakeholders:** End users, mobile clients, third-party integrations
- **Blast radius:** User churn, support tickets, competitor migration
- **Precedents:** Similar app moved to read replicas, saw 3x improvement
### Assumptions Made Explicit
1. Database queries are the bottleneck - if false: frontend rendering or network latency is the issue
2. Optimization is cheaper than redesign - if false: N+1 queries need architectural change
3. Current feature set is needed - if false: could eliminate unused expensive features
### X-Y Check
- **Stated need (Y):** Optimize database queries
- **Underlying need (X):** Make app feel fast to users
- **Confidence:** Low - PM prescribed solution without diagnosis
### Ready for Solution Space?
No - Need performance profiling to identify actual bottleneck before optimizing anything..oh/<session>.md/problem-space auth-refactor.oh/auth-refactor.md/problem-space"Save to session? [suggested-name] [custom] [skip]"
## Problem Space
**Updated:** <timestamp>
[problem space map content].oh/<session>.md/aim/problem-statement/solution-space/salvage/review/problem-statement/solution-space