feat(components/packages): add ai skills to workspace#4354
feat(components/packages): add ai skills to workspace#4354johnhwhite wants to merge 16 commits intomainfrom
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughA new Angular schematic named Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~18 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
View your CI Pipeline Execution ↗ for commit 997219c
☁️ Nx Cloud last updated this comment at |
|
Component Storybooks:
Apps: |
There was a problem hiding this comment.
Actionable comments posted: 10
🧹 Nitpick comments (5)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-1.md (1)
19-21: Add a language specifier to the fenced code block.The static analysis tool flagged this code block as missing a language identifier. Since this shows a log/error message, consider adding
textorlogas the language specifier for consistency and to satisfy the linter.Suggested fix
-``` +```text PaymentError: Connection timeout to payments.api.com</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-1.md
around lines 19 - 21, Add a language specifier to the fenced code block that
contains the error message "PaymentError: Connection timeout to
payments.api.com" in test-pressure-1.md by changing the opening backticks to
include a language (e.g.,text orlog) so the linter recognizes it as a
text/log block; locate the fenced block with that exact message and update the
opening fence only.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md (1)</summary><blockquote> `15-21`: **Consider adding language specifiers to pseudo-code blocks.** Multiple fenced code blocks containing "Gate Function" instructions and "Iron Laws" lack language specifiers. While the content is instructional pseudo-code rather than executable code, adding `text` or `plaintext` as the language identifier would satisfy the markdownlint rule (MD040) and improve consistency. Affected blocks are at lines: 15, 58, 112, 163, 225, 245, 259, 354, 412. <details> <summary>Example fix for one block</summary> ```diff -``` +```text 1. NEVER test mock behavior 2. NEVER add test-only methods to production classes ... ``` ``` </details> Also applies to: 58-66, 112-124 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md
around lines 15 - 21, Add a language specifier (e.g.,text) to every fenced pseudo-code block in the file (the blocks containing the "Gate Function" instructions and the "Iron Laws" lists, including the blocks referenced at lines 15, 58, 112, 163, 225, 245, 259, 354, and 412) so they satisfy MD040; update each opening fence fromtotext while leaving the inner content unchanged and keep the closingas-is.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md (1)</summary><blockquote> `30-32`: **Add language specifier to fenced code block.** The error message block should have a language identifier for proper syntax highlighting and rendering. Consider using `text` or `console` as the language identifier. <details> <summary>📝 Proposed fix</summary> ```diff -``` +```text NullInjectorError: No provider for SkyModalService! ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md
around lines 30 - 32, Update the fenced code block in root-cause-tracing.md that
contains the error text "NullInjectorError: No provider for SkyModalService!" to
include a language specifier (e.g., changetotext or ```console) so the
block is rendered with proper syntax highlighting and formatting; locate the
block by searching for the exact error string and replace the opening fence
accordingly.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md (1)</summary><blockquote> `269-285`: **Add language specifier to decision tree code block.** The decision tree would render better with a language identifier. Consider using `text` or a tree-specific identifier if supported by the markdown processor. <details> <summary>📝 Proposed fix</summary> ```diff -``` +```text Need to test a SKY UX component? ├── Harness exists in `@skyux/`*/testing? ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md
around lines 269 - 285, The fenced decision-tree code block lacks a language
specifier; update the triple-backtick opening for the block that begins with
"Need to test a SKY UX component?" to include a language identifier (e.g.,
changetotext) so the markdown renderer treats it as plain text and
preserves the tree formatting; ensure you only modify the opening fence for that
code block in angular-testing-patterns.md.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md (1)</summary><blockquote> `18-20`: **Add language specifier to fenced code block.** The text block would benefit from a language identifier for consistent rendering across markdown processors. <details> <summary>📝 Proposed fix</summary> ```diff -``` +```text NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md
around lines 18 - 20, Update the fenced code block in SKILL.md to include a
language specifier (e.g., change the triple backticks to ```text) so the block
containing "NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST" is rendered
consistently across Markdown processors; locate the fenced block in the
migration-resolver SKILL.md and add the language label immediately after the
opening backticks.</details> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against the current code and only fix it if needed.
Inline comments:
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/angular-debugging.md:
- Around line 69-71: Two fenced code blocks in
migration-resolver/references/angular-debugging.md are missing a language token;
change the opening backticks fromtotext for the block containing
"constructor → ngOnChanges → ngOnInit → ngAfterContentInit → ngAfterViewInit →
ngOnDestroy" and the block starting with "ComponentHarness (Angular CDK) └──
SkyComponentHarness (@skyux/core/testing)" so markdownlint MD040 is resolved;
locate those exact blocks and add the language token "text" to each opening
fence.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/condition-based-waiting.md:
- Line 39: The snippet calls waitFor without the required description parameter;
update the call to pass a short descriptive string as the first argument (e.g.,
a message like "waiting for getResult to be defined") and keep the predicate
(the getResult check) as the second argument so the call matches the declared
waitFor(description, predicate) signature; apply the same fix to the other
occurrences referencing waitFor/getResult in this file.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md:
- Around line 37-39: In SKILL.md update all unlabeled fenced code blocks to
include language identifiers to satisfy markdownlint MD040: addtext for plain text blocks containing phrases like "NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST", the blocks around the <Good> and <Bad> examples (usetypescript
for the TypeScript example and ```text for the explanatory lines), and the final
block containing "Production code → test exists and failed first Otherwise → not
TDD"; apply the same change to the other occurrences referenced (around the
other unlabeled fences noted) so every triple-backtick fence has an appropriate
language tag.- Line 411: Update the broken skill link: change the markdown link that uses
labelfix-bugsand currently points to../migration-resolver/SKILL.mdso it
points to the correct skill target (e.g.,../fix-bugs/SKILL.md) ensuring the
link labelfix-bugsremains the same and the link target matches the actual
skill folder/file.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.md:
- Around line 150-154: Update the link text in SKILL.md so it matches the target
skill directory name: change the link label "fix-bugs" to "migration-resolver"
for the entry that points to ../migration-resolver/SKILL.md (the line starting
with "- fix-bugs") so the displayed text
and the actual directory name are consistent with the adjacent skill links.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-behavioral-overlay.md:
- Around line 47-49: The Markdown file contains a fenced code block with an
error message that violates MD040 by missing a language tag; open the file
libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-behavioral-overlay.md,
locate the fenced block that currently contains "Error: Expected exactly one
match for SkyConfirmHarness, but found 0." and change the opening fence fromtotext so the block is explicitly marked as plain text (addressing the MD040
lint warning).In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-2.md:
- Around line 13-15: The Markdown code fence containing the error message
"Error: Expected exactly one match for SkyConfirmHarness, but found 0." is
unlabeled and triggers MD040; update that fenced snippet to include a language
identifier (for example add "text" after the openingto becometext) so
the snippet is properly labeled and the MD040 lint warning is resolved.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md:
- Around line 9-24: The code block in README.md uses a fenced block without a
language, causing MD040; update the opening fence for the tree block to include
a language identifier (e.g., change the triple backticks to "```text") so the
fence is recognized and linting passes; locate the fenced block in
libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md
and modify the opening backticks accordingly.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md:
- Around line 11-19: The fenced terminal output block in
test-partial-verification.md is missing a language label causing MD040 failures;
update the fence to include a language (e.g., "text") for the block that starts
with "$ npx nx lint my-lib" so it becomestext ...and ensure the content
and closing fence remain unchanged.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md:
- Around line 37-39: The fenced error block showing "error TS2304: Cannot find
name 'computed'." in test-premature-success.md lacks a language token and
triggers MD040; update that fenced code block to include a language identifier
(e.g., add "text" after the opening), so the snippet like the TS error (TS2304) referencing 'computed' is formatted astext ... ``` to satisfy
markdownlint.
Nitpick comments:
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md:
- Around line 30-32: Update the fenced code block in root-cause-tracing.md that
contains the error text "NullInjectorError: No provider for SkyModalService!" to
include a language specifier (e.g., changetotext or ```console) so the
block is rendered with proper syntax highlighting and formatting; locate the
block by searching for the exact error string and replace the opening fence
accordingly.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md:
- Around line 18-20: Update the fenced code block in SKILL.md to include a
language specifier (e.g., change the triple backticks to ```text) so the block
containing "NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST" is rendered
consistently across Markdown processors; locate the fenced block in the
migration-resolver SKILL.md and add the language label immediately after the
opening backticks.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md:
- Around line 269-285: The fenced decision-tree code block lacks a language
specifier; update the triple-backtick opening for the block that begins with
"Need to test a SKY UX component?" to include a language identifier (e.g.,
changetotext) so the markdown renderer treats it as plain text and
preserves the tree formatting; ensure you only modify the opening fence for that
code block in angular-testing-patterns.md.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md:
- Around line 15-21: Add a language specifier (e.g.,
text) to every fenced pseudo-code block in the file (the blocks containing the "Gate Function" instructions and the "Iron Laws" lists, including the blocks referenced at lines 15, 58, 112, 163, 225, 245, 259, 354, and 412) so they satisfy MD040; update each opening fence fromtotext while leaving the inner content unchanged and keep the closingas-is.In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-1.md:
- Around line 19-21: Add a language specifier to the fenced code block that
contains the error message "PaymentError: Connection timeout to
payments.api.com" in test-pressure-1.md by changing the opening backticks to
include a language (e.g.,text orlog) so the linter recognizes it as a
text/log block; locate the fenced block with that exact message and update the
opening fence only.</details> <details> <summary>🪄 Autofix (Beta)</summary> Fix all unresolved CodeRabbit comments on this PR: - [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended) - [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes </details> --- <details> <summary>ℹ️ Review info</summary> <details> <summary>⚙️ Run configuration</summary> **Configuration used**: defaults **Review profile**: CHILL **Plan**: Pro **Run ID**: `c0fbb043-1243-41e9-bdc3-fd63395f2e20` </details> <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between b8ebc73aad46021a87892e841521b7d212663269 and e1c8d1cc2103adfc9a38f74dc25a4e9e01290726. </details> <details> <summary>📒 Files selected for processing (27)</summary> * `libs/components/packages/collection.json` * `libs/components/packages/migrations.json` * `libs/components/packages/project.json` * `libs/components/packages/src/schematics/migrations/update-14/add-ai-skills/add-ai-skills.ts` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.spec.ts` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.ts` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/angular-debugging.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/condition-based-waiting.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/defense-in-depth.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/schema.json` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-academic.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-behavioral-overlay.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-1.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-2.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-3.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-code-first-resistance.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-harness-preference.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md` * `libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md` </details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
There was a problem hiding this comment.
Pull request overview
Adds an add-ai-skills schematic (and migration) to distribute AI “skill” markdown documents into a consuming workspace’s .github/skills/ folder, plus internal repo-only evaluation prompts for those skills.
Changes:
- Introduces the
add-ai-skillsgenerator andupdate-14migration wiring. - Adds skill content markdown for debugging, TDD, and verification (with references).
- Adds repo-only evaluation prompts under
src/schematics/.../tests/and updates packaging globs.
Reviewed changes
Copilot reviewed 27 out of 27 changed files in this pull request and generated 17 comments.
Show a summary per file
| File | Description |
|---|---|
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.ts | Implements schematic to copy files/ content into .github/ while filtering out /evals/. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.spec.ts | Adds schematic tests validating copied outputs and overwrite behavior. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/schema.json | Adds schema for the new schematic. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md | Adds debugging skill documentation (systematic investigation + Angular/SKY UX specifics). |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md | Adds debugging reference on tracing root causes. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/defense-in-depth.md | Adds debugging reference on layered validation. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/condition-based-waiting.md | Adds debugging reference on replacing arbitrary sleeps with condition-based waits. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/angular-debugging.md | Adds Angular-specific debugging reference (CD, DI, lifecycle, overlays). |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md | Adds TDD skill documentation (red/green/refactor + SKY UX harness/testing guidance). |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md | Adds reference patterns for TestBed + harness usage and mocking guidance. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md | Adds reference catalog of testing anti-patterns (ng-mocks, DOM queries, etc.). |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.md | Adds verification discipline skill (run commands + show evidence before “done”). |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md | Documents structure and how to run internal eval prompts. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-academic.md | Adds academic eval prompt for debugging skill. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-behavioral-overlay.md | Adds behavioral eval prompt about overlay harness loader usage. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-1.md | Adds pressure eval prompt for emergency production fix scenario. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-2.md | Adds pressure eval prompt about flaky harness test + sunk cost. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/fix-bugs/test-pressure-3.md | Adds pressure eval prompt about authority/social pressure. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md | Adds behavioral eval prompt ensuring verification happens before success claims. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md | Adds behavioral eval prompt ensuring lint-only is treated as insufficient verification. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.md | Adds behavioral eval prompt to implement a harness method via TDD. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-harness-preference.md | Adds behavioral eval prompt preferring harnesses over DOM queries for modals. |
| libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-code-first-resistance.md | Adds behavioral eval prompt checking for TDD “iron law” pushback. |
| libs/components/packages/src/schematics/migrations/update-14/add-ai-skills/add-ai-skills.ts | Adds update-14 migration that runs the new external schematic. |
| libs/components/packages/project.json | Ensures schematic files/** content is included in the package output. |
| libs/components/packages/migrations.json | Registers the new add-ai-skills migration. |
| libs/components/packages/collection.json | Registers the new add-ai-skills generator in the schematics collection. |
There was a problem hiding this comment.
Actionable comments posted: 3
♻️ Duplicate comments (5)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md (1)
9-24:⚠️ Potential issue | 🟡 MinorLabel the structure tree fence with a language.
The opening fence should include a language token (e.g.,
text) to satisfy MD040.Suggested fix
-``` +```text tests/ ├── migration-resolver/ # Systematic debugging skill │ ├── test-academic.md # Comprehension: can Claude quote the skill accurately? @@ -``` +```🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md` around lines 9 - 24, The Markdown code fence in the README.md tests tree lacks a language token which triggers MD040; update the opening triple-backtick for the tree (the fenced block showing tests/ ├── migration-resolver/ ...) to include a language (e.g., ```text) so the block becomes ```text and keep the closing ``` unchanged.libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.md (1)
13-15:⚠️ Potential issue | 🟡 MinorLabel the fenced error output block with a language token.
The code fence should include a language (for example
text) to satisfy MD040.Suggested fix
-``` +```text Error: Expected exactly one match for SkyConfirmHarness, but found 0.</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.md
around lines 13 - 15, The fenced error output block in test-pressure-2.md lacks
a language token causing MD040; update the code fence that currently contains
"Error: Expected exactly one match for SkyConfirmHarness, but found 0." to
include a language tag such as text (i.e., changetotext) so the block
is labeled and the lint rule passes.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md (1)</summary><blockquote> `37-39`: _⚠️ Potential issue_ | _🟡 Minor_ **Specify a language for the fenced TypeScript error block.** This block is missing a fence language and triggers MD040. <details> <summary>Suggested fix</summary> ```diff -``` +```text error TS2304: Cannot find name 'computed'. ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md
around lines 37 - 39, The fenced code block showing the TypeScript error ("error
TS2304: Cannot find name 'computed'.") is missing a language tag and triggers
MD040; fix it by adding a fence language (e.g., change the openingtotext or ```ts) for the block that contains the error message so the markdown
linter no longer flags it—locate the block containing the literal "error TS2304:
Cannot find name 'computed'." and add the chosen language after the backticks.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md (1)</summary><blockquote> `11-19`: _⚠️ Potential issue_ | _🟡 Minor_ **Add a fence language to the terminal output block.** This unlabeled fence will fail MD040 checks. <details> <summary>Suggested fix</summary> ```diff -``` +```text $ npx nx lint my-lib > nx run my-lib:lint Linting "my-lib"... All files pass linting. ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md
around lines 11 - 19, The markdown code fence in the file
test-partial-verification.md is missing a language label which triggers MD040;
update the unlabeled fenced block (the terminal output block in
libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md)
by adding a language tag such as "text" after the opening triple backticks so
the block becomes ```text and the lint check will pass.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md (1)</summary><blockquote> `37-39`: _⚠️ Potential issue_ | _🟡 Minor_ **Add language labels to fenced code blocks (MD040).** These code fences are still unlabeled and can fail markdownlint in strict docs pipelines. <details> <summary>Suggested fix</summary> ```diff -``` +```text NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST ``` @@ -``` +```text Production code → test exists and failed first Otherwise → not TDD ``` ``` </details> Also applies to: 425-428 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md
around lines 37 - 39, The markdown contains unlabeled fenced code blocks that
trigger MD040; update the unlabeled backtick fences in SKILL.md that wrap the
lines "NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST" and the block starting
"Production code → test exists and failed first" (and the similar occurrence
around lines 425-428) to use a language label (e.g., "text") so they become
text ...; locate the two unlabeled triple-backtick blocks in the file and
add the "text" label to each opening fence to satisfy markdownlint.</details> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against the current code and only fix it if needed.
Inline comments:
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md:
- Around line 18-20: Two fenced code blocks in SKILL.md are missing language
identifiers (MD040); update both fenced blocks that contain "NO FIXES WITHOUT
ROOT CAUSE INVESTIGATION FIRST" and the later block around the "For EACH
component boundary:" list to include a language tag (e.g., ```text) after the
opening backticks so the Markdown linter recognizes the language; locate those
exact fenced blocks in SKILL.md and add the language identifier to each openingIn `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-1.md`: - Around line 19-21: The fenced code block containing "PaymentError: Connection timeout to payments.api.com" is unlabeled and triggers MD040; update the fence to include a language identifier by changing the opening triple backticks to "```text" so the block reads ```text followed by the error line and then the closing ```; ensure the spacing/indentation of the snippet content remains the same. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.md`: - Line 61: The evaluator is checking for a non-existent selector `.sky-input-box-error-text`; update the test prompt in test-new-feature.md (references to the error selector at lines around the current diff) to accept the actual error rendering used by the input-box: check for `<sky-form-errors>` and/or projected `.sky-error-label` or `.sky-error-indicator` instead of `.sky-input-box-error-text`, and adjust the evaluator language so it validates either the presence of sky-form-errors or the projected error label/indicator selectors. --- Duplicate comments: In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md`: - Around line 37-39: The markdown contains unlabeled fenced code blocks that trigger MD040; update the unlabeled backtick fences in SKILL.md that wrap the lines "NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST" and the block starting "Production code → test exists and failed first" (and the similar occurrence around lines 425-428) to use a language label (e.g., "text") so they become ```text ... ```; locate the two unlabeled triple-backtick blocks in the file and add the "text" label to each opening fence to satisfy markdownlint. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.md`: - Around line 13-15: The fenced error output block in test-pressure-2.md lacks a language token causing MD040; update the code fence that currently contains "Error: Expected exactly one match for SkyConfirmHarness, but found 0." to include a language tag such as text (i.e., change ``` to ```text) so the block is labeled and the lint rule passes. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md`: - Around line 9-24: The Markdown code fence in the README.md tests tree lacks a language token which triggers MD040; update the opening triple-backtick for the tree (the fenced block showing tests/ ├── migration-resolver/ ...) to include a language (e.g., ```text) so the block becomes ```text and keep the closing ``` unchanged. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md`: - Around line 11-19: The markdown code fence in the file test-partial-verification.md is missing a language label which triggers MD040; update the unlabeled fenced block (the terminal output block in libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md) by adding a language tag such as "text" after the opening triple backticks so the block becomes ```text and the lint check will pass. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md`: - Around line 37-39: The fenced code block showing the TypeScript error ("error TS2304: Cannot find name 'computed'.") is missing a language tag and triggers MD040; fix it by adding a fence language (e.g., change the opening ``` to ```text or ```ts) for the block that contains the error message so the markdown linter no longer flags it—locate the block containing the literal "error TS2304: Cannot find name 'computed'." and add the chosen language after the backticks.🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID:
5f55a311-906d-4188-94a9-a000db119044📒 Files selected for processing (16)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.spec.tslibs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.tslibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-academic.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-behavioral-overlay.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-1.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-3.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-code-first-resistance.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-harness-preference.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md✅ Files skipped from review due to trivial changes (5)
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-3.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-behavioral-overlay.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-code-first-resistance.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-harness-preference.md
🚧 Files skipped from review as they are similar to previous changes (1)
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.ts
…-issues * origin/main: fix(components/packages): add dragula dependencies to project-level package.json for library projects (#4356)
…-issues * origin/main: chore: release 14.0.0-beta.1 (#4355)
There was a problem hiding this comment.
♻️ Duplicate comments (3)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md (1)
425-428:⚠️ Potential issue | 🟡 MinorAdd a language label to this fenced block.
The fence opened at Line 425 is unlabeled; this can trip markdownlint MD040 in strict docs checks. Use a plain-text label for this block.
Suggested fix
-``` +```text Production code → test exists and failed first Otherwise → not TDD</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md
around lines 425 - 428, The fenced code block in SKILL.md containing "Production
code → test exists and failed first / Otherwise → not TDD" is missing a language
label which triggers MD040; update that triple-backtick fence to use a
plain-text label (e.g., ```text) so the block becomes a labeled text code block
and re-run linting to confirm the MD040 warning is resolved.</details> </blockquote></details> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md (1)</summary><blockquote> `11-11`: _⚠️ Potential issue_ | _🟡 Minor_ **Specify a standard fence language identifier.** The fenced code block uses `terminaloutput` which is not recognized by markdownlint, triggering MD040. Use `text` instead. <details> <summary>Proposed fix</summary> ```diff -```terminaloutput +```text $ npx ng lint Linting "my-lib"... ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md
at line 11, Replace the nonstandard fenced code block language identifier
"terminaloutput" with the standard "text" in the test-partial-verification.md
file; locate the fence that begins with ```terminaloutput and change it tolibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md (1)
37-37:⚠️ Potential issue | 🟡 MinorSpecify a standard fence language identifier.
The fenced code block uses
terminaloutputwhich is not recognized by markdownlint, triggering MD040. Usetextinstead.Proposed fix
-```terminaloutput +```text error TS2304: Cannot find name 'computed'.</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md
at line 37, Replace the nonstandard fenced code block language identifier
"terminaloutput" with the standard "text" in the test file's fenced block that
contains "error TS2304: Cannot find name 'computed'." — locate the fenced block
using the identifier terminaloutput and change it to text so markdownlint MD040
is satisfied.</details> </blockquote></details> </blockquote></details> <details> <summary>🧹 Nitpick comments (1)</summary><blockquote> <details> <summary>libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md (1)</summary><blockquote> `343-346`: **Qualify or source the hard performance percentages.** The exact numbers (`95% vs 40%`, `15–30 minutes vs 2–3 hours`) read as measured claims but have no cited source. Consider framing them as anecdotal/internal observations or linking supporting data to avoid overstating certainty. <details> <summary>Suggested wording</summary> ```diff -From debugging sessions: - -- Systematic approach: 15-30 minutes to fix -- Random fixes approach: 2-3 hours of thrashing -- First-time fix rate: 95% vs 40% -- New bugs introduced: Near zero vs common +From internal debugging experience (anecdotal, context-dependent): + +- Systematic approach: often much faster to resolution +- Random-fixes approach: often leads to longer thrashing cycles +- First-time fix rate: typically higher with systematic investigation +- Regressions introduced: typically lower when root cause is confirmed first🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md` around lines 343 - 346, The statistic lines in SKILL.md ("15-30 minutes", "2-3 hours", "95% vs 40%") are presented as measured claims without sourcing; either add a citation/link to supporting data or reword them as anecdotal/internal observations (e.g., "typically", "our experience", or "in our internal testing") to avoid overstating certainty—update the bullet list in the SKILL.md block accordingly and ensure the altered wording or added reference clearly replaces the raw percentages and times.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In
`@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.md`:
- Around line 425-428: The fenced code block in SKILL.md containing "Production
code → test exists and failed first / Otherwise → not TDD" is missing a language
label which triggers MD040; update that triple-backtick fence to use a
plain-text label (e.g., ```text) so the block becomes a labeled text code block
and re-run linting to confirm the MD040 warning is resolved.
In
`@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.md`:
- Line 11: Replace the nonstandard fenced code block language identifier
"terminaloutput" with the standard "text" in the test-partial-verification.md
file; locate the fence that begins with ```terminaloutput and change it to
```text so markdownlint MD040 is satisfied and the snippet remains unchanged.
In
`@libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md`:
- Line 37: Replace the nonstandard fenced code block language identifier
"terminaloutput" with the standard "text" in the test file's fenced block that
contains "error TS2304: Cannot find name 'computed'." — locate the fenced block
using the identifier terminaloutput and change it to text so markdownlint MD040
is satisfied.
---
Nitpick comments:
In
`@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.md`:
- Around line 343-346: The statistic lines in SKILL.md ("15-30 minutes", "2-3
hours", "95% vs 40%") are presented as measured claims without sourcing; either
add a citation/link to supporting data or reword them as anecdotal/internal
observations (e.g., "typically", "our experience", or "in our internal testing")
to avoid overstating certainty—update the bullet list in the SKILL.md block
accordingly and ensure the altered wording or added reference clearly replaces
the raw percentages and times.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 94c1c8d4-ceea-4fd8-8466-adaf82e66ff8
📒 Files selected for processing (14)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/angular-debugging.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-behavioral-overlay.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-1.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-partial-verification.mdlibs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/verification-before-completion/test-premature-success.md
✅ Files skipped from review due to trivial changes (10)
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-1.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/testing-antipatterns.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-behavioral-overlay.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/README.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/migration-resolver/test-pressure-2.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/angular-debugging.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/root-cause-tracing.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-test-driven-development/references/angular-testing-patterns.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/tests/skyux-test-driven-development/test-new-feature.md
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/skyux-verification-before-completion/SKILL.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@libs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/condition-based-waiting.md`:
- Around line 90-105: The example uses component.results() but never defines
component; after creating the TestBed component instance (the
TestBed.createComponent(SearchComponent) call) assign the component instance to
a local variable (e.g., const component = fixture.componentInstance;) so the
fakeAsync test can call component.results(); update the snippet around the
SearchComponent fixture creation to include that assignment.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: cdf0f8f7-ff07-4ec1-acae-11aa78d858e4
📒 Files selected for processing (2)
libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.spec.tslibs/components/packages/src/schematics/ng-generate/add-ai-skills/files/skills/migration-resolver/references/condition-based-waiting.md
✅ Files skipped from review due to trivial changes (1)
- libs/components/packages/src/schematics/ng-generate/add-ai-skills/add-ai-skills.schematic.spec.ts
…-issues * origin/main: chore: release 14.0.1 (#4368) fix(components/i18n): add support for `ng-packagr@21.2.2` (#4370) fix: add missing docs for `skyux-stylelint/no-sky-theme-imports` and `skyux-eslint/no-sky-selectors` rules (#4365) chore: replace `@trivago/prettier-plugin-sort-imports` with `prettier-plugin-organize-imports` (#4223) chore: 14.0.0 changelog (#4363)
AB#3932736
Summary by CodeRabbit
Release Notes