Skip to content

feat: contribute to Holdex repos using a structured Claude Code skill#100

Open
zolotokrylin wants to merge 3 commits intomainfrom
feat/holdex-contributing-skill
Open

feat: contribute to Holdex repos using a structured Claude Code skill#100
zolotokrylin wants to merge 3 commits intomainfrom
feat/holdex-contributing-skill

Conversation

@zolotokrylin
Copy link
Copy Markdown
Member

@zolotokrylin zolotokrylin commented Apr 15, 2026

Summary

  • Adds .claude/commands/holdex-contributing.md — a /holdex-contributing skill for Claude Code
  • Encodes the key rules from CONTRIBUTING.md (issue naming, PR title format, PR lifecycle) so contributors can invoke it on demand before creating or updating issues and PRs
  • Available to any contributor who has this repo cloned locally

Usage

Run /holdex-contributing in Claude Code before creating or updating a GitHub issue or PR in any Holdex repository.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added Holdex-specific contribution guidelines defining formatting requirements for GitHub Issues and Pull Requests
    • Updated README with setup instructions to enable access to contribution guidelines through Claude Code Skills

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 15, 2026

Walkthrough

Added a new Claude command file defining Holdex contribution standards for GitHub issues and PRs, including required formatting for issue titles (job story format) and PR titles (Conventional Commits style), plus a defined PR lifecycle. Updated README with setup instructions for the new command.

Changes

Cohort / File(s) Summary
Documentation & Setup
.claude/commands/holdex-contributing.md, README.md
Added Holdex-specific contribution rules (issue/PR title formats, Problem/Goal linking requirements, PR lifecycle steps) and instructions for exposing the command globally via symlink.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • markholdex
  • georgeciubotaru
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: contribute to Holdex repos using a structured Claude Code skill' directly and clearly summarizes the main change: adding a Claude Code skill for structured contributions to Holdex repositories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 feat/holdex-contributing-skill

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

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

@holdex
Copy link
Copy Markdown

holdex bot commented Apr 15, 2026

Time Submission Status

Member Status Time Action Last Update
zolotokrylin ✅ Submitted 1h Update time Apr 15, 2026, 4:14 AM

You can submit time with the command. Example:

@holdex pr submit-time 15m

See available commands to help comply with our Guidelines.

@zolotokrylin zolotokrylin marked this pull request as ready for review April 15, 2026 04:12
@zolotokrylin
Copy link
Copy Markdown
Member Author

@holdex pr submit-time 1h

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: 3

🧹 Nitpick comments (1)
README.md (1)

30-32: Use an idempotent symlink command for repeat setup runs.

ln -s fails if ~/.claude/commands already exists. Use a safer one-liner so contributors can re-run setup without manual cleanup.

Suggested doc update
- ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands
+ mkdir -p ~/.claude && ln -sfn /path/to/holdex/developers/.claude/commands ~/.claude/commands
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@README.md` around lines 30 - 32, Replace the fragile "ln -s
/path/to/holdex/developers/.claude/commands ~/.claude/commands" example with an
idempotent symlink one-liner: ensure the target directory (~/.claude) is created
if missing and create or replace the symlink to
/path/to/holdex/developers/.claude/commands using the force/replace options so
repeated setup runs don't fail; update the README example line that currently
shows "ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands"
accordingly.
🤖 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/commands/holdex-contributing.md:
- Around line 6-8: Add a level-1 heading immediately after the existing front
matter block in the holdex-contributing markdown (e.g., insert "#
holdex-contributing" right after the front matter delimiter) to satisfy
markdownlint MD041; ensure the heading is the first content following the front
matter and does not alter the existing contributing text that follows.
- Around line 16-20: The markdown code block contains a single long line that
violates MD013 (80-char line length); split that long URL line into two wrapped
lines within the code block so it stays a valid list item and under 80
characters (e.g., break the URL after a logical separator or split the list item
into the dash line and the URL on the next indented line). Update the example
list item in the code block under the guidance section so the long line is
wrapped to satisfy MD013 while preserving the bullet (`-`) and the referenced
URL text.
- Around line 11-14: Update the “Good” example to include the required prefix so
it matches the rule "Name: `Problem: [statement]`" — change the good example
from `employees can't safely handle fund disbursements` to `Problem: employees
can't safely handle fund disbursements` so the guidance is consistent; ensure
the text in the doc that currently shows the Good example is replaced with the
prefixed version.

