Skip to content

feat: Extend AKS skill to perform cluster reviews - #2076

Open
johnbilliris (johnbilliris) wants to merge 27 commits into
microsoft:mainfrom
johnbilliris:azure-kubernetes-review
Open

feat: Extend AKS skill to perform cluster reviews #2076
johnbilliris (johnbilliris) wants to merge 27 commits into
microsoft:mainfrom
johnbilliris:azure-kubernetes-review

Conversation

@johnbilliris

Copy link
Copy Markdown

Description

Introduce an Azure Kubernetes Review skill

Checklist

  • Tests pass locally (cd tests && npm test)
  • If modifying skill descriptions: verified routing correctness with integration tests (npm run test:skills:integration -- <skill>)
  • If modifying skill USE FOR / DO NOT USE FOR / PREFER OVER clauses: confirmed no routing regressions for competing skills
  • Version bumped in skill frontmatter (if skill files changed)

Related Issues

Co-authored-by: Copilot <copilot@github.com>
Copilot AI review requested due to automatic review settings April 28, 2026 06:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Introduces a new azure-kubernetes-review skill under plugin/skills/ to guide an evidence-based AKS posture review and generate a standardized Markdown audit report.

Changes:

  • Adds the azure-kubernetes-review skill with an end-to-end workflow and guardrails.
  • Adds reference documents (checklist matrix, container checks, diagnostics detector mapping) plus a report template.
  • Updates .gitignore to ignore *.crt files.

Reviewed changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
plugin/skills/azure-kubernetes-review/SKILL.md Skill entrypoint, workflow outline, inputs/outputs, guardrails
plugin/skills/azure-kubernetes-review/assets/aks-audit-report-template.md Report template for audit output
plugin/skills/azure-kubernetes-review/references/aks-checklist-matrix.md Canonical checklist matrix + validation commands
plugin/skills/azure-kubernetes-review/references/aks-container-best-practices.md Container-level best-practice checks and scoring rules
plugin/skills/azure-kubernetes-review/references/aks-diagnostics-detectors.md Diagnostics detector extraction + mapping guidance
plugin/skills/azure-kubernetes-review/references/quality-gates.md Completeness checks and decision logic
plugin/skills/azure-kubernetes-review/references/workflow-scope-and-checklist.md Scope definition + checklist loading workflow
plugin/skills/azure-kubernetes-review/references/workflow-diagnostics.md Diagnostics execution workflow
plugin/skills/azure-kubernetes-review/references/workflow-warning-events.md Warning event collection + correlation workflow
plugin/skills/azure-kubernetes-review/references/workflow-container-assessment.md Container assessment workflow
plugin/skills/azure-kubernetes-review/references/workflow-validation-and-findings.md Validation command execution + findings workflow
plugin/skills/azure-kubernetes-review/references/workflow-report.md Report generation workflow
.gitignore Ignores *.crt files

Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread plugin/skills/azure-kubernetes/references/aks-review-validation-and-findings.md Outdated
Comment thread plugin/skills/azure-kubernetes/references/aks-review-diagnostics.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/references/aks-checklist-matrix.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread plugin/skills/azure-kubernetes/assets/aks-audit-report-template.md Outdated
Comment thread plugin/skills/azure-kubernetes/references/aks-diagnostics-detectors.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/references/aks-checklist-matrix.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/assets/aks-audit-report-template.md Outdated
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

@kvenkatrajan kvenkatrajan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for your contribution! Consider consolidating this with the main azure-kubernetes skill. We are trying to keep the number of skills low and reduce overlap between skills

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Solid contribution with deep AKS domain knowledge. The progressive disclosure structure (SKILL.md + 11 reference files) is well-suited for a complex audit workflow.

Main concern - echoing kvenkatrajan's feedback: the existing azure-kubernetes skill handles Day-0 provisioning while this targets Day-2 audit. There's a reasonable case for separation given the 1200+ lines of audit-specific content, but the repo's direction is to minimize skill count. Consider whether this could be a mode or workflow within the existing skill (e.g., triggered by "review AKS", "audit AKS cluster") with the reference files living alongside the existing skill's references.

Additional items below focus on frontmatter compliance and missing required sections per repo conventions.

Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread plugin/skills/azure-kubernetes-review/SKILL.md Outdated
Comment thread .gitignore Outdated
Comment thread plugins/azure-skills/skills/azure-kubernetes/SKILL.md

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Consolidation into the existing azure-kubernetes skill addresses my previous concerns and kvenkatrajan's request. All four of my earlier comments (metadata.author, argument-hint, missing Quick Reference, unrelated .gitignore change) are resolved - the separate skill was removed and the .gitignore hunk dropped.

The Day-2 section integrates cleanly alongside the Day-0 content. Progressive disclosure is solid - 10 reference files handle the detail, keeping the workflow steps in SKILL.md as pointers.

One thing worth watching: SKILL.md went from ~2600 to ~4000 tokens. It's under the 5000-token limit from skill-files.instructions.md, but the Day-2 "Required Inputs" table and "Review Decision Logic" subsections could move to a reference file to keep the main file leaner - see Alex Okonechnikov (@okonech)'s thread.

