Workflow Commands

기획, 숙의, 감사, 목표 관리, 병렬 팀 오케스트레이션을 위한 슬래시 커맨드입니다. 이 커맨드들은 CLI-JAW의 구조화된 워크플로우 라이프사이클을 구동합니다 -- 초기 아이디어부터 실행과 완료까지.

개요

워크플로우 커맨드는 채팅 인터페이스에서 /를 앞에 붙여 실행합니다. 이 커맨드들은 단일 대화 턴으로는 수행하기 어려운 전문적인 기획 및 오케스트레이션 루틴을 실행합니다. 각 커맨드는 고유한 컨텍스트, 프롬프트, 출력 구조를 가진 전용 워크플로우를 활성화합니다.

정확한 구문을 외울 필요는 없습니다. 자연어로도 동작합니다 -- "이 기능 계획 세워줘"라고 말하면 CLI-JAW가 자동으로 /plan으로 라우팅합니다. 슬래시 커맨드 형식은 정밀한 제어가 필요할 때 사용하세요.
커맨드용도간단한 예시
/plan구현 계획 생성/plan add OAuth2 login
/interview목표 지향적 질문으로 요구사항 명확화/interview build a notification system
/deliberate다중 페르소나 숙의 (기획자 + 아키텍트 + 비평가)/deliberate database migration strategy
/planaudit기존 계획의 읽기 전용 감사/planaudit
/goal영속적 목표 라이프사이클 관리/goal set Implement auth module
/team병렬 멀티 에이전트 팀 오케스트레이션/team plan Refactor API layer
/gd활성 goal 강제 완료 (/goal done --force 축약)/gd evidence on disk

/plan [request]

자연어 요청으로부터 구조화된 구현 계획을 생성합니다. 계획에는 단계, 파일 수준 작업, 수락 기준, 위험 요소, 예상 공수가 포함됩니다. 출력은 마크다운 형식이며 /goal로 직접 전달할 수 있습니다.

인자

인자필수 여부설명
[request]선택계획할 내용의 자유 형식 설명. 생략하면 CLI-JAW가 현재 대화 컨텍스트를 사용합니다.

생성되는 내용

사용 예시

# Plan a new feature
/plan add SSE-first real-time notifications

# Plan a refactor
/plan refactor the authentication middleware to support multiple providers

# Plan from conversation context (no argument)
/plan

# Plan with constraints
/plan migrate from REST to GraphQL, keep backward compatibility for 2 releases
~해줘 tip: "이 기능 계획 세워줘", "플랜 만들어줘", "구현 계획 짜줘" -- 모두 /plan으로 라우팅됩니다. 한국어와 영어를 자유롭게 섞어 쓸 수 있습니다: "OAuth 로그인 plan 세워줘".

/interview <request>

구현에 바로 뛰어들기 전에, /interview는 모호한 요구사항을 명확히 하기 위해 1--3개의 목표 지향적 질문을 던집니다. 이를 통해 잘못 이해한 스펙으로 인한 불필요한 작업을 방지하고, 하위 커맨드(/plan, /goal)가 활용할 수 있는 정제된 요구사항 문서를 생성합니다.

인자

인자필수 여부설명
<request>필수명확히 할 기능 또는 작업 설명. 모호해도 괜찮습니다 -- 그것이 이 커맨드의 목적입니다.

동작 방식

  1. 분석 -- 요청을 파싱하여 모호한 영역, 암묵적 가정, 누락된 제약 조건을 식별합니다
  2. 질문 -- 구현 결정에 미치는 영향도 순으로 정렬된 1--3개의 집중 질문을 생성합니다
  3. 정제 -- 답변을 반영하여 정제된 요구사항 요약을 작성합니다
  4. 인계 -- 정제된 요구사항은 /plan 또는 /goal set에서 바로 사용할 수 있습니다

사용 예시

# Clarify a vague request
/interview build a notification system

# Clarify with some context already provided
/interview add user roles -- we need admin and viewer at minimum

# Clarify a complex migration
/interview migrate the monolith to microservices

인터뷰에서 생성될 수 있는 일반적인 질문 예시:

1. Should notifications use the SSE-first event channel or polling?
   This affects architecture, infrastructure, and client complexity.

