Skip to content

Fix Kickstart agent tool names, reviewer scope, and ACR skill content#2245

Open
bosesuneha wants to merge 1 commit into
Azure:kickstart-agentfrom
bosesuneha:kickstart-agent-cleanup
Open

Fix Kickstart agent tool names, reviewer scope, and ACR skill content#2245
bosesuneha wants to merge 1 commit into
Azure:kickstart-agentfrom
bosesuneha:kickstart-agent-cleanup

Conversation

@bosesuneha

Copy link
Copy Markdown
Member

What

Cleanup pass on the Kickstart agents and skills to fix three functional issues that cause real model misbehavior, not just doc drift.

1. Tool-name normalization

Agent frontmatter declares slash-namespaced tool ids (vscode/askQuestions, vscode/runCommand, execute/runInTerminal, edit/editFiles), but the prose across both agents and every skill used underscore form (vscode_askQuestions, run_in_terminal, write_file). Normalized all references to the namespaced form so the runtime can actually resolve them.

2. Reviewer agent had no distinct job

agents/kickstart-reviewer invoked /kickstart-review again — the same skill the main agent already runs in Phase 5 — so the handoff did no extra work. Plus the handoff was send: false, meaning /kickstart-security-hardening (only referenced by the reviewer) often never ran at all.

Rewrote the reviewer to own a clearly different scope: security hardening, cross-artifact consistency (image refs, managed-identity client-ids, namespaces aligned across k8s/, Bicep, and the GitHub Actions workflow), and AKS Automatic compatibility spot-checks. Added two context-aware handoffs back to the main agent — "proceed to Pre-Deploy" on pass, "fix issues" on any FAIL.

Flipped the Phase 5 handoff to send: true so the reviewer actually runs, and updated the Phase 5 prose in the main agent to describe the new flow.

3. skills/kickstart-acr-integration had the wrong content entirely

Frontmatter advertised "attaching an ACR, image reference conventions (digest pinning, no :latest), pull-secret-free authentication via the managed identity." The body was titled AKS Storage and only covered storage classes, PVCs, hostPath, backup, and StatefulSet volumeClaimTemplates. Other skills (kickstart-generate, kickstart-cluster-status, kickstart-handoff) linked to it expecting real ACR content.

Replaced the body with the canonical ACR attach + image-reference + push guidance, including the permission-aware fallback chain (az aks update --attach-acr → direct role assignment → PIM).

4. AGENTS.md refresh

Updated tool lists to match agent frontmatter, fixed handoff/invocation descriptions, and noted that kickstart skills intentionally omit WHEN triggers because they use disable-model-invocation: true.

Why

These three issues were the ones from the review most likely to cause runtime failure (resolved tool calls, security checks silently skipped, broken cross-skill references). Lower-priority cleanup items (phase-transition wording, missing safeguard rules, frontmatter style, etc.) were intentionally left out of this PR to keep the scope tight and reviewable.

Files changed

  • agents/kickstart.agent.md — handoff flipped to send: true; Phase 5 prose; tool-name normalization
  • agents/kickstart-reviewer.agent.md — rewritten with distinct scope + two handoffs
  • skills/kickstart-acr-integration/SKILL.md — rewritten with real ACR content
  • skills/kickstart-*/SKILL.md (×13) — tool-name normalization only
  • AGENTS.md — accurate tool lists, handoff flow, skill description

Testing

  • grep verified no remaining vscode_ / run_in_terminal / write_file references in agents/ or skills/
  • Diff is doc-only; no runtime code touched, no test impact

- Normalize tool references across agents and skills to the namespaced form
  declared in agent frontmatter (vscode/askQuestions, vscode/runCommand,
  execute/runInTerminal, edit/editFiles) so the runtime can resolve them.
- Rewrite agents/kickstart-reviewer with a distinct deep-review scope
  (security hardening, cross-artifact consistency, AKS Automatic compat)
  instead of re-running /kickstart-review. Add two context-aware handoffs
  back to the main agent (proceed vs. fix).
