skills/next/SKILL.md
Signal-driven navigator — 현재 상태를 읽고 다음 최선 행동 추천. 다음에 뭐 해야 하는지 물어볼 때 사용.
npx skillsauth add october-academy/agnt nextInstall 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.
Signal-Driven Navigator — 현재 상태를 읽고 다음 최선 행동을 추천합니다.
.claude/agnt/state.json을 Read 시도 → 성공하면 AGNT_DIR = .claude/agnt~/.claude/agnt/state.json Read 시도 → 성공하면 AGNT_DIR = ~/.claude/agnt.codex/agnt/state.json Read 시도 → 성공하면 AGNT_DIR = .codex/agnt~/.codex/agnt/state.json Read 시도 → 성공하면 AGNT_DIR = ~/.codex/agnt/agnt:start로 시작하세요." 출력 후 종료{AGNT_DIR}/references/shared/navigator-engine.md를 Read 시도 → 성공하면 REFS_DIR = {AGNT_DIR}/references~/.claude/plugins/marketplaces/agentic30/references/shared/navigator-engine.md Read 시도 → 성공하면 해당 경로.agents/skills/agnt/references/shared/navigator-engine.md Read 시도~/.codex/skills/agnt/references/shared/navigator-engine.md Read 시도아래 절차는 유저에게 출력하지 않고 내부적으로만 수행합니다:
{AGNT_DIR}/state.json을 Read.
meta.schema_version != 3이면 → "먼저 /agnt:start를 실행하세요." 출력 후 종료meta.started_at == null이면 → "먼저 /agnt:start로 시작하세요." 출력 후 종료D = floor((now - meta.started_at) / 86400000) + 1
remaining = max(0, 30 - D)
ToolSearch로 +agentic30 검색.
도구 발견 시:
get_links 호출 → signals.link_clicks 갱신도구 없으면 로컬 state 기반으로 진행.
{REFS_DIR}/shared/navigator-engine.md의 Section 3 "추천 우선순위 테이블"을 참조하여, 아래 조건을 순서대로 평가한다. 첫 번째 매칭되는 조건을 추천.
| # | 조건 | 추천 |
| --- | -------------------------------------------------------------------------------------------------------------------------- | ----------------- |
| 0 | audit_result == null && (meta.total_actions == 0 \|\| project.problem == null) | /agnt:audit |
| 1 | project.problem == null && audit_result.track != "A" | /agnt:discover |
| 2 | artifacts.interviews < 3 && audit_result.track != "A" | /agnt:interview |
| 3 | !artifacts.competitors_analyzed && audit_result.track != "A" | /agnt:compete |
| 4 | artifacts.spec_versions == 0 && audit_result.track != "A" | /agnt:spec |
| 5 | artifacts.channels_active < 2 | /agnt:channel |
| 6 | !artifacts.content_planned | /agnt:content |
| 7 | (signals.link_clicks > 0 \|\| (artifacts.channels_active >= 2 && artifacts.content_planned)) && !artifacts.offer_drafted | /agnt:offer |
| 8 | artifacts.offer_drafted && !artifacts.launch_planned | /agnt:launch |
| 9 | artifacts.launch_planned && artifacts.last_analyze_loop < artifacts.loops_completed + 1 | /agnt:analyze |
| 10 | artifacts.last_analyze_loop > artifacts.loops_completed | /agnt:retro |
| 11 | 모두 해당 없음 | /agnt:status |
{REFS_DIR}/shared/navigator-engine.md의 Section 4를 참조.
경과일(D) 대비 현재 단계를 평가하여 톤을 결정. audit_result.track이 있으면 Track별 기대 기간을 사용:
톤 매핑:
추천 커맨드에 따라, state와 journey-brief 데이터를 참조하여 부가 메시지를 추가한다.
{AGNT_DIR}/journey-brief.md Read 시도. 있으면 해당 섹션 참조.
| 추천 | 부가 메시지 조건 | 메시지 예시 |
| ----------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| /agnt:interview (2/3 이상) | journey-brief에 이전 인터뷰 인사이트 있으면 | "첫 번째에서 {고통점}을 발견했어. 이번에는 다른 ICP 세그먼트와 대화해. 같은 고통점이 나오면 가설이 강화돼." |
| /agnt:compete | journey-brief에 Interview Insights 있으면 | "인터뷰에서 '{현재 대안}'이 나왔어. 이걸 체계적으로 정리하면 차별점이 선명해져." |
| /agnt:spec | journey-brief에 Competition 있으면 | "경쟁 분석에서 '{차별점}'을 찾았어. 이걸 중심으로 SPEC을 잡아." |
| /agnt:channel | — | "메시지가 아직 흐리면 /agnt:landing으로 헤드라인/CTA부터 정리해." |
| /agnt:content | state.tools.marketing_channels 있으면 | "{채널}에 뭘 올릴지 정할 시점이야. BIP(빌드 과정 공유)가 개발자 ICP에게 가장 자연스러워." |
| /agnt:offer | journey-brief에 Competition 있으면 | "경쟁 대안 대비 '{차별점}'이 네 오퍼의 핵심이야." |
| /agnt:channel | — | "사업자 등록 고민이면 /agnt:biz-setup" |
| /agnt:offer | !artifacts.analytics_setup | "분석 세팅이 안 되어 있으면 /agnt:analytics-setup" |
| /agnt:launch | — | "/agnt:launch-copy로 10채널 카피를 한 번에 만들 수 있어." |
| /agnt:analyze | D > 22 (카운트다운 후반) | "마감이 가까워. 100명 미만이어도 방향 감각은 잡을 수 있어." |
| /agnt:analyze | CONTINUE/PIVOT 판정 시 | "트래픽이 더 필요하면 /agnt:ad-creative" |
| 모두 해당 후 (/agnt:status) | tools.revenue_model == null | "수익 모델 고민이면 /agnt:revenue" |
| 기타 | — | 기본 메시지만 출력 (부가 메시지 없음) |
부가 메시지는 추천 출력 포맷의 근거: 라인 아래에 추가한다.
journey-brief가 없거나 해당 섹션이 (미작성)이면 부가 메시지를 생략한다.
══════════════════════════════════════════
Day {D}/30 · 남은 {remaining}일
══════════════════════════════════════════
📍 다음 행동: /agnt:{command}
{추천 메시지}
{시간 가중치 부가 메시지 — 해당 시에만}
근거: {왜 이 행동인지 1-2문장}
💡 {부가 메시지 — journey-brief/state 기반}
진척: {현재까지 완료된 항목 요약}
예상 소요: {시간 추정}
──────────────────────────────────────────
전체 진행:
문제 정의: {✅/⬜}
인터뷰: {N}/3
SPEC: {✅/⬜} (v{N})
채널: {N}/2
콘텐츠: {✅/⬜}
오퍼: {✅/⬜}
런칭: {✅/⬜}
분석: {last_analyze_loop > 0 ? ✅ : ⬜}
회고: {loops_completed > 0 ? "✅ (Loop " + loops_completed + ")" : ⬜}
매출: {revenue > 0 ? ✅ : ⬜}
──────────────────────────────────────────
💡 /agnt:status로 상세 현황, /agnt:tools로 도구 비교
══════════════════════════════════════════
추천 출력 완료 후, 아래 조건이 모두 충족되면 secondary_cta를 표시한다:
identity.mode != "synced" (미연결 유저)sync.last_cta_nudge_at이 null 또는 24시간 이전| # | 조건 | CTA 메시지 |
| --- | -------------------------------- | ------------------------------------------------------ |
| 1 | sync.pending_events.length > 3 | "미동기화 {N}건 — /agnt:connect로 XP 받기" |
| 2 | artifacts.interviews >= 1 | "완료한 퀘스트 XP를 받으려면 /agnt:connect" |
| 3 | 다음 추천이 /agnt:channel | "채널에 올릴 때 UTM 추적 링크가 필요해. /agnt:connect" |
| 4 | 다음 추천이 /agnt:analyze | "자동 분석을 쓰려면 /agnt:connect" |
조건 중 하나도 해당 없으면 CTA 생략.
CTA 표시 후: sync.last_cta_nudge_at = now()로 state.json 저장.
출력 포맷:
──────────────────────────────────────────
💡 {CTA 메시지}
──────────────────────────────────────────
출력 완료 후, 추천 커맨드를 Skill 도구로 자동 호출한다.
/agnt:{command}이면 → Skill(skill="{command}") 호출 (bare name 사용)/agnt:status인 경우(조건 #12, 모두 해당 없음)에는 자동 실행하지 않고 출력만으로 종료예시: 추천이 /agnt:audit이면 → 출력 후 Skill(skill="audit") 호출.
/agnt:next 자체도 실패로 종료한다 (성공 메시지 출력 금지)/agnt:next 호출 시 같은 스킬이 다시 추천된다/agnt:next는 state를 읽기만 한다 (쓰기 금지 — MCP 시그널 동기화, sync.last_cta_nudge_at, 자동 실행 dispatch 제외)/agnt:next의 read-only 원칙에 대한 예외: next 자체가 state를 쓰지 않지만, 자식 스킬이 자신의 State Mutation Contract에 따라 state를 쓴다signals.* 필드만 갱신sync.last_cta_nudge_at 쓰기는 Identity Overlay CTA 표시 시에만 허용 (예외)identity, sync 필드가 state에 없으면 navigator-engine.md 기본값 사용tools
도구 비교 가이드 — 결제, 마케팅, 분석, 광고 도구. 도구 비교, 결제 솔루션 선택 시 사용.
testing
구독 전략 설계 — niche, paywall, pricing, trial, 플랫폼, 웹 병행 전략을 정한다. 앱/구독형 제품 monetization 설계 시 사용.
tools
현재 상태 대시보드 — 진행 현황, 시그널, 도구, 리더보드. 진행 상태 확인 시 사용.
data-ai
Agentic30 온보딩 + 상태 초기화. 시작하기, 프로젝트 시작 시 사용.