my-session-wrap/skills/cp/SKILL.md
경량 commit-push — 변경사항 분석 → 커밋 → 푸쉬 (remote 있을 때만). Triggers: 'cp', 'commit and push', '커밋', '푸시', 'commit push', '변경사항 커밋'
npx skillsauth add ahnbu/my-claude-plugins cpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
변경사항을 분석하여 커밋 메시지를 자동 생성하고 commit + push를 수행하는 경량 커맨드. 각 파일이 속한 git 레포 루트를 감지하여 레포별로 개별 commit + CHANGELOG 업데이트를 수행한다.
/cp — 변경사항 분석 후 자동 커밋메시지 생성, commit (+ push if remote exists)/cp [message] — 지정된 메시지로 commit (+ push if remote exists)스크립트 1회 호출로 세션 변경 파일 → 레포 감지 → 그룹핑을 한 번에 수행한다:
node ~/.claude/my-claude-plugins/shared/find_save_target.js <sessionId>
sessionId: system-reminder의 [session_id=XXXX] 값{ modified_files, git_repos: [{root, files, file_count}], non_repo_files, recommended_repo }git_repos[] → 커밋 대상 레포 목록으로 사용non_repo_files[] → "git 레포 아님 — 스킵" 안내각 레포의 실제 변경 상태를 파악한다:
git -C "<REPO>" status --short
git -C "<REPO>" diff --stat
git -C "<REPO>" diff --cached --stat
그룹핑 결과를 사용자에게 표시:
📂 감지된 레포 (N개):
- <레포루트A> (M files)
- <레포루트B> (K files)
모든 레포에 변경사항이 없으면 "커밋할 내용이 없습니다." 출력 후 종료.
각 레포 루트(<REPO>)에 대해 아래 2-1~2-4를 순차 실행한다. 변경사항이 없는 레포는 스킵.
git_repos[i].files[]를 그대로 사용하여 add:
git -C "<REPO>" add <git_repos[i].files 목록>
git add -A 사용 금지. 민감파일(.env, credentials 등) 제외사용자가 메시지를 제공한 경우 그대로 사용.
제공하지 않은 경우 자동 생성:
git -C "<REPO>" diff --cached를 분석하여 변경 내용 파악type(scope): 한 줄 요약멀티 레포 맥락 반영 가이드:
스크립트로 CHANGELOG 행을 삽입한다 (없으면 자동 생성):
node ~/.claude/my-claude-plugins/shared/changelog-add-row.mjs \
--repo "<REPO>" \
--type <type> \
--scope "<scope>" \
--desc "<변경 내용>" \
[--version <semver>]
--version: plugin.json 버전이 변경된 경우만 지정, 없으면 생략 (- 자동)⚠️ 여러 커밋으로 분리할 때 필수 순서
커밋1: CHANGELOG에 커밋1 내용만 기록 → git add CHANGELOG.md + 소스 → git commit 커밋2: CHANGELOG에 커밋2 내용만 추가 기록 → git add CHANGELOG.md + 소스 → git commit ※ CHANGELOG를 여러 커밋분 한꺼번에 수정하면 이 hook에서 차단된다.
COAUTHOR=$(node "$HOME/.claude/skills/session-find/scripts/detect-runtime.mjs" --coauthor)
git -C "<REPO>" commit -m "$([ -n "$COAUTHOR" ] && printf 'type(scope): 요약\n\n%s' "$COAUTHOR" || echo 'type(scope): 요약')"
커밋 후 remote 확인:
git -C "<REPO>" push 실행. 실패 시 에러 메시지를 보여주고 다음 레포로 계속.모든 레포 처리 완료 후 성공/실패를 구분하여 표시. 실패한 레포가 있어도 다른 레포는 계속 진행한다.
📂 C:/Users/ahnbu/.claude/my-claude-plugins
✓ [abc1234] docs(cp): 멀티 레포 지원 추가
✓ pushed to origin/main
📂 C:/Users/ahnbu/project-x
✓ [def5678] feat(config): 설정 파일 업데이트
ℹ 로컬 전용 레포 — push 생략
📂 C:/Users/ahnbu/other-project
❌ 커밋 실패: <에러 메시지>
tools
스킬별 컨텍스트 소모량 리포트. 각 스킬 호출이 cp%를 얼마나 소모하는지 집계. Triggers: 'skill-context', 'skill context', '스킬 컨텍스트', '스킬 소모', '컨텍스트 비용'
tools
--- name: session-timeline description: Generate a per-session execution timeline from Claude Code JSONL logs. Triggers: "session timeline", "세션 타임라인", "소요시간 정리", "tool wait", "turn_duration". --- # Session Timeline 특정 Claude Code 세션 ID의 시간축을 복원한다. ## Workflow 1. `sessionId`를 받는다. 2. `scripts/session_timeline.js`를 실행해 timeline을 생성한다. 3. 기본은 markdown, 분석 파이프라인 연결 시 `--format json`을 사용한다. 4. 대형 `tool_result`는 원문 대신 persisted output 경로와 요약만 유지한다. ## Command ```bash node skills/session-timelin
development
This skill should be used when the user asks to "analyze session", "세션 분석", "evaluate skill execution", "스킬 실행 검증", "check session logs", "로그 분석", provides a session ID with a skill path, or wants to verify that a skill executed correctly in a past session. Post-hoc analysis of Claude Code sessions to validate skill/agent/hook behavior against SKILL.md specifications.
tools
세션 마무리: handoff 문서 저장 + git commit. /wrap 슬래시 명령어로만 실행.