name: dex-backlog description: AI-powered ranking of Dex system improvement ideas
What This Command Does
In plain English: AI-powered ranking of your Dex system improvement backlog based on current system state. Shows you what to build next.
When to use it:
- Weekly check-in on system improvements
- After capturing several new ideas
- When deciding what to work on next
- During quarterly planning for system improvements
How to run it:
/dex-backlog # Full review with re-ranking
Process Overview
- Load context - Read system state, usage patterns, learnings
- Score ideas - Calculate 5-dimension scores for each idea
- Re-rank backlog - Sort by weighted total score
- Update file - Write new rankings to
System/Dex_Ideas.md - Present top ideas - Show top 5 with "Why now?" justification
- Offer next steps - Workshop, implement, or defer
Step 1: Load System Context
Read these files to understand current system state:
Required Files
System/Dex_Backlog.md # All ideas to score
System/usage_log.md # Feature adoption patterns
System/user-profile.yaml # Role, preferences
CLAUDE.md # Current capabilities
Optional Files (if they exist)
System/Session_Learnings/ # Recent pain points (last 30 days)
.claude/commands/ # Available commands
core/mcp/ # MCP integrations
06-Resources/Learnings/ # Captured patterns
Extract Context
Build a context dictionary with:
- Usage patterns: Which features are used vs. unused
- Role profile: PM, Sales, Leadership, Engineer, etc.
- Pain points: Recent friction from session learnings
- System capabilities: What's currently available
- Backlog state: All ideas and their current scores
Step 2: Score Each Idea
For every active idea in the backlog, calculate 5 dimension scores.
⚠️ CURSOR FEASIBILITY CHECK (Do This First!)
Before scoring ANY idea, validate it's actually implementable in Cursor:
What Cursor/Terminal CAN do:
- ✅ Read and write files
- ✅ Execute shell commands
- ✅ Build MCP tools for structured operations
- ✅ Parse and transform file contents
- ✅ Create caches and indexes (file-based)
- ✅ Run commands on schedules or triggers
What Cursor/Terminal CANNOT do:
- ❌ Track user edits in real-time
- ❌ Hook into Cursor internals
- ❌ Monitor user actions passively
- ❌ Access edit history without explicit file reads
- ❌ Real-time background processes watching for changes
If idea requires something from the CANNOT list → Set all scores to 0 and flag as "Not feasible in Cursor"
After feasibility check passes, score on 5 dimensions:
Dimension 1: Impact (35% weight)
Question: How much would this improve daily workflow?
Scoring logic:
Base score: 50
+20 if matches_recent_pain_points():
- Search System/Session_Learnings/ for mentions of this issue
- Keywords from idea title/description appear in learnings
- Problem stated explicitly in recent notes
+15 if affects_daily_workflow():
- Touches commands used >3x per week (from usage_log)
- Modifies core files (03-Tasks/Tasks.md, daily plans, person pages)
- Impacts repetitive actions
+15 if has_compound_value():
- Enables other ideas in backlog
- Reduces technical debt
- Creates reusable patterns
- Unblocks multiple workflows
Max: 100
Examples:
- "Auto-suggest person pages": 95 (daily workflow + enables relationship tracking)
- "Export to blog": 40 (nice-to-have, doesn't affect core workflow)
Dimension 2: Alignment (20% weight)
Question: Does this fit actual usage patterns?
Scoring logic:
Base score: 50
+30 based on usage_overlap():
- Extract features idea depends on
- Check if those features are used (usage_log)
- Calculate overlap: (used_features / total_features) * 30
+20 if fits_role_profile():
- PM roles: prioritize project/product features
- Sales roles: prioritize relationship/account features
- Leadership: prioritize synthesis/review features
- Match category to role focus areas
Max: 100
Examples:
- Idea needs "person pages" → Check if user has created person pages
- If usage_log shows person pages = used → Higher alignment
- If role = PM and idea = product features → +20 role fit
Dimension 3: Token Efficiency (20% weight)
Question: Does this reduce context/token usage?
CRITICAL - Cursor Feasibility Check: Before scoring, verify the idea is implementable in Cursor/Terminal:
- ✅ Can use: File read/write, MCP tools, command execution, file-based caching
- ❌ Cannot use: Real-time edit tracking, Cursor internal hooks, monitoring user actions
- If not feasible in Cursor → Score = 0 on all dimensions
Scoring logic:
Base score: 50
+25 if reduces_token_usage():
- Caches/stores frequently accessed data (in files/MCP)
- Compresses or summarizes verbose content (file-based)
- Eliminates redundant reads
- Enables more efficient retrieval patterns
+15 if improves_context_efficiency():
- Reduces number of files that need reading
- Creates structured summaries (YAML/JSON files)
- Better indexing/search to avoid broad scans
- Moves data from markdown to structured format
+10 if enables_incremental_updates():
- Supports partial updates instead of full rewrites
- Tracks changes in separate files
- Lazy loading or on-demand computation
Max: 100
Examples:
- "Cache meeting summaries in YAML": 90 (file-based, avoids re-reading)
- "Track user edits for learning": 0 (NOT FEASIBLE - can't track edits)
- "Add new field to template": 50 (neutral token impact)
Dimension 4: Memory & Learning (15% weight)
Question: Does this enhance system memory, persistence, or self-learning?
Scoring logic:
Base score: 50
+20 if improves_memory_persistence():
- Stores learnings for future reference
- Creates retrievable knowledge base
- Captures patterns that compound over time
- Builds historical context
+20 if enables_self_learning():
- System learns from user behavior
- Adapts recommendations based on patterns
- Builds preference models
- Improves predictions over time
+10 if creates_feedback_loops():
- Tracks outcomes of suggestions
- Measures effectiveness of recommendations
- Refines based on what works
Max: 100
Examples:
- "Learning pattern synthesizer": 95 (captures + compounds knowledge)
- "Preference learning from edits": 85 (system adapts over time)
- "Static template update": 50 (no learning component)
Dimension 5: Proactivity (10% weight)
Question: Does this enable proactive concierge behavior?
Scoring logic:
Base score: 50
+25 if enables_anticipation():
- Surfaces relevant info before asked
- Predicts needs based on patterns
- Proactive suggestions not just reactive
- Context-aware prompts
+15 if automates_routine_decisions():
- Handles repetitive choices automatically
- Learns user preferences and applies them
- Reduces decision fatigue
+10 if improves_timing():
- Right information at right time
- Context-aware interruptions
- Anticipates upcoming needs
Max: 100
Examples:
- "Auto-prep meetings based on calendar": 90 (proactive + anticipatory)
- "Suggest weekly priorities from patterns": 80 (learns and anticipates)
- "Add manual review step": 50 (reactive, not proactive)
Step 3: Calculate Weighted Score
total_score = (
(impact * 0.35) +
(alignment * 0.20) +
(token_efficiency * 0.20) +
(memory_learning * 0.15) +
(proactivity * 0.10)
)
Round to integer: total_score = round(total_score)
Priority Bands:
- High Priority (85+): Should tackle soon, high ROI
- Medium Priority (60-84): Good ideas, right time matters
- Low Priority (<60): Maybe later or needs refinement
Why These Dimensions:
- Effort excluded: With AI coding, implementation is cheap - focus on value, not cost
- Token efficiency prioritized: Context efficiency is critical for performance
- Memory & learning emphasized: System should get smarter over time
- Proactivity valued: Concierge behavior > reactive tool
Step 4: Update Backlog File
Rewrite System/Dex_Backlog.md with:
- Update timestamp at top
- Re-sort ideas by total score (high to low)
- Update each idea with new scores:
- **[idea-XXX]** Title - **Score:** 92 (Impact: 95, Alignment: 90, Effort: 85, Synergy: 95, Fresh: 70) - **Category:** category - **Captured:** YYYY-MM-DD - **Why ranked here:** [1-2 sentence reasoning based on scores] - **Description:** [original description] - Place in correct section (High/Medium/Low priority)
- Preserve Archive section (don't re-rank implemented ideas)
Step 5: Present Results
Show the user the top 5 ideas with context:
# 📊 Backlog Review Complete
*Analyzed {{total_ideas}} ideas against current system state*
## 🔥 Top 5 Recommendations
### 1. [idea-XXX] {{title}} (Score: {{score}})
**Why now:** {{reasoning based on scores - be specific}}
**Quick assessment:**
- Impact: {{impact_justification}}
- Fits your patterns: {{alignment_justification}}
- Effort: {{effort_estimate}}
**Next step:** Run `/dex-improve "{{title}}"` to workshop this idea
---
### 2. [idea-YYY] {{title}} (Score: {{score}})
[Same format]
---
[... continue for top 5 ...]
---
## 📈 Backlog Health
- **Total ideas:** {{total}}
- **High priority (85+):** {{high_count}}
- **Medium priority (60-84):** {{medium_count}}
- **Low priority (<60):** {{low_count}}
{{#if high_count > 5}}
⚠️ **Note:** You have {{high_count}} high-priority ideas. Consider tackling 1-2 this week to reduce backlog.
{{/if}}
{{#if low_count > 10}}
💡 **Tip:** {{low_count}} low-priority ideas might be worth archiving or refining.
{{/if}}
---
## What would you like to do?
1. **Workshop an idea** → `/dex-improve "[title]"`
2. **Capture a new idea** → Use `capture_idea` MCP tool
3. **Mark one implemented** → Use `mark_implemented` MCP tool
4. **View full backlog** → Check `System/Dex_Backlog.md`
Step 6: Handle Special Cases
If Backlog is Empty
# 📊 Backlog Review
Your backlog is empty!
Start capturing improvement ideas:
- Use the `capture_idea` MCP tool anytime you think "I wish Dex did X"
- Run `/dex-improve` to explore capability gaps
- Run `/dex-level-up` to discover unused features
The backlog system will help you track and prioritize ideas systematically.
If No High Priority Ideas
🎉 **Good news:** No urgent improvements needed!
Your system is working well. The backlog has ideas for later, but nothing critical right now.
Consider:
- Running `/dex-level-up` to discover unused features
- Capturing ideas as they come up
- Reviewing backlog quarterly
If Many Stale Ideas (>6 months old)
⚠️ **Backlog maintenance needed**
You have {{stale_count}} ideas older than 6 months. These might be:
- No longer relevant → Archive them
- Still valuable but not urgent → Keep them
- Worth revisiting with new context → Re-evaluate descriptions
Review stale ideas:
{{list stale ideas}}
Want to bulk archive these? I can help clean up the backlog.
Integration with Other Commands
Hand-off to /dex-improve
When user says "Let's work on #1" or "Workshop idea-XXX":
- Read the idea details from backlog
- Pass to
/dex-improvewith context:/dex-improve "{{idea_title}}" Context from backlog: - Current score: {{score}} - Why it's prioritized: {{reasoning}} - Original description: {{description}} /dex-improvetakes over for workshopping
Scoring Implementation Tips
Cursor Feasibility Check (Run FIRST)
def check_cursor_feasibility(idea: dict) -> dict:
"""
Returns: {
'feasible': bool,
'reason': str,
'capabilities_required': list
}
"""
description_lower = idea['description'].lower()
# Red flags - things Cursor CAN'T do
cannot_do = {
'track edits': 'Cannot monitor file edits in real-time',
'watch user': 'Cannot observe user actions passively',
'hook into': 'Cannot hook into Cursor internals',
'monitor changes': 'Cannot monitor without explicit file reads',
'background process': 'No persistent background processes'
}
for phrase, reason in cannot_do.items():
if phrase in description_lower:
return {
'feasible': False,
'reason': reason,
'suggestion': 'Reframe as file-based or command-triggered'
}
# Green flags - things Cursor CAN do
can_do = ['file', 'read', 'write', 'mcp', 'command', 'cache', 'index', 'parse']
has_feasible_approach = any(word in description_lower for word in can_do)
if has_feasible_approach:
return {'feasible': True, 'reason': 'Uses Cursor-compatible operations'}
else:
return {
'feasible': False,
'reason': 'No clear implementation path in Cursor',
'suggestion': 'Add file-based or MCP approach'
}
For Impact Calculation
def calculate_impact(idea, context):
# First check feasibility
feasibility = check_cursor_feasibility(idea)
if not feasibility['feasible']:
return 0 # Not feasible = 0 impact
score = 50
# Check session learnings for pain point mentions
learnings = context['session_learnings']
idea_keywords = extract_keywords(idea['title'] + idea['description'])
for learning in learnings:
learning_keywords = extract_keywords(learning['content'])
if overlap(idea_keywords, learning_keywords) > 0.3:
score += 20
break
# Check if affects daily workflow
if touches_daily_commands(idea, context['usage_log']):
score += 15
# Check compound value
if enables_other_ideas(idea, context['backlog']):
score += 15
return min(score, 100)
For Alignment Calculation
def calculate_alignment(idea, context):
score = 50
# Extract related features
features = extract_related_features(idea)
used_features = get_used_features(context['usage_log'])
overlap_ratio = len(features & used_features) / len(features)
score += int(overlap_ratio * 30)
# Role fit
role = context['user_profile']['role']
category = idea['category']
role_fit_map = {
'PM': ['projects', 'workflows', 'knowledge'],
'Sales': ['relationships', 'tasks'],
'Leadership': ['knowledge', 'workflows']
}
if category in role_fit_map.get(role, []):
score += 20
return min(score, 100)
For Token Efficiency Calculation
def calculate_token_efficiency(idea, context):
score = 50
# Check if reduces token usage
if reduces_reads(idea): # Caching, summaries
score += 25
# Context efficiency improvements
if improves_retrieval(idea): # Better indexing, structured data
score += 15
# Incremental updates
if supports_incremental(idea): # Partial updates, lazy loading
score += 10
return min(score, 100)
For Memory & Learning Calculation
def calculate_memory_learning(idea, context):
score = 50
# Memory persistence
if stores_learnings(idea): # Knowledge base, historical context
score += 20
# Self-learning capability
if enables_adaptation(idea): # Learns from behavior, improves over time
score += 20
# Feedback loops
if tracks_outcomes(idea): # Measures effectiveness, refines
score += 10
return min(score, 100)
For Proactivity Calculation
def calculate_proactivity(idea, context):
score = 50
# Anticipation capability
if enables_anticipation(idea): # Surfaces info before asked
score += 25
# Automation of routine decisions
if automates_decisions(idea): # Handles repetitive choices
score += 15
# Timing improvements
if improves_timing(idea): # Right info at right time
score += 10
return min(score, 100)
Best Practices
- Run weekly during
/week-planor standalone - Don't obsess over scores - they're guidance, not gospel
- Trust your instinct - high score + gut feel = go
- Keep backlog lean - max 20 active ideas
- Archive implemented - celebrate progress
- Refine low scorers - add detail to boost alignment/impact
Philosophy
The backlog isn't a todo list - it's a decision support system.
Scores help you:
- Surface high-value work
- Avoid shiny object syndrome
- Align improvements with actual usage
- Make intentional choices
But you're still the decision maker. If a low-scoring idea excites you, workshop it. The system serves you, not the other way around.