2. What notification channels are in scope -- in-app only, or also
   email/push/SMS?

3. Do notifications need to persist (read/unread state, history) or
   are they ephemeral?
~해줘 tip: "요구사항 정리해줘", "질문 좀 해줘", "뭐가 필요한지 인터뷰해줘" -- 모두 /interview로 라우팅됩니다. 대략적인 아이디어는 있지만 세부 사항을 아직 정리하지 못했을 때 유용합니다.

/deliberate <topic>

주제에 대해 구조화된 다중 페르소나 숙의를 실행합니다. 세 가지 내부 페르소나 -- 기획자, 아키텍트, 비평가 -- 가 서로 다른 관점에서 주제를 토론하여, 트레이드오프, 권장 사항, 반대 의견이 포함된 균형 잡힌 분석을 생성합니다.

인자

인자필수 여부설명
<topic>필수숙의할 설계 결정, 아키텍처 선택, 또는 기술적 트레이드오프.

세 가지 페르소나

페르소나역할초점
Planner프로젝트 리드실현 가능성, 일정, 리소스 배분, 단계 구성, 위험 관리
Architect시스템 설계자기술적 건전성, 확장성, 유지보수성, 패턴, 데이터 흐름
Critic악마의 변호인엣지 케이스, 장애 시나리오, 숨겨진 비용, 과잉 설계, 누락된 대안

출력 구조

사용 예시

# Deliberate an architecture decision
/deliberate should we use event sourcing or CRUD for the order service?

# Deliberate a technology choice
/deliberate database migration strategy: PostgreSQL vs CockroachDB for multi-region

# Deliberate a process decision
/deliberate monorepo vs polyrepo for our 5-service backend

# Deliberate with constraints
/deliberate real-time sync approach -- must work offline, team of 2, 3-week deadline
~해줘 tip: "이것 좀 토론해줘", "장단점 분석해줘", "설계 논의해줘", "아키텍처 deliberate 해줘" -- 모두 /deliberate로 라우팅됩니다. 단순한 의견 이상이 필요할 때 -- 결정이 장기적인 영향을 미칠 때 사용하세요.

/planaudit [plan]

기존 계획에 대한 읽기 전용 감사를 수행합니다. 계획을 생성하는 /plan과 달리, /planaudit는 계획을 검토합니다 -- 누락 사항, 비현실적인 추정, 놓친 엣지 케이스, 의존성 문제, 범위 위험을 확인합니다. 계획을 수정하지 않으며, 감사 보고서를 생성합니다.

인자

인자필수 여부설명
[plan]선택감사할 계획 텍스트. 생략하면 현재 대화에서 가장 최근에 생성된 계획을 감사합니다.

감사 차원

차원확인 내용
완전성모든 요구사항이 반영되었는가? 누락된 단계나 작업이 있는가?
실현 가능성시간 추정이 현실적인가? 의존성이 확보되어 있는가?
정확성제안된 접근 방식이 기술적으로 건전한가?
엣지 케이스오류 처리, 동시성, 장애 시나리오를 고려했는가?
범위 위험범위 확대가 있는가? 비목표가 명확히 정의되어 있는가?
테스트 가능성수락 기준이 측정 가능하고 검증 가능한가?

사용 예시

# Audit the current plan in conversation
/planaudit

# Audit a specific plan
/planaudit The plan is: Phase 1 - Set up database schema ...

# Audit after generating a plan
/plan add user authentication
/planaudit

감사 출력 예시:

Plan Audit Report
=================
Overall score: 7/10

[PASS] Completeness -- All stated requirements have corresponding tasks
[WARN] Feasibility  -- Phase 2 estimates 2 days for OAuth integration;
                       typical implementations take 3-5 days
[FAIL] Edge cases   -- No error handling for token refresh failures
[PASS] Scope risk   -- Non-goals clearly stated
[WARN] Testability  -- "Works correctly" is not a measurable criterion;
                       suggest specific test scenarios
~해줘 tip: "플랜 검토해줘", "계획 감사해줘", "이 플랜 괜찮은지 봐줘" -- 모두 /planaudit로 라우팅됩니다. 계획을 확정하기 전에 실행하여 사각지대를 조기에 발견하세요.