---

Nitpick comments:
In `@README.md`:
- Around line 30-32: Replace the fragile "ln -s
/path/to/holdex/developers/.claude/commands ~/.claude/commands" example with an
idempotent symlink one-liner: ensure the target directory (~/.claude) is created
if missing and create or replace the symlink to
/path/to/holdex/developers/.claude/commands using the force/replace options so
repeated setup runs don't fail; update the README example line that currently
shows "ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands"
accordingly.
🪄 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

Run ID: d6729cd2-3382-47d0-8135-af2f0104429e

📥 Commits

Reviewing files that changed from the base of the PR and between 076b26d and 5804351.

📒 Files selected for processing (2)
  • .claude/commands/holdex-contributing.md
  • README.md

Comment on lines +6 to +8
All PRs and issues must follow the
[Holdex Contributing Guidelines](https://github.com/holdex/developers/blob/main/docs/CONTRIBUTING.md).

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

Add a level-1 heading after front matter.

Markdownlint MD041 is valid here. Add a top-level heading (for example # holdex-contributing) right after the front matter block.

🧰 Tools
🪛 GitHub Check: checks

[warning] 6-6: MD041
First line in file should be a level 1 heading

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/holdex-contributing.md around lines 6 - 8, Add a level-1
heading immediately after the existing front matter block in the
holdex-contributing markdown (e.g., insert "# holdex-contributing" right after
the front matter delimiter) to satisfy markdownlint MD041; ensure the heading is
the first content following the front matter and does not alter the existing
contributing text that follows.

Comment on lines +11 to +14
- Name: `Problem: [statement]` — must be a **job story** describing what a
specific user **cannot do** (the whole title under 65 characters).
- Good: `employees can't safely handle fund disbursements`
- Bad: `fund handling issue`
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

Make the “Good” issue example match the required format.

You require Problem: [statement], but the “Good” example omits the Problem: prefix. Update it to avoid contradictory guidance.

Suggested doc update
-  - Good: `employees can't safely handle fund disbursements`
+  - Good: `Problem: employees can't safely handle fund disbursements`
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/holdex-contributing.md around lines 11 - 14, Update the
“Good” example to include the required prefix so it matches the rule "Name:
`Problem: [statement]`" — change the good example from `employees can't safely
handle fund disbursements` to `Problem: employees can't safely handle fund
disbursements` so the guidance is consistent; ensure the text in the doc that
currently shows the Good example is replaced with the prefixed version.

Comment on lines +16 to +20
- When referencing other issues or PRs, always use a **list item**, never inline:

```md
- https://github.com/holdex/hr-internal/issues/123
```
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

Wrap the long line to satisfy MD013.

The line in this block exceeds the configured 80-char limit. Split it into two lines to keep lint green.

🧰 Tools
🪛 GitHub Check: checks

[warning] 16-20: MD013
Line length 81 exceeds 80 characters

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/commands/holdex-contributing.md around lines 16 - 20, The markdown
code block contains a single long line that violates MD013 (80-char line
length); split that long URL line into two wrapped lines within the code block
so it stays a valid list item and under 80 characters (e.g., break the URL after
a logical separator or split the list item into the dash line and the URL on the
next indented line). Update the example list item in the code block under the
guidance section so the long line is wrapped to satisfy MD013 while preserving
the bullet (`-`) and the referenced URL text.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants