Skip to main content

Overview

Collaborate with AI to restructure your opportunity space—going wide across opportunities, deep into underlying evidence, and reorganizing based on what you’re actually hearing from customers. This works because Vistaly structures your product work as a connected graph. Insights link to opportunities. Opportunities link to outcomes. AI can walk through that graph with the context it needs to be immediately useful.

Prerequisites

  • Vistaly MCP integration configured (setup guide)
  • An existing opportunity space with opportunities and insights
  • Customer evidence linked to your opportunities

The Prompt

Copy and paste this prompt to start the workflow:
<Goal>
Evaluate and refine an opportunity space using the Vistaly MCP service.
</Goal>

<Context>
## Workflow Purpose
Guide the user through exploring and restructuring an opportunity space—a collection of interconnected opportunities that stem from a business or product outcome.

## Key Definitions
- **Opportunities**: Customer pain-points, needs, or desires. They represent gaps that can be addressed by a product team. Solving opportunities connected to outcomes should result in those outcomes improving.
- **Insights**: Evidence from customer research (interviews, feedback, etc.) that supports or informs opportunities.

## Role Definitions
- **facilitator**: Ask the user questions, guide the process, and wait for responses.
- **actor**: Perform an action (fetching data, making updates, processing information).
- **collaborator**: Work together with the user through back-and-forth dialogue.

## Common Issues to Watch For
- **Solutions in disguise**: Opportunities framed as features ("Need a dashboard") instead of problems ("Struggling to track progress")
- **Vertical opportunities**: Parent with single child—often can be merged
- **Obscure or unclear opportunities**: Hard to understand what the actual customer problem is
- **Grammar and spelling issues**: Typos or grammatical errors in opportunity titles
- **Overly broad opportunities**: Should be split into multiple opportunities or broken into its own sub opportunity space
- **Duplicated or overlapping opportunities**: Similar opportunities that should be combined

## NOT Issues
- **Solutions at any level**: Solutions can be siblings to opportunities or nested anywhere—this is valid structure
- **Deep nesting for solutions/assumptions**: Solutions with assumptions underneath is expected and fine
- **Large buckets with many children**: Not inherently a problem—only flag if insights clearly cluster into distinct themes

## Opportunity Depth Guidelines
- **1 level only**: Probably not breaking down problems enough—look for sub-opportunities
- **2-3 levels**: Healthy opportunity structure
- **4-5+ levels of opportunities**: Likely too much artificial structure—consider flattening
</Context>

<Steps>
<Step number="1" title="Get Starting Card" role="facilitator">
Ask the user to share a Card ID, URL, or name for the root of the opportunity space they want to restructure. This is typically an outcome card, but could also be a top-level opportunity.
</Step>

<Step number="2" title="Fetch Structure" role="actor">
1. Use `getCardContext` with the provided card ID:
   - Direction: `descendants`
   - Max levels: 4
   - Include target card: true
   - Exclude: comments, insights, descriptions (preserve context window)

2. Fetch parent context using `getCardContext`:
   - Direction: `ancestors`
   - Max levels: 3

3. Build a mental map of the full structure, and internally flag any issues you may want to explore further during full analysis.
</Step>

<Step number="3" title="Analysis" role="actor">
Go level-by-level through the opportunity space, pulling insights to evaluate each opportunity.

1. **Level 1**: Call `getCardContext` on the target card with `maxLevels: 1`, `includeInsights: true`, `includeComments: true`. Evaluate the direct children and note their IDs.

2. **Level 2+**: For each opportunity at the current level, call `getCardContext` to fetch their children with insights. In Claude Code, you can make these calls in parallel (multiple tool calls in one message) for faster execution.

3. **For each opportunity**, read the linked insights and evaluate:
   - **Framing vs. evidence**: Do the insights actually support this framing? Use customer language from insights to suggest better framing if needed.
   - **Specificity**: Is it specific enough to act on, or too vague?
   - **Solution in disguise**: Is it really a customer problem, or a feature request?
   - **Needs splitting**: Do the insights reveal multiple distinct problems lumped together? Many insights doesn't always mean split—but if insights cluster around different themes, consider splitting into separate opportunities.
   - **Structural issues**: Vertical opportunities (single child), overlapping with siblings
   - **Spelling or grammar issues**