/goal set|status|done|cancel|update|history

대화 세션을 넘어 유지되는 영속적 목표를 관리합니다. 목표는 진행 상황을 추적하고, 컨텍스트를 축적하며, 생성부터 완료까지 구조화된 라이프사이클을 제공합니다. 목표 상태는 디스크에 저장되며 대시보드를 통해 인스턴스 간에 동기화됩니다.

하위 커맨드

하위 커맨드인자설명
/goal set <description>목표 설명 (자유 텍스트)주어진 설명으로 새 목표를 생성합니다. 목표 ID를 반환합니다.
/goal status없음현재 진행 상황, 단계, 마지막 활동과 함께 모든 활성 목표를 표시합니다.
/goal done [id]선택적 목표 ID목표를 완료로 표시합니다. 목표 기록을 최종 확정하는 API 호출을 트리거합니다. ID를 지정하지 않으면 가장 최근의 활성 목표를 완료합니다.
/goal cancel [id]선택적 목표 ID목표를 취소합니다. 목표는 아카이브되지만 삭제되지 않아 기록이 보존됩니다.
/goal update <message>진행 상황 업데이트 텍스트활성 목표에 진행 상황 업데이트를 추가합니다. 업데이트에는 타임스탬프가 찍히며 목표 타임라인에 표시됩니다.
/goal history없음활성, 완료, 취소된 모든 목표의 전체 이력을 타임스탬프 및 진행 기록과 함께 표시합니다.

목표 라이프사이클

  set ──> active ──> done
             │
             ├──> update (repeatable, appends progress)
             │
             └──> cancel (archived)

사용 예시

# Create a goal
/goal set Implement SSE-first notification system with read/unread tracking

# Check progress
/goal status

# Record incremental progress
/goal update Phase 1 complete -- schema and migrations are in place
/goal update Phase 2 in progress -- SSE event publisher done, client pending

# Complete the goal
/goal done

# Cancel a goal that is no longer relevant
/goal cancel 3

# Review all past goals
/goal history
/goal done은 CLI 커맨드가 아니라 API 호출입니다. 목표를 아카이브하고, 최종 컨텍스트 스냅샷을 저장하고, 대시보드를 업데이트하는 서버 측 최종 확정을 트리거합니다. 서버가 실행 중인지 확인하세요.

다른 커맨드와의 통합

목표는 다른 워크플로우 커맨드와 자연스럽게 조합됩니다:

# Interview, plan, then set a goal from the refined output
/interview build user authentication
# (answer the clarifying questions)
/plan
/goal set Implement user authentication per refined requirements

# The goal tracks progress as you work
/goal update Auth middleware scaffolded, starting JWT integration
/goal update JWT working, adding refresh token rotation
/goal done
~해줘 tip: "목표 설정해줘"/goal set으로 라우팅됩니다. "지금 상태 알려줘"/goal status로 라우팅됩니다. "이거 다 했어"/goal done으로 라우팅됩니다. "목표 취소해줘"/goal cancel로 라우팅됩니다. "진행 상황 업데이트해줘"/goal update로 라우팅됩니다. "지금까지 한 거 보여줘"/goal history로 라우팅됩니다.

/team plan|audit|status|collect|stop

대규모 작업을 위한 병렬 멀티 에이전트 팀을 오케스트레이션합니다. /team 커맨드는 여러 하위 에이전트를 생성하고, 독립적인 작업 스트림을 할당하며, 진행 상황을 모니터링하고, 결과를 통합된 출력으로 수집합니다.

하위 커맨드

하위 커맨드인자설명
/team plan <request>작업 설명요청을 병렬 작업 스트림으로 분해하고, 에이전트를 할당하고, 실행을 시작합니다. 팀 세션 ID를 반환합니다.
/team audit없음교차 에이전트 감사를 실행합니다 -- 모든 활성 에이전트에 걸쳐 충돌, 중복 작업, 일관성 없는 가정, 통합 누락을 확인합니다.
/team status없음현재 팀 세션의 모든 에이전트 상태를 표시합니다: 할당된 작업, 진행 상황, 차단 요소.
/team collect없음완료된 모든 에이전트의 결과를 수집하고, 출력을 병합하고, 충돌을 해결하여 통합된 산출물을 생성합니다.
/team stop없음현재 팀 세션의 모든 에이전트를 정상적으로 중지합니다. 진행 중인 작업은 저장되지만 최종 확정되지 않습니다.

