Conversation
Signed-off-by: Dave Skender <[email protected]>
Signed-off-by: Dave Skender <[email protected]>
Signed-off-by: Dave Skender <[email protected]>
Signed-off-by: Dave Skender <[email protected]>
Signed-off-by: Dave Skender <[email protected]>
📝 WalkthroughWalkthroughThis PR reorganizes and consolidates many agent skill docs and related references. It rewrites .agents/skills/code-completion/SKILL.md to a concise workflow, adds a complete Markdown skill (docs, references, setup and install scripts, validation checklist), refactors indicator-related SKILLs (buffer, catalog, series, stream) with updated constructor and testing patterns, introduces testing patterns and benchmark config updates, normalizes VitePress docs headings, removes trailing metadata across many reference files, updates AGENTS.md variants to emphasize primary directives and boundaries, and adjusts markdownlint configuration. Possibly related PRs
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 9
🧹 Nitpick comments (3)
.agents/skills/markdown/scripts/check.sh (1)
19-29: Config detection silently misses.markdownlint.yml/.markdownlint-cli2.ymlvariants.When a config with a
.ymlextension exists, theforloop doesn't find it (not in the list), but thecompgen -G ".markdownlint*"check suppresses the "no config found" fallback too — the config section produces no output at all.Adding the two short-extension variants to the list closes the gap:
🛠️ Proposed fix
-for conf in .markdownlint-cli2.jsonc .markdownlint-cli2.yaml .markdownlint-cli2.json .markdownlint.json .markdownlint.yaml; do +for conf in .markdownlint-cli2.jsonc .markdownlint-cli2.yaml .markdownlint-cli2.yml .markdownlint-cli2.json .markdownlint.json .markdownlint.yaml .markdownlint.yml; do🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.agents/skills/markdown/scripts/check.sh around lines 19 - 29, The for-loop that checks configs (for conf in .markdownlint-cli2.jsonc .markdownlint-cli2.yaml .markdownlint-cli2.json .markdownlint.json .markdownlint.yaml) and the subsequent compgen check miss short-extension variants .markdownlint.yml and .markdownlint-cli2.yml, causing valid configs to be ignored and silencing the "no config" message; update the list used by the for loop to include .markdownlint.yml and .markdownlint-cli2.yml so the echo "✓ Config found: $conf" triggers correctly, and keep the existing compgen -G ".markdownlint*" fallback as-is..agents/skills/testing-standards/SKILL.md (1)
35-40: "(see patterns reference)" lacks hyperlinks — inconsistent with line 46Lines 35 and 40 mention the patterns reference as plain text, while line 46 uses a proper markdown link. All three are pointing to the same file; add links for consistency.
🔧 Proposed fix
-- Plus interface methods from `ITestQuoteBufferList` or `ITestChainBufferList` (see patterns reference) +- Plus interface methods from `ITestQuoteBufferList` or `ITestChainBufferList` (see [patterns reference](references/patterns.md))-- Plus interface methods from `ITestQuoteObserver`, `ITestChainObserver`, and/or `ITestChainProvider` (see patterns reference) +- Plus interface methods from `ITestQuoteObserver`, `ITestChainObserver`, and/or `ITestChainProvider` (see [patterns reference](references/patterns.md))🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.agents/skills/testing-standards/SKILL.md around lines 35 - 40, Replace the plain-text occurrences of "(see patterns reference)" in the sections mentioning ITestQuoteBufferList/ITestChainBufferList and StreamHubTestBase/ToStringOverride_ReturnsExpectedName with the same markdown hyperlink used at line 46 that points to the patterns reference file; update the two instances so they use the exact link text/URL used for the existing link so all three references (ITestQuoteBufferList, ITestChainBufferList, ITestQuoteObserver, ITestChainObserver, ITestChainProvider, and StreamHubTestBase) consistently point to the patterns reference..agents/skills/markdown/scripts/install.sh (1)
14-14: Usepnpm add -ginstead ofpnpm install -gfor global package installationpnpm's canonical method for installing global packages is
pnpm add -g <package>. Whilepnpm install -gis npm-compatible and functions, pnpm documentation recommendspnpm add -gfor global tools.🔧 Proposed fix
- pnpm install -g markdownlint-cli2 + pnpm add -g markdownlint-cli2🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.agents/skills/markdown/scripts/install.sh at line 14, The script uses the deprecated npm-compatible command "pnpm install -g markdownlint-cli2"; update this to pnpm's canonical global install form by replacing that invocation with "pnpm add -g markdownlint-cli2" so the install line uses pnpm add -g (change the line containing pnpm install -g markdownlint-cli2 to pnpm add -g markdownlint-cli2).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.agents/skills/code-completion/references/quality-gates.md:
- Around line 8-12: Update the "Full check" table row so the dotnet format
invocation includes the same severity flag as the "Lint all (fix)" step: change
the command in the "Full check" row (the cell labeled `dotnet format
--no-restore && dotnet build && dotnet test --no-restore && npx
markdownlint-cli2`) to include `--severity info` on the `dotnet format` call so
it becomes `dotnet format --severity info --no-restore && dotnet build && dotnet
test --no-restore && npx markdownlint-cli2`, ensuring the Full check covers
info-level formatting issues like the Lint all step.
In @.agents/skills/markdown/references/formatting-standards.md:
- Around line 83-88: The footer template currently shows "Last updated: {Month
Day, Year}" as plain text; update the template to use a level-1 ATX heading by
prefixing that line with "#" so it reads "# Last updated: {Month Day, Year}"
(replace the existing bare "Last updated" line in the footer block); update the
example block in .agents/skills/markdown/references/formatting-standards.md
accordingly so agents generate a compliant "# Last updated" heading.
In @.agents/skills/markdown/references/setup-guide.md:
- Around line 39-49: Add the missing editor.codeActionsOnSave setting so the
markdownlint extension can apply fixes on save: update the settings JSON that
contains "editor.defaultFormatter" and "editor.formatOnSave" to also include
"editor.codeActionsOnSave": { "source.fixAll.markdownlint": "explicit" } (keep
it alongside the existing "[markdown]" keys — reference symbols:
editor.codeActionsOnSave, source.fixAll.markdownlint, editor.defaultFormatter,
editor.formatOnSave).
- Around line 81-83: The MD033 rule configuration currently includes a
non-standard element "workflow" in the allowed_elements array; remove "workflow"
(or replace it with a valid HTML tag such as "div" or "section" if a generic
container was intended) so the "MD033" entry only lists real HTML elements;
update the allowed_elements array where it's defined (the "MD033" object) to
eliminate the invalid "workflow" token to prevent markdownlint false positives.
- Line 95: The phrase "never use inline disables" is too strict and conflicts
with the approved suppression pattern; update the guidance in the "Document
exceptions" item so it tells readers to prefer adding rule overrides to the
config but allows narrow, targeted inline suppressions (e.g., <!--
markdownlint-disable MD### -->...<!-- markdownlint-enable MD### -->) when
restructuring isn't possible; replace the absolute prohibition with a
distinction between disallowed blanket disables and permitted narrow
suppressions and reference the `config` section and the inline suppression
pattern as the approved fallback.
In @.agents/skills/markdown/references/validation-checklist.md:
- Around line 36-37: The continuation text after the checkbox item "- [ ]
End-of-file formatting applied (if required)" is indented only two spaces and
may render as a separate paragraph; change that continuation on line 37 into a
nested sub-item by replacing the two-space indent with a properly indented list
marker (e.g., prefix the continuation with four spaces then "- " or " - " to
create a sub-list under the checkbox) so it unambiguously attaches to the
preceding "- [ ]" item.
In @.agents/skills/markdown/SKILL.md:
- Line 109: Update the "End of file" rule in SKILL.md (the bulleted item that
mandates a blank line, `---` separator, and "Last updated: {date}" footer) to
include the missing exclusions `.agents/**/*.md` and `docs/adr/*.md` so it
matches the canonical pattern (e.g., change the exclusion list from
`.github/**/*.md, README.md, AGENTS.md` to `.github/**/*.md, README.md,
AGENTS.md, .agents/**/*.md, docs/adr/*.md`), ensuring agents won't apply the
separator/footer to those paths and keep the reference to
formatting-standards.md consistent.
In @.agents/skills/vitepress/references/recipes-deploy.md:
- Line 119: Replace the downgraded Docker image "image: node:18" with a
supported Node version that matches the document recommendation (Node 20+)—e.g.,
restore "image: node:22" or use "image: node:20"—so the GitLab CI example aligns
with the table recommendation ("Node 20 or above") and avoids an EOL Node
version.
- Line 58: Update the GitHub Actions checkout action to the latest major
version: replace the reference actions/checkout@v5 with actions/checkout@v6 so
it aligns with actions/setup-node@v6 and current marketplace recommendations;
locate the checkout step that currently uses "actions/checkout@v5" and update
the version tag to "@v6" (no other changes required).
---
Nitpick comments:
In @.agents/skills/markdown/scripts/check.sh:
- Around line 19-29: The for-loop that checks configs (for conf in
.markdownlint-cli2.jsonc .markdownlint-cli2.yaml .markdownlint-cli2.json
.markdownlint.json .markdownlint.yaml) and the subsequent compgen check miss
short-extension variants .markdownlint.yml and .markdownlint-cli2.yml, causing
valid configs to be ignored and silencing the "no config" message; update the
list used by the for loop to include .markdownlint.yml and
.markdownlint-cli2.yml so the echo "✓ Config found: $conf" triggers correctly,
and keep the existing compgen -G ".markdownlint*" fallback as-is.
In @.agents/skills/markdown/scripts/install.sh:
- Line 14: The script uses the deprecated npm-compatible command "pnpm install
-g markdownlint-cli2"; update this to pnpm's canonical global install form by
replacing that invocation with "pnpm add -g markdownlint-cli2" so the install
line uses pnpm add -g (change the line containing pnpm install -g
markdownlint-cli2 to pnpm add -g markdownlint-cli2).
In @.agents/skills/testing-standards/SKILL.md:
- Around line 35-40: Replace the plain-text occurrences of "(see patterns
reference)" in the sections mentioning ITestQuoteBufferList/ITestChainBufferList
and StreamHubTestBase/ToStringOverride_ReturnsExpectedName with the same
markdown hyperlink used at line 46 that points to the patterns reference file;
update the two instances so they use the exact link text/URL used for the
existing link so all three references (ITestQuoteBufferList,
ITestChainBufferList, ITestQuoteObserver, ITestChainObserver,
ITestChainProvider, and StreamHubTestBase) consistently point to the patterns
reference.
Signed-off-by: GitHub <[email protected]>
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.agents/skills/markdown/references/validation-checklist.md:
- Line 25: Update the checklist item that currently reads "Entry point files use
markdown links, not `#file`:" to reflect the authoritative rule: replace "markdown
links" with "plain-text path mentions" so it instructs "Entry point files use
plain-text path mentions, not `#file`:". Locate the checkbox text in
validation-checklist.md (the line with the checklist entry) and change the
wording accordingly to avoid encouraging hyperlinking of entry-point file
references.
- Line 9: The checklist contains a duplicate item "All code fences have language
identifiers" (appears at the Automated linting entry and again under Content
quality); remove one of the duplicates or modify one to be distinct (e.g., "All
code fences have language identifiers — auto-fixed" vs "… — manually reviewed")
so the checklist entries are unique; update the entry text accordingly in
.agents/skills/markdown/references/validation-checklist.md by editing the
duplicate checklist line.
- Line 28: Update the checklist item that currently reads "- [ ] Agent
references use `@AgentName` in docs, `@AgentName` in agents" to use the
established convention: replace occurrences of `@AgentName` with `AgentName` in
the docs form (i.e., backticked `AgentName`) and plain AgentName for agent files
so the item reads "- [ ] Agent references use `AgentName` in docs, AgentName in
agents" (edit the checklist entry on the line containing the Agent reference
text).
- Line 37: Update the exception line that currently reads "Except AGENTS.md and
.github/**/*.md — do NOT include 'Last updated'..." to include the full
authoritative footer-exception list: README.md (root), all AGENTS.md,
.agents/**/*.md, .github/**/*.md, and docs/adr/*.md; replace the abbreviated
mention with that exact full list so the validation-checklist reflects the
correct exclusions.
---
Duplicate comments:
In @.agents/skills/markdown/references/validation-checklist.md:
- Around line 36-37: The continuation line after the checklist item "End-of-file
formatting applied (if required)" is indented by 2 spaces and may render as a
separate paragraph; fix it by either putting the continuation text on the same
line as the checkbox item or indenting the continuation by 4 spaces so it is
treated as part of the same list item (adjust the paragraph so the checkbox item
and its continuation remain a single Markdown list entry).
In @.agents/skills/vitepress/references/recipes-deploy.md:
- Line 119: The GitLab CI example currently uses "image: node:20" which is near
EOL and inconsistent with the GitHub Actions example that sets "node-version:
24"; update the GitLab CI snippet by replacing image: node:20 with a supported
tag (preferably image: node:24 to match the GitHub Actions workflow, or image:
node:22 if you prefer Maintenance LTS) so the examples remain consistent and not
near end-of-life.
Signed-off-by: GitHub <[email protected]>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.agents/skills/vitepress/references/recipes-deploy.md (1)
186-188: Optional: add language identifiers to bare code fences.Both fences lack a language tag, which suppresses syntax highlighting. Although this file is exempt from markdown linting, adding identifiers improves readability.
♻️ Proposed improvement
-``` +```http Cache-Control: max-age=31536000, immutable```diff -``` +```text /assets/* cache-control: max-age=31536000 cache-control: immutable</details> Also applies to: 194-198 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In @.agents/skills/vitepress/references/recipes-deploy.md around lines 186 -
188, Add explicit language identifiers to the two bare code fences that show
HTTP headers and the assets block so they get syntax highlighting; update the
fence containing "Cache-Control: max-age=31536000, immutable" to use a language
like "http" (or "text") and update the fence containing the "/assets/" block to
use "text" (or "yaml") so editors/renderers will highlight them
appropriately—look for the exact fence contents "Cache-Control:
max-age=31536000, immutable" and the "/assets/" block to make the changes.</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.
Nitpick comments:
In @.agents/skills/vitepress/references/recipes-deploy.md:
- Around line 186-188: Add explicit language identifiers to the two bare code
fences that show HTTP headers and the assets block so they get syntax
highlighting; update the fence containing "Cache-Control: max-age=31536000,
immutable" to use a language like "http" (or "text") and update the fence
containing the "/assets/" block to use "text" (or "yaml") so editors/renderers
will highlight them appropriately—look for the exact fence contents
"Cache-Control: max-age=31536000, immutable" and the "/assets/" block to make
the changes.</details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
No description provided.