plugins/mst/skills/claude/SKILL.md
Claude provider 전용 managed delegation entrypoint. 사용자가 '클로드로 실행', '클로드 서브에이전트'를 말하거나 /mst:claude를 호출할 때 사용한다. Gran Maestro 워크플로우 내 claude-dev 태스크 디스패치는 이 protected path를 경유한다.
npx skillsauth add myrtlepn/gran-maestro claudeInstall 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.
PM Conductor 원칙 유지 목적으로 Claude provider 작업은 mst.py run lifecycle wrapper가 소유하는 managed delegation path로 위임한다. 직접 Claude one-shot print-mode argv를 구현 지침으로 노출하지 않으며, Codex/Gemini와 동일하게 provider subprocess detail은 runtime 내부 계약으로 취급한다.
이 entrypoint는 구현/분석 위임 시 prompt-file path와 context file path를 먼저 전달하는 wrapper-owned lifecycle boundary다. --prompt-file이 있으면 prompt-file path가 canonical prompt source이며, wrapper는 prompt source tracking과 함께 worktree path, task id, trace label, running log, exit code propagation을 공통 lifecycle evidence로 남긴다.
caller-facing dispatch contract와 wrapper-owned runtime contract는 분리하되 같은 lifecycle boundary를 공유한다. dispatch caller는 --prompt-file, --dir, --trace를 넘기고, wrapper는 같은 dispatch scope에서 --task-id, --provider, --model, --log-dir, running log path, trace path, exit code propagation을 파생하거나 고정한다.
[CONTEXT_FILES]
- objective: {path or NO_LINKED_OBJECTIVE}
- objective_ids: {path or NO_OBJECTIVE_IDS}
- plan: {path or NO_SOURCE_PLAN}
- plan_json: {path or NO_PLAN_JSON}
- plan_ids: {path or NO_PLAN_IDS}
- spec: {path}
- spec_context_manifest: {path or NO_CONTEXT_MANIFEST}
- previous_feedback: {path or N/A}
[/CONTEXT_FILES]
[WORK_CONTRACT]
- read_requirements: 구현 전 위 context file path와 spec_context_manifest를 직접 Read/inspection한다.
- output_contract: prompt-file path, worktree path, task id, trace label, running log path, output artifact 또는 completion report를 보고한다.
- verification_contract: verify_cmd, expected_signal, trace path, exit code propagation을 보고한다.
- failure_contract: timeout, empty result, blocked, missing_context, NO_SOURCE_PLAN, NO_CONTEXT_MANIFEST를 구조화해 남긴다.
[/WORK_CONTRACT]
mst.py run이 register, heartbeat, running log tee, trace, session metadata, cwd/worktree binding, output/failure contract를 소유한다.<!-- @end-include -->경로 규칙 (MANDATORY): 이 스킬의 모든
.gran-maestro/경로는 절대경로로 사용합니다. 스킬 실행 시작 시PROJECT_ROOT를 취득하고, 이후 모든 경로에{PROJECT_ROOT}/접두사를 붙입니다.PROJECT_ROOT=$(pwd)
{PLUGIN_ROOT}는 이 스킬의 "Base directory"에서skills/{스킬명}/을 제거한 절대경로입니다. 상대경로(.claude/...)는 절대 사용하지 않습니다.
$ARGUMENTS 파싱:
--prompt-file {경로}: 프롬프트 파일 경로 (우선)--dir {경로}: 작업 디렉토리 (worktree 경로)--trace {REQ-ID}/{TASK-NUM}/{label}: trace 파일 저장 경로프롬프트 준비:
--prompt-file이 있으면: 파일 내용을 provider prompt payload로 전달한다.Managed Claude delegation 실행 (wrapper 경유):
MODEL=$(python3 {PLUGIN_ROOT}/scripts/mst.py resolve-model claude default 2>/dev/null || echo "sonnet")
python3 {PLUGIN_ROOT}/scripts/mst.py run is the canonical lifecycle boundary.--task-id, --provider claude, --model "$MODEL", --log-dir "{task_dir}".--trace "{REQ-ID}/{TASK-NUM}/{label}".{prompt_file}.--prompt-file {prompt_file}, --dir {worktree_path}, --trace {REQ-ID}/{TASK-NUM}/{label}--task-id {task_id}, --provider claude, --model "$MODEL", --log-dir {task_dir}{task_dir}/running.log, {task_dir}/traces/claude-{label}-{YYYYMMDD-HHmmss}.md, register/heartbeat/session metadata, exit code propagation--trace가 있으면 wrapper가 trace 파일 저장:
claude-{label}-{YYYYMMDD-HHmmss}.md{task_dir}/traces/결과 반환
--trace 모드: Trace 문서 작성 후 부모 컨텍스트에는 exit code만 반환한다 (전체 결과 출력 안 함; 필요 시 Read 도구로 파일 접근).
반환 후 부모 스킬의 후속 단계를 계속 진행한다. 추가 설명, 요약 등 부가 텍스트 출력 절대 금지.
--trace 미제공 시: 서브에이전트 결과만 간결하게 반환한다. 추가 설명, 요약 등 부가 텍스트 출력 절대 금지.
금지 마커 (MANDATORY): 이 스킬은
NEXT_ACTION,step=returned,[MST skill=...]마커를 절대 출력하지 않는다. 이 마커들은 부모 스킬(approve 등)의 책임이며, 서브스킬이 출력하면 부모가 "이미 처리됨"으로 혼동한다.
Exit Code 캡처 (MANDATORY):
mst.py run의 종료 코드를 반드시 확인한다. 0이 아니어도 trace의exit_code필드에 해당 값을 반드시 기록한다.
codex exec ... 실행gemini -p ... 실행/mst:claude managed delegation과 lifecycle evidence다.저장 경로: {task_dir}/traces/claude-{label}-{YYYYMMDD-HHmmss}.md
내용: YAML frontmatter 메타데이터 (wrapper 출력 형식)
---
task_id: {task_id}
provider: claude
model: {resolved_model}
trace_label: {REQ-ID}/{TASK-NUM}/{label}
started_at: {ISO8601}
terminated_at: {ISO8601}
duration_ms: {실행시간(ms)}
exit_code: {종료 코드}
running_log_path: {log_dir}/running.log
---
/mst:claude "README의 설치 섹션을 업데이트해줘"
/mst:claude --prompt-file .gran-maestro/requests/REQ-001/tasks/01/prompts/phase2-impl.md --dir .gran-maestro/worktrees/REQ-001-01 --trace REQ-001/01/phase2-impl
agile Sprint loop에서 컨텍스트 압박이 심해질 때, sub-plan 전체 체인(plan→request→approve→accept)을 /mst:claude managed delegation으로 격리 실행할 수 있다. 이는 옵션 A(수동 escape hatch)로 제공되며, Sprint loop 자체를 우회하지 않고 plan/request/approve/accept 게이트를 모두 유지한다.
# 부모 세션에서 sub-plan worktree를 만들고 /mst:claude managed delegation으로 전체 체인 실행
/mst:claude --dir .gran-maestro/worktrees/AGI-001/sprint-3/sub-plan-2 \
"/mst:plan -a '사용자 프로필 편집 기능' && /mst:request -a --plan PLN-NNN && /mst:approve -a && /mst:accept"
{PROJECT_ROOT}/.gran-maestro/worktrees/AGI-NNN/sprint-N/sub-plan-M/
격리 실행 완료 후 부모 Sprint 세션에서 다음을 확인:
.gran-maestro/requests/REQ-NNN/request.json)git -C {worktree_path} log -1 --format=%H)sprints/sprint-N/result.json)auto-decisions.md 또는 retrospective.md에 격리 실행 사유와 결과를 기록해야 합니다 (Anti-Rationalization Checklist 준수)./mst:claude가 유지한다.config.agile.dispatch.enabled와 config.agile.dispatch.provider를 기준으로 provider-neutral하게 분기합니다. agile.dispatch.provider=claude일 때만 이 /mst:claude managed path가 사용됩니다.tools
Internal shared include material for Gran Maestro skills. This is not a user-invocable workflow.
development
화면 설계, 컴포넌트 구조, 인터랙션 흐름, 디자인 시스템을 설계하는 Design Wing 템플릿 스킬. PM Conductor가 변수를 치환하여 /mst:codex로 실행.
development
Stitch SDK를 사용해 UI 화면을 설계합니다. 명시적 디자인 요청, 새 화면 추가, 전체 디자인 변경 시 사용.
tools
Codex CLI 프로젝트에 oh-my-codex(OMX)를 설치·초기화·gitignore 등록·AGENTS.md 주입하는 4단계 자동화를 수행합니다. 사용자가 'OMX 설치', 'oh-my-codex 설정', '/mst:setup-omx'를 호출할 때 사용.