동작 방식

  1. 분해 -- /team plan이 요청을 분석하고 병렬로 실행할 수 있는 독립적인 작업 스트림을 식별합니다
  2. 할당 -- 각 작업 스트림은 고유한 컨텍스트와 지시 사항을 가진 하위 에이전트에 할당됩니다
  3. 실행 -- 에이전트들이 병렬로 실행됩니다. 각 에이전트는 파일 시스템 접근 권한이 있지만 대화 컨텍스트는 공유하지 않습니다
  4. 모니터링 -- /team status가 모든 에이전트의 진행 상황 업데이트를 폴링합니다
  5. 감사 -- /team audit가 병합 전에 교차 에이전트 충돌을 확인합니다
  6. 수집 -- /team collect가 모든 에이전트 출력을 하나의 일관된 결과로 병합합니다

사용 예시

# Refactor 4 API modules in parallel
/team plan Refactor user, order, product, and payment modules to use new BaseService class

# Check how agents are doing
/team status

# Run an audit to catch conflicts
/team audit

# Collect all results when agents finish
/team collect

# Emergency stop
/team stop

실전 워크플로우

# Full team workflow for a large migration
/interview migrate from Express to Hono
# (answer clarifying questions)
/plan
/planaudit
/goal set Migrate Express to Hono

# Execute in parallel
/team plan Migrate Express to Hono -- routes, middleware, tests, docs

# Monitor and audit
/team status
/team audit

# Collect and finalize
/team collect
/goal update Migration complete, all tests passing
/goal done
병렬 에이전트들은 파일 시스템을 공유하지만 대화 컨텍스트는 공유하지 않습니다. 동일한 파일을 수정하는 작업을 에이전트에 할당하지 마세요 -- 병합 충돌이 발생할 수 있습니다. /team collect 전에 /team audit를 사용하여 이러한 문제를 감지하세요.
~해줘 tip: "팀으로 나눠서 작업해줘"/team plan으로 라우팅됩니다. "팀 상태 확인해줘"/team status로 라우팅됩니다. "결과 모아줘"/team collect로 라우팅됩니다. "팀 작업 중지해줘"/team stop으로 라우팅됩니다. "팀 감사해줘"/team audit로 라우팅됩니다.

커맨드 체이닝

워크플로우 커맨드는 조합하도록 설계되었습니다. 일반적인 기능 개발 라이프사이클은 여러 커맨드를 순서대로 연결합니다:

# 1. Clarify requirements
/interview 실시간 알림 시스템 만들어야 돼

# 2. Generate a plan from the refined requirements
/plan

# 3. Audit the plan for gaps
/planaudit

# 4. Deliberate on key design decisions
/deliberate SSE event channel vs polling for our notification delivery

# 5. Set a persistent goal
/goal set Implement real-time notification system (SSE-first)

# 6. Execute with a parallel team (for large tasks)
/team plan Implement notification system -- server, client, tests, docs

# 7. Monitor and collect
/team status
/team collect

# 8. Finalize
/goal update All modules integrated and tested
/goal done

빠른 참조

하고 싶은 것커맨드한국어 단축 표현
계획 생성/plan [request]"계획 세워줘"
요구사항 명확화/interview <request>"요구사항 정리해줘"
다중 페르소나 숙의/deliberate <topic>"장단점 분석해줘"
계획 감사/planaudit"플랜 검토해줘"
목표 생성/goal set <desc>"목표 설정해줘"
목표 진행 상황 확인/goal status"상태 알려줘"
목표 완료/goal done"다 했어"
목표 취소/goal cancel"목표 취소"
목표 진행 상황 업데이트/goal update <msg>"진행 상황 업데이트"
목표 이력 보기/goal history"목표 히스토리"
병렬 팀 시작/team plan <request>"팀으로 나눠서 해줘"
팀 상태 확인/team status"팀 상태 확인"
팀 작업 감사/team audit"팀 감사"
팀 결과 수집/team collect"결과 모아줘"
모든 에이전트 중지/team stop"팀 중지"