Add Claude skills for commit, review, and iOS-to-Android porting conventions#194
Add Claude skills for commit, review, and iOS-to-Android porting conventions#194
Conversation
…entions - Implement `commit-conventions` skill to standardize commit message formatting, including JIRA ticket IDs and imperative mood requirements. - Implement `review-conventions` skill to document technical requirements for security, networking, async patterns, and project-specific Kotlin styles. - Implement `ios-to-android-port` skill to provide a comprehensive guide for migrating features from the iOS SDK, including module mappings, type translations, and testing protocols.
📝 WalkthroughWalkthroughThree new Claude skill documentation files are introduced to establish repository standards: commit message conventions specifying JIRA ticket format and PR numbers, iOS-to-Android SDK porting guidelines detailing Swift-to-Kotlin translations and architectural patterns, and code review conventions defining security, async, error handling, and tooling requirements. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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. Review rate limit: 0/1 reviews remaining, refill in 60 minutes.Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/commit-conventions/SKILL.md:
- Around line 10-15: The "Use imperative mood" rule conflicts with the example
"Package Sizes Report" — update the example so it follows the imperative
guideline and still shows the PR-number suffix; for instance change the example
line "SDKS-4216 Package Sizes Report (`#185`)" to an imperative form such as
"SDKS-4216: Report Package Sizes (`#185`)" (or similar), and ensure the other
example "SDKS-4694: Update PasswordCollector to handle nested Password policies.
(`#190`)" matches the same punctuation/formatting style as the rule about ending
with PR number.
In @.claude/skills/ios-to-android-port/SKILL.md:
- Around line 47-65: The markdown fences containing the four example URLs (the
compare URL, the PR files URL, the branches listing URL, and the raw file URL)
are missing language identifiers and trigger MD040; update each fenced code
block to include a language tag (e.g., change ``` to ```text) so the blocks
become ```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/compare/develop...{branch-name}
```, ```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/pulls/{pr-number}/files ```,
```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/branches?per_page=100 ```,
and ```text
https://raw.githubusercontent.com/ForgeRock/ping-ios-sdk/{branch}/path/to/File.swift
``` respectively.
🪄 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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: fcbffcc8-24b4-49db-a705-0d2f8db2081a
📒 Files selected for processing (3)
.claude/skills/commit-conventions/SKILL.md.claude/skills/ios-to-android-port/SKILL.md.claude/skills/review-conventions/SKILL.md
| - Use imperative mood when possible (Add, Update, Fix) | ||
| - End with PR number in parentheses: (#NNN) | ||
|
|
||
| Examples: | ||
| SDKS-4694: Update PasswordCollector to handle nested Password policies. (#190) | ||
| SDKS-4216 Package Sizes Report (#185) |
There was a problem hiding this comment.
Imperative-mood rule conflicts with one example.
Line 10 asks for imperative subjects, but Line 15 (Package Sizes Report) is not imperative. This will create ambiguity for contributors.
Suggested doc fix
- SDKS-4216 Package Sizes Report (`#185`)
+ SDKS-4216 Update package size report generation (`#185`)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude/skills/commit-conventions/SKILL.md around lines 10 - 15, The "Use
imperative mood" rule conflicts with the example "Package Sizes Report" — update
the example so it follows the imperative guideline and still shows the PR-number
suffix; for instance change the example line "SDKS-4216 Package Sizes Report
(`#185`)" to an imperative form such as "SDKS-4216: Report Package Sizes (`#185`)"
(or similar), and ensure the other example "SDKS-4694: Update PasswordCollector
to handle nested Password policies. (`#190`)" matches the same
punctuation/formatting style as the rule about ending with PR number.
| ``` | ||
| https://api.github.com/repos/ForgeRock/ping-ios-sdk/compare/develop...{branch-name} | ||
| ``` | ||
|
|
||
| **For a PR:** | ||
| ``` | ||
| https://api.github.com/repos/ForgeRock/ping-ios-sdk/pulls/{pr-number}/files | ||
| ``` | ||
|
|
||
| If the user gives you a JIRA ticket (e.g., `SDKS-4235`), search for a branch whose name | ||
| contains that ticket number: | ||
| ``` | ||
| https://api.github.com/repos/ForgeRock/ping-ios-sdk/branches?per_page=100 | ||
| ``` | ||
|
|
||
| Fetch the full content of each changed file (raw GitHub URLs work): | ||
| ``` | ||
| https://raw.githubusercontent.com/ForgeRock/ping-ios-sdk/{branch}/path/to/File.swift | ||
| ``` |
There was a problem hiding this comment.
Add language identifiers to fenced code blocks to satisfy markdown lint.
The fenced blocks at Lines 47, 52, 58, and 63 trigger MD040. Please add text (or a more specific language) to each fence.
Suggested doc fix
-```
+```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/compare/develop...{branch-name}@@
- +text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/pulls/{pr-number}/files
@@
-```
+```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/branches?per_page=100
@@
- +text
https://raw.githubusercontent.com/ForgeRock/ping-ios-sdk/{branch}/path/to/File.swift
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 47-47: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 52-52: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 58-58: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
[warning] 63-63: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.claude/skills/ios-to-android-port/SKILL.md around lines 47 - 65, The
markdown fences containing the four example URLs (the compare URL, the PR files
URL, the branches listing URL, and the raw file URL) are missing language
identifiers and trigger MD040; update each fenced code block to include a
language tag (e.g., change ``` to ```text) so the blocks become ```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/compare/develop...{branch-name}
```, ```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/pulls/{pr-number}/files ```,
```text
https://api.github.com/repos/ForgeRock/ping-ios-sdk/branches?per_page=100 ```,
and ```text
https://raw.githubusercontent.com/ForgeRock/ping-ios-sdk/{branch}/path/to/File.swift
``` respectively.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #194 +/- ##
=============================================
+ Coverage 44.10% 44.11% +0.01%
Complexity 1241 1241
=============================================
Files 308 308
Lines 9277 9277
Branches 1330 1330
=============================================
+ Hits 4092 4093 +1
Misses 4638 4638
+ Partials 547 546 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Description
commit-conventionsskill to standardize commit message formatting, including JIRA ticket IDs and imperative mood requirements.review-conventionsskill to document technical requirements for security, networking, async patterns, and project-specific Kotlin styles.ios-to-android-portskill to provide a comprehensive guide for migrating features from the iOS SDK, including module mappings, type translations, and testing protocols.Summary by CodeRabbit