GitLab Duo Chat best practices
When prompting GitLab Duo Chat with questions, keep the following best practices in mind.
Have a conversation
Treat chats like conversations, not search forms. Start with a search-like question, then follow up with related questions to refine the scope. Build context through back-and-forth.
For example, you might ask:
c# start project best practices
Then follow up with:
Please show the project structure for the C# project.
Refine the prompt
For better responses, provide more context up front. Think through the full scope of what you need help with and include it in one prompt.
How can I get started creating an empty C# console application in VS Code?
Please show a .gitignore and .gitlab-ci.yml configuration with steps for C#,
and add security scanning for GitLab.
Follow prompt patterns
Structure prompts as problem statement, request for help, then add specificity. Don't feel you must ask everything up front.
I need to fulfill compliance requirements. How can I get started with Codeowners and approval rules?
Then ask:
Please show an example for Codeowners with different teams: backend, frontend, release managers.
Use low-context communication
Even if code is selected, provide context as if none is visible. Be specific on factors like language, framework, and requirements.
When implementing a pure virtual function in an inherited C++ class,
should I use virtual function override, or just function override?
Repeat yourself
Try rephrasing a question if you get an unexpected or strange response. Add more context.
How can I get started creating an C# application in VS Code?
Follow up with:
How can I get started creating an empty C# console application in VS Code?
Be patient
Avoid yes/no questions. Start general, then provide specifics as needed.
Explain labels in GitLab. Provide an example for efficient usage with issue boards.
Reset when needed
Use /reset
if chat gets stuck on a wrong track. Start fresh.
Refine slash command prompts
Go beyond the basic slash command. Use them with more specific suggestions.
/refactor into a multi-line written string. Show different approaches for all C++ standards.
Or:
/explain why this code has multiple vulnerabilities
Related topics
- Duo Chat best practices blog post
- Videos on how to use Chat
- Request a Duo Chat learning session