Add upgrade-deps skill for guided dependency upgrade workflow#6653
Add upgrade-deps skill for guided dependency upgrade workflow#6653
Conversation
Motivation: The Gradle dependency upgrade process involves multiple steps: - running dependencyUpdates - checking Java version compatibility per module - updating dependencies.toml - upgrading the Gradle wrapper - running the full build - and committing with a structured message. Codifying this as a Claude skill makes the process repeatable and accessible to all contributors. Modifications: - Add .claude/skills/upgrade-deps/SKILL.md with a step-by-step upgrade workflow including Java version compatibility rules per module and a strict commit message format Result: - Contributors can invoke /upgrade-deps to follow a guided, repeatable dependency upgrade workflow.
📝 WalkthroughWalkthroughAdded a new documentation file describing a step-by-step Upgrade Gradle dependencies skill for multi-module Armeria projects: run and parse dependency reports, determine per-module minimum Java compatibility, update Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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: 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 @.claude/skills/upgrade-deps/SKILL.md:
- Around line 27-29: Several fenced code blocks in
.claude/skills/upgrade-deps/SKILL.md are missing language identifiers causing
markdownlint MD040 failures; update each triple-backtick block (the examples of
./gradlew dependencyUpdates, ./gradlew build --no-daemon, and the three "Update
dependencies" sample output blocks referenced around lines 27–29, 69–71, 81–89,
101–109) to include appropriate language tags — use bash for command snippets
(e.g. ./gradlew ...) and text for plain output lists — ensuring each opening ```
is changed to ```bash or ```text respectively so editors and markdownlint
recognize the block language.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 7f12dd3b-2393-4b6b-8d45-1af68b8a19d0
📒 Files selected for processing (1)
.claude/skills/upgrade-deps/SKILL.md
There was a problem hiding this comment.
♻️ Duplicate comments (1)
.claude/skills/upgrade-deps/SKILL.md (1)
27-29:⚠️ Potential issue | 🟡 MinorAdd language identifiers to fenced code blocks to satisfy MD040.
The command/output examples are still using unlabeled triple-backtick fences, which keeps markdownlint failing.
Proposed fix
-``` +```bash ./gradlew dependencyUpdates@@
-+bash
./gradlew build --no-daemon@@ -``` +```text Update dependencies - {library-name} {old-version} -> {new-version} - {library-name} {old-version} -> {new-version} - Build - {library-name} {old-version} -> {new-version} - {library-name} {old-version} -> {new-version}@@
-+text
Update dependencies
- grpc-java 1.63.0 -> 1.64.0
- jackson 2.17.0 -> 2.18.0
- Build
- checkstyle 10.14.0 -> 10.17.0
- errorprone 2.27.0 -> 2.28.0
Also applies to: 69-71, 81-89, 101-109
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.claude/skills/upgrade-deps/SKILL.md around lines 27 - 29, Add explicit language identifiers to all fenced code blocks in SKILL.md to satisfy MD040: change fences that wrap command examples like "./gradlew dependencyUpdates" and "./gradlew build --no-daemon" to use ```bash and change the "Update dependencies" output blocks to use ```text (or ```bash for command output) so markdownlint recognizes the language; update every similar unlabeled fence including the other examples that show dependency lists (e.g., the blocks showing "{library-name} {old-version} -> {new-version}" and the grpc-java/jackson/checkstyle lists) to include the appropriate language tag.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In @.claude/skills/upgrade-deps/SKILL.md:
- Around line 27-29: Add explicit language identifiers to all fenced code blocks
in SKILL.md to satisfy MD040: change fences that wrap command examples like
"./gradlew dependencyUpdates" and "./gradlew build --no-daemon" to use ```bash
and change the "Update dependencies" output blocks to use ```text (or ```bash
for command output) so markdownlint recognizes the language; update every
similar unlabeled fence including the other examples that show dependency lists
(e.g., the blocks showing "{library-name} {old-version} -> {new-version}" and
the grpc-java/jackson/checkstyle lists) to include the appropriate language tag.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 27cd086e-e970-4ef1-afed-266bb995f69d
📒 Files selected for processing (1)
.claude/skills/upgrade-deps/SKILL.md
There was a problem hiding this comment.
♻️ Duplicate comments (1)
.claude/skills/upgrade-deps/SKILL.md (1)
27-29:⚠️ Potential issue | 🟡 MinorAdd language identifiers to all unlabeled fenced code blocks (MD040).
The command/output examples still use unlabeled fences, which keeps markdownlint failing and reduces editor highlighting.
Proposed patch
-``` +```bash ./gradlew dependencyUpdates@@
-+bash
./gradlew build --no-daemon@@ -``` +```text Update dependencies - {library-name} {old-version} -> {new-version} - {library-name} {old-version} -> {new-version} - Build - {library-name} {old-version} -> {new-version} - {library-name} {old-version} -> {new-version}@@
-+text
Update dependencies
- gRPC-Java 1.63.0 -> 1.64.0
- Jackson 2.17.0 -> 2.18.0
- Build
- checkstyle 10.14.0 -> 10.17.0
- ErrorProne 2.27.0 -> 2.28.0
Also applies to: 87-89, 99-107, 120-128
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.claude/skills/upgrade-deps/SKILL.md around lines 27 - 29, Update all unlabeled fenced code blocks in .claude/skills/upgrade-deps/SKILL.md by adding appropriate language identifiers: mark shell commands like "./gradlew dependencyUpdates" and "./gradlew build --no-daemon" with ```bash, and mark plain output blocks (the "Update dependencies" lists and examples such as the gRPC-Java/Jackson/Build lists) with ```text; ensure you update every occurrence called out (the command examples and the three "Update dependencies" output blocks) so markdownlint MD040 is satisfied.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In @.claude/skills/upgrade-deps/SKILL.md:
- Around line 27-29: Update all unlabeled fenced code blocks in
.claude/skills/upgrade-deps/SKILL.md by adding appropriate language identifiers:
mark shell commands like "./gradlew dependencyUpdates" and "./gradlew build
--no-daemon" with ```bash, and mark plain output blocks (the "Update
dependencies" lists and examples such as the gRPC-Java/Jackson/Build lists) with
```text; ensure you update every occurrence called out (the command examples and
the three "Update dependencies" output blocks) so markdownlint MD040 is
satisfied.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: e577df05-7571-4fe6-b83a-d618b40c020e
📒 Files selected for processing (1)
.claude/skills/upgrade-deps/SKILL.md
Motivation:
The Gradle dependency upgrade process involves multiple steps:
Codifying this as a Claude skill makes the process repeatable and accessible to all contributors.
Modifications:
.claude/skills/upgrade-deps/SKILL.mdwith a step-by-step upgrade workflow including Java version compatibility rules per module and a strict commit message formatResult:
/upgrade-depsto follow a guided, repeatable dependency upgrade workflow.