Skip to content

feat: infra 자신에도 개발 스킬을 설치한다 - #33

Merged
m-a-king merged 3 commits into
mainfrom
feat/infra-self-skill-install
Aug 9, 2026
Merged

feat: infra 자신에도 개발 스킬을 설치한다#33
m-a-king merged 3 commits into
mainfrom
feat/infra-self-skill-install

Conversation

@m-a-king

@m-a-king m-a-king commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Situation

  • install.sh 는 개발 스킬(commit·gc·coderabbit·pr·issue·session-check·session-close)을 소비 repo 의 .claude/commands 에 설치하면서, infra 자신(self 모드)은 의도적으로 건너뛰었다. 명시된 근거는 둘: 버전 영역에 untracked 파일이 남는다, 그리고 "스킬은 소비 repo 를 위한 자산이고 infra 는 그 생산자다".
  • 그 전제가 실제 작업과 어긋났다. infra#32(Alloy positions 영속화)를 올릴 때 /pr 스킬이 없어 STAR 규약을 수동으로 따라야 했다. infra 에서도 커밋과 PR 이 똑같이 일어나므로, infra 는 생산자이면서 동시에 소비자다.

Task

  • infra 자신도 스킬 설치 대상에 포함하되, 원래 제외의 실질 근거였던 untracked 노이즈를 해소한다.

Action

  • 가드 완화: 스킬 설치 구간의 [ "$self" = 0 ] 가드를 걷어 self 모드에서도 설치한다. self 모드의 get() 은 이미 working tree 를 읽도록 되어 있어 추가 구현 없이 동작하고, 스킬 정본을 고치면 자기 세션에 즉시 반영되는 드라이푸딩 효과가 따라온다.
  • 노이즈 해소: .gitignore.claude/commands/ 를 추가했다 (기존 .claude/worktrees/ 와 같은 방식). 정본은 skills/ 가 유지하고 설치본은 버전 관리 밖에 둔다.
  • 규약 문서는 소비 repo 한정 유지: testing-principles 는 각 repo 의 CLAUDE.md 가 import 해야 효력이 있는데 infra 엔 CLAUDE.md 가 없고, JVM·Spring 원칙이라 infra 스택엔 대상도 아니다. 이 구간만 self = 0 가드를 남겼다.

Result

  • infra 세션도 SessionStart 부트스트랩(기존 self 모드 훅)만으로 /pr·/commit 등 같은 절차 스킬을 쓴다. 이 PR 이 머지된 뒤의 infra 작업부터는 수동 STAR 우회가 사라진다.
  • 검증: self 모드로 install.sh 를 실제 실행해 스킬 7개가 .claude/commands 에 설치되는 것, git status 에 설치본이 나타나지 않는 것(ignore 동작), 설치본이 skills/ 정본과 내용 일치하는 것을 확인했다.
  • 은퇴 회수 경로는 무변경으로 동작한다. is_managed_path 가 이미 $repo_root/.claude/commands/ 를 관리 경로로 포함하고 있어, 정본에서 스킬을 지우면 infra 설치본도 다음 실행에서 함께 걷힌다.

연관 이슈

Summary by CodeRabbit

  • 새로운 기능

    • 저장소 자체에서도 개발 스킬 명령어를 설치하고 사용할 수 있습니다.
    • 소비 저장소와 동일한 스킬 목록을 지원해 개발 환경 간 사용 경험이 일관됩니다.
  • 개선 사항

    • 설치 과정에서 규약 문서와 개발 스킬을 구분해 적용합니다.
    • .claude/commands/ 관련 파일이 불필요하게 추적되지 않도록 관리됩니다.

- self 모드가 스킬 설치를 건너뛰던 가드를 풀었다. "infra 는 생산자라 소비자가 아니다"던 전제가 실제 작업과 어긋났다. infra 에서도 커밋·PR 이 일어나며, infra#32 를 스킬 없이 수동 STAR 로 올린 것이 계기
- untracked 노이즈 우려는 .gitignore 에 .claude/commands/ 를 더해 해소 (worktrees 와 같은 방식)
- 규약 문서(testing-principles)는 소비 repo 한정 유지. infra 엔 import 할 CLAUDE.md 가 없고 JVM 원칙이라 대상이 아니다
- self 모드 get() 은 working tree 를 읽으므로 스킬 정본 수정이 자기 세션에 즉시 반영되는 드라이푸딩 효과가 따라온다
@m-a-king m-a-king added the feat 외부 가시적 새 기능 label Aug 9, 2026
@m-a-king m-a-king self-assigned this Aug 9, 2026
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@m-a-king, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 52 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: cdce5c1e-7870-4ee2-a92a-3b27f3ecc02c

