Exercise 2: Write 3 agent-ready issues
Create these three issues on your real project, adapting the details to your own product. An issue is agent-ready when someone who knows nothing about your project could finish it from the issue alone: the why, the exact change, numbered acceptance criteria, a definition of done, what is out of scope, and guardrails. Start with these templates, then save the best one as an issue template under Manage > Issue templates (or ask your coach to add it). See description templates.
Issue A – a small feature
Title: Add a "Contact support" link to the footer of every page
Why (user value): Customers cannot find help, and 12 support emails last month asked "where is the help page?".
What to change: Add a link labelled "Contact support" to the footer, pointing to our existing /help page. Do not change the header.
Acceptance criteria:
1. A "Contact support" link appears in the footer on the home, pricing and account pages.
2. Clicking it opens /help in the same tab.
3. On a phone-width screen the link is visible without sideways scrolling.
4. No other text or links in the footer change.
Out of scope: redesigning the footer, writing new help articles.
Definition of done:
- Merge request is open, linked to this issue, and the pipeline is green.
- The review app link is in the MR description with a screenshot on desktop and phone.
- All four acceptance criteria are ticked in the MR.
Agent guardrails: only touch footer files. Do not edit settings, secrets or pipeline files. Stop and comment if /help does not exist.
Labels: agent::ready, type::feature
Issue B – a bug fix
Title: Fix: Password reset email shows the wrong company name
Why (user value): New users think the email is spam and do not click it.
Steps to reproduce: 1) Open the sign-in page. 2) Choose "Forgot password". 3) Read the email subject and greeting.
Expected: Subject "Reset your Ignite Curiosity password" and greeting "Hi <first name>,".
Actual: Subject and greeting use an old product name.
Acceptance criteria:
1. Subject and greeting match the Expected text exactly.
2. A user with no first name gets the greeting "Hi there,".
3. The email still contains a working reset link that expires as before.
4. A test in the pipeline covers items 1 and 2.
Definition of done:
- Merge request linked, pipeline green, a screenshot of a test email attached.
- The agent lists what it changed in plain English in the MR description.
Agent guardrails: do not change how reset links are made or how long they last. Ask a human before touching anything about security.
Labels: agent::ready, type::bug
Issue C – a research task (no code at all)
Title: Research: Compare three options for a weekly progress email (no code changes)
Why (user value): We want learners to get a weekly progress summary, and need a recommendation before building.
Deliverable: One comment on this issue (about 1 page) comparing three options for sending the email.
Acceptance criteria:
1. The comment compares exactly three options in a table: cost per month, effort (low/medium/high), risks, and privacy impact.
2. Every cost figure has a source link, and the date it was checked.
3. The comment ends with one clear recommendation and two open questions for the PM.
4. Nothing is changed in the repository.
Definition of done:
- The comment is posted and the label is moved to agent::needs-review.
- The PM reads it, answers the open questions, and either closes the issue or creates a follow-up build issue.
Agent guardrails: read-only. No merge request, no purchases, no sign-ups.
Labels: agent::ready, type::research