원클릭으로
release
모바일 앱 풀 릴리즈 파이프라인. 사전점검 → 메타데이터 → 스크린샷 → 빌드+제출 → 후속안내. Expo/Capacitor 지원.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
모바일 앱 풀 릴리즈 파이프라인. 사전점검 → 메타데이터 → 스크린샷 → 빌드+제출 → 후속안내. Expo/Capacitor 지원.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | release |
| description | 모바일 앱 풀 릴리즈 파이프라인. 사전점검 → 메타데이터 → 스크린샷 → 빌드+제출 → 후속안내. Expo/Capacitor 지원. |
| user_invocable | true |
| argument_hint | [--skip-screenshots] [--skip-metadata] [--cloud] [--platform=ios|android|all] |
| allowed_tools | ["Bash","Read","Write","Edit"] |
--skip-screenshots — 스크린샷 생성/업로드 건너뛰기--skip-metadata — 메타데이터 동기화 건너뛰기--cloud — EAS 클라우드 빌드 사용 (Expo 전용). 기본은 로컬 빌드--platform=ios|android|all — 빌드 대상 (기본: all)프로젝트 스택은 release.config.json.stack에서 자동 결정됨 (expo/capacitor/flutter).
Codex plugin에서 wrapper 경로는 plugin root의 bin/app-release이다. 경로가 불분명하면 WRAPPER=$(find ~/.codex ~/.agents ~/plugins -path "*/app-release/bin/app-release" -type f | head -1) 로 해석한 뒤 아래 $WRAPPER 자리에 사용한다.
WRAPPER 경로: $WRAPPER
git status --short
커밋되지 않은 변경사항이 있으면 계속 진행할지 사용자에게 확인.
스크립트는 cwd에서 상위로 release.config.json을 탐색한다. 없으면 에러.
--skip-metadata가 없을 때)<WRAPPER> store-metadata # dry-run
# 변경 사항이 있으면 사용자 확인 후
<WRAPPER> store-metadata --apply
git log $(git describe --tags --abbrev=0 2>/dev/null || echo HEAD~20)..HEAD --oneline --no-merges로 커밋을 수집해 한/영 릴리즈 노트 초안 작성.
--skip-screenshots가 없을 때)<WRAPPER> screenshots --generate
# 미리보기 후 사용자 확인
<WRAPPER> screenshots --upload
기본: 로컬 빌드 (Expo의 경우 eas build --local). 클라우드 빌드 필요 시 --cloud 지정.
<WRAPPER> release-orchestrator --platform=<platform>
# 클라우드 빌드
<WRAPPER> release-orchestrator --platform=<platform> --cloud
로컬 빌드 환경 점검 (Expo):
command -v java >/dev/null && java -version 2>&1 | head -1
echo "JAVA_HOME=$JAVA_HOME"; echo "ANDROID_HOME=$ANDROID_HOME"
xcodebuild -version 2>&1 | head -1
누락 시 --cloud fallback을 제안한다.
/release-status/release-promote/release-fixConvert raw feature requirements, bug reports, or rough task descriptions into a goal-optimized prompt for the agentic coding tool that will run it — Claude Code or OpenAI Codex. 거친 요구사항·버그 리포트·대충 적은 작업 설명을, 그 작업을 실제로 실행할 코딩 에이전트(Claude Code 또는 Codex)에 맞춘 goal 최적화 프롬프트로 변환한다. Use when the user wants a requirement shaped into a prompt/spec/goal for an agent — "이거 프롬프트로 만들어줘 / 변환해줘", "코덱스(codex)/클로드코드용으로", "목표·범위·완료조건 갖춘 프롬프트로" — or mentions the goal feature or /goal command. By default targets the agent running the skill (Claude Code → Claude-optimized, Codex → Codex-optimized); honors an explicit named target. Proactively fire on vague requirements headed to a coding agent ("대시보드 빠르게 해줘", "add auth", "로그인 버그 고쳐줘"). Not for implementing/debugging it yourself, codex code review, explaining /goal, translating, editing AGENTS.md, multi-agent orchestration (cmux/herdr), or writing a plan.
Use when the user wants to turn a repetitive, reviewable task into a controlled agent loop — phrases like "이거 자동화/반복하고 싶어", "루프로 돌리고 싶어", "정기적으로 점검하게 해줘", "loop engineering", "agent loop 설계", or wants to audit existing loops ("루프 점검", "loop audit"). Designs a loop with trigger·state·verification·human-gate·stop + 7 guardrails + 6 metrics, maps it onto an existing engine (herdr/loop/Cron/Workflow/Codex Automations), and writes a spec to docs/loops/. Does NOT execute loops itself and is NOT for one-off prompts (use goalcraft) or multi-agent run orchestration (use herdr/cmux).
Convert a recurring or repetitive task description into a Claude Code /loop prompt — the loop sibling of goalcraft. 반복·주기적 작업 설명을 Claude Code /loop 용 프롬프트로 변환한다(goalcraft의 loop 형제). Use when the user wants a task shaped into a /loop prompt — "루프 프롬프트로 만들어줘", "/loop 용으로", "주기적으로 반복하게", "매 N분마다 ~", "~까지 반복해서", "이거 loop으로 돌려줘" — or mentions the /loop command, recurring/scheduled in-session execution, or babysitting/polling a long-running thing. Picks the mode (fixed interval → cron, self-paced → model self-paces, or loop.md default) and bakes in an objective stop condition, an iteration ceiling, and a verification check. Proactively fire on recurring-execution requests ("배포 끝날 때까지 확인", "CI 통과할 때까지 반복", "keep checking the deploy"). Not for single-shot tasks or /goal until-condition prompts (→ goalcraft, which owns /goal), running the loop yourself, deciding whether something should be a loop or auditing loop governance (→ loop-engineering), translating, or explaining /loop.
Use when creating, revising, or critiquing frontend UI (web or mobile) where visual quality, product fit, design-system fidelity, or avoiding generic "AI-slop" output matters — e.g. "make this look good", "why does this look AI-generated", building a landing page / app screen / dashboard, or a design pass on existing UI. Turns vague design intent into a decision-first workflow: classify the surface, decide direction before code, escape default looks, build to measurable craft standards, and verify the rendered result. Portable across Claude Code and Codex.
Use when the user asks to inspect, summarize, explain, configure, connect, curate, or troubleshoot the session-journal Obsidian logging workflow for Claude Code or Codex — including pointing it at an existing/Obsidian-Sync vault, keeping AI-generated notes distinct from hand-authored ones, multi-machine setup, distilling durable knowledge, or verifying the vault config.
Use when the user asks to save durable lessons from session-journal into the LLM-Wiki, collect mistakes or insights from agent work, create reviewable wiki draft candidates, or report those draft candidates to Slack.