From MJ-plan
TDD + Clean Architecture coding plan generator. Use when user types "/MJ-plan", "코딩 플랜", "플랜 생성", "TDD 플랜", "clean architecture plan", or wants to generate an implementation plan using TDD and Clean Architecture with 4 specialized agents (domain-analyst, arch-designer, tdd-strategist, checklist-builder).
How this skill is triggered — by the user, by Claude, or both
Slash command
/MJ-plan:MJ-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`plan-lead` 에이전트가 4개의 전문 Claude AI 에이전트 팀을 조율하여 TDD + Clean Architecture 기반의 즉시 실행 가능한 코딩 플랜을 생성합니다.
plan-lead 에이전트가 4개의 전문 Claude AI 에이전트 팀을 조율하여 TDD + Clean Architecture 기반의 즉시 실행 가능한 코딩 플랜을 생성합니다.
main context는 plan-lead 하나만 스폰하고, plan-lead가 팀 오케스트레이션 전체를 담당합니다. 이 방식으로 main context에 4개 에이전트의 raw output이 누적되지 않아 토큰 효율이 높습니다.
/MJ-plan "기능 설명"
/MJ-plan --lang typescript "기능 설명"
/MJ-plan --output docs/plans "기능 설명"
/MJ-plan --lang python --output src/plans "기능 설명"
입력값에서 다음을 추출합니다:
FEATURE = 큰따옴표 안의 텍스트, 또는 옵션 제외 나머지 텍스트
LANG = --lang [언어] (미지정 시 "미지정 (plan-lead가 코드베이스에서 추론)")
OUTPUT = --output [경로] (미지정 시 ".tdd-plans")
기능 설명이 없으면 사용자에게 요청 후 중단:
❓ 플랜을 생성할 기능을 설명해주세요.
예: /MJ-plan "사용자 인증 시스템 (이메일+비밀번호, JWT)"
🚀 MJ-plan TDD Clean Planner 시작
📋 기능: [FEATURE]
🌐 언어: [LANG 또는 "자동 감지"]
📁 출력: [OUTPUT]/
plan-lead 에이전트가 4개 전문 에이전트 팀을 조율합니다...
if [ -n "$CMUX_SOCKET_PATH" ]; then
cmux set-status "mj-plan" "running" --icon "gear"
cmux set-progress 0.1 --label "MJ-plan 시작: plan-lead 스폰 중..."
fi
다음과 같이 plan-lead를 단일 Task로 스폰합니다:
Task(
subagent_type: "general-purpose",
name: "plan-lead",
model: "sonnet",
prompt: "당신은 MJ-plan의 plan-lead입니다. 아래 컨텍스트로 플랜을 생성하세요.
FEATURE: [FEATURE]
LANG: [LANG]
OUTPUT_DIR: [OUTPUT]
plan-lead.md 프로토콜을 따라 4개 에이전트 팀을 오케스트레이션하고 PLAN.md를 생성하세요."
)
plan-lead가 4개 에이전트 조율, 파일 생성, PLAN.md 합성을 모두 처리합니다. plan-lead 완료 후 완료 결과를 사용자에게 전달합니다.
# cmux 환경: 완료 알림
if [ -n "$CMUX_SOCKET_PATH" ]; then
cmux set-progress 1.0 --label "PLAN.md 생성 완료"
cmux notify --title "MJ-plan 완료" --body "PLAN.md 생성됨 — [FEATURE]"
cmux set-status "mj-plan" "done" --icon "checkmark"
fi
/experiencing version-up plan 으로 버전 증가/plan-design-review는 각 디자인 차원(타이포그래피, 색상, 공간, 인터랙션, 반응형)을 0-10으로 평가 후 플랜을 수정. 코딩 전에 디자인 문제를 잡는 것이 훨씬 저렴./office-hours는 "이 기능이 정말 필요한가?", "더 단순한 대안은?" 같은 forcing questions를 먼저 던져 범위를 검증함. 이를 통해 불필요한 복잡성을 사전에 제거.bun run build 실행 시 rollup native 모듈 에러 발생DONE_WITH_CONCERNS로 보고하여 혼동 없이 진행 가능했음.DONE_WITH_CONCERNS로 명확히 구분하여 보고해야 함.try { await sideEffect() } catch {} 패턴을 명시적으로 문서화. 스냅샷 테이블은 (table_name, device_id) 복합 키로 도메인+기기 격리, 쓰기 시 MAX_SNAPSHOTS 초과분 즉시 prune-on-write.GET /blocks/{parent_id}/children로 child_page 블록 ID를 얻고, 다시 GET /blocks/{child_page_id}/children으로 table 블록을 얻어야 함. 1회 API 호출로 가정하면 데이터 없음 → 빈 결과.git pull --rebase로 시도하니 4개 파일(App.tsx, PortalManager, SetupWizard, api-server) 충돌, 그 중 App.tsx는 원격이 더 정교한 통합 모달(projectModalTab)을 이미 만들어 둔 상태 → 충돌 마커 5개 hunk, 수동 머지 도중 잘못된 마커 결합으로 코드 깨짐 → rebase abort.git merge origin/main 후 git checkout --theirs <conflicted files>로 원격 우선 채택, 그다음 신규 파일(src/lib/env.ts 등)과 추가 라인(env import 1줄, Vercel hide 가드 등)만 layered patch로 재적용하면 안전. 핵심: 무엇을 "내 고유 추가분"으로 분리할 수 있는지 사전 식별.git fetch origin && git log HEAD..origin/main --oneline | wc -l 로 차이 확인, 5커밋 이상 차이면 merge 우선 검토.Provides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.
npx claudepluginhub nh-investment-squad1/mjncompany_2-0 --plugin MJ-plan