Skip to content

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

Merged
zolotokrylin merged 5 commits into
mainfrom
feat/holdex-contributing-skill
May 8, 2026
Merged

feat: contribute to Holdex repos using a structured Claude Code skill#100
zolotokrylin merged 5 commits into
mainfrom
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 detailing required formatting and lifecycle steps for Issues and Pull Requests (title formats, linking, draft/opening, assignment, CI/review requirements, and merge prohibition without approval)
    • Updated README to document how to access these contribution guidelines via the project's command/skill and include brief setup instructions

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

Warning

Rate limit exceeded

@zolotokrylin has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 41 minutes and 10 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 773f6e24-26ac-4cc2-bc85-70bb803471ee

📥 Commits

Reviewing files that changed from the base of the PR and between ba2782f and 655a8d0.

📒 Files selected for processing (3)
  • .claude/commands/holdex-contributing.md
  • docs/CONTRIBUTING.md
  • docs/LEAVE_POLICY.md

Walkthrough

Added a new Claude command file .claude/commands/holdex-contributing.md that defines Holdex-specific contribution rules for Issues and PRs (title formats, Problem→Goal linking, PR lifecycle). Updated README.md with setup instructions to expose the command and a short command reference.

Changes

Holdex contribution command + README

Layer / File(s) Summary
Command content
.claude/commands/holdex-contributing.md
New file: defines issue title format (Problem: [statement] job-story style), requires Problems as sub-issues under a parent Goal, mandates Markdown list references (no inline refs), and specifies PR title format type(scope): action with 3–4 hour scope constraint.
PR lifecycle & rules
.claude/commands/holdex-contributing.md
Defines PR lifecycle: open draft immediately, link Problem issue with Closes #N``, self-assign, resolve CI, assign ≥1 reviewer, mark ready only after steps complete, and prohibits merging without approved review.
Documentation / Setup
README.md
Adds “Claude Code Skills” section with instructions to create ~/.claude/commands symlink to expose commands globally, notes skills auto-update on pull, and documents /holdex-contributing in a one-row table.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Suggested reviewers

  • markholdex
  • georgeciubotaru
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding a Claude Code skill for structured contribution to Holdex repositories.
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 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 May 8, 2026, 3:20 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 thread .claude/commands/holdex-contributing.md Outdated
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: 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 `@README.md`:
- Around line 31-33: Update the README.md symlink instructions to first ensure
the target directory exists and then create a deterministic symlink: add a step
to create the ~/.claude directory if missing (use a mkdir -p style command) and
replace the plain ln -s with an ln invocation that forcefully replaces existing
links/targets (use options equivalent to -sfn) so ~/.claude/commands (the symbol
shown in the diff) is never left as a nested directory or broken symlink; update
the example line that references /path/to/holdex/developers/.claude/commands to
reflect these two steps.
🪄 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: 3574694e-e525-4b09-a80c-aa757367189b

📥 Commits

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

📒 Files selected for processing (1)
  • README.md

Comment thread README.md
Comment on lines +31 to +33
```bash
ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands
```
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

Harden the symlink setup command to avoid common setup failures.

On Line 32, ln -s ... ~/.claude/commands can fail (missing ~/.claude) or create an unexpected nested link if ~/.claude/commands already exists as a directory. A safer sequence will reduce onboarding issues.

Suggested doc update
 ```bash
-ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands
+mkdir -p ~/.claude
+ln -sfn /path/to/holdex/developers/.claude/commands ~/.claude/commands
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🤖 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 `@README.md` around lines 31 - 33, Update the README.md symlink instructions to
first ensure the target directory exists and then create a deterministic
symlink: add a step to create the ~/.claude directory if missing (use a mkdir -p
style command) and replace the plain ln -s with an ln invocation that forcefully
replaces existing links/targets (use options equivalent to -sfn) so
~/.claude/commands (the symbol shown in the diff) is never left as a nested
directory or broken symlink; update the example line that references
/path/to/holdex/developers/.claude/commands to reflect these two steps.

@zolotokrylin zolotokrylin merged commit fbde9e2 into main May 8, 2026
2 of 3 checks passed
@zolotokrylin zolotokrylin deleted the feat/holdex-contributing-skill branch May 8, 2026 03:20
@zolotokrylin
Copy link
Copy Markdown
Member Author

https://github.com/holdex pr submit-time 1h 20m

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