📥 Commits

Reviewing files that changed from the base of the PR and between e6d3b79 and 2ddcce7.

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

Walkthrough

install.sh가 infra 저장소의 .claude/commands에도 개발 스킬을 설치합니다. 규약 문서는 소비 저장소에만 설치합니다. 생성된 스킬 파일은 Git 추적 대상에서 제외됩니다.

Changes

Self-mode 개발 스킬 설치

Layer / File(s) Summary
Self-mode 스킬 설치 및 생성 파일 제외
install.sh, .gitignore
install.sh가 self 모드에서도 로컬 스킬 정본을 .claude/commands에 설치합니다. 규약 문서 설치는 소비 저장소에만 유지합니다. .gitignore가 생성된 .claude/commands/ 경로를 무시합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • TeamPiKi/infra#4: install.sh의 self 모드와 .claude/commands 스킬 설치 동작을 직접 변경합니다.
  • TeamPiKi/infra#13: install.sh에서 prissue 스킬 설치를 제어합니다.
  • TeamPiKi/infra#17: 설치 가능한 스킬 목록에 session-checksession-close를 추가합니다.
🚥 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 제목은 infra 저장소 자체에 개발 스킬을 설치하는 핵심 변경을 정확하고 간결하게 설명합니다.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 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 `@install.sh`:
- Around line 203-206: README.md의 self 모드 설명을 찾아 개발 스킬 설치를 건너뛴다는 내용을 제거하고,
install.sh의 현재 정책에 맞게 commit, gc, coderabbit, pr, issue, session-check,
session-close 스킬이 self 모드에도 설치된다고 명시하세요.
- Around line 210-216: Keep the canonical skills files and their install_asset
entries synchronized so deleted skills are removed from the installed command
set. Prefer generating the installation list from the current skills/ files, or
otherwise enforce removing the corresponding install_asset call whenever a skill
file is deleted; add a regression test covering removal of the stale installed
command after fetch or validation failure.
🪄 Autofix

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 Plus

Run ID: 397b8bd7-e396-48fe-b738-8bc342fc8cb0

📥 Commits

Reviewing files that changed from the base of the PR and between 1858b0c and e6d3b79.

📒 Files selected for processing (2)
  • .gitignore
  • install.sh

Comment thread install.sh
Comment thread install.sh
m-a-king and others added 2 commits August 9, 2026 11:10
- 개발 스킬 SSOT 화 항목의 "self 모드는 스킵" 서술이 #33 의 정책 전환(self 모드에도 설치)과 어긋나 결정 로그 형식대로 전환 사실을 병기
- CodeRabbit 리뷰 수용
@m-a-king
m-a-king merged commit cb11320 into main Aug 9, 2026
3 checks passed
@m-a-king
m-a-king deleted the feat/infra-self-skill-install branch August 9, 2026 21:21
m-a-king added a commit that referenced this pull request Aug 10, 2026
- main 의 #33(infra 자신에도 스킬 설치)이 진행 상태 불릿을 수정해 삭제와 충돌했다. 로그 삭제는 유지하고, 바뀐 사실만 유지되는 구조 트리 주석에 흡수
m-a-king added a commit that referenced this pull request Aug 10, 2026
* docs: README 진행 상태 로그 삭제, 구조 트리 최신화

- 완료 트랙의 날짜별 작업 로그(진행 상태 섹션)를 삭제. 기록은 git 이력과 PR 이 소유한다
- 구조 트리에 observability.md·run_container·alloy 블록을 반영하고 SSH 단일 transport 확정을 본문에 반영 (로컬 체크아웃에 커밋되지 않은 채 남아 있던 문서 개선을 흡수)
- 전체 시스템 구성은 core README 를 참조하도록 한 줄 추가

* docs: blocks 주석에 관측 설정 포함을 명시하고 install.sh 주석을 규약 갈래로 한정

- blocks/ 를 순수 bash 로 서술했지만 alloy/ 의 config.alloy 는 관측 설정이라 불일치 (CodeRabbit 지적 수용)
- install.sh 가 배포 갈래(blocks·contracts)까지 설치한다는 오독이 나와, 설치 대상이 개발 규약 갈래뿐임을 주석에 명시. 배포 자산은 각 서비스 deploy 가 원격 fetch 로 소비한다

* docs: 스킬 설치 대상에 infra 자신 포함을 반영

- main 의 #33(infra 자신에도 스킬 설치)이 진행 상태 불릿을 수정해 삭제와 충돌했다. 로그 삭제는 유지하고, 바뀐 사실만 유지되는 구조 트리 주석에 흡수
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 외부 가시적 새 기능

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant