Skip to content

Add Claude skills for commit, review, and iOS-to-Android porting conventions#194

Open
witrisna wants to merge 1 commit intodevelopfrom
engineer-skill-git
Open

Add Claude skills for commit, review, and iOS-to-Android porting conventions#194
witrisna wants to merge 1 commit intodevelopfrom
engineer-skill-git

Conversation

@witrisna
Copy link
Copy Markdown
Contributor

@witrisna witrisna commented May 1, 2026

Description

  • 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.

Summary by CodeRabbit

  • Documentation
    • Added internal development and code review documentation to establish repository-specific conventions for commit messages, code review standards, and iOS-to-Android feature porting guidelines.

…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.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 1, 2026

📝 Walkthrough

Walkthrough

Three 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

Cohort / File(s) Summary
Claude Skills Documentation
.claude/skills/commit-conventions/SKILL.md, .claude/skills/ios-to-android-port/SKILL.md, .claude/skills/review-conventions/SKILL.md
Three new skill documents establishing repository conventions: commit message formatting rules with JIRA ticket and PR number requirements; iOS-to-Android SDK porting guidelines covering language idiom translation (Swift to Kotlin), architectural patterns, testing expectations, and prohibited changes; and code review standards for secure storage, crypto configuration, networking, async/threading, error handling, logging, dependency management, and file copyright requirements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • spetrov
  • george-bafaloukas-forgerock
  • rodrigoareis

Poem

🐰 Three scrolls of wisdom hop into place,
With JIRA tickets and Android grace,
Swift becomes Kotlin, coroutines Flow,
Review conventions help the project grow! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the three skills implemented with brief explanations of each, but lacks the required JIRA ticket link specified in the repository template. Add a JIRA Ticket section at the top with a link to the relevant ticket, as required by the repository's description template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarizes the main change: adding three new Claude skills for commit, review, and iOS-to-Android porting conventions, matching the file additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch engineer-skill-git

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.

❤️ Share
Review rate limit: 0/1 reviews remaining, refill in 60 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 4e3f91e and 36f9a34.

📒 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

Comment on lines +10 to +15
- 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)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

Comment on lines +47 to +65
```
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
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

@coderabbitai coderabbitai Bot temporarily deployed to github-pages May 1, 2026 18:26 Inactive
@codecov
Copy link
Copy Markdown

codecov Bot commented May 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.11%. Comparing base (4e3f91e) to head (36f9a34).

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     
Flag Coverage Δ
integration-tests 28.64% <ø> (+0.01%) ⬆️
unit-tests 25.20% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant