Skip to content

Add sprint-check, issue-cleanup, and hotfix-release skills#8217

Open
rajeshkamal5050 wants to merge 3 commits into
mainfrom
feature/engsys-skills-v3
Open

Add sprint-check, issue-cleanup, and hotfix-release skills#8217
rajeshkamal5050 wants to merge 3 commits into
mainfrom
feature/engsys-skills-v3

Conversation

@rajeshkamal5050
Copy link
Copy Markdown
Contributor

Partially addresses #8033

Replaces #8134, #8216 (closed — had overlapping commits from #8099)

What

Three new Copilot skills for engineering automation.

sprint-check

Validates sprint readiness — labels, milestones, project fields (Sprint, Priority, Initiative), assignees. Supports personal/team/single-issue scope. Sprint close rollover with bulk move when sprint is ending.

issue-cleanup

Scans backlog for hygiene gaps — missing labels, missing milestones, stale milestone assignments. Flags customer-reported issues sitting without triage.

hotfix-release

Creates a hotfix branch from a release tag, cherry-picks specified PRs, bumps version files (version.txt, azdext/version.go), updates CHANGELOG.md, pushes branch. Handles cherry-pick conflicts interactively. Includes ADO release pipeline guidance and post-release checklist.

Files

  • .github/skills/sprint-check/ — SKILL.md + 2 reference docs (hygiene-rules, project-mutations)
  • .github/skills/issue-cleanup/ — SKILL.md + 1 reference doc (hygiene-rules, synced with sprint-check)
  • .github/skills/hotfix-release/ — SKILL.md + 1 reference doc (version-files)
  • .vscode/cspell.misc.yaml — spelling overrides for new files

rajeshkamal5050 and others added 2 commits May 15, 2026 12:06
Adds three engineering automation skills:

- sprint-check: validates sprint readiness, checks labels/milestones/project
  fields, supports sprint close rollover
- issue-cleanup: scans backlog for hygiene gaps, flags customer-reported
  issues without triage, stale milestones
- hotfix-release: creates hotfix branch from release tag, cherry-picks PRs,
  bumps version files, generates changelog entry

Partially addresses #8033

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
hotfix-release:
- Add Triggering the Release section with ADO pipeline link and steps
- Add Post-Release section (changelog merge-back, no version file merge)
- Fix tags guidance: pipeline creates tags, not manual
- Add Go as optional prerequisite (build verification)
- Remove changelog from version-files.md (avoid Step 5/6 overlap)
- Fix grep -oP to sed for macOS compatibility

