بنقرة واحدة
workshop-status
워크숍 진행 상태를 Airtable에 공유합니다. 초기 설정(키 등록), 단계별 상태 보고, 전체 현황 조회, 진행자용 테이블 생성을 모두 포함합니다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
워크숍 진행 상태를 Airtable에 공유합니다. 초기 설정(키 등록), 단계별 상태 보고, 전체 현황 조회, 진행자용 테이블 생성을 모두 포함합니다.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
워크숍 사전 준비 가이드(packages/guide/site/ 의 index.html + guide-images/)를 S3에 싱크하고 CloudFront 캐시를 무효화해 배포한다. "가이드 배포", "가이드 올려줘", "S3에 싱크", "CloudFront invalidate", "가이드 사이트 업데이트", "캐시 무효화", "가이드 반영" 같은 요청이나, packages/guide/site/ 의 HTML·이미지를 수정한 뒤 라이브에 반영하려는 모든 상황에서 반드시 이 스킬을 사용한다. CDK 전체 스택(deploy/destroy)을 건드리지 않고 콘텐츠만 빠르게 밀어넣는 경량 경로다. 버킷명·배포 ID는 CloudFormation 스택 출력에서 자동 조회하므로 사용자가 ID를 외울 필요가 없다.
Nuxt/Vue 기반 웹 화면을 chrome-devtools-mcp 플러그인으로 직접 보고 고치는 비주얼 디버깅 워크플로. 사용자가 화면이 이상하다고 말하거나, 스크린샷·콘솔에러·레이아웃·반응형·접근성·네트워크·성능 문제를 보고할 때, 또는 단순히 "화면 봐줘", "지금 어떻게 보여?", "PRD/ADR 대로 됐는지 확인해줘" 같은 요청을 받으면 반드시 이 스킬을 트리거한다. localhost dev 서버(보통 :3000)에서 동작하는 PoC 를 디버깅하기 위해 만들어졌고, 추측으로 코드를 고치지 않고 **브라우저 실제 상태를 먼저 확인한 뒤** 수정하도록 강제한다.
프로젝트 루트의 DESIGN.md(디자인 시스템 단일 소스 오브 트루스)를 만들고 유지한다. 웹 패키지(packages/web)에서 색상, 타이포, 간격, 테마, 컴포넌트 스타일, 다크모드, 디자인 토큰, Tailwind 설정 등 **UI 외형과 관련된 어떤 변경 요청이든** 받으면 반드시 이 스킬을 먼저 트리거해서 DESIGN.md를 먼저 업데이트하고 사용자 확인을 받은 뒤에 실제 코드를 수정한다. "버튼 색 바꿔줘", "폰트 키워줘", "다크모드 톤 조정", "카드 radius 좀 둥글게", "primary 컬러를 파랑으로" 같은 요청은 겉보기엔 단순 CSS 수정이지만 전부 디자인 시스템 변경이므로 이 스킬이 관여해야 한다. DESIGN.md가 아직 없으면 이 스킬이 프로젝트를 스캔해 초안을 만든다. Google Stitch DESIGN.md(2026 오픈소스) 스펙을 따른다.
| name | workshop-status |
| description | 워크숍 진행 상태를 Airtable에 공유합니다. 초기 설정(키 등록), 단계별 상태 보고, 전체 현황 조회, 진행자용 테이블 생성을 모두 포함합니다. |
Airtable MCP 서버(airtable-mcp-server)를 사용하여 워크숍 진행 상태를 정형적으로 관리한다.
워크숍 참여자가 실제로 거치는 실행 과정 기준으로 마일스톤을 정의한다.
| Phase | Milestone ID | Milestone | 기록 방식 |
|---|---|---|---|
| 환경설정 | SETUP-DONE | Environment Ready | setup 모드에서 기록 |
| 리서치 | RESEARCH-DONE | Deep Research Done | hook 자동 — pdf-reader 가 docs/ PDF 읽음 |
| PRD | PRD-START | PRD Started | hook 자동 — alps-writer Section 1 저장 |
| PRD | PRD-FEATURES | PRD Features Defined | hook 자동 — alps-writer Section 6 저장 |
| PRD | PRD-DONE | PRD Complete | hook 자동 — alps-writer export 호출 |
| 스캐폴딩 | SCAFFOLD-DONE | UI Scaffold Done | 랩 3 시작 시 Claude가 기록 (start-dev-server) |
| 피쳐 개발 | F1-DONE | F1 Complete | Feature 1 구현 완료 보고 시 Claude가 기록 |
| 피쳐 개발 | F2-DONE | F2 Complete | Feature 2 구현 완료 보고 시 Claude가 기록 |
| 피쳐 개발 | FN-DONE | FN Complete | Feature N 구현 완료 보고 시 Claude가 기록 |
| 완료 | DEMO-READY | Demo Ready | 사용자가 명시적으로 보고 |
.work-status모든 마일스톤은 프로젝트 루트의 .work-status 에 append-only 로 기록된다. 한 줄당 MILESTONE_ID<TAB>ISO8601 포맷. 이 파일은 .gitignore 에 포함되어 참여자 로컬에만 존재한다.
scripts/workshop-hook.mjs)이 PostToolUse 로 자동 기록 + Airtable 전송.work-status.template (setup 시 Skill이 복사 생성)appRMKLzA13xbxrZEtbloe5rOJpVy5tYpP (테이블명: Progress)Name → 참여자 이름 (Participant)Phase → 단계 (Single Select)Milestone_ID → 마일스톤 IDMilestone → 마일스톤 표시명Timestamp → ISO 8601 시각Notes → 상세 정보 (Details).mcp.json에 airtable MCP 서버가 설정되어 있어야 한다AIRTABLE_API_KEY가 설정되어 있어야 한다 (미설정 시 setup 모드로 안내)사용자 입력에 따라 아래 4가지 모드 중 하나를 실행한다.
setup, 설정, 키 등록, 키가 미설정일 때)절차:
사용자에게 아래 세 가지를 한 번에 물어본다 (개별 질문 금지, 한 메시지로 요청):
pat...로 시작) — 진행자에게 전달받은 값사용자에게 보여줄 안내 예시:
아래 세 가지를 번호와 함께 입력해주세요 (줄바꿈: Mac Shift+Enter / Windows Ctrl+Enter):
1. Airtable API Key 2. FAL_KEY 3. 닉네임
예)
1. patXXXXXX
2. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx
3. 커피중독PM
중요: AskUserQuestion 도구나 팝업 UI를 사용하지 않는다. 일반 텍스트 메시지로 질문하고, 사용자가 채팅으로 답변하면 파싱한다.
.mcp.json은 이미 환경변수 참조 방식(${AIRTABLE_API_KEY}, ${FAL_KEY})으로 설정되어 있으므로 읽거나 수정하지 않는다. 만약 사용자가 .mcp.json에 문제가 있다고 보고할 때만 확인한다.
프로젝트 로컬 설정 .claude/settings.local.json에 API Key 환경변수들을 등록한다:
.claude/settings.local.json 파일을 읽어서 env 필드에 AIRTABLE_API_KEY와 FAL_KEY를 추가한다.
env 필드가 있으면 해당 키만 추가/교체한다.gitignore에 등록되어 있어 커밋되지 않는다{
"env": {
"AIRTABLE_API_KEY": "pat_사용자가입력한값",
"FAL_KEY": "사용자가입력한값"
}
}
닉네임을 프로젝트 루트에 .workshop-participant 파일로 저장한다 (한 줄, 닉네임만).
.work-status 가 없으면 .work-status.template 을 복사해 생성한다 (없으면 빈 헤더만 있는 파일 생성).
안내: "API Key가 설정되었습니다. /mcp 명령어를 실행하여 airtable, asset-generator 서버 옆의 🔄 reconnect를 눌러주세요."
MCP 리로드 후 Airtable MCP tool (list_bases)로 연결을 확인한다.
list_bases 결과에서 Base ID (예: appXXXXXXXX)를 추출하여 .claude/settings.local.json의 env에 AIRTABLE_BASE_ID를 추가 저장한다. 이 값은 scripts/workshop-hook.mjs가 PostToolUse hook에서 Airtable에 자동 전송할 때 사용한다.
연결이 확인되면 SETUP-DONE 마일스톤을 확인 없이 바로 기록한다 (.work-status append + Airtable upsert). 기록 후 결과만 알려준다.
현재 진행 상태를 Airtable에 정형적으로 기록한다.
인자가 있는 경우 (예: /workshop-status PRD-DONE, /workshop-status F2 완료):
F2-DONE / F2 Complete로 정규화인자가 없는 경우 — 프로젝트의 현재 실제 상태를 판단하여 즉시 기록한다:
.workshop-participant 파일 확인 → 없으면 setup 안내docs/ 에 PDF 또는 리서치 결과물이 존재 → RESEARCH-DONEPRD-STARTPRD-FEATURESPRD-DONEpackages/web/src/ 에 컴포넌트/페이지 파일이 존재하고 dev server 실행 가능 → SCAFFOLD-DONEF{N}-DONEDEMO-READYF2-DONESCAFFOLD-DONEDEMO-READY.work-status 에 이미 있는 마일스톤이면 중복 전송하지 않고 알림만 표시아래 상황에서는 사용자가 /workshop-status 를 치지 않아도 Claude 가 먼저 이 스킬을 실행한다. hook으로 잡히지 않는 마일스톤 전용 규약이다.
SCAFFOLD-DONEF{N}-DONEDEMO-READY이미 저널에 있으면 skip. 참여자가 명시적으로 "상태 공유하지 마" 라고 하면 이번 세션 동안 자동 트리거를 멈춘다.
.work-status 에 해당 MILESTONE_ID 가 이미 있는지 확인 → 있으면 skip.work-status 에 MILESTONE_ID<TAB>ISO8601 한 줄 appendappRMKLzA13xbxrZE, tableId: tbloe5rOJpVy5tYpP):
search_records 로 참여자 이름 검색update_records, 없으면 create_recordfields:
Name: (.workshop-participant 에서 읽은 이름)
Phase: "환경설정" / "리서치" / "PRD" / "스캐폴딩" / "피쳐 개발" / "완료"
Milestone_ID: "PRD-DONE" 등
Milestone: "PRD Complete" 등
Timestamp: (현재 시각, ISO 8601)
Notes: (상세 정보)
전송 후: "진행 상태가 공유되었습니다: [Phase] — [Milestone]"
현황, status, 다른 사람, 전체)절차:
list_records로 Progress 테이블의 전체 레코드를 가져온다| 참여자 | Phase | Milestone | 시간 |
| -------- | --------- | ---------------- | ------ |
| 커피중독PM | 피쳐 개발 | F2 Complete | 14:35 |
| 픽셀요정 | PRD | PRD Features | 14:20 |
| 야근탈출러 | 환경설정 | Env Ready | 13:50 |
진행자, facilitator, 테이블 만들기)안내 & 자동 생성 지원:
진행자가 원하면 Airtable MCP의 create_table tool로 직접 테이블을 생성해준다.
| Field | Type | Description |
|---|---|---|
| Participant | Single line text | 참여자 이름 |
| Phase | Single select | 환경설정, 리서치, PRD, 스캐폴딩, 피쳐 개발, 완료 |
| Milestone_ID | Single line text | SETUP-DONE, PRD-START 등 |
| Milestone | Single line text | Environment Ready, PRD Started 등 |
| Timestamp | Single line text | ISO 8601 시각 |
| Details | Long text | 상세 정보 |
Phase (Single Select) 옵션:
환경설정 — 셋업 스크립트 실행, dev server 확인리서치 — 딥리서치 실행, PDF 다운로드PRD — ALPS 문서 작성스캐폴딩 — UI 뼈대 생성피쳐 개발 — F1, F2, ... 구현완료 — 데모 준비 완료schema.bases:read, data.records:read, data.records:writepat_...)을 참여자에게 전달Airtable API Key: pat_xxxxx
FAL_KEY: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx
Claude Code에서 /workshop-status setup 실행 후 위 키들을 입력하세요.
키는 .claude/settings.local.json에 환경변수로 저장됩니다 (git에 커밋되지 않음).
.workshop-participant, .work-status는 .gitignore에 포함되어 커밋되지 않는다.mcp.json에는 ${AIRTABLE_API_KEY} 환경변수 참조만 포함하고, 실제 키는 .claude/settings.local.json의 env에 저장한다.work-status 저널에서 중복 여부를 확인하고, 중복이면 Airtable 에도 전송하지 않는다 (hook 과 skill 양쪽 모두)