Claude-skill-registry-data meta-workflow
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/meta-workflow" ~/.claude/skills/majiayu000-claude-skill-registry-data-meta-workflow && rm -rf "$T"
manifest:
data/meta-workflow/SKILL.mdsource content
시스템 메시지: 이 Skill이 호출되면
시스템 메시지를 첫 줄에 출력[SEMO] - [META] Skill: meta-workflow 호출 - {작업 요약}
meta-workflow Skill
Purpose: Meta 환경에서 semo-system/ 수정 작업의 End-to-End 워크플로우 관리
기본 활성화
Meta 패키지 설치 시 이 스킬이 기본 동작으로 실행됩니다.
별도의
[Meta] 프리픽스 없이도, Meta 환경에서 semo-system/ 수정이 감지되면 자동으로 버저닝 → 배포 → 로컬 동기화 체인이 실행됩니다.
트리거 조건
| 조건 | 동작 |
|---|---|
| Meta 패키지 설치 + semo-system/ 수정 | 자동으로 meta-workflow 체인 실행 |
프리픽스 | 명시적 Meta 작업 요청 |
| 작업 완료 감지 (파일 변경) | 자동 버저닝 → 배포 → 동기화 |
NON-NEGOTIABLE Rules
- Meta 환경 필수:
존재 확인semo-system/meta/ - 버저닝 필수: 작업 완료 후
자동 호출skill:version-manager - 로컬 동기화 필수: git push 후 심볼릭 링크 재생성
- Slack 알림 필수: 배포 완료 후
호출skill:notify-slack
Workflow
[요청 수신] ↓ Phase 1: 환경 검증 - meta 패키지 설치 확인 - GitHub 인증 확인 (gh auth status) - 현재 브랜치 확인 (main 권장) ↓ Phase 2: 작업 수행 - semo-system/ 내 파일 수정 - 기존 스킬 활용 (skill-creator, write-code 등) ↓ Phase 3: 버저닝 & 배포 - 변경된 패키지 VERSION 범프 - CHANGELOG 생성 - git commit & push - Slack 알림 ↓ Phase 4: 로컬 동기화 - 심볼릭 링크 재생성 - .claude/CLAUDE.md 재생성 (필요 시)
🔴 모노레포 구조 (NON-NEGOTIABLE)
SEMO는 모노레포 구조입니다. 반드시 올바른 경로에서 작업하세요.
디렉토리 구조
/path/to/project/ # 사용자 프로젝트 (git repo 아님) ├── .claude/ # Claude 설정 (심링크) ├── semo-system/ # 로컬 심링크 타겟 │ └── ... (심링크) │ └── semo/ # ← 실제 모노레포 (semicolon-devteam/semo) ├── .git/ # git 레포지토리 ├── packages/ │ ├── cli/ # @team-semicolon/semo-cli │ └── mcp-server/ # @team-semicolon/semo-mcp └── semo-system/ # ← 실제 SEMO 패키지 소스 ├── semo-core/ ├── semo-skills/ ├── semo-hooks/ └── meta/
모노레포 감지
# 모노레포 경로 찾기 MONOREPO_PATH="" if [ -d "semo/.git" ]; then MONOREPO_PATH="semo" elif [ -d "../semo/.git" ]; then MONOREPO_PATH="../semo" fi if [ -z "$MONOREPO_PATH" ]; then echo "❌ 모노레포를 찾을 수 없습니다" exit 1 fi echo "✅ 모노레포 경로: $MONOREPO_PATH"
작업 위치 규칙
| 작업 유형 | 경로 | 설명 |
|---|---|---|
| 스킬/에이전트 수정 | semo/semo-system/ | 모노레포 내 실제 소스 |
| CLI 수정 | semo/packages/cli/ | npm 패키지 |
| git 커밋/푸시 | semo/ | 모노레포 루트 |
| 로컬 심링크 | ./semo-system/ | 사용자 프로젝트 |
Phase 1: 환경 검증
모노레포 확인
# 모노레포 경로 및 원격 확인 cd semo 2>/dev/null || cd ../semo 2>/dev/null git remote -v | grep "semicolon-devteam/semo"
Meta 환경 확인
# Meta 패키지 설치 확인 (모노레포 내) if [ -d "semo-system/meta" ]; then echo "✅ Meta 환경 확인됨" else echo "❌ Meta 패키지가 설치되어 있지 않습니다" exit 1 fi
GitHub 인증 확인
gh auth status
브랜치 확인
git branch --show-current # main 브랜치가 아닌 경우 경고 표시
Phase 2: 작업 수행
사용자 요청에 따라 semo-system/ 내 파일을 수정합니다.
동작 범위
- 에이전트, 커맨드, 원칙semo-system/semo-core/
- 통합 스킬semo-system/semo-skills/
- 메타 스킬/에이전트semo-system/meta/
- 원격 통합semo-system/semo-remote/
- 훅 시스템semo-system/semo-hooks/
활용 가능한 스킬
| 스킬 | 용도 |
|---|---|
| 새 스킬 생성 |
| 에이전트 관리 |
| 커맨드 관리 |
Phase 3: 버저닝 & 배포
변경 패키지 감지
# git diff로 변경된 패키지 감지 git diff --name-only HEAD | grep "semo-system/" | cut -d'/' -f2 | sort -u
VERSION 범프 규칙
| 변경 유형 | 버전 범프 |
|---|---|
| Breaking Change | MAJOR (x.0.0) |
| 새 기능 추가 | MINOR (0.x.0) |
| 버그 수정, 문서 | PATCH (0.0.x) |
버저닝 체인
1. VERSION 파일 범프 2. CHANGELOG/{version}.md 생성 3. git add & commit 4. git push origin main 5. skill:notify-slack 호출
Slack 알림 형식
🚀 SEMO 배포 완료 패키지: {package_name} 버전: {old_version} → {new_version} 변경: {change_summary}
Phase 4: 로컬 동기화
git push 완료 후 항상 자동 실행
동기화 대상
# 심볼릭 링크 재생성 .claude/skills/* → semo-system/semo-skills/* .claude/agents/* → semo-system/semo-core/agents/* # Meta 포함 (설치된 경우) .claude/skills/* → semo-system/meta/skills/* .claude/agents/* → semo-system/meta/agents/*
동기화 명령
# 기존 심볼릭 링크 정리 및 재생성 # (semo-cli의 createStandardSymlinks 로직 활용) # 1. 기존 스킬 심볼릭 링크 정리 find .claude/skills -type l -delete # 2. semo-skills 재링크 for skill in semo-system/semo-skills/*/; do skill_name=$(basename "$skill") ln -sf "../../semo-system/semo-skills/$skill_name" ".claude/skills/$skill_name" done # 3. meta 스킬 재링크 (있는 경우) if [ -d "semo-system/meta/skills" ]; then for skill in semo-system/meta/skills/*/; do skill_name=$(basename "$skill") ln -sf "../../semo-system/meta/skills/$skill_name" ".claude/skills/$skill_name" done fi # 4. CLAUDE.md 재생성 (스킬 목록 업데이트) # → semo-cli regenerateClaudeMd 호출 또는 수동 업데이트
동기화 완료 메시지
[SEMO] - [META] Skill: meta-workflow 완료 ✅ 버저닝: {package} {old} → {new} ✅ 원격 배포: git push 완료 ✅ Slack 알림: 전송 완료 ✅ 로컬 동기화: 심볼릭 링크 재생성 완료
Related Skills
- 버저닝 자동화version-manager
- Slack 알림notify-slack
- 스킬 생성skill-creator
- 패키지 검증package-validator
- 패키지 동기화package-sync