Trim 26 chars from the description so total char count is exactly 20000 (was 20026). Regenerate snapshot to reflect the resulting trigger-keyword changes.

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Three issues to fix:

  1. MCP tool names in �ks-diagnostics-detectors.md and �ks-review-diagnostics.md use mcp_aks_mcp_* naming. The rest of this skill and the repo uses mcp_azure_mcp_aks as the entry point with discovery. The agent won't find these tools at runtime.

  2. Two �z aks nodepool list commands are missing required -g and --cluster-name params (see inline comments). Other instances in the checklist matrix correctly include them.

  3. 15 validation commands in �ks-checklist-matrix.md use indstr (Windows-only). Existing AKS skill files use grep. The �ks-container-best-practices.md already notes the platform difference, but the checklist defaults should match. Consider grep -i as primary with a Windows note for indstr.

Comment thread plugin/skills/azure-kubernetes/references/aks-diagnostics-detectors.md Outdated
Comment thread plugin/skills/azure-kubernetes/references/aks-review-validation-and-findings.md Outdated
Comment thread plugin/skills/azure-kubernetes/assets/aks-audit-report-template.md Outdated
…view

# Conflicts:
#	tests/azure-kubernetes/__snapshots__/triggers.test.ts.snap
#	tests/azure-kubernetes/integration.test.ts
#	tests/azure-kubernetes/triggers.test.ts

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

SKILL modified to reduce token usage

Comment thread plugins/azure-skills/skills/azure-compute/SKILL.md Outdated
@JasonYeMSFT

Copy link
Copy Markdown
Member

Besides the comment about ignoring the false positive vally lint error. Could you please also update the title so it has a well known prefix (e.g. feature:) and precisely describes the change? Our changelog generation script uses the prefix to generate entries in the change log. This PR doesn't add an AKS review skill. It added instructions for reviewing AKS clusters in the azure-kubernetes skill. Only the top level skill directorys with SKILL.md are considered skills.

@JasonYeMSFT

Copy link
Copy Markdown
Member

Alex Thompson (@alex-thompson) Please review the changes in the azure-kubernetes skill. Please approve the PR once you are happy about it.

@johnbilliris johnbilliris (johnbilliris) changed the title Introduce AKS review skill feat: Extend AKS skill to perform cluster reviews Jun 17, 2026
@johnbilliris

Copy link
Copy Markdown
Author

Besides the comment about ignoring the false positive vally lint error. Could you please also update the title so it has a well known prefix (e.g. feature:) and precisely describes the change? Our changelog generation script uses the prefix to generate entries in the change log. This PR doesn't add an AKS review skill. It added instructions for reviewing AKS clusters in the azure-kubernetes skill. Only the top level skill directorys with SKILL.md are considered skills.

Title changed as requested.

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Incremental review since my 2026-05-29 feedback. The three issues I previously raised are addressed:

  • MCP tool names now use mcp_azure_mcp_aks with discovery (no hardcoded mcp_aks_mcp_*)
  • az aks nodepool list commands now include -g and --cluster-name
  • aks-checklist-matrix.md now uses grep as primary with findstr as Windows fallback

One consistency gap remains in aks-container-best-practices.md, and the azure-compute/SKILL.md change looks out of scope for this PR (see inline comments).

Comment thread plugins/azure-skills/skills/azure-compute/SKILL.md Outdated

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Incremental review since my 2026-05-29 feedback. The three issues I previously raised are addressed:

  • MCP tool names now use mcp_azure_mcp_aks with discovery (no hardcoded mcp_aks_mcp_*)
  • az aks nodepool list commands now include -g and --cluster-name
  • aks-checklist-matrix.md now uses grep as primary with findstr as Windows fallback

One consistency gap remains in aks-container-best-practices.md, and the azure-compute/SKILL.md change looks out of scope for this PR (see inline comments).

Comment thread plugins/azure-skills/skills/azure-compute/SKILL.md Outdated

@jongio Jon Gallant (jongio) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The Day-2 AKS cluster review workflow is well-structured: proper 9-step workflow, quality gates, conservative assessment rules, and graceful fallback chains. The content itself is solid AKS operations guidance.

One blocking concern: the frontmatter description removes several existing routing keywords (pod rightsizing, over-provisioned AKS pod, pod resource requests and limits, Vertical Pod Autoscaler, VPA recommendations) without verifying routing still works. The PR checklist item for routing verification is unchecked. These keywords represent distinct user intents that may no longer route to this skill.

Please either restore the removed keywords (the description is still under the 1024-char limit with them) or run npm run test:skills:integration -- azure-kubernetes confirming VPA/pod-rightsizing queries still route correctly.

Comment thread plugins/azure-skills/skills/azure-kubernetes/SKILL.md Outdated
Comment thread plugins/azure-skills/skills/azure-compute/SKILL.md Outdated
@johnbilliris
johnbilliris (johnbilliris) requested a review from a team as a code owner August 3, 2026 03:13
@JasonYeMSFT

Copy link
Copy Markdown
Member

The PR description is outdated.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants