From fb7c434f9b97b5ed7a86e8363690b6ca3e4f5d67 Mon Sep 17 00:00:00 2001 From: nkoji21 <133028205+nkoji21@users.noreply.github.com> Date: Sun, 29 Mar 2026 17:33:56 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix(install):=20=E5=90=84=E3=82=A8=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=83=B3=E3=83=88=E3=81=AEskills=E3=82=B7?= =?UTF-8?q?=E3=83=B3=E3=83=9C=E3=83=AA=E3=83=83=E3=82=AF=E3=83=AA=E3=83=B3?= =?UTF-8?q?=E3=82=AF=E3=82=92=E5=85=AC=E5=BC=8F=E4=BB=95=E6=A7=98=E3=81=AB?= =?UTF-8?q?=E5=90=88=E3=82=8F=E3=81=9B=E3=81=A6=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .cursor/skills | 1 + install.sh | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) create mode 120000 .cursor/skills diff --git a/.cursor/skills b/.cursor/skills new file mode 120000 index 0000000..2b7a412 --- /dev/null +++ b/.cursor/skills @@ -0,0 +1 @@ +../.agents/skills \ No newline at end of file diff --git a/install.sh b/install.sh index cf5c6c4..dad1282 100755 --- a/install.sh +++ b/install.sh @@ -47,6 +47,7 @@ mkdir -p ~/.local/share/sheldon mkdir -p ~/.cursor mkdir -p ~/.claude mkdir -p ~/.codex +mkdir -p ~/.agents # Symlink home directory files ln -sfn "$DOTFILES_DIR/.gitconfig" ~/.gitconfig @@ -60,14 +61,13 @@ ln -sfn "$DOTFILES_DIR/.cursor/commands" ~/.cursor/commands ln -sfn "$DOTFILES_DIR/.cursor/rules" ~/.cursor/rules ln -sfn "$DOTFILES_DIR/.cursor/skills" ~/.cursor/skills -# Symlink .claude files +# Symlink skills for each agent +# Claude Code: ~/.claude/skills ln -sfn "$DOTFILES_DIR/.claude/skills" ~/.claude/skills - -# Symlink .codex skills individually (cannot symlink the whole dir as ~/.codex is managed by Codex) -for skill_dir in "$DOTFILES_DIR/.agents/skills"/*/; do - skill_name=$(basename "$skill_dir") - ln -sfn "$skill_dir" ~/.codex/skills/"$skill_name" -done +# Codex: ~/.agents/skills (user-level global path per https://developers.openai.com/codex/skills) +ln -sfn "$DOTFILES_DIR/.agents/skills" ~/.agents/skills +# Cursor: ~/.cursor/skills (user-level global path per https://cursor.com/docs/skills) +ln -sfn "$DOTFILES_DIR/.cursor/skills" ~/.cursor/skills # Symlink .config subdirectories ln -sfn "$DOTFILES_DIR/mise/config.toml" ~/.config/mise/config.toml From 9b97995dcf00411e6ca986a7757eb8cbf2d64e63 Mon Sep 17 00:00:00 2001 From: nkoji21 <133028205+nkoji21@users.noreply.github.com> Date: Wed, 1 Apr 2026 19:13:03 +0900 Subject: [PATCH 2/2] feat(skills): add PR granularity check to git-pr Before creating a PR, the skill now groups changed files by concern and stops to suggest splitting if changes span 2+ unrelated areas (e.g. feature + infra). Threshold: ~400 lines or 3+ concerns. Co-Authored-By: Claude Sonnet 4.6 --- .agents/skills/git-pr/SKILL.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.agents/skills/git-pr/SKILL.md b/.agents/skills/git-pr/SKILL.md index d56be0f..b6df183 100644 --- a/.agents/skills/git-pr/SKILL.md +++ b/.agents/skills/git-pr/SKILL.md @@ -24,8 +24,12 @@ Review current branch changes and autonomously create a PR as draft. If a `--path ` argument is provided (e.g. invoked as `git-pr --path /tmp/feat-foo`), all git and gh commands must be run inside that directory by prepending `cd &&` to every Bash command. This overrides the current working directory. 1. Run `git log --oneline main..HEAD` and `git diff main...HEAD` to understand the changes -2. If a PR template exists in the project, follow it -3. Autonomously decide the PR title and body, then create it with `gh pr create --draft` +2. **Granularity check**: Before writing the PR, assess whether the changes belong to a single concern: + - Group changed files by what they do (feature, test, config, infra, docs, etc.) + - If changes span 2+ unrelated concerns (e.g. a feature AND an infra fix), stop and tell the user which concerns were identified and suggest splitting into separate PRs. Do not create the PR until the user confirms to proceed as-is or asks you to split. + - A PR is appropriately sized if a reviewer can understand it in one sitting. More than ~400 changed lines or 3+ unrelated concerns is a signal to split. +3. If a PR template exists in the project, follow it +4. Autonomously decide the PR title and body, then create it with `gh pr create --draft` ## PR Format (if no template exists)