From 07e1f36b9c272b420213c8f7f41de4e3d5d22ca4 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 15 Apr 2026 10:09:31 +0800 Subject: [PATCH 1/4] feat: add holdex-contributing Claude Code skill --- .claude/commands/holdex-contributing.md | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .claude/commands/holdex-contributing.md diff --git a/.claude/commands/holdex-contributing.md b/.claude/commands/holdex-contributing.md new file mode 100644 index 0000000..000a93c --- /dev/null +++ b/.claude/commands/holdex-contributing.md @@ -0,0 +1,36 @@ +--- +name: holdex-contributing +description: Holdex contributing rules for GitHub issues and PRs. Invoke before creating or updating issues or PRs in any Holdex repository. +--- + +All PRs and issues must follow the +[Holdex Contributing Guidelines](https://github.com/holdex/developers/blob/main/docs/CONTRIBUTING.md). + +## Issues + +- 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` +- Link each Problem as a **sub-issue** of its parent Goal issue. +- When referencing other issues or PRs, always use a **list item**, never inline: + + ```md + - https://github.com/holdex/hr-internal/issues/123 + ``` + +## Pull Requests + +- **Title**: `type(scope): action` — user-focused, present tense, Conventional + Commits format. + - Good: `docs: protect client funds from unauthorized contractor custody` + - Bad: `Add FUND_HANDLING.md` +- **Scope**: fits within 3–4 hours of work. Decompose if larger. +- **Lifecycle** (in order): + 1. Open as a **draft PR** immediately when starting work. + 1. Link to the Problem issue using a closing keyword (`Closes #123`). + 1. Assign yourself. + 1. Resolve all CI checks. + 1. Assign at least one reviewer. + 1. Mark ready for review only when all steps above are done. +- **Do not merge** without an approved review. From b17fc397d7fa5a5db594c625e3e8542fec9208c6 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 15 Apr 2026 10:13:22 +0800 Subject: [PATCH 2/4] docs: add Claude Code skills section to README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index b6b4ff0..f83e4e5 100644 --- a/README.md +++ b/README.md @@ -21,3 +21,12 @@ Align with: Subscribe to repository notifications to stay updated with frequent fixes and improvements. + +## Claude Code Skills + +Clone this repository locally to get access to shared Claude Code slash +commands. Available skills: + +| Command | When to use | +| --- | --- | +| `/holdex-contributing` | Before creating or updating a GitHub issue or PR in any Holdex repository | From 58043511b9c8627928ecdaaddd22381cf8069089 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 15 Apr 2026 10:17:24 +0800 Subject: [PATCH 3/4] docs: add symlink setup instructions for Claude Code skills --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f83e4e5..8622783 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,14 @@ improvements. ## Claude Code Skills -Clone this repository locally to get access to shared Claude Code slash -commands. Available skills: +Clone this repository locally and symlink the commands directory to make all +skills available globally across every repo you work in: + +```bash +ln -s /path/to/holdex/developers/.claude/commands ~/.claude/commands +``` + +Skills stay up to date automatically as you pull the repo. Available skills: | Command | When to use | | --- | --- | From 655a8d08fca0e68313ce600ec001105da74ccd23 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Fri, 8 May 2026 11:19:50 +0800 Subject: [PATCH 4/4] chore: apply rumdl fmt fixes --- .claude/commands/holdex-contributing.md | 5 +++-- docs/CONTRIBUTING.md | 18 +++++++++--------- docs/LEAVE_POLICY.md | 6 +++--- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.claude/commands/holdex-contributing.md b/.claude/commands/holdex-contributing.md index 000a93c..3499665 100644 --- a/.claude/commands/holdex-contributing.md +++ b/.claude/commands/holdex-contributing.md @@ -13,10 +13,11 @@ All PRs and issues must follow the - Good: `employees can't safely handle fund disbursements` - Bad: `fund handling issue` - Link each Problem as a **sub-issue** of its parent Goal issue. -- When referencing other issues or PRs, always use a **list item**, never inline: +- When referencing other issues or PRs, always use a **list item**, never + inline: ```md - - https://github.com/holdex/hr-internal/issues/123 + - ``` ## Pull Requests diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 063709d..ae94381 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -54,8 +54,8 @@ As soon as you get involved, you must: ### Problem -Once a Goal is clear, identify what prevents its achievement. Anything that -acts as a barrier is a Problem. +Once a Goal is clear, identify what prevents its achievement. Anything that acts +as a barrier is a Problem. > [!NOTE] > Report each Problem as a [GitHub Issue](https://docs.github.com/en/issues) @@ -103,8 +103,8 @@ For reimbursable work-related costs, see [Expenses](./EXPENSES.md). A Spec describes the intended behavior for a Goal — not what currently exists, but what the Goal aims to deliver. It is a markdown file in `docs/specs/`. -A Google Document may be used for ideation before the Spec is written. -If one exists, link it in the Goal issue description, not in the Spec. +A Google Document may be used for ideation before the Spec is written. If one +exists, link it in the Goal issue description, not in the Spec. A Goal must not be opened without a linked Spec. @@ -229,8 +229,8 @@ Before marking your PR as ready for review, confirm: ### Commit Signature Verification -All commits must be signed. See [GitHub's documentation on commit signature -verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). +All commits must be signed. See +[GitHub's documentation on commit signature verification](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). > [!NOTE] > We recommend signing commits using an @@ -283,9 +283,9 @@ PR names must be: | `fix(sdk): mute sound` | `Fix: add file to mute sound` | Technical details | | `test(api): open door` | `Feat: modified door function` | Vague, past tense | -A feature isn't a button, toggle, or handler — it's what the user gains from -it. Ask _"What will users be able to do?"_ not _"What am I building?"_ Use -action verbs: _View, Play, Customize, Save_. +A feature isn't a button, toggle, or handler — it's what the user gains from it. +Ask _"What will users be able to do?"_ not _"What am I building?"_ Use action +verbs: _View, Play, Customize, Save_. > [!WARNING] > This rule applies to **all PR types**, including `docs`. Do not use verbs that diff --git a/docs/LEAVE_POLICY.md b/docs/LEAVE_POLICY.md index ab39bd1..10894c4 100644 --- a/docs/LEAVE_POLICY.md +++ b/docs/LEAVE_POLICY.md @@ -23,8 +23,8 @@ These days cover **everything**: vacation, personal days, sick days, and public holidays. Default values above apply unless your individual agreement specifies otherwise. -> These are your **annual entitlements** — days are not granted all at once. -> See [How Do You Earn Days?](#how-do-you-earn-days-accrual) below for how they +> These are your **annual entitlements** — days are not granted all at once. See +> [How Do You Earn Days?](#how-do-you-earn-days-accrual) below for how they > accrue over the year. ## How Do You Earn Days? (Accrual) @@ -32,7 +32,7 @@ otherwise. Days are **accrued gradually** throughout your leave year — you do not receive the full entitlement up front. The formula is: -``` +```text paidLeaveAmount = (totalEligibleLeaves / 365) × daysElapsed ```