Quick-Win Implementation
Implement a Zn2C Quick-Win from the ZQW Jira board end-to-end.
Usage: /zn2c-quick-win ZQW-XXX
The argument is the Jira issue key (e.g., ZQW-1, ZQW-42).
Workflow
Execute these phases in order. Always keep the Jira board updated with the current status.
Phase 0: Setup
- Fetch the Jira issue using the Atlassian MCP tools (
getJiraIssue). Extract: summary, description, acceptance criteria, current status.
- Fetch available transitions (
getTransitionsForJiraIssue) so you know the transition IDs for this board.
- Transition the issue to "In Progress" (
transitionJiraIssue).
- Create a Confluence documentation sub-page under the Quick-Wins parent page (ID:
14170488840, space ID: 11137581287) with title {ISSUE_KEY}: {summary}. Start with a skeleton:
- Summary section (Jira link, branch name, date)
- "What changed" placeholder
- "Files changed" placeholder
- "How it works" placeholder
- "Acceptance criteria verification" placeholder (copy from Jira, all unchecked)
- "Test results" placeholder
- Add a comment on the Jira issue linking to the new Confluence page.
- Create a git worktree with branch
feature/{ISSUE_KEY}-short-desc (lowercase, kebab-case) based on master.
Phase 1: Explore & Plan
- Read
AGENTS.md for project coding guidelines.
- Explore the codebase using Explore agents in parallel to understand the areas affected by the issue.
- Enter plan mode and design the implementation approach.
- Present the plan to the user for approval. Do NOT proceed without approval.
Phase 2: Implement
- Create task list to track progress.
- Implement changes in the worktree, following AGENTS.md guidelines:
- Build with
./polypoint-cloud-cli/build.sh (from the main repo, not worktree) — never Maven directly
- Constructor injection via
@RequiredArgsConstructor
@PreAuthorize on public service methods
@NotNull/@Nullable on method parameters and return types
- Use
TestObject classes for test data
- Generated DTOs use fluent setters
- Write tests covering the new behavior.
- Build and validate: Run
./polypoint-cloud-cli/build.sh "" "--module {module}" "" "" "" "" from the worktree directory. Ensure all tests pass with 0 failures.
- If the build fails, fix the issues and re-run until green.
Phase 3: Ship
- Commit with message:
{ISSUE_KEY} {imperative description} + Co-Authored-By trailer. Stage only relevant files (not unrelated generated artifacts).
- Push the branch to origin.
- Create a draft PR on Azure DevOps:
az repos pr create \
--organization "https://dev.azure.com/polypoint" \
--project "cloud" --repository "cloud" \
--source-branch "feature/{ISSUE_KEY}-short-desc" \
--target-branch "master" \
--title "{ISSUE_KEY} {short title}" \
--description "..." --draft true
- Transition the Jira issue to "In Review".
Phase 4: Review Feedback
- If the user asks to address review comments (CodeRabbit, SonarQube, human reviewers):
- Fetch PR threads via
az devops invoke --area git --resource pullRequestThreads
- Fix each issue or explain why it's a won't-fix
- Commit, push, and resolve the threads as
fixed or closed
Phase 5: Document
- Update the Confluence sub-page with the final implementation details:
- Fill in all placeholder sections
- List all files changed with a summary table
- Explain how it works (backend, frontend, migration as applicable)
- Check off all acceptance criteria that are verified
- Record test results (count, failures, build time)
- Add a comment on the Jira issue with the PR link if not already done.
Important Notes
- Never include sensitive information in Jira comments, Confluence pages, or PR descriptions (no credentials, tokens, customer data).
- Always work in a git worktree — never modify the main working directory.
- Build script location: The
polypoint-cloud-cli/ directory may not be in the worktree. Use the absolute path from the main repo.
- Portal-core uses PostgreSQL — write Flyway migrations with PostgreSQL syntax.
- Azure DevOps (not GitHub) — use
az repos pr for PR operations, az devops invoke for thread management.
- Confluence cloud ID:
polypoint.atlassian.net
- Confluence parent page ID:
14170488840 (Zn2C Quick-Wins)
- Confluence space ID:
11137581287
- Jira transitions: Backlog=11, Ready=21, In Progress=31, In Review=41, Done=51
$ARGUMENTS
1---2name: zn2c-quick-win3description: Use when implementing a Zn2C Quick-Win from the ZQW Jira board end-to-end, including Jira transitions, Confluence documentation, git worktree workflow, build validation, Azure DevOps PR creation, and review feedback handling.4---56# Quick-Win Implementation78Implement a Zn2C Quick-Win from the ZQW Jira board end-to-end.910**Usage:** `/zn2c-quick-win ZQW-XXX`1112The argument is the Jira issue key (e.g., `ZQW-1`, `ZQW-42`).1314## Workflow1516Execute these phases in order. Always keep the Jira board updated with the current status.1718### Phase 0: Setup19201. **Fetch the Jira issue** using the Atlassian MCP tools (`getJiraIssue`). Extract: summary, description, acceptance criteria, current status.212. **Fetch available transitions** (`getTransitionsForJiraIssue`) so you know the transition IDs for this board.223. **Transition the issue to "In Progress"** (`transitionJiraIssue`).234. **Create a Confluence documentation sub-page** under the Quick-Wins parent page (ID: `14170488840`, space ID: `11137581287`) with title `{ISSUE_KEY}: {summary}`. Start with a skeleton:24 - Summary section (Jira link, branch name, date)25 - "What changed" placeholder26 - "Files changed" placeholder27 - "How it works" placeholder28 - "Acceptance criteria verification" placeholder (copy from Jira, all unchecked)29 - "Test results" placeholder305. **Add a comment on the Jira issue** linking to the new Confluence page.316. **Create a git worktree** with branch `feature/{ISSUE_KEY}-short-desc` (lowercase, kebab-case) based on `master`.3233### Phase 1: Explore & Plan34351. Read `AGENTS.md` for project coding guidelines.362. **Explore the codebase** using Explore agents in parallel to understand the areas affected by the issue.373. **Enter plan mode** and design the implementation approach.384. Present the plan to the user for approval. Do NOT proceed without approval.3940### Phase 2: Implement41421. Create task list to track progress.432. Implement changes in the worktree, following AGENTS.md guidelines:44 - Build with `./polypoint-cloud-cli/build.sh` (from the main repo, not worktree) — never Maven directly45 - Constructor injection via `@RequiredArgsConstructor`46 - `@PreAuthorize` on public service methods47 - `@NotNull`/`@Nullable` on method parameters and return types48 - Use `TestObject` classes for test data49 - Generated DTOs use fluent setters503. Write tests covering the new behavior.514. **Build and validate**: Run `./polypoint-cloud-cli/build.sh "" "--module {module}" "" "" "" ""` from the worktree directory. Ensure all tests pass with 0 failures.525. If the build fails, fix the issues and re-run until green.5354### Phase 3: Ship55561. **Commit** with message: `{ISSUE_KEY} {imperative description}` + `Co-Authored-By` trailer. Stage only relevant files (not unrelated generated artifacts).572. **Push** the branch to origin.583. **Create a draft PR** on Azure DevOps:59 ```60 az repos pr create \61 --organization "https://dev.azure.com/polypoint" \62 --project "cloud" --repository "cloud" \63 --source-branch "feature/{ISSUE_KEY}-short-desc" \64 --target-branch "master" \65 --title "{ISSUE_KEY} {short title}" \66 --description "..." --draft true67 ```684. **Transition the Jira issue to "In Review"**.6970### Phase 4: Review Feedback71721. If the user asks to address review comments (CodeRabbit, SonarQube, human reviewers):73 - Fetch PR threads via `az devops invoke --area git --resource pullRequestThreads`74 - Fix each issue or explain why it's a won't-fix75 - Commit, push, and resolve the threads as `fixed` or `closed`7677### Phase 5: Document78791. **Update the Confluence sub-page** with the final implementation details:80 - Fill in all placeholder sections81 - List all files changed with a summary table82 - Explain how it works (backend, frontend, migration as applicable)83 - Check off all acceptance criteria that are verified84 - Record test results (count, failures, build time)852. **Add a comment on the Jira issue** with the PR link if not already done.8687## Important Notes8889- **Never include sensitive information** in Jira comments, Confluence pages, or PR descriptions (no credentials, tokens, customer data).90- **Always work in a git worktree** — never modify the main working directory.91- **Build script location**: The `polypoint-cloud-cli/` directory may not be in the worktree. Use the absolute path from the main repo.92- **Portal-core uses PostgreSQL** — write Flyway migrations with PostgreSQL syntax.93- **Azure DevOps** (not GitHub) — use `az repos pr` for PR operations, `az devops invoke` for thread management.94- **Confluence cloud ID**: `polypoint.atlassian.net`95- **Confluence parent page ID**: `14170488840` (Zn2C Quick-Wins)96- **Confluence space ID**: `11137581287`97- **Jira transitions**: Backlog=11, Ready=21, In Progress=31, In Review=41, Done=519899$ARGUMENTS