plugins/mst/skills/gemini/SKILL.md
Gemini CLI를 호출하여 대용량 컨텍스트 작업을 실행합니다. 사용자가 '제미니 실행', '제미니로', '대용량 분석'을 말하거나 /mst:gemini를 호출할 때 사용. Gran Maestro request 워크플로우(--trace 모드 포함)에서 단일 진입점 역할. discussion/ideation/debug/explore/plan-review의 병렬 dispatch에서는 Bash 직접 호출을 사용합니다.
npx skillsauth add myrtlepn/gran-maestro geminiInstall 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.
Gemini CLI 호출의 단일 진입점. request 워크플로우(--trace 모드 포함)에서 단일 진입점 역할. discussion/ideation/debug/explore/plan-review의 병렬 dispatch에서는 Bash 직접 호출을 사용합니다. 대용량 문서/프론트엔드/넓은 컨텍스트 작업에 적합. Maestro 모드 활성 여부 무관.
mst:gemini/mst:gemini 호출은 path rules상 /mst:plan, /mst:request, built-in plan mode 후보로 재분류하지 않는다./mst:gemini 구현, /mst:gemini 수정, /mst:gemini 계획 같은 구현/수정/계획형 입력도 mst:gemini command identity를 유지하며 다른 스킬로 재분류하지 않는다./mst:codex 보호 수준과 동등하게 유지하며 /mst:plan, /mst:request, built-in plan mode, /mst:codex로 rewrite하지 않는다.gemini의 configured default tier를 사용하고 실패 시 gemini-3.1-pro-preview로만 fallback한다.--trace {REQ-ID}/{TASK-NUM}/{label} 값을 유지하며 다른 MST skill identity로 rewrite하지 않는다./mst:codex와 동등하게 유지한다.rate_limit, timeout, empty_result, nonzero_exit로 구분한다. 429/rate-limit/quota 신호는 rate_limit으로 분류한다.gemini-dev → codex fallback 정책에 맞춰 failure_kind, exit code, log/evidence path가 존재할 때만 충족된다.이 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로 남긴다.
[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를 소유한다.Placeholder 유도 규칙 (MANDATORY):
{task_id}: 워크플로우에서{REQ-ID}-T{TASK-NUM}형식으로 자동 치환 (예:REQ-001-T01). 독립 호출 시에는 호출자가 임의 고유 ID 지정.{task_dir}:.gran-maestro/requests/{REQ-ID}/tasks/{TASK-NUM}/절대경로{working_dir}: CLI 대상 작업 경로 (워크플로우에서는 worktree 경로). wrapper의 cwd와 다를 수 있음.
--prompt-file 있으면 파일 우선 (미존재 시 에러 중단); 없으면 인라인 사용--dir 지정 시 디렉토리 존재 확인 (없으면 에러 중단); 상대경로는 cwd 기준--files 패턴으로 파일 목록 확인; 매칭 없으면 경고--trace 모드 판별 (아래 섹션 참조)Bash(python3 {PLUGIN_ROOT}/scripts/mst.py config get models.providers.gemini.default_tier)로 tier를 확인해 models.providers.gemini[{default_tier}]로 resolve하고, 실패 시 gemini-3.1-pro-preview를 fallback으로 사용MODEL=$(python3 {PLUGIN_ROOT}/scripts/mst.py resolve-model gemini default 2>/dev/null || echo "gemini-3.1-pro-preview")
# 인라인 프롬프트
python3 {PLUGIN_ROOT}/scripts/mst.py run \
--task-id "{task_id}" \
--provider gemini \
--model "$MODEL" \
--log-dir "{task_dir}" \
-- gemini -p "{prompt}" --model "$MODEL" --approval-mode yolo --sandbox=false
# --prompt-file
python3 {PLUGIN_ROOT}/scripts/mst.py run \
--task-id "{task_id}" \
--provider gemini \
--model "$MODEL" \
--log-dir "{task_dir}" \
-- gemini -p "$(cat {prompt_file})" --model "$MODEL" --approval-mode yolo --sandbox=false
# --trace 모드
python3 {PLUGIN_ROOT}/scripts/mst.py run \
--task-id "{task_id}" \
--provider gemini \
--model "$MODEL" \
--log-dir "{task_dir}" \
--trace "{REQ-ID}/{TASK-NUM}/{label}" \
-- gemini -p "$(cat {prompt_file})" --model "$MODEL" --approval-mode yolo --sandbox=false
--trace → Trace 문서 자동 생성 후 exit code만 반환; 없음 → 결과 표시--trace {REQ-ID}/{TASK-NUM}/{label} 인자를 wrapper에 전달하면 실행 완료 시 {task_dir}/traces/gemini-{label}-{ts}.md 파일이 자동 생성됩니다.
형식: --trace {REQ-ID}/{TASK-NUM}/{label} (예: REQ-001/01/phase1-analysis)
실행 예:
python3 {PLUGIN_ROOT}/scripts/mst.py run \
--task-id REQ-001-01 \
--provider gemini \
--model gemini-3.1-pro-preview \
--log-dir .gran-maestro/requests/REQ-001/tasks/01 \
--trace REQ-001/01/phase1-analysis \
-- gemini -p "$(cat {prompt_file})" --model gemini-3.1-pro-preview --approval-mode yolo --sandbox=false
wrapper는 자동으로 다음을 처리합니다.
.gran-maestro/run/{task_id}.json에 dispatch 상태 기록 (register + heartbeat){log_dir}/running.log에 tee--trace 전달 시 traces/*.md 자동 생성금지 마커 (MANDATORY): 이 스킬은
NEXT_ACTION,step=returned,[MST skill=...]마커를 절대 출력하지 않는다. 이 마커들은 부모 스킬(approve 등)의 책임이며, 서브스킬이 출력하면 부모가 "이미 처리됨"으로 혼동한다.
Exit Code 캡처 (MANDATORY):
mst.py run의 종료 코드를 반드시 확인한다. 0이 아니어도 trace의exit_code필드에 해당 값을 반드시 기록한다.
--prompt-file {path}: 파일에서 프롬프트 읽기 (셸 치환으로 Claude 컨텍스트 미경유, 토큰 절약)--dir {path}: 작업 디렉토리 지정 (기본: 현재 디렉토리)--files {pattern}: 컨텍스트에 포함할 파일 패턴 (예: src/**/*.ts)-y: 자동 승인 모드--trace {REQ/TASK/label}: Trace 문서 자동 생성 (stdout 반환 안 함)/mst:gemini "전체 코드베이스 문서 생성해줘"
/mst:gemini --prompt-file {prompt_path} --files src/**/*.ts --trace REQ-001/01/phase1-analysis
gemini --version); 미설치 시 npm install -g @google/gemini-cli--files 패턴을 구체적으로 지정--trace 모드에서 전체 결과는 파일에만 저장, 부모 컨텍스트 반환 안 됨requests/{REQ-ID}/tasks/{TASK-NUM}/ 경로 확인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'를 호출할 때 사용.