一键导入
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 양쪽 모두)