sprint-check:
- Add Step 8: Sprint Close / Rollover with bulk move option
- Fix --paginate to manual cursor pagination (tested, doesn't work)
- Sync hygiene-rules.md with issue-cleanup (was drifting)

issue-cleanup:
- Fix hardcoded assignee example to @me
- Fix --milestone "" to --search "no:milestone"

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 15, 2026 19:07
@rajeshkamal5050 rajeshkamal5050 added the skip-governance Skip PR governance checks label May 15, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds three new GitHub Copilot “workflow skills” to automate sprint readiness checks, backlog hygiene scanning, and hotfix branch/release preparation.

Changes:

  • Added new skills: sprint-check, issue-cleanup, and hotfix-release with step-by-step workflows and reference docs.
  • Documented shared issue hygiene rules and Project V2 GraphQL mutation patterns.
  • Updated cspell overrides for newly introduced domain-specific terms in skill docs.
Show a summary per file
File Description
.vscode/cspell.misc.yaml Adds cspell allowlist overrides for new skill documentation terms.
.github/skills/sprint-check/SKILL.md Defines sprint readiness workflow, queries, reporting, and interactive fixes.
.github/skills/sprint-check/references/hygiene-rules.md Documents validation rules used by sprint-check (and shared with issue-cleanup).
.github/skills/sprint-check/references/project-mutations.md Provides GraphQL examples for Project V2 field reads/mutations used by sprint-check.
.github/skills/issue-cleanup/SKILL.md Defines backlog hygiene scan workflow, reporting, and interactive fixes.
.github/skills/issue-cleanup/references/hygiene-rules.md Duplicates the shared hygiene rules reference for issue-cleanup consumers.
.github/skills/hotfix-release/SKILL.md Defines hotfix workflow from tag through cherry-picks, version bump, changelog update, and push.
.github/skills/hotfix-release/references/version-files.md Documents which version files to update and how to validate consistency.

Copilot's findings

  • Files reviewed: 8/8 changed files
  • Comments generated: 4

Comment on lines +7 to +10
description: >-
**WORKFLOW SKILL** — Validates sprint readiness for issues and PRs.
Checks labels, milestones, project fields (Sprint, Priority, Initiative),
EPIC parents, and assignments. Can fix fields interactively with user confirmation.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — changed to issues only.

Comment thread .github/skills/hotfix-release/SKILL.md Outdated
- Record `mergeCommit.oid` — this is what we cherry-pick
- If PR is not merged, warn and skip it

**Determine merge strategy per PR:**
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — checks parent count via git show --pretty=%P now, not commit count.

Comment thread .github/skills/hotfix-release/SKILL.md Outdated

```bash
git fetch --tags
git tag -l "azure-dev-cli_VERSION"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — standardized to BASE_VERSION placeholder.

Comment thread .github/skills/sprint-check/SKILL.md Outdated
Comment on lines +152 to +166
projectItems(first: 10) {
nodes {
project { number }
id
fieldValueByName(name: "Sprint") {
... on ProjectV2ItemFieldIterationValue { title iterationId }
}
fieldValueByName(name: "Priority") {
... on ProjectV2ItemFieldSingleSelectValue { name optionId }
}
fieldValueByName(name: "Initiative") {
... on ProjectV2ItemFieldSingleSelectValue { name optionId }
}
}
}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — bumped to first: 100.

…ts, description

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Member

@jongio jongio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three new engineering automation skills -- sprint-check, issue-cleanup, and hotfix-release. Structure follows the existing skill pattern well (frontmatter, references dir, cspell overrides).

Summary of findings (2 medium, 2 low):

  • sprint-check body heading still says "issues and PRs" despite the frontmatter fix (incomplete fix from prior feedback)
  • hygiene-rules.md duplicated verbatim across sprint-check and issue-cleanup references
  • hotfix-release suggests force-push as error recovery on a potentially shared branch
  • hotfix-release validates PRs are merged but not that they were merged into main


# sprint-check

**WORKFLOW SKILL** — Validates sprint readiness for issues and PRs in the current sprint.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] The YAML description was fixed to say issues only, but this heading still says issues and PRs in the current sprint. Looks like the earlier fix was incomplete -- this should match the frontmatter.

@@ -0,0 +1,65 @@
# Issue Hygiene Rules
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] This file is identical to sprint-check/references/hygiene-rules.md (66 lines, byte-for-byte). Two copies means two places to update when rules change. Consider putting a single copy in a shared location (e.g. .github/skills/_shared/hygiene-rules.md) and referencing it from both skills.

- PR not merged → warn, skip, continue with others
- Cherry-pick conflict → interactive resolution (Step 4)
- Build failure after cherry-pick → warn, offer to continue or abort
- Push rejected → suggest `git push --force-with-lease` if branch already exists (with user confirmation)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] --force-with-lease is safer than --force, but for a hotfix branch that others might be working on, force-pushing could still overwrite their commits. Worth checking if the branch already has remote commits and suggesting git pull --rebase first?

git tag -l "azure-dev-cli_*" --sort=-version:refname | head -10
```

**Validate each PR is merged:**
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] This validates each PR has state: MERGED, but doesn't check baseRefName to confirm it was merged into main. A PR merged into a feature branch could bring in unrelated changes if cherry-picked by merge commit SHA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-governance Skip PR governance checks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants