chore(claude): migrate skills to dir structure, add command hints#1017
chore(claude): migrate skills to dir structure, add command hints#1017FlorianBruniaux wants to merge 2 commits intodevelopfrom
Conversation
- Convert repo-recap, security-guardian, ship skills from flat .md to SKILL.md inside dedicated directories - Remove performance.md (no replacement needed) - Add cross-platform clip() helper in issue-triage and pr-triage skills (supports pbcopy, xclip, wl-copy) - Add argument-hint metadata to worktree command files - Update rust-rtk agent model from pinned ID to "sonnet" alias - Remove hardcoded absolute paths from diagnose.md - Add .rtk/filters.toml project-local filter config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Florian BRUNIAUX <florian@bruniaux.com>
📊 Automated PR Analysis
SummaryMigrates several skills from flat .md files to directory-based structure with SKILL.md, adds argument-hint metadata to worktree commands, introduces a cross-platform clipboard helper, removes hardcoded absolute paths, and switches a model reference to use an alias instead of a pinned ID. Review Checklist
Analyzed automatically by wshm · This is an automated analysis, not a human review. |
There was a problem hiding this comment.
Pull request overview
This PR updates the repo’s Claude Code configuration by migrating several skills to the directory-based SKILL.md format, improving UX metadata for commands, and adding a project-local RTK filter configuration template.
Changes:
- Add project-local
.rtk/filters.tomltemplate file for custom filters. - Update Claude skills (
repo-recap,issue-triage,pr-triage,security-guardian,ship) with metadata and cross-platform clipboard helper; remove legacy.claude/skills/performance.md. - Add
argument-hintmetadata to worktree-related command files, updaterust-rtkagent model tosonnet, and remove hardcoded absolute paths indiagnose.md.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.rtk/filters.toml |
Adds a committable template for project-local RTK filters. |
.claude/skills/ship/SKILL.md |
Adds skill metadata (allowed-tools). |
.claude/skills/security-guardian/SKILL.md |
Adds skill metadata (allowed-tools). |
.claude/skills/repo-recap/SKILL.md |
Adds skill metadata + cross-platform clipboard helper instructions. |
.claude/skills/pr-triage/SKILL.md |
Replaces pbcopy with cross-platform clipboard helper. |
.claude/skills/issue-triage/SKILL.md |
Replaces pbcopy with cross-platform clipboard helper. |
.claude/skills/performance.md |
Removes legacy flat skill file. |
.claude/commands/worktree.md |
Adds argument-hint for UI/UX. |
.claude/commands/worktree-status.md |
Adds argument-hint for UI/UX. |
.claude/commands/tech/worktree.md |
Adds argument-hint for UI/UX. |
.claude/commands/tech/worktree-status.md |
Adds argument-hint for UI/UX. |
.claude/commands/tech/remove-worktree.md |
Adds argument-hint for UI/UX. |
.claude/commands/tech/codereview.md |
Adds argument-hint for UI/UX. |
.claude/commands/diagnose.md |
Removes hardcoded absolute paths in instructions. |
.claude/agents/rust-rtk.md |
Switches model from pinned ID to sonnet alias. |
Comments suppressed due to low confidence (4)
.claude/skills/repo-recap/SKILL.md:4
allowed-toolsis declared as a single YAML scalar string here, while other skills in this repo typically use a YAML sequence (e.g.allowed-tools:\n - Bash\n - Read ...). To keep the skill frontmatter consistent and less error-prone for parsers, please switch this to the same list/array style used in the otherSKILL.mdfiles.
.claude/skills/security-guardian/SKILL.md:4allowed-toolsis a scalar string here, whereas most other skills use a YAML list. For consistency (and to avoid tooling expecting a list), consider changing this to the sameallowed-tools:list format used in the rest of.claude/skills/*/SKILL.md.
.claude/skills/ship/SKILL.md:4allowed-toolsis provided as a single string here; other skills use a YAML list. Please align this frontmatter to the repo’s common format (YAML sequence or bracket list) to reduce the risk of the skill system mis-parsing tool permissions.
.claude/skills/repo-recap/SKILL.md:149clip()falls back tocat, which just re-prints the recap rather than copying it. That conflicts with the instruction to confirm that the recap was copied to the clipboard. Please tweak the fallback path (warning/error or conditional confirmation) so behavior and instructions stay consistent.
| # Cross-platform clipboard | ||
| clip() { | ||
| if command -v pbcopy &>/dev/null; then pbcopy | ||
| elif command -v xclip &>/dev/null; then xclip -selection clipboard | ||
| elif command -v wl-copy &>/dev/null; then wl-copy | ||
| else cat | ||
| fi |
There was a problem hiding this comment.
In the clip() helper, the fallback branch uses cat, which does not copy anything to the clipboard. That makes the subsequent instruction to confirm "copied to clipboard" incorrect on systems without pbcopy/xclip/wl-copy. Consider either (1) emitting a clear warning and skipping the "copied" confirmation, or (2) returning a non-zero status and instructing the user to install a clipboard tool.
| # Cross-platform clipboard | ||
| clip() { | ||
| if command -v pbcopy &>/dev/null; then pbcopy | ||
| elif command -v xclip &>/dev/null; then xclip -selection clipboard | ||
| elif command -v wl-copy &>/dev/null; then wl-copy | ||
| else cat | ||
| fi |
There was a problem hiding this comment.
clip() falls back to cat, which doesn’t copy to clipboard, but the surrounding text instructs to confirm the table was copied. Please adjust the fallback behavior/message so the skill doesn’t claim clipboard copy succeeded when no clipboard utility is available.
Convert .claude/skills/performance.md to .claude/skills/performance/SKILL.md to match the same structure as repo-recap, security-guardian, and ship. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Florian BRUNIAUX <florian@bruniaux.com>
Summary
repo-recap,security-guardian,shipskills from flat.mdfiles to proper skill directories withSKILL.mdinsideperformance.md(no replacement)clip()clipboard helper inissue-triageandpr-triageskills (pbcopy / xclip / wl-copy)argument-hintmetadata to worktree command filesrust-rtkagent model from pinned ID (claude-sonnet-4-5-20250929) tosonnetaliasdiagnose.md.rtk/filters.tomlproject-local filter configTest plan
clip()helper on macOS (pbcopy) and Linux (xclip/wl-copy)rtk verifypasses with new.rtk/filters.toml🤖 Generated with Claude Code