Add AI skills for ramenctl commands - #452
Conversation
📝 WalkthroughWalkthroughAdds a new Changesramenctl AI Skills — documentation set
🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (2)
skills/ramenctl-validate-application/SKILL.md (1)
82-84: ⚡ Quick winUse a cross-platform command for opening reports (Line 83).
openworks on macOS, but this workflow is likely run from Linux as well. Add Linux-friendly alternative(s) in the snippet/text.Suggested patch
-```bash -open <output-dir>/validate-application.html -``` +```bash +# macOS +open <output-dir>/validate-application.html +# Linux +xdg-open <output-dir>/validate-application.html +```🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/ramenctl-validate-application/SKILL.md` around lines 82 - 84, Replace the macOS-only example command `open <output-dir>/validate-application.html` in SKILL.md with cross-platform alternatives: keep the macOS `open` line and add a Linux `xdg-open <output-dir>/validate-application.html` line (and optionally a comment indicating which OS each line targets) so the validation report instruction in the `open <output-dir>/validate-application.html` snippet works on both macOS and Linux.skills/ramenctl-validate-clusters/SKILL.md (1)
65-67: ⚡ Quick winDocument Linux alternative to
open(Line 66).
openis macOS-specific; addxdg-openso the step works cross-platform.Suggested patch
-```bash -open <output-dir>/validate-clusters.html -``` +```bash +# macOS +open <output-dir>/validate-clusters.html +# Linux +xdg-open <output-dir>/validate-clusters.html +```🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/ramenctl-validate-clusters/SKILL.md` around lines 65 - 67, Update the README step that shows how to open validate-clusters.html to include a cross-platform Linux alternative: keep the existing macOS `open <output-dir>/validate-clusters.html` and add `xdg-open <output-dir>/validate-clusters.html` (with brief labels like "# macOS" and "# Linux") in the SKILL.md section that currently shows the single `open` command so users on Linux can open the file as well.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/ramenctl-gather-application/SKILL.md`:
- Around line 52-54: Add explicit fence languages to the two markdown fenced
code blocks that currently lack them: change the block containing the single
line "✅ Gather completed" to use a text fence (```text) and likewise add a text
fence to the larger directory-tree block that begins with
"gather-application.data/". Update the opening backticks for those fences so
markdownlint MD040 is satisfied, leaving the block contents unchanged.
In `@skills/ramenctl-init/SKILL.md`:
- Around line 105-110: The example-output code fence in SKILL.md is unlabeled
which triggers MD040; update the fenced block that shows the cluster table by
adding a language label ```text at the opening fence so it becomes a labeled
code block; locate the unlabeled example-output block (the triple-backtick fence
containing the NAME/HUB/ACCEPTED table) and change its opening fence to ```text
while leaving the block contents unchanged.
In `@skills/ramenctl-test-clean/SKILL.md`:
- Around line 39-41: The fenced code block showing the test summary ("✅ passed
(N passed, 0 failed, 0 skipped)") lacks a fence language which triggers MD040;
update the block in SKILL.md to include a language identifier (e.g., add "text"
after the opening triple backticks) so the block becomes ```text ... ```,
leaving the content unchanged.
In `@skills/ramenctl-test-run/SKILL.md`:
- Around line 55-57: The two fenced code blocks that currently start with ```
and contain "✅ passed (N passed, 0 failed, 0 skipped)" and "❌ failed (N passed,
M failed, 0 skipped)" are missing language identifiers and trigger MD040; update
both fences to include a language (e.g., change the opening fences to ```text)
so each block reads as ```text followed by the status line and closing ```,
ensuring the lint rule is satisfied for the blocks shown around the "✅
passed..." and "❌ failed..." snippets.
In `@skills/ramenctl-validate-application/SKILL.md`:
- Around line 33-36: Several fenced code blocks in SKILL.md are missing a
language specifier and trigger markdownlint MD040; update each triple-backtick
block shown (the table block starting with "NAMESPACE NAME...", the "✅
Validation completed..." and "❌ Validation completed..." blocks, and the
directory-tree block starting with "validate-application.data/") to use a
language tag like ```text so they read ```text ... ```; ensure the same change
is applied to the other occurrences noted (the blocks around lines 59–67 and
116–129) and keep the content unchanged aside from adding the language
specifier.
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 41-43: Several fenced code blocks in SKILL.md (the blocks
containing "✅ Validation completed (N ok, 0 warning, 0 problem)", "❌ Validation
completed (N ok, M warning, P problem)", and the directory tree block starting
with "validate-clusters.data/") are missing a fence language and trigger MD040;
add a language identifier (use "text") after the opening triple backticks for
each of those three blocks so they become ```text, ensuring the validation
messages and the directory tree are fenced as text.
In `@skills/README.md`:
- Around line 72-74: The fenced code block containing the line "Read
skills/ramenctl-validate-clusters/SKILL.md and help me validate my clusters." is
unlabeled and triggers MD040; update the opening triple backticks to include a
language label (for example change ``` to ```text or ```bash) so the block is
explicit (e.g., use ```text before the line and keep the closing ```), ensuring
the markdown lint warning is resolved.
---
Nitpick comments:
In `@skills/ramenctl-validate-application/SKILL.md`:
- Around line 82-84: Replace the macOS-only example command `open
<output-dir>/validate-application.html` in SKILL.md with cross-platform
alternatives: keep the macOS `open` line and add a Linux `xdg-open
<output-dir>/validate-application.html` line (and optionally a comment
indicating which OS each line targets) so the validation report instruction in
the `open <output-dir>/validate-application.html` snippet works on both macOS
and Linux.
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 65-67: Update the README step that shows how to open
validate-clusters.html to include a cross-platform Linux alternative: keep the
existing macOS `open <output-dir>/validate-clusters.html` and add `xdg-open
<output-dir>/validate-clusters.html` (with brief labels like "# macOS" and "#
Linux") in the SKILL.md section that currently shows the single `open` command
so users on Linux can open the file as well.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: b9bd95b7-0bee-49da-90cf-49c7e21bb35b
📒 Files selected for processing (7)
skills/README.mdskills/ramenctl-gather-application/SKILL.mdskills/ramenctl-init/SKILL.mdskills/ramenctl-test-clean/SKILL.mdskills/ramenctl-test-run/SKILL.mdskills/ramenctl-validate-application/SKILL.mdskills/ramenctl-validate-clusters/SKILL.md
📜 Review details
🧰 Additional context used
🪛 LanguageTool
skills/ramenctl-init/SKILL.md
[grammar] ~124-~124: Ensure spelling is correct
Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.22.1)
skills/ramenctl-gather-application/SKILL.md
[warning] 52-52: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-run/SKILL.md
[warning] 55-55: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 62-62: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-clean/SKILL.md
[warning] 39-39: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-validate-clusters/SKILL.md
[warning] 41-41: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 48-48: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 101-101: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-init/SKILL.md
[warning] 105-105: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-validate-application/SKILL.md
[warning] 33-33: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 59-59: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 65-65: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 116-116: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/README.md
[warning] 72-72: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (2)
skills/README.md (1)
1-71: LGTM!Also applies to: 76-86
skills/ramenctl-init/SKILL.md (1)
1-104: LGTM!Also applies to: 111-162
3915c0b to
5a8963a
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 65-67: Replace the macOS-only example "open
<output-dir>/validate-clusters.html" in SKILL.md with cross-platform
instructions: update the code block that currently shows only the `open` command
to include both macOS (`open <output-dir>/validate-clusters.html`) and Linux
(`xdg-open <output-dir>/validate-clusters.html`) variants so Linux users can
open the generated validate-clusters.html report; keep the surrounding bash code
fence and add short comments indicating which line is for macOS vs Linux.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: bcd91b9a-72fc-4bf9-928b-0a82f688de0d
📒 Files selected for processing (7)
skills/README.mdskills/ramenctl-gather-application/SKILL.mdskills/ramenctl-init/SKILL.mdskills/ramenctl-test-clean/SKILL.mdskills/ramenctl-test-run/SKILL.mdskills/ramenctl-validate-application/SKILL.mdskills/ramenctl-validate-clusters/SKILL.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: Test (ubuntu-24.04)
- GitHub Check: Test (ubuntu-24.04-arm)
- GitHub Check: Build (darwin, arm64)
- GitHub Check: Build (darwin, amd64)
- GitHub Check: Build (windows, amd64)
- GitHub Check: Build (linux, arm64)
- GitHub Check: Test (windows-latest)
- GitHub Check: Test (macos-15-intel)
- GitHub Check: Test (macos-15)
- GitHub Check: Build (linux, amd64)
- GitHub Check: Lint
🧰 Additional context used
🪛 LanguageTool
skills/ramenctl-init/SKILL.md
[grammar] ~125-~125: Ensure spelling is correct
Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.22.1)
skills/ramenctl-validate-application/SKILL.md
[warning] 41-41: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 82-82: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 88-88: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/README.md
[warning] 133-133: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-gather-application/SKILL.md
[warning] 52-52: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-init/SKILL.md
[warning] 106-106: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-clean/SKILL.md
[warning] 39-39: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-run/SKILL.md
[warning] 55-55: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 62-62: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-validate-clusters/SKILL.md
[warning] 41-41: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 48-48: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 101-101: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (7)
skills/ramenctl-gather-application/SKILL.md (1)
52-54: Fenced code blocks still missing language labels.This is the same MD040 issue already raised previously for this file and still applies at Line 52 and Line 73.
Also applies to: 73-98
skills/ramenctl-init/SKILL.md (1)
106-111: Example output fence remains unlabeled.Same previously reported MD040 issue is still present at Line 106.
skills/ramenctl-test-clean/SKILL.md (1)
39-41: Success output fence is still unlabeled.This repeats the previously raised MD040 finding at Line 39.
skills/ramenctl-test-run/SKILL.md (1)
55-57: Result-status fenced blocks still missing language labels.This is the same MD040 issue previously flagged, still present at Line 55 and Line 62.
Also applies to: 62-64
skills/ramenctl-validate-clusters/SKILL.md (1)
41-43: Multiple fenced code blocks are still unlabeled.Previously reported MD040 issue remains at Line 41, Line 48, and Line 101.
Also applies to: 48-50, 101-114
skills/README.md (1)
1-147: LGTM!skills/ramenctl-validate-application/SKILL.md (1)
1-180: LGTM!
There was a problem hiding this comment.
♻️ Duplicate comments (15)
skills/README.md (1)
133-135:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd language identifier to the fenced code block.
This unlabeled fence triggers MD040 markdown lint warnings.
🔧 Suggested fix
-``` +```text Read skills/ramenctl-validate-clusters/SKILL.md and help me validate my clusters.</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/README.mdaround lines 133 - 135, The fenced code block in
skills/README.md containing "Read skills/ramenctl-validate-clusters/SKILL.md and
help me validate my clusters." is unlabeled and triggers MD040; update that
fence to include a language identifier (e.g., change the openingtotext)
so the block is labeled as text and the markdown lint warning is resolved.</details> </blockquote></details> <details> <summary>skills/ramenctl-validate-clusters/SKILL.md (4)</summary><blockquote> `65-67`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Provide cross-platform instructions for opening the HTML report.** The `open` command is macOS-specific and will fail on Linux systems. <details> <summary>🔧 Suggested fix for cross-platform compatibility</summary> ```diff -```bash -open <output-dir>/validate-clusters.html -``` +```bash +# macOS +open <output-dir>/validate-clusters.html +# Linux +xdg-open <output-dir>/validate-clusters.html +``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary> ``` Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@skills/ramenctl-validate-clusters/SKILL.md` around lines 65 - 67, The README snippet uses the macOS-only `open` command; update the `validate-clusters.html` opening instructions in SKILL.md to provide cross-platform alternatives by adding explicit examples for macOS (`open`) and Linux (`xdg-open`) (or a note to use the appropriate command for the reader's OS) in the same bash code block so users on Linux can follow the correct command. ``` </details> --- `41-43`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the success message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ✅ Validation completed (N ok, 0 warning, 0 problem) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-clusters/SKILL.mdaround lines 41 - 43, The fenced
code block containing "✅ Validation completed (N ok, 0 warning, 0 problem)" is
unlabeled and causing MD040 lint warnings; update that fence from an unlabeled
triple-backtick to include a language identifier (e.g., changetotext)
so the block becomes a labeled code fence and the markdown linter stops flagging
MD040.</details> --- `101-114`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the directory structure fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text validate-clusters.data/ ├── <cluster>/ │ ├── cluster/ ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-clusters/SKILL.mdaround lines 101 - 114, The
fenced directory-structure block for validate-clusters.data is missing a
language identifier which causes MD040 lint warnings; update the fence starting
with the triple backticks that opens the diagram in SKILL.md to include a
language token like "text" (i.e., changetotext) so the block is
explicitly labeled, leaving the diagram content unchanged and ensuring the rest
of the file (the closing ``` and surrounding text) remains intact.</details> --- `48-50`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Specify language for the failure message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ❌ Validation completed (N ok, M warning, P problem) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-clusters/SKILL.mdaround lines 48 - 50, The
unlabeled code fence in SKILL.md showing the failure message should be changed
to a labeled fence (e.g., usetext) so the markdown linter MD040 stops complaining; locate the fence containing "❌ Validation completed (N ok, M warning, P problem)" and replace the opening triple backticks with a language tag (for example,text) to explicitly specify the fence language.</details> </blockquote></details> <details> <summary>skills/ramenctl-test-clean/SKILL.md (1)</summary><blockquote> `39-41`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Specify language for the success message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ✅ passed (N passed, 0 failed, 0 skipped) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-test-clean/SKILL.mdaround lines 39 - 41, Update the
unlabeled fenced code block showing the test summary so it specifies a language
label (use "text") to satisfy MD040; locate the fence containing "✅ passed (N
passed, 0 failed, 0 skipped)" in SKILL.md and change the opening triple
backticks to "```text" so the block becomes a labeled plain-text fence.</details> </blockquote></details> <details> <summary>skills/ramenctl-validate-application/SKILL.md (4)</summary><blockquote> `88-90`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Specify language for the failure message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ❌ Validation completed (N ok, M warning, P problem) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-application/SKILL.mdaround lines 88 - 90, The
markdown fence for the failure message is unlabeled and triggers MD040; update
the fenced code block containing "❌ Validation completed (N ok, M warning, P
problem)" to use a language label (e.g., change the opening fence totext) so the fence becomestext ... ```; locate the fenced block in SKILL.md that
contains that exact message and add the language specifier to the opening
backticks.</details> --- `139-152`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the directory structure fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text validate-application.data/ ├── <cluster>/ │ ├── cluster/ ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-application/SKILL.mdaround lines 139 - 152, The
fenced code block showing the directory tree (starting with
"validate-application.data/") is missing a language identifier and triggers
MD040; update the opening fence for that block to include a language (e.g., add
"text" after the backticks) so the block becomes "```text" and preserves the
ASCII tree formatting; locate the block containing "validate-application.data/"
in SKILL.md and change its opening fence accordingly.</details> --- `41-44`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the example output fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text NAMESPACE NAME AGE PREFERREDCLUSTER FAILOVERCLUSTER DESIREDSTATE CURRENTSTATE argocd appset-deploy-rbd 69m dr1 dr2 Relocate Relocated ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-application/SKILL.mdaround lines 41 - 44, The
example output block in SKILL.md uses an unlabeled code fence (``` ) which
triggers MD040; change that fence to include a language identifier (e.g.,the fence is labeled and the markdown lint warning is resolved.
82-84:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winSpecify language for the success message fence.
This unlabeled fence triggers MD040 markdown lint warnings.
🔧 Suggested fix
-``` +```text ✅ Validation completed (N ok, 0 warning, 0 problem)</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-application/SKILL.mdaround lines 82 - 84, The
unlabeled code fence containing the success message "✅ Validation completed (N
ok, 0 warning, 0 problem)" in SKILL.md is triggering MD040; update that fenced
block to include a language specifier (e.g., add "text" after the opening ```
fence) so the fence becomes labeled and the markdown linter warning is resolved.</details> </blockquote></details> <details> <summary>skills/ramenctl-init/SKILL.md (1)</summary><blockquote> `106-111`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the example output fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text NAME HUB ACCEPTED MANAGED CLUSTER URLS JOINED AVAILABLE AGE CLUSTERSET my-c1 true https://api.my-c1.example.com:6443 True True 16d dr-clusters my-c2 true https://api.my-c2.example.com:6443 True True 16d dr-clusters local-cluster true https://api.my-hub.example.com:6443 True True 16d default ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-init/SKILL.mdaround lines 106 - 111, The example output
fence in the SKILL.md snippet is unlabeled and triggers MD040; fix it by adding
a language identifier after the opening triple backticks (e.g., change the
opening "" to "text") for the example block that starts with "NAME
HUB ACCEPTED MANAGED CLUSTER URLS..." so the fenced code block is explicitly
marked as plain text.</details> </blockquote></details> <details> <summary>skills/ramenctl-test-run/SKILL.md (2)</summary><blockquote> `62-64`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the failure message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ❌ failed (N passed, M failed, 0 skipped) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-test-run/SKILL.mdaround lines 62 - 64, Add the language
identifier "text" to the unlabeled fenced code block that contains the failure
message (the block starting withand containing "❌ failed (N passed, M failed, 0 skipped)") so the fence becomestext to satisfy MD040; update the
fence around that exact snippet in SKILL.md.</details> --- `55-57`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the success message fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ✅ passed (N passed, 0 failed, 0 skipped) ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-test-run/SKILL.mdaround lines 55 - 57, The markdown code
fence containing the success message "✅ passed (N passed, 0 failed, 0 skipped)"
is unlabeled and causing MD040 lint warnings; update that fenced block from an
unlabeled triple-backtick to a language-labeled fence (e.g., change the opening
"" to "text") so the fence reads as a text code block and the linter
warning is resolved.</details> </blockquote></details> <details> <summary>skills/ramenctl-gather-application/SKILL.md (2)</summary><blockquote> `73-98`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Add language identifier to the directory structure fence.** This unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text gather-application.data/ ├── dr1/ │ ├── cluster/ ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-gather-application/SKILL.mdaround lines 73 - 98, The fenced
directory-tree block starting with "gather-application.data/" is missing a
language identifier and triggers MD040; update the triple-backtick fence in
SKILL.md that wraps the directory structure (the block that begins with
gather-application.data/) to include a language tag such as ```text so the fence
becomes labeled and the markdown lint warning is resolved.</details> --- `52-54`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Specify language for the fenced code block.** The unlabeled fence triggers MD040 markdown lint warnings. <details> <summary>🔧 Suggested fix</summary> ```diff -``` +```text ✅ Gather completed ``` ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-gather-application/SKILL.mdaround lines 52 - 54, The fenced
code block containing "✅ Gather completed" in SKILL.md is unlabeled and triggers
MD040; update that block to include a language identifier (e.g., change the
openingtotext) so the fence becomes a labeled code block (```text ...
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Duplicate comments:
In `@skills/ramenctl-gather-application/SKILL.md`:
- Around line 73-98: The fenced directory-tree block starting with
"gather-application.data/" is missing a language identifier and triggers MD040;
update the triple-backtick fence in SKILL.md that wraps the directory structure
(the block that begins with gather-application.data/) to include a language tag
such as ```text so the fence becomes labeled and the markdown lint warning is
resolved.
- Around line 52-54: The fenced code block containing "✅ Gather completed" in
SKILL.md is unlabeled and triggers MD040; update that block to include a
language identifier (e.g., change the opening ``` to ```text) so the fence
becomes a labeled code block (```text ... ```), preserving the exact content
inside the block.
In `@skills/ramenctl-init/SKILL.md`:
- Around line 106-111: The example output fence in the SKILL.md snippet is
unlabeled and triggers MD040; fix it by adding a language identifier after the
opening triple backticks (e.g., change the opening "```" to "```text") for the
example block that starts with "NAME HUB ACCEPTED MANAGED CLUSTER
URLS..." so the fenced code block is explicitly marked as plain text.
In `@skills/ramenctl-test-clean/SKILL.md`:
- Around line 39-41: Update the unlabeled fenced code block showing the test
summary so it specifies a language label (use "text") to satisfy MD040; locate
the fence containing "✅ passed (N passed, 0 failed, 0 skipped)" in SKILL.md and
change the opening triple backticks to "```text" so the block becomes a labeled
plain-text fence.
In `@skills/ramenctl-test-run/SKILL.md`:
- Around line 62-64: Add the language identifier "text" to the unlabeled fenced
code block that contains the failure message (the block starting with ``` and
containing "❌ failed (N passed, M failed, 0 skipped)") so the fence becomes
```text to satisfy MD040; update the fence around that exact snippet in
SKILL.md.
- Around line 55-57: The markdown code fence containing the success message "✅
passed (N passed, 0 failed, 0 skipped)" is unlabeled and causing MD040 lint
warnings; update that fenced block from an unlabeled triple-backtick to a
language-labeled fence (e.g., change the opening "```" to "```text") so the
fence reads as a text code block and the linter warning is resolved.
In `@skills/ramenctl-validate-application/SKILL.md`:
- Around line 88-90: The markdown fence for the failure message is unlabeled and
triggers MD040; update the fenced code block containing "❌ Validation completed
(N ok, M warning, P problem)" to use a language label (e.g., change the opening
fence to ```text) so the fence becomes ```text ... ```; locate the fenced block
in SKILL.md that contains that exact message and add the language specifier to
the opening backticks.
- Around line 139-152: The fenced code block showing the directory tree
(starting with "validate-application.data/") is missing a language identifier
and triggers MD040; update the opening fence for that block to include a
language (e.g., add "text" after the backticks) so the block becomes "```text"
and preserves the ASCII tree formatting; locate the block containing
"validate-application.data/" in SKILL.md and change its opening fence
accordingly.
- Around line 41-44: The example output block in SKILL.md uses an unlabeled code
fence (``` ) which triggers MD040; change that fence to include a language
identifier (e.g., ```text) surrounding the table lines (the NAMESPACE... and
argocd... rows) so the fence is labeled and the markdown lint warning is
resolved.
- Around line 82-84: The unlabeled code fence containing the success message "✅
Validation completed (N ok, 0 warning, 0 problem)" in SKILL.md is triggering
MD040; update that fenced block to include a language specifier (e.g., add
"text" after the opening ``` fence) so the fence becomes labeled and the
markdown linter warning is resolved.
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 65-67: The README snippet uses the macOS-only `open` command;
update the `validate-clusters.html` opening instructions in SKILL.md to provide
cross-platform alternatives by adding explicit examples for macOS (`open`) and
Linux (`xdg-open`) (or a note to use the appropriate command for the reader's
OS) in the same bash code block so users on Linux can follow the correct
command.
- Around line 41-43: The fenced code block containing "✅ Validation completed (N
ok, 0 warning, 0 problem)" is unlabeled and causing MD040 lint warnings; update
that fence from an unlabeled triple-backtick to include a language identifier
(e.g., change ``` to ```text) so the block becomes a labeled code fence and the
markdown linter stops flagging MD040.
- Around line 101-114: The fenced directory-structure block for
validate-clusters.data is missing a language identifier which causes MD040 lint
warnings; update the fence starting with the triple backticks that opens the
diagram in SKILL.md to include a language token like "text" (i.e., change ``` to
```text) so the block is explicitly labeled, leaving the diagram content
unchanged and ensuring the rest of the file (the closing ``` and surrounding
text) remains intact.
- Around line 48-50: The unlabeled code fence in SKILL.md showing the failure
message should be changed to a labeled fence (e.g., use ```text) so the markdown
linter MD040 stops complaining; locate the fence containing "❌ Validation
completed (N ok, M warning, P problem)" and replace the opening triple backticks
with a language tag (for example, ```text) to explicitly specify the fence
language.
In `@skills/README.md`:
- Around line 133-135: The fenced code block in skills/README.md containing
"Read skills/ramenctl-validate-clusters/SKILL.md and help me validate my
clusters." is unlabeled and triggers MD040; update that fence to include a
language identifier (e.g., change the opening ``` to ```text) so the block is
labeled as text and the markdown lint warning is resolved.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: eb8016e6-ef5d-4260-a2d8-669e374c556a
📒 Files selected for processing (7)
skills/README.mdskills/ramenctl-gather-application/SKILL.mdskills/ramenctl-init/SKILL.mdskills/ramenctl-test-clean/SKILL.mdskills/ramenctl-test-run/SKILL.mdskills/ramenctl-validate-application/SKILL.mdskills/ramenctl-validate-clusters/SKILL.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Test (macos-15-intel)
- GitHub Check: Test (windows-latest)
🧰 Additional context used
🪛 LanguageTool
skills/ramenctl-init/SKILL.md
[grammar] ~125-~125: Ensure spelling is correct
Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.22.1)
skills/README.md
[warning] 133-133: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-gather-application/SKILL.md
[warning] 52-52: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 73-73: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-init/SKILL.md
[warning] 106-106: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-clean/SKILL.md
[warning] 39-39: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-test-run/SKILL.md
[warning] 55-55: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 62-62: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-validate-application/SKILL.md
[warning] 41-41: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 82-82: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 88-88: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
skills/ramenctl-validate-clusters/SKILL.md
[warning] 41-41: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 48-48: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 101-101: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/ramenctl-gather-application/SKILL.md`:
- Around line 41-43: The fenced code blocks containing the command examples
(e.g., the line with "ramenctl gather application --name <drpc-name> --namespace
<namespace> -o <output-dir>") include leading "$" prompts, which triggers
markdownlint MD014; remove the "$" prefix from each command-only line in those
console code fences (also update the other command-only blocks referenced around
the same section) so the fenced blocks contain bare commands without shell
prompt characters.
In `@skills/ramenctl-test-clean/SKILL.md`:
- Around line 26-28: Remove the leading shell prompt from the command-only
console code blocks to satisfy MD014: replace lines like "$ ramenctl test clean
-o <output-dir>" inside the ```console``` fences with the same command but
without the leading "$", and do the same for the other command-only block
referenced (the block around lines 47-51); keep the ```console``` fences but
ensure they contain only the command text (no prompt or output).
In `@skills/ramenctl-test-run/SKILL.md`:
- Around line 39-41: Remove the leading "$ " prompt markers from all console
code blocks so they contain only the raw commands (e.g., change "`$ ramenctl
test run -o <output-dir>`" to "`ramenctl test run -o <output-dir>`"); apply the
same change to the other affected blocks referenced (lines showing the other
console snippets) so markdownlint MD014 stops failing and examples are raw
commands only.
In `@skills/ramenctl-validate-application/SKILL.md`:
- Around line 64-66: Remove the leading shell prompt characters from the code
block examples so they comply with MD014: edit the console fenced code blocks
that currently show "$ ramenctl validate application --name <drpc-name>
--namespace <namespace> -o <output-dir>" (and the other similar blocks around
the same file at the regions noted: the snippets near lines 105-107, 165-167,
and 171-173) and delete the leading "$ " from each line so the commands are raw
(e.g., "ramenctl validate application --name ...") while leaving the rest of the
text and code fencing unchanged.
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 28-30: Remove the leading "$" prompt from the command-only fenced
code blocks so they contain plain commands (e.g. change "$ ramenctl validate
clusters -o <output-dir>" to "ramenctl validate clusters -o <output-dir>") in
SKILL.md; apply the same change to the other command block referenced around
lines 70-72 to satisfy markdownlint MD014.
In `@skills/README.md`:
- Around line 115-117: Remove the leading shell prompt from the command-only
```console``` code blocks so they comply with MD014: replace "`$ cp -r skills/
~/.cursor/skills/`" with "cp -r skills/ ~/.cursor/skills/" and replace "`$ cat
skills/*/SKILL.md >> CLAUDE.md`" with "cat skills/*/SKILL.md >> CLAUDE.md"
(update both matching ```console``` blocks in the README).
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 8b49aff7-b4d4-4e67-9f8c-9efc85dabca8
📒 Files selected for processing (7)
skills/README.mdskills/ramenctl-gather-application/SKILL.mdskills/ramenctl-init/SKILL.mdskills/ramenctl-test-clean/SKILL.mdskills/ramenctl-test-run/SKILL.mdskills/ramenctl-validate-application/SKILL.mdskills/ramenctl-validate-clusters/SKILL.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
- GitHub Check: Test (macos-15-intel)
- GitHub Check: Test (ubuntu-24.04)
- GitHub Check: Build (linux, arm64)
- GitHub Check: Build (darwin, amd64)
- GitHub Check: Test (ubuntu-24.04-arm)
- GitHub Check: Build (windows, amd64)
- GitHub Check: Test (windows-latest)
- GitHub Check: Build (linux, amd64)
- GitHub Check: Build (darwin, arm64)
- GitHub Check: Test (macos-15)
- GitHub Check: Lint
🧰 Additional context used
🪛 LanguageTool
skills/ramenctl-gather-application/SKILL.md
[grammar] ~105-~105: Use a hyphen to join words.
Context: ...Inspecting gathered resources Check VRG protected PVC conditions: ```console $ ...
(QB_NEW_EN_HYPHEN)
skills/ramenctl-init/SKILL.md
[grammar] ~129-~129: Ensure spelling is correct
Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.22.1)
skills/README.md
[warning] 116-116: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 128-128: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-gather-application/SKILL.md
[warning] 42-42: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 108-108: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 114-114: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-test-clean/SKILL.md
[warning] 27-27: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 48-48: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 49-49: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 50-50: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-test-run/SKILL.md
[warning] 40-40: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 81-81: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 87-87: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 93-93: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 116-116: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-validate-application/SKILL.md
[warning] 65-65: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 106-106: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 166-166: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 172-172: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-validate-clusters/SKILL.md
[warning] 29-29: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 71-71: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🔇 Additional comments (1)
skills/ramenctl-init/SKILL.md (1)
1-167: LGTM!
There was a problem hiding this comment.
♻️ Duplicate comments (7)
skills/README.md (2)
134-134:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRemove shell prompt from command-only console block.
The console block contains only a command without output, so the leading
$triggers MD014 lint warnings.Suggested fix
```console -$ cat skills/*/SKILL.md >> CLAUDE.md +cat skills/*/SKILL.md >> CLAUDE.md</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/README.mdat line 134, The README's console block includes a leading
shell prompt character in the command-only line ("$ cat skills//SKILL.md >>
CLAUDE.md"), which triggers MD014 lint warnings; update the console block to
remove the leading "$" so the line reads "cat skills//SKILL.md >> CLAUDE.md"
(locate the command in skills/README.md and replace the string with the
prompt-free version).</details> --- `122-122`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompt from command-only console block.** The console block contains only a command without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ cp -r skills/ ~/.cursor/skills/ +cp -r skills/ ~/.cursor/skills/</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/README.mdat line 122, Remove the leading shell prompt from the
command-only console block so it doesn't trigger MD014: edit the console block
containing the command "cp -r skills/ ~/.cursor/skills/" and change the line
from a prompt-prefixed entry to a raw command (remove the leading "$"); ensure
the block remains fenced as a console/code block and contains only the command
text.</details> </blockquote></details> <details> <summary>skills/ramenctl-validate-clusters/SKILL.md (1)</summary><blockquote> `29-29`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompts from command-only console blocks.** These console blocks contain only commands without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ ramenctl validate clusters -o <output-dir> +ramenctl validate clusters -o <output-dir>@@
-$ yq '.clustersStatus' < <output-dir>/validate-clusters.yaml +yq '.clustersStatus' < <output-dir>/validate-clusters.yaml</details> Also applies to: 71-71 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-clusters/SKILL.mdat line 29, Remove the leading
shell prompt characters from the command-only console blocks so they don't
trigger MD014; specifically edit the console blocks containing the commands
"ramenctl validate clusters -o " and "yq '.clustersStatus' <
/validate-clusters.yaml" (and the other identical occurrence) to
delete the leading "$ " so the fence contains just the command text.</details> </blockquote></details> <details> <summary>skills/ramenctl-test-clean/SKILL.md (1)</summary><blockquote> `27-27`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompts from command-only console blocks.** These console blocks contain only commands without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ ramenctl test clean -o <output-dir> +ramenctl test clean -o <output-dir>@@
-$ kubectl get drpc -A --kubeconfig <hub-kubeconfig> | grep test- -$ kubectl get ns --kubeconfig <c1-kubeconfig> | grep test- -$ kubectl get ns --kubeconfig <c2-kubeconfig> | grep test- +kubectl get drpc -A --kubeconfig <hub-kubeconfig> | grep test- +kubectl get ns --kubeconfig <c1-kubeconfig> | grep test- +kubectl get ns --kubeconfig <c2-kubeconfig> | grep test-</details> Also applies to: 48-50 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-test-clean/SKILL.mdat line 27, Remove the leading shell
prompt characters from command-only console blocks in SKILL.md: change the lines
starting with "$ ramenctl test clean -o " and the "$ kubectl get
drpc -A --kubeconfig | grep test-" / "$ kubectl get ns
--kubeconfig | grep test-" / "$ kubectl get ns --kubeconfig
| grep test-" to omit the "$" so the blocks contain only the
commands (also apply the same removal for the occurrences noted at lines 48-50).</details> </blockquote></details> <details> <summary>skills/ramenctl-test-run/SKILL.md (1)</summary><blockquote> `40-40`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompts from command-only console blocks.** These console blocks contain only commands without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ ramenctl test run -o <output-dir> +ramenctl test run -o <output-dir>@@
-$ yq '.status' < <output-dir>/test-run.yaml +yq '.status' < <output-dir>/test-run.yaml@@
-$ yq '.steps[-1].items' < <output-dir>/test-run.yaml +yq '.steps[-1].items' < <output-dir>/test-run.yaml@@
-$ grep -E '(INFO|ERROR).+<app-name>' <output-dir>/test-run.log +grep -E '(INFO|ERROR).+<app-name>' <output-dir>/test-run.log@@
-$ ramenctl test clean -o <output-dir> +ramenctl test clean -o <output-dir></details> Also applies to: 81-81, 87-87, 93-93, 116-116 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-test-run/SKILL.mdat line 40, Remove the leading shell
prompt characters from command-only console blocks in SKILL.md: for each code
block containing only commands (e.g., lines with "ramenctl test run -o
", "yq '.status' < /test-run.yaml", "yq
'.steps[-1].items' < /test-run.yaml", "grep -E
'(INFO|ERROR).+' /test-run.log", and "ramenctl test clean
-o ") delete the leading "$ " so the blocks contain just the
commands (no prompt) to satisfy MD014 linting.</details> </blockquote></details> <details> <summary>skills/ramenctl-gather-application/SKILL.md (1)</summary><blockquote> `42-42`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompts from command-only console blocks.** These console blocks contain only commands without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ ramenctl gather application --name <drpc-name> --namespace <namespace> -o <output-dir> +ramenctl gather application --name <drpc-name> --namespace <namespace> -o <output-dir>@@
-$ yq '.status.protectedPVCs[0].conditions' < <output-dir>/gather-application.data/<cluster>/namespaces/<ns>/ramendr.openshift.io/volumereplicationgroups/<name>.yaml +yq '.status.protectedPVCs[0].conditions' < <output-dir>/gather-application.data/<cluster>/namespaces/<ns>/ramendr.openshift.io/volumereplicationgroups/<name>.yaml@@
-$ grep -E 'ERROR.+<app-name>' <output-dir>/gather-application.data/<cluster>/namespaces/ramen-system/pods/*/manager/current.log +grep -E 'ERROR.+<app-name>' <output-dir>/gather-application.data/<cluster>/namespaces/ramen-system/pods/*/manager/current.log</details> Also applies to: 108-108, 114-114 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-gather-application/SKILL.mdat line 42, Remove the leading
shell prompt characters from command-only console code blocks in SKILL.md: find
the lines containing "ramenctl gather application --name --namespace
-o ", "yq '.status.protectedPVCs[0].conditions' <
/gather-application.data//namespaces//ramendr.openshift.io/volumereplicationgroups/.yaml",
and "grep -E 'ERROR.+'
/gather-application.data//namespaces/ramen-system/pods/*/manager/current.log"
and remove the leading "$ " from each code block so the blocks contain only the
command text (this addresses MD014 lint warnings).</details> </blockquote></details> <details> <summary>skills/ramenctl-validate-application/SKILL.md (1)</summary><blockquote> `65-65`: _⚠️ Potential issue_ | _🟡 Minor_ | _⚡ Quick win_ **Remove shell prompts from command-only console blocks.** These console blocks contain only commands without output, so the leading `$` triggers MD014 lint warnings. <details> <summary>Suggested fix</summary> ```diff ```console -$ ramenctl validate application --name <drpc-name> --namespace <namespace> -o <output-dir> +ramenctl validate application --name <drpc-name> --namespace <namespace> -o <output-dir>@@
-$ yq '.applicationStatus' < <output-dir>/validate-application.yaml +yq '.applicationStatus' < <output-dir>/validate-application.yaml@@
-$ yq '.status' < <output-dir>/validate-application.data/<cluster>/namespaces/<ns>/ramendr.openshift.io/volumereplicationgroups/<name>.yaml +yq '.status' < <output-dir>/validate-application.data/<cluster>/namespaces/<ns>/ramendr.openshift.io/volumereplicationgroups/<name>.yaml@@
-$ grep -E 'ERROR.+<app-name>' <output-dir>/validate-application.data/<cluster>/namespaces/ramen-system/pods/*/manager/current.log +grep -E 'ERROR.+<app-name>' <output-dir>/validate-application.data/<cluster>/namespaces/ramen-system/pods/*/manager/current.log</details> Also applies to: 106-106, 166-166, 172-172 <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.In
@skills/ramenctl-validate-application/SKILL.mdat line 65, Remove the leading
shell prompt characters from command-only console blocks in SKILL.md so they no
longer start with "$"; specifically edit the console blocks containing the
commands "ramenctl validate application --name --namespace
-o ", "yq '.applicationStatus' <
/validate-application.yaml", "yq '.status' <
/validate-application.data//namespaces//ramendr.openshift.io/volumereplicationgroups/.yaml",
and "grep -E 'ERROR.+'
/validate-application.data//namespaces/ramen-system/pods/*/manager/current.log"
(and the other occurrences noted at lines 106, 166, 172) so each command appears
without the leading "$" to satisfy MD014 lint rules.</details> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.Duplicate comments:
In@skills/ramenctl-gather-application/SKILL.md:
- Line 42: Remove the leading shell prompt characters from command-only console
code blocks in SKILL.md: find the lines containing "ramenctl gather application
--name --namespace -o ", "yq
'.status.protectedPVCs[0].conditions' <
/gather-application.data//namespaces//ramendr.openshift.io/volumereplicationgroups/.yaml",
and "grep -E 'ERROR.+'
/gather-application.data//namespaces/ramen-system/pods/*/manager/current.log"
and remove the leading "$ " from each code block so the blocks contain only the
command text (this addresses MD014 lint warnings).In
@skills/ramenctl-test-clean/SKILL.md:
- Line 27: Remove the leading shell prompt characters from command-only console
blocks in SKILL.md: change the lines starting with "$ ramenctl test clean -o
" and the "$ kubectl get drpc -A --kubeconfig |
grep test-" / "$ kubectl get ns --kubeconfig | grep test-" / "$
kubectl get ns --kubeconfig | grep test-" to omit the "$" so the
blocks contain only the commands (also apply the same removal for the
occurrences noted at lines 48-50).In
@skills/ramenctl-test-run/SKILL.md:
- Line 40: Remove the leading shell prompt characters from command-only console
blocks in SKILL.md: for each code block containing only commands (e.g., lines
with "ramenctl test run -o ", "yq '.status' <
/test-run.yaml", "yq '.steps[-1].items' <
/test-run.yaml", "grep -E '(INFO|ERROR).+'
/test-run.log", and "ramenctl test clean -o ") delete
the leading "$ " so the blocks contain just the commands (no prompt) to satisfy
MD014 linting.In
@skills/ramenctl-validate-application/SKILL.md:
- Line 65: Remove the leading shell prompt characters from command-only console
blocks in SKILL.md so they no longer start with "$"; specifically edit the
console blocks containing the commands "ramenctl validate application --name
--namespace -o ", "yq '.applicationStatus' <
/validate-application.yaml", "yq '.status' <
/validate-application.data//namespaces//ramendr.openshift.io/volumereplicationgroups/.yaml",
and "grep -E 'ERROR.+'
/validate-application.data//namespaces/ramen-system/pods/*/manager/current.log"
(and the other occurrences noted at lines 106, 166, 172) so each command appears
without the leading "$" to satisfy MD014 lint rules.In
@skills/ramenctl-validate-clusters/SKILL.md:
- Line 29: Remove the leading shell prompt characters from the command-only
console blocks so they don't trigger MD014; specifically edit the console blocks
containing the commands "ramenctl validate clusters -o " and "yq
'.clustersStatus' < /validate-clusters.yaml" (and the other
identical occurrence) to delete the leading "$ " so the fence contains just the
command text.In
@skills/README.md:
- Line 134: The README's console block includes a leading shell prompt character
in the command-only line ("$ cat skills//SKILL.md >> CLAUDE.md"), which
triggers MD014 lint warnings; update the console block to remove the leading "$"
so the line reads "cat skills//SKILL.md >> CLAUDE.md" (locate the command in
skills/README.md and replace the string with the prompt-free version).- Line 122: Remove the leading shell prompt from the command-only console block
so it doesn't trigger MD014: edit the console block containing the command "cp
-r skills/ ~/.cursor/skills/" and change the line from a prompt-prefixed entry
to a raw command (remove the leading "$"); ensure the block remains fenced as a
console/code block and contains only the command text.</details> --- <details> <summary>ℹ️ Review info</summary> <details> <summary>⚙️ Run configuration</summary> **Configuration used**: Organization UI **Review profile**: CHILL **Plan**: Pro Plus **Run ID**: `7e255cf4-5534-4812-96b4-1c456977e3a0` </details> <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 373fb2d16d6e2179ae40b69ee8c4efe94bb996bd and 4b747f3bb137454e5ce0576db6167e5d5a919c25. </details> <details> <summary>📒 Files selected for processing (7)</summary> * `skills/README.md` * `skills/ramenctl-gather-application/SKILL.md` * `skills/ramenctl-init/SKILL.md` * `skills/ramenctl-test-clean/SKILL.md` * `skills/ramenctl-test-run/SKILL.md` * `skills/ramenctl-validate-application/SKILL.md` * `skills/ramenctl-validate-clusters/SKILL.md` </details> </details> <details> <summary>📜 Review details</summary> <details> <summary>⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)</summary> * GitHub Check: Build (linux, amd64) * GitHub Check: Build (linux, arm64) * GitHub Check: Test (macos-15) * GitHub Check: Build (darwin, arm64) * GitHub Check: Build (windows, amd64) * GitHub Check: Test (windows-latest) * GitHub Check: Build (darwin, amd64) * GitHub Check: Test (ubuntu-24.04) * GitHub Check: Test (ubuntu-24.04-arm) * GitHub Check: Lint * GitHub Check: Test (macos-15-intel) </details> <details> <summary>🧰 Additional context used</summary> <details> <summary>🪛 LanguageTool</summary> <details> <summary>skills/ramenctl-gather-application/SKILL.md</summary> [grammar] ~105-~105: Use a hyphen to join words. Context: ...Inspecting gathered resources Check VRG protected PVC conditions: ```console $ ... (QB_NEW_EN_HYPHEN) </details> <details> <summary>skills/ramenctl-init/SKILL.md</summary> [grammar] ~129-~129: Ensure spelling is correct Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana... (QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1) </details> </details> <details> <summary>🪛 markdownlint-cli2 (0.22.1)</summary> <details> <summary>skills/README.md</summary> [warning] 122-122: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 134-134: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> <details> <summary>skills/ramenctl-gather-application/SKILL.md</summary> [warning] 42-42: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 108-108: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 114-114: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> <details> <summary>skills/ramenctl-test-clean/SKILL.md</summary> [warning] 27-27: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 48-48: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 49-49: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 50-50: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> <details> <summary>skills/ramenctl-test-run/SKILL.md</summary> [warning] 40-40: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 81-81: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 87-87: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 93-93: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 116-116: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> <details> <summary>skills/ramenctl-validate-application/SKILL.md</summary> [warning] 65-65: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 106-106: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 166-166: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 172-172: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> <details> <summary>skills/ramenctl-validate-clusters/SKILL.md</summary> [warning] 29-29: Dollar signs used before commands without showing output (MD014, commands-show-output) --- [warning] 71-71: Dollar signs used before commands without showing output (MD014, commands-show-output) </details> </details> </details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
CodeRabbit / review follow-upSummary We do not run markdownlint in this repo; CodeRabbit’s markdown rules are informative only. We fixed what matched our goals (MD040, cross-platform HTML guidance, alignment with Fixed (accepted)
Rejected / won’t do (and why)
Stale inline threadsSome inline comments may point at old line numbers after edits—safe to resolve once the branch matches the above. |
4625281 to
647b378
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@skills/ramenctl-validate-application/SKILL.md`:
- Line 77: Replace the ambiguous subcommand usage "ramenctl validate" with the
full subcommand "ramenctl validate application" in the skill guidance so users
run the exact command; search for occurrences of the string "ramenctl validate"
in SKILL.md (the line shown) and update them to "ramenctl validate application"
while preserving surrounding text and punctuation.
In `@skills/ramenctl-validate-clusters/SKILL.md`:
- Around line 62-63: Replace the ambiguous command string "ramenctl validate"
with the exact command "ramenctl validate clusters" in the sentence that
instructs opening <output-dir>/validate-clusters.html so the instructions are
unambiguous and copy/paste-safe; locate the occurrence of "ramenctl validate"
(the command text) in SKILL.md and update it to "ramenctl validate clusters".
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: e2c95579-6a2f-4531-ad30-0a07f2790363
📒 Files selected for processing (7)
skills/README.mdskills/ramenctl-gather-application/SKILL.mdskills/ramenctl-init/SKILL.mdskills/ramenctl-test-clean/SKILL.mdskills/ramenctl-test-run/SKILL.mdskills/ramenctl-validate-application/SKILL.mdskills/ramenctl-validate-clusters/SKILL.md
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Test (macos-15-intel)
- GitHub Check: Test (windows-latest)
🧰 Additional context used
🪛 LanguageTool
skills/ramenctl-gather-application/SKILL.md
[grammar] ~106-~106: Use a hyphen to join words.
Context: ...Inspecting gathered resources Check VRG protected PVC conditions: ```console $ ...
(QB_NEW_EN_HYPHEN)
skills/ramenctl-init/SKILL.md
[grammar] ~127-~127: Ensure spelling is correct
Context: ... type, a cluster belongs to exactly one clusterSet (set via the `cluster.open-cluster-mana...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.22.1)
skills/README.md
[warning] 122-122: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 134-134: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-test-clean/SKILL.md
[warning] 27-27: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-gather-application/SKILL.md
[warning] 41-41: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 109-109: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 115-115: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-test-run/SKILL.md
[warning] 40-40: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 81-81: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 87-87: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 93-93: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 116-116: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-validate-application/SKILL.md
[warning] 44-44: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 103-103: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 163-163: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 169-169: Dollar signs used before commands without showing output
(MD014, commands-show-output)
skills/ramenctl-validate-clusters/SKILL.md
[warning] 29-29: Dollar signs used before commands without showing output
(MD014, commands-show-output)
[warning] 89-89: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🔇 Additional comments (8)
skills/README.md (1)
1-153: LGTM!skills/ramenctl-gather-application/SKILL.md (1)
1-125: LGTM!skills/ramenctl-init/SKILL.md (1)
1-165: LGTM!skills/ramenctl-test-run/SKILL.md (1)
1-125: LGTM!skills/ramenctl-test-clean/SKILL.md (4)
26-28: MD014 flagged but explicitly rejected by author.The static analysis tool flags the
$prompt in this command-only block, but per the PR comments summary, the author has chosen to maintain consistency with existing docs/ and not enforce markdownlint rules.
1-11: LGTM!
35-49: LGTM!
50-55: LGTM!
Add markdown skills (with Cursor frontmatter) so AI assistants can drive ramenctl for DR: init, validate clusters, validate application, gather application, test run, and test clean. Include README with install hints for multiple tools. README leads with a screenplay-style example session, states that init is the only required ordering before other commands, replaces a linear "typical workflow" with common tasks, and documents output directory conventions. Init skill: user must identify which kubeconfig is hub vs managed clusters. Validate application skill: suggest validate clusters for triage and bug reports (description, callout, and workflow step); note troubleshooting sections are an initial draft. Validate clusters skill: note troubleshooting is an initial draft. Tested init, validate clusters, validate application, and gather application against real clusters. Assisted-by: Cursor/Claude Opus 4.6 Signed-off-by: Nir Soffer <nsoffer@redhat.com>
|
Replaced by #455 |
Ship a
skills/tree so humans and agents know how to drive ramenctl for DR: init, validate clusters, validate application, gather application, test run, and test clean. Each skill is plain markdown with YAML frontmatter (Cursor discovers it); the README explains how to copy the folder into other tools too.Why this is fun: a scene
This is the same example that opens
skills/README.md— a tiny screenplay so you can feel what we are enabling before you read any tables.What is in the box
How we checked it
Exercised init, validate clusters, validate application, and gather application against real clusters.
Summary by CodeRabbit