feat(@schematics/angular): install official agent skills#33553
Closed
rainerhahnekamp wants to merge 1 commit into
Closed
feat(@schematics/angular): install official agent skills#33553rainerhahnekamp wants to merge 1 commit into
rainerhahnekamp wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Checklist
PR Type
What is the current behavior?
Angular CLI can generate AI context and MCP configuration for supported coding agents. It does not, however, install Angular's official Agent Skills. Developers must know that the skills exist, find them, and install them separately.
Current models produce better React code than Angular code. Public framework-level evaluation supports this gap: DesignBench found large differences between web frameworks, with Angular performing worst among the frameworks evaluated for code generation. Angular-specific, version-aligned guidance therefore has unusually high value, but today it is not available out of the box.
Issue Number: N/A
What is the new behavior?
When a user selects one or more supported AI tools during
ng neworng generate ai-config, the CLI also asks whether to install the official Angular Agent Skills. The default is yes, but the user can decline.If accepted, the CLI runs the Skills CLI once after file generation and installs
angular-developerandangular-new-applocally for every selected agent. Existing global skills remain available because no global installation or removal is performed. Agent names are translated to the identifiers understood by the Skills CLI, including GitHub Copilot for the VS Code integration.The installation is deliberately best-effort. A failure, including an offline run, emits a warning but does not fail project generation. Telemetry for this subprocess is disabled. For new projects it runs after package installation and before Git initialization, so the generated local skill files are included in the initial commit.
The skills source is pinned to the Angular release line derived from the CLI's existing stamped
latestVersions.Angularvalue. For example, a CLI built for22.0.xinstalls from the22.0.xbranch ofangular/skills, even after22.1has been published. This follows the CLI's existing release stamping instead of introducing another version constant. It assumes the corresponding branch inangular/skillsis available when a CLI release is published.Why this approach
Frameworks currently use several approaches:
AGENTS.mdconvention to make agents consult it.The alternatives considered here were documentation only, embedding copies of the skills in Angular CLI, installing globally, installing without consent, and maintaining an Angular-specific installer. Documentation alone keeps the discovery problem. Embedded copies duplicate the separately maintained official skills and make updates harder. Global installation mutates user-wide configuration and can affect unrelated projects. Installation without a prompt is surprising and unsuitable for offline workflows. A custom installer would duplicate agent discovery and installation behavior already provided by the Skills CLI.
The selected design keeps the existing Angular CLI AI configuration flow, asks for consent, installs project-local copies for each selected agent, uses the official cross-agent installer, and couples the skills branch to the CLI release line.
Does this PR introduce a breaking change?
Other information
The implementation uses a private hidden schematic and
RunSchematicTask; it does not add a public Angular DevKit task API or modify the shared package-manager executor.Validation performed:
pnpm bazel test //packages/schematics/angular:test //packages/angular_devkit/schematics:schematics_api --test_output=errorsgit diff --check