HR root router maintenance
The root SKILL.md at the repository root is the entry point for the entire HR Skills library. It does not contain HR knowledge — its only job is to route requests to the right specialized skill package under skills/.
This skill tells AI assistants exactly how to update that router whenever the library changes.
Supported tasks
- Add a new skill entry to the correct routing section
- Remove a deprecated skill from the routing table
- Rename a skill entry when its directory is renamed
- Move a skill entry between routing sections
- Audit router for skills missing from the table or directories missing from
skills/
- Update the frontmatter
description field when new domains are added
- Suggest which routing section a new skill belongs in
- Generate a complete, ready-to-paste router table row
- Validate that all
skills/<n>/SKILL.md paths resolve correctly
Router structure
The root SKILL.md has this layout — every edit must preserve it exactly:
frontmatter (---...---)
name: hr-skills
description: "..." ← update when adding an entirely new domain
metadata:
author: Tuan Duc Tran
version: "1.0.0" ← bump patch version on every router change
# HR Skills ← H1, never change
intro paragraph ← never change
## How to use this skill ← never change
numbered rules 1-5 ← never change
## Routing tables ← H2, never change
### <Section name> ← H3 section headers (see canonical list below)
| Skill | Use when... | ← routing table rows
...
## Notes ← H2, never change
Canonical routing sections
These are the current H3 section headers in order. New skills go into an existing section whenever possible. Only add a new H3 section when no existing one fits.
### Talent acquisition & recruiting
### Onboarding, offboarding & people operations
### Performance, talent & career management
### Compensation, benefits & rewards
### Learning & development
### Organizational development, design & change
### Workforce planning & analytics
### HR technology, data & AI
### Compliance, labor relations & risk
### Culture, engagement, experience & wellbeing
### Project management & global/local context
### Software-engineering & technical hiring specialists
Section 12 has a two-column format | Skill | Discipline | instead of | Skill | Use when the task involves... | — use the discipline column for tech-specialist skills.
Key prompts
Adding a new skill
- "Add [hr-new-skill] to the root SKILL.md router. The skill covers [description of scope]. Suggest the right section and generate the table row."
- "I just created skills/hr-[name]/SKILL.md. Update the router to include it. Here is the skill's description field: [paste description]."
- "Generate a router table row for a new skill called hr-[name] that handles [scope]. Include the markdown link in the correct format."
Removing or renaming a skill
- "Remove hr-[old-name] from the root SKILL.md router. The skill directory has been deleted."
- "Rename hr-[old-name] to hr-[new-name] in the router. Update the link and keep everything else the same."
- "hr-[name] has been merged into hr-[other-name]. Remove the old entry and update the surviving skill's 'Use when' description to cover both scopes."
Moving a skill between sections
- "Move hr-[name] from '### [current section]' to '### [target section]' in the router."
- "hr-[name] fits better under [section] than its current section. Relocate it and keep the row content unchanged."
Auditing the router
- "Audit the root SKILL.md against the actual skills/ directory and list any mismatches: skills in the directory not in the router, or router entries pointing to non-existent directories."
- "Check every markdown link in the routing tables and confirm the target path exists under skills/."
- "List all skills currently in the router by section."
Updating scope
- "The router description field doesn't mention [new domain]. Update it to include [domain] without making the description longer than it currently is."
- "Add a note to the ## Notes section explaining [new convention]."
Editing rules
Follow these rules exactly when editing the root SKILL.md.
Table row format — always use this exact format, no variation:
| [hr-skill-name](skills/hr-skill-name) | One-line description of when to use this skill |
- The link text is the skill slug only, no spaces, no decoration.
- The link target is
skills/hr-skill-name — a relative path, no leading slash, no .md.
- The "Use when" column starts with a noun phrase or verb phrase describing the task, not "Use when the task involves" — that prefix lives in the column header only.
Section 12 row format (tech-specialist skills):
| [hr-skill-name](skills/hr-skill-name) | Short discipline label (e.g. "Backend engineering, APIs, databases") |
Version bump — every time the router changes, increment the patch version in frontmatter:
version: "1.0.0" → version: "1.0.1"
Placement within a section — insert new rows alphabetically by skill slug within the section, unless there is a logical grouping reason to place it elsewhere (e.g. keep closely related skills adjacent).
Never touch:
- The
## How to use this skill block
- The
## Notes block (unless explicitly asked)
- The H1
# HR Skills title
- The intro paragraph under H1
- Existing rows unless they are the target of the edit
Section assignment guide
Use this table to decide which section a new skill belongs in:
| If the skill covers... |
Put it in... |
| Finding, attracting, assessing, or hiring candidates |
Talent acquisition & recruiting |
| Starting or ending employment, HR ops, admin |
Onboarding, offboarding & people operations |
| Performance, growth, career paths, coaching |
Performance, talent & career management |
| Pay, benefits, rewards, job levels |
Compensation, benefits & rewards |
| Training, skills, learning programs |
Learning & development |
| Org structure, culture change, OD |
Organizational development, design & change |
| Headcount forecasting, HR data, workforce models |
Workforce planning & analytics |
| HR systems, AI tools, automation, data |
HR technology, data & AI |
| Legal, compliance, labor law, risk |
Compliance, labor relations & risk |
| Employee experience, culture, DEI, wellbeing |
Culture, engagement, experience & wellbeing |
| Cross-functional projects, global/Vietnam context |
Project management & global/local context |
| Hiring for a specific technical discipline |
Software-engineering & technical hiring specialists |
Tips
- Always read the existing router table before inserting a new row — confirm the skill does not already exist under a different name before adding a duplicate.
- When unsure which section fits, read the new skill's
description field and match its primary verb (recruiting vs managing vs analyzing vs designing) to the section guide above.
- After any edit, do a quick count: the number of
| [hr- links in the router should equal the number of directories under skills/ that contain a SKILL.md.
- The router description field is a single long string — when updating it, preserve the existing domains and append; never replace the whole string.
- Tech-specialist skills (section 12) are meant to be loaded alongside a functional skill (hr-recruiting, hr-job-description, hr-interviewing), not instead of one — if the new skill is a standalone functional skill mistakenly placed in section 12, move it to the correct section.
- Bump the patch version on every router edit so contributors can track the change history without diffing the full file.
Common mistakes
- Adding a new skill row but forgetting to bump
version in frontmatter.
- Using an absolute path
skills/hr-name/SKILL.md instead of the relative path skills/hr-name in the link target — the router links point to directories, not files.
- Inserting the row into the wrong table column order (link column must come first, "Use when" second).
- Duplicating an existing entry under a different section without removing the original.
- Adding a new H3 section when the skill clearly fits an existing section — check all 12 sections before creating a new one.
- Editing the
## How to use this skill block when only a routing table change was needed.
- Forgetting to update the
description frontmatter field when an entirely new domain (not covered by any existing skill) is added.
1---2name: hr-root-router-maintaining3description: Maintenance guide for the root SKILL.md router in the hr-skills monorepo. Use this skill when adding a new HR skill package, removing a deprecated skill, renaming a skill directory, moving a skill between routing sections, or auditing the router for consistency with the actual skills/ directory.4---56# HR root router maintenance78The root `SKILL.md` at the repository root is the entry point for the entire HR Skills library. It does not contain HR knowledge — its only job is to route requests to the right specialized skill package under `skills/`.910This skill tells AI assistants exactly how to update that router whenever the library changes.1112## Supported tasks1314- Add a new skill entry to the correct routing section15- Remove a deprecated skill from the routing table16- Rename a skill entry when its directory is renamed17- Move a skill entry between routing sections18- Audit router for skills missing from the table or directories missing from `skills/`19- Update the frontmatter `description` field when new domains are added20- Suggest which routing section a new skill belongs in21- Generate a complete, ready-to-paste router table row22- Validate that all `skills/<n>/SKILL.md` paths resolve correctly2324## Router structure2526The root `SKILL.md` has this layout — every edit must preserve it exactly:2728```text29frontmatter (---...---)30 name: hr-skills31 description: "..." ← update when adding an entirely new domain32 metadata:33 author: Tuan Duc Tran34 version: "1.0.0" ← bump patch version on every router change3536# HR Skills ← H1, never change37intro paragraph ← never change3839## How to use this skill ← never change40numbered rules 1-5 ← never change4142## Routing tables ← H2, never change43### <Section name> ← H3 section headers (see canonical list below)44| Skill | Use when... | ← routing table rows45...4647## Notes ← H2, never change48```4950## Canonical routing sections5152These are the current H3 section headers in order. New skills go into an existing section whenever possible. Only add a new H3 section when no existing one fits.53541. `### Talent acquisition & recruiting`552. `### Onboarding, offboarding & people operations`563. `### Performance, talent & career management`574. `### Compensation, benefits & rewards`585. `### Learning & development`596. `### Organizational development, design & change`607. `### Workforce planning & analytics`618. `### HR technology, data & AI`629. `### Compliance, labor relations & risk`6310. `### Culture, engagement, experience & wellbeing`6411. `### Project management & global/local context`6512. `### Software-engineering & technical hiring specialists`6667Section 12 has a two-column format `| Skill | Discipline |` instead of `| Skill | Use when the task involves... |` — use the discipline column for tech-specialist skills.6869## Key prompts7071### Adding a new skill72731. "Add [hr-new-skill] to the root SKILL.md router. The skill covers [description of scope]. Suggest the right section and generate the table row."742. "I just created skills/hr-[name]/SKILL.md. Update the router to include it. Here is the skill's description field: [paste description]."753. "Generate a router table row for a new skill called hr-[name] that handles [scope]. Include the markdown link in the correct format."7677### Removing or renaming a skill78791. "Remove hr-[old-name] from the root SKILL.md router. The skill directory has been deleted."802. "Rename hr-[old-name] to hr-[new-name] in the router. Update the link and keep everything else the same."813. "hr-[name] has been merged into hr-[other-name]. Remove the old entry and update the surviving skill's 'Use when' description to cover both scopes."8283### Moving a skill between sections84851. "Move hr-[name] from '### [current section]' to '### [target section]' in the router."862. "hr-[name] fits better under [section] than its current section. Relocate it and keep the row content unchanged."8788### Auditing the router89901. "Audit the root SKILL.md against the actual skills/ directory and list any mismatches: skills in the directory not in the router, or router entries pointing to non-existent directories."912. "Check every markdown link in the routing tables and confirm the target path exists under skills/."923. "List all skills currently in the router by section."9394### Updating scope95961. "The router description field doesn't mention [new domain]. Update it to include [domain] without making the description longer than it currently is."972. "Add a note to the ## Notes section explaining [new convention]."9899## Editing rules100101Follow these rules exactly when editing the root `SKILL.md`.102103**Table row format** — always use this exact format, no variation:104105```markdown106| [hr-skill-name](skills/hr-skill-name) | One-line description of when to use this skill |107```108109- The link text is the skill slug only, no spaces, no decoration.110- The link target is `skills/hr-skill-name` — a relative path, no leading slash, no `.md`.111- The "Use when" column starts with a noun phrase or verb phrase describing the task, not "Use when the task involves" — that prefix lives in the column header only.112113**Section 12 row format** (tech-specialist skills):114115```markdown116| [hr-skill-name](skills/hr-skill-name) | Short discipline label (e.g. "Backend engineering, APIs, databases") |117```118119**Version bump** — every time the router changes, increment the patch version in frontmatter:120121```yaml122version: "1.0.0" → version: "1.0.1"123```124125**Placement within a section** — insert new rows alphabetically by skill slug within the section, unless there is a logical grouping reason to place it elsewhere (e.g. keep closely related skills adjacent).126127**Never touch:**128129- The `## How to use this skill` block130- The `## Notes` block (unless explicitly asked)131- The H1 `# HR Skills` title132- The intro paragraph under H1133- Existing rows unless they are the target of the edit134135## Section assignment guide136137Use this table to decide which section a new skill belongs in:138139| If the skill covers... | Put it in... |140|---|---|141| Finding, attracting, assessing, or hiring candidates | Talent acquisition & recruiting |142| Starting or ending employment, HR ops, admin | Onboarding, offboarding & people operations |143| Performance, growth, career paths, coaching | Performance, talent & career management |144| Pay, benefits, rewards, job levels | Compensation, benefits & rewards |145| Training, skills, learning programs | Learning & development |146| Org structure, culture change, OD | Organizational development, design & change |147| Headcount forecasting, HR data, workforce models | Workforce planning & analytics |148| HR systems, AI tools, automation, data | HR technology, data & AI |149| Legal, compliance, labor law, risk | Compliance, labor relations & risk |150| Employee experience, culture, DEI, wellbeing | Culture, engagement, experience & wellbeing |151| Cross-functional projects, global/Vietnam context | Project management & global/local context |152| Hiring for a specific technical discipline | Software-engineering & technical hiring specialists |153154## Tips155156- Always read the existing router table before inserting a new row — confirm the skill does not already exist under a different name before adding a duplicate.157- When unsure which section fits, read the new skill's `description` field and match its primary verb (recruiting vs managing vs analyzing vs designing) to the section guide above.158- After any edit, do a quick count: the number of `| [hr-` links in the router should equal the number of directories under `skills/` that contain a `SKILL.md`.159- The router description field is a single long string — when updating it, preserve the existing domains and append; never replace the whole string.160- Tech-specialist skills (section 12) are meant to be loaded alongside a functional skill (hr-recruiting, hr-job-description, hr-interviewing), not instead of one — if the new skill is a standalone functional skill mistakenly placed in section 12, move it to the correct section.161- Bump the patch version on every router edit so contributors can track the change history without diffing the full file.162163## Common mistakes164165- Adding a new skill row but forgetting to bump `version` in frontmatter.166- Using an absolute path `skills/hr-name/SKILL.md` instead of the relative path `skills/hr-name` in the link target — the router links point to directories, not files.167- Inserting the row into the wrong table column order (link column must come first, "Use when" second).168- Duplicating an existing entry under a different section without removing the original.169- Adding a new H3 section when the skill clearly fits an existing section — check all 12 sections before creating a new one.170- Editing the `## How to use this skill` block when only a routing table change was needed.171- Forgetting to update the `description` frontmatter field when an entirely new domain (not covered by any existing skill) is added.