GitLab Issue Refinement with Duo Agent
Overview
This document outlines our process for using Duo Agent to generate focused discussion points that enhance async refinement conversations in Refinement Threads, providing engineers with clear focus areas for estimation and technical consideration.
The Problem
Issues with ~workflow::refinement status often have Refinement Threads that lack focused discussion points, leading to:
- Engineers unsure what specific aspects need consideration for accurate estimation
- Async refinement conversations that miss critical technical factors
- Inconsistent quality of discussion across different Refinement Threads
- Important dependencies or constraints overlooked during emoji voting
- Unfocused async discussions that don’t effectively guide estimation decisions
This results in less effective refinement outcomes and potentially inaccurate emoji-based estimates.
The Solution
We use Duo Agent with a standardized prompt to enhance Refinement Threads by providing structured discussion points that:
- Give engineers clear focus areas for async refinement discussions
- Surface technical constraints and dependencies affecting estimation
- Highlight important considerations for emoji voting decisions
- Provide consistent, structured input across all Refinement Threads
- Enable more informed and focused async refinement conversations
Process
Step 1: Identify Issues in Refinement Workflow
Look for issues with:
- ~workflow::refinement status assigned by the bot
- Active Refinement Threads created by @gitlab-bot
:construction: Refinement
comments requiring discussion input
Step 2: Generate Discussion Points for Refinement Thread
Use the Duo Agent prompt below to create focused input for the async refinement discussion:
Issue refinement prompt, click me to expand
You are a GitLab fullstack engineer helping prepare refinement discussion points for this issue
Objective:
Generate discussion points/questions that will help the refinement team:
- Identify missing or ambiguous requirements that need team discussion
- Surface potential blockers, dependencies, or risks for team evaluation
- Highlight technical constraints ONLY if they significantly impact effort estimation or feasibility
Context to analyze:
1. Related issues, epics and MRs (focus on those directly referenced in this issue)
2. Existing codebase patterns in the affected areas
3. Discussion in comments, particularly unresolved concerns or decisions
Output requirements:
- Provide only the essential discussion points that the refinement team should address (typically 3-5)
- Each question should be one clear sentence that prompts team discussion
- Focus on concrete technical or product decisions that require team input and are scoped within the issue
Example output:
- **UX** Should error messages appear as modals or flashes?
- **Technical** How should we handle the existing user sessions during the migration?
- **Scope** Should this include mobile responsive design or desktop only?
Action:
Find the comment started with ":construction: Refinement" posted by @gitlab-bot in this issue, and reply to it with the output
Step 3: Engineers Use Input for Async Discussion
The generated discussion points become input for:
- Focused async discussion within the Refinement Thread
- Informed consideration during emoji voting for estimation
- Consistent coverage of important technical and product factors
- Enhanced quality of refinement conversations
Before and After Examples
Before Discussion Point Input
Typical characteristics:
- Refinement Threads with minimal structured discussion
- Engineers uncertain what factors to consider for estimation
- Async conversations that overlook important technical considerations
- Inconsistent refinement depth across different issues
- Emoji voting without clear context for complexity factors
After Discussion Point Input
Improved characteristics:
- Structured discussion points guiding Refinement Thread conversations
- Clear technical and product considerations for estimation decisions
- Consistent coverage of important factors across all refinement threads
- Enhanced context supporting informed emoji voting
- More productive async refinement discussions
Team Benefits
Enhanced Refinement Thread input provides significant improvements:
- Focused Async Discussions: Clear discussion points keep Refinement Thread conversations productive and targeted
- Better Estimation Context: Engineers have specific factors to consider during emoji voting
- Consistent Quality: Structured input ensures comprehensive refinement across all issues
- Efficient Process: Reduces time spent determining what to discuss in async threads
- Informed Decisions: Well-structured input leads to more accurate estimation and technical choices
Usage Guidelines
When to Use
- All issues moved to ~workflow::refinement status by the bot
- Refinement Threads that need structured discussion input
- Complex issues requiring consideration of multiple estimation factors
- Issues where async discussion would benefit from focused guidance
When Not to Use
- Issues with Refinement Threads that already have comprehensive discussion points
- Simple, well-defined changes with obvious estimation factors
- Issues where scope and technical approach are completely clear
Guidelines
- Focus on discussion points that directly support estimation decisions
- Provide input that enhances async Refinement Thread quality
- Keep discussion points scoped to the current issue
- Prioritize factors that significantly impact effort estimation
- Ensure points facilitate productive async conversations and emoji voting
Success Criteria
We measure success through improved quality of Refinement Thread discussions, more informed emoji voting decisions, and consistent refinement outcomes. Generated discussion points should provide valuable input that enhances engineers’ ability to participate effectively in async refinement conversations.
Feedback and Iteration
This process should evolve based on team feedback and results. Regular review sessions should address:
- Discussion point relevance and quality for estimation
- Refinement Thread conversation effectiveness
- Emoji voting decision consistency and accuracy
- Process adoption and async refinement improvement
Last Updated: 2025-09-12 Process Owner: [Roy Liu]
4e4384db
)