4. Keep notes on all issues found
5. Progress to the next level until you reach the bottom of the tree
</Step>

<Step number="4" title="Share Findings" role="actor">
Compile all findings using OUTPUT_FORMAT step="4".

Organize into:
1. **Structural Issues**: Vertical opportunities, duplicates, misplaced cards
2. **Framing Issues**: Solutions in disguise, non-specific, unsupported by evidence
3. **Recommended Changes**: What to merge, reframe, or restructure

After presenting, ask which changes the user wants to proceed with.
</Step>

<Step number="5" title="Update Opportunity Space" role="actor">
1. Confirm the specific changes to make
2. Execute changes ONE AT A TIME:
   - Use `updateCard` for title/description changes
   - Use `createCard` if splitting an opportunity
   - Note: Cannot delete cards—suggest archiving if needed
3. After each change, confirm success before proceeding
4. Present final summary using OUTPUT_FORMAT step="5"
</Step>
</Steps>

<Output_Formats>
<Output_Format step="4">
## Findings

**Opportunities Reviewed:** {X}
**Issues Found:** {Y}

### Structural Issues
| Opportunity | Issue | Recommendation |
|-------------|-------|----------------|
| [{Name}]({link}) | Vertical (single child) | Merge with child: "{child name}" |
| [{Name}]({link}) | Overlaps with {other} | Consider merging or differentiating |
| [{Name}]({link}) | Needs splitting | Insights cluster around {X} distinct themes—suggest splitting |

### Framing Issues
| Opportunity | Issue | Current Framing | Suggested Framing |
|-------------|-------|-----------------|-------------------|
| [{Name}]({link}) | Solution in disguise | "Need a dashboard" | "Struggling to track team progress" |
| [{Name}]({link}) | Non-specific | "Want better experience" | "Frustrated by slow load times on mobile" |
| [{Name}]({link}) | Unsupported | "Users hate X" | "Users confused by X" (based on insights) |
| [{Name}]({link}) | Spelling/grammar | "Usres cant find there data" | "Users can't find their data" |

### Summary
- **{X}** opportunities to reframe
- **{Y}** structural changes recommended
- **{Z}** opportunities look good as-is

**Ready to proceed with changes?** Which would you like to tackle first?
</Output_Format>

<Output_Format step="5">
## Changes Complete

### Updates Made
1. ✅ **[{Opportunity Name}]({link})**: {What changed}
2. ✅ **[{Opportunity Name}]({link})**: {What changed}
3. ✅ **[{Opportunity Name}]({link})**: {What changed}

### Summary
- **{X}** opportunities reframed
- **{Y}** structural changes made
- **{Z}** cards created/merged

Your opportunity space is now restructured and ready for prioritization.
</Output_Format>
</Output_Formats>

Common Pitfalls to Watch For

When analyzing opportunities, watch for these common issues:
What it looks like: “Users need a dashboard” or “Customers want faster load times”The problem: These are solutions, not opportunities. They skip past the underlying need.How to fix: Ask “why?” — What’s the underlying need that a dashboard would solve? Reframe as the customer’s actual problem.
What it looks like: A parent opportunity with only one child opportunity beneath it.The problem: This often indicates unnecessary abstraction. The parent and child might be saying the same thing at different levels.How to fix: Consider combining them. If they’re truly distinct, the parent should have multiple children representing different facets of the problem.
What it looks like: “Users want a better experience” or “Customers need it to be easier”The problem: These are too vague to act on. They could apply to almost any customer or product.How to fix: Look at the underlying insights. What specific pain are customers expressing? Use their language to make it concrete.

Tips for Success

Manage Your Context Window

Don’t pull all insights across multiple levels at once. Go level-by-level and be selective about when you need the full evidence.

Use Plan Mode

Claude Code’s Plan mode is great for the analysis phase. Document your findings before making any changes to the tree.

Confirm Before Changing

Always confirm changes one at a time. This keeps you in control and creates a clear record of what was restructured.

Note Patterns as You Go

As you navigate, keep notes on patterns you see. Share these observations before proposing changes—they often reveal larger restructuring opportunities.