Inspiration

New contributors often struggle to find a good starting point in open source projects — issues lack context, difficulty is unclear, and there's no guidance on where to begin. ContribGuide Agent turns every issue into an onboarding opportunity.

What it does

  • Reads issue descriptions and scans the relevant codebase
  • Classifies issues as Good First Issue, Help Wanted, or Advanced
  • Applies difficulty labels automatically
  • Posts a step-by-step contribution guide as an issue comment

How we built it

Built entirely on the GitLab Duo Agent Platform using YAML configuration — no traditional code. The core agent.yml defines a 5-step prompt flow: retrieve issue context → search codebase → assess complexity → apply labels → generate guide. A mock Python project ("TaskFlow") was included in the repo for realistic testing. Tools used: read_file, grep, gitlab_blob_search, get_issue, update_issue, create_issue_note.

Challenges we ran into

  • YAML-only development was a major paradigm shift — prompt design is the implementation
  • No step-through debugging; iteration happened entirely through GitLab Duo Chat
  • Auto-triggering on issue creation isn't supported yet; the agent responds to mentions and assignments
  • Needed real code and issues in the repo for the agent to produce meaningful analysis

Accomplishments that we're proud of

  • Designed a clean 5-step prompt flow that reliably produces useful, beginner-friendly output
  • Built a complete working agent without writing any traditional application code
  • Created a realistic mock project that enables end-to-end testing within platform constraints

What we learned

  • Prompt engineering is architecture — step ordering, context injection, and output constraints matter as much as any code design
  • Understanding platform limitations early (project scope, trigger types) saved significant time
  • "Simple YAML" is not a weakness when the use case and prompt flow are well-designed

What's next for ContribGuide Agent

  • Publish to the GitLab public catalog
  • Add label pre-checking and error handling for incomplete issues
  • Revisit auto-triggering as platform capabilities expand
  • Explore multi-project support if cross-project access becomes available

Built With

  • gitlab-ci/cd
  • gitlab-duo-agent-platform
  • gitlab-duo-chat
  • python
  • yaml
Share this project:

Updates