- Flip the Phase 5 handoff in agents/kickstart to send: true so the
  reviewer actually runs, and update Phase 5 prose to call it out.
- Replace skills/kickstart-acr-integration content (was mis-filed AKS
  storage docs) with the actual ACR-attach, image-reference, and push
  guidance the skill description advertises and that other skills link to.
- Refresh AGENTS.md tool lists and skill counts to match the agent
  frontmatter, and note that kickstart skills omit WHEN triggers by
  design (disable-model-invocation: true).

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

This PR cleans up the Kickstart declarative agents/skills to reduce runtime misbehavior by normalizing tool identifiers, making the reviewer handoff actually execute a distinct “deep review” pass, and replacing incorrect ACR integration skill content.

Changes:

  • Normalizes tool-id references in agent/skill prose to match namespaced tool ids (e.g., vscode/askQuestions, execute/runInTerminal, edit/editFiles).
  • Reworks the reviewer agent to perform a distinct second-pass review (security hardening + cross-artifact consistency) and updates the main agent’s Phase 5 flow to hand off automatically.
  • Replaces kickstart-acr-integration content with ACR attach/pull/push guidance aligned to AKS Automatic + kubelet managed identity.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
agents/kickstart.agent.md Updates Phase 5 flow and makes the reviewer handoff auto-run (send: true), plus tool-name normalization.
agents/kickstart-reviewer.agent.md Rewrites reviewer scope to a deep second pass with two return handoffs.
skills/kickstart-acr-integration/SKILL.md Replaces incorrect storage content with ACR integration guidance for AKS Automatic.
skills/kickstart-samples/SKILL.md Updates tool references for sample selection and cloning.
skills/kickstart-review/SKILL.md Updates tool references for validation and interactive prompts.
skills/kickstart-pim-activation/SKILL.md Updates vscode/askQuestions tool reference.
skills/kickstart-handoff/SKILL.md Updates vscode/askQuestions tool references in pre-deploy checks.
skills/kickstart-generate/SKILL.md Updates vscode/askQuestions tool reference.
skills/kickstart-file-generation/SKILL.md Updates batching guidance from write_file to edit/editFiles.
skills/kickstart-discover/SKILL.md Updates vscode/askQuestions tool references in discovery guidance.
skills/kickstart-design/SKILL.md Updates vscode/askQuestions tool reference.
skills/kickstart-deploy/SKILL.md Updates execute/runInTerminal and vscode/askQuestions tool references.
skills/kickstart-configure-infra/SKILL.md Updates vscode/runCommand tool reference for cluster-setup view launch.
skills/kickstart-collaborator-voice/SKILL.md Updates vscode/askQuestions tool references in interaction guidance.
skills/kickstart-cluster-status/SKILL.md Updates vscode/askQuestions tool reference.
AGENTS.md Refreshes tool lists and documents the updated handoff/reviewer scope.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread agents/kickstart.agent.md
**Skip this phase if the user chose "Start from an example"** — the pre-filled profile from `/kickstart-samples` already provides all needed info.

Follow `/kickstart-discover`. Use `search` and `codebase` to auto-detect language, framework, ports, deps, Dockerfile, CI/CD before asking. Collect remaining details via `vscode_askQuestions`. Exit when you have enough to propose architecture.
Follow `/kickstart-discover`. Use `search` and `codebase` to auto-detect language, framework, ports, deps, Dockerfile, CI/CD before asking. Collect remaining details via `vscode/askQuestions`. Exit when you have enough to propose architecture.

- App name
- Language / framework (detect from manifest files, confirm via `vscode_askQuestions`)
- Language / framework (detect from manifest files, confirm via `vscode/askQuestions`)
## Partial failures

If a write_file call fails mid-batch:
If a edit/editFiles call fails mid-batch:
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.

2 participants