프롬프트 데이터 품질(내용 중복 정리, 난이도 재분류, 조건부 톤 기능)을 다듬고, 홈 화면을 2개 섹션에서 4개 섹션(AI 처음이에요 / 일반사용자용 / 사무용 / AI 코딩 입문) 구조로 확장하면서 어르신 전용 큰 글씨 UI와 "일반사용자용" 카테고리·프롬프트 10개를 새로 만들었다. 마지막엔 그 과정에서 생긴 카테고리 필터링 버그도 잡았다.
wrangler d1 execute로 prompts × prompt_forms × categories를 JOIN해서 전체를 훑어봤다. 원래 "40개"로 기억하고 있었는데 실제로는 64개였다 — 그동안 여러 세션에 걸쳐 계속 추가돼온 걸 한 번에 파악하지 못하고 있었던 셈.
브라우저에서 보기 편하게 아티팩트 페이지로 정리했는데, Claude 데스크톱 앱은 아티팩트 링크를 못 여는 문제가 있어서 d1_export_prompts.json으로 로컬 파일도 따로 뽑아줬다. (참고: 아티팩트는 claude.ai 인증이 필요한 웹 페이지라 데스크톱 앱 자체 뷰어와는 안 맞는 것 같다.)
"인수인계서"(일반사무)와 "퇴사 인수인계"(인사HR) 두 개가 내용이 겹쳤다.
두 description만 봐도 관점 차이가 바로 느껴지게 문구를 다듬었다.
"초보/일반/고급"을 정성적으로만 붙여놨던 걸, 아래 기준으로 64개 전부 다시 봤다.
결과를 먼저 리스트로 보고한 뒤 승인을 받고 반영했다. 18개가 바뀌었고, 특히 "고급"이 1개(조직개편 안내문)에서 6개로 늘었다 — 예산초과 승인요청, 인사평가 피드백, 합격불합격 통보, 면접 평가서, 이슈 대응 메시지가 새로 고급으로 편입됐다. 회의록 정리·구두보고 정리처럼 "정리만 하면 되는 것 같지만 사실 맥락 판단이 필요한" 애매한 케이스들을 초보→일반으로 많이 옮긴 게 특징.
각 카테고리 대표작에 상황을 더 세밀하게 반영할 수 있는 입력 필드를 하나씩 추가했다.
| 프롬프트 | 추가된 조건 |
|---|---|
| 조직개편 안내문 | 구성원이 가장 불안해할 지점 → 직접 언급할지 우회할지 자동 판단 |
| 예산초과 승인요청 | 초과 심각도 → 경미(담백한 톤) vs 심각(신중하고 무게감 있는 톤) |
| 광고 카피 | 타겟 반응이 저조할 경우 대안 톤 카피 1개 추가 생성 |
| 반론 대응 | 반론 강도 → 가벼운 의문(정보 보완) vs 강한 거부감(감정 인정 후 신뢰 회복) |
| 에러 해결 | 사용자 이해도 → 완전 초보(용어 풀이) vs 기초(핵심 원인 위주) |
| 사내 공지문 | 예상 질문·우려를 공지문에 선제적으로 반영 |
기존 {0}~{2} 순서는 그대로 두고 새 필드를 4번째({3})로만 추가해서, 기존 데이터 매핑이 깨지지 않게 했다.
작업 방식 메모: 이번엔 D1(운영 DB)에 먼저 반영한 뒤, 로컬 개발용 seed SQL 파일들(more_prompts.sql, hr_prompts.sql, seed_data.sql, dev_prompts.sql, dev_planning_prompts.sql)에도 매번 동일하게 동기화해줬다. 안 그러면 로컬 D1을 재시딩할 때 옛날 내용으로 덮어써지기 때문.
기존엔 "AI 처음이에요" / "프롬프트 활용하기" 2개 토글뿐이었는데, 사용자층이 늘면서(5060세대·어르신, 코딩 입문자) 아래처럼 4개로 나눴다.
/guide (기존 유지)/senior (신규 — 5060세대·어르신 대상)/prompts (기존 유지, 경영기획/마케팅/영업/일반사무/인사HR 5개만 필터링)/coding (신규 — AI 코딩 입문 카테고리 전용)Home.jsx는 2x2 카드 그리드로, 카드마다 파스텔톤(cream/peach/lavender/mint)을 하나씩 배정했다. Header.jsx 토글도 4개로 늘렸는데, 라벨이 길어져서(특히 "사무용 프롬프트 활용하기") 데스크탑 노출 기준을 md에서 lg로 올려 태블릿 폭에서도 햄버거 메뉴로 접히게 했다.
Senior.jsx, Coding.jsx는 처음엔 Prompts.jsx를 그대로 복제한 뼈대만 만들어두고(다음 단계에서 다듬기로), Prompts.jsx 쪽은 바로 5개 사무 카테고리만 보이도록 필터링을 걸었다.
일반 페이지 대비 눈에 띄게 큰 UI로 다시 만들었다.
text-gray-900 조합으로 써서 대비를 다른 페이지보다 진하게PromptDetail.jsx(상세 페이지)에도 카테고리 이름이 "일반사용자용"이면 자동으로 같은 큰 글씨/큰 버튼 스타일이 적용되도록 조건부 스타일링을 넣었다. 공용 컴포넌트인 Button엔 size="senior", ErrorMessage엔 large prop을 새로 추가해서 재사용 가능하게 했다.
D1에 새 카테고리(생활 타입)를 만들고, 5060세대·어르신의 실제 생활 상황에 맞춘 프롬프트 10개를 추가했다.
다른 카테고리는 입력 폼이 보통 3~4개인데, 여기는 부담을 줄이려고 전부 1~2개로 최소화했다. 문구도 한자어·전문용어를 최대한 빼고 쉬운 말로 썼다.
섹션을 늘리는 과정에서 실제 버그가 하나 발견됐다.
Coding.jsx가 카테고리 필터링을 전혀 안 하고 있었다. Prompts.jsx를 복제할 때 만든 임시 뼈대 코드가 그대로 남아 있어서, /coding 페이지에 들어가면 사무용 48개 + 코딩 16개 + 일반사용자용 10개, 총 74개가 다 섞여서 나오고 있었다. /categories에서 "AI 코딩 입문" id를 찾아 그 id로만 /prompts를 조회하도록 고치고, 의미 없이 남아있던 카테고리 탭 UI(사무용 카테고리들이 탭으로 보이던 부분)도 제거했다.
반면 Prompts.jsx는 이전에 만들어둔 화이트리스트 필터링(경영기획/마케팅/영업/일반사무/인사HR)이 이미 정상 동작하고 있었다 — 실제로 두 페이지가 쓰는 로직을 그대로 재현한 Node 스크립트로 배포된 API를 대상으로 검증해서 확인했다 (이 환경엔 브라우저 도구가 없어서 실제 콘솔 로그 대신 이 방식으로 교차검증).
마지막으로 Guide.jsx 하단 "프롬프트 활용하러 가기" 버튼도, 섹션이 4개로 늘면서 /prompts 고정 이동이 안 맞아 /(홈)으로 바꾸고 문구도 "다른 섹션 둘러보기"로 수정했다.
seed: id36/47 인수인계 프롬프트 문구를 D1 반영 내용과 동기화seed: 18개 프롬프트 level을 D1 반영 내용과 동기화seed: 6개 대표 프롬프트에 조건부 톤 조절 필드 추가 반영Restructure home toggle into 4 sectionsAdd senior-friendly large UI for general user sectionFix category filtering leak between office and coding sectionsFix guide page bottom button to route to home instead of office promptsAdd 2026-08-06 worklog entrySenior.jsx/Coding.jsx를 만들 당시 "다음 단계에서 다듬을 예정"이라고 남겨둔 TODO 주석들 — 오늘 Senior는 큰 글씨 UI로 다듬었지만, Coding.jsx는 필터링 버그만 고쳤을 뿐 UI 자체는 아직 Prompts.jsx 카드 스타일 그대로임