Communitygithub.com

roadkwonai/resume-portfolio

이력서를 바탕으로 개인 이력서 포트폴리오 웹사이트를 만든다. 템플릿 여섯 가지를 웹에서 미리보기로 비교하고 하나를 고른 뒤, 사용자의 이력서(PDF, DOCX, 텍스트)와 추가 정보를 채워 넣는다. "이력서 사이트", "포트폴리오 만들어줘", "내 경력으로 웹사이트", "resume website", "personal portfolio site", "이력서 템플릿 골라줘", 이력서 파일을 주며 웹으로 만들어 달라는 요청, 기존 포트폴리오의 내용 수정이나 템플릿 교체 요청에 반드시 사용한다. 사용자가 포트폴리오라는 말을 쓰지 않고 "내 소개 페이지"나 "구직용 사이트"라고만 해도 사용한다.

What is resume-portfolio?

resume-portfolio is a Claude Code agent skill that 이력서를 바탕으로 개인 이력서 포트폴리오 웹사이트를 만든다. 템플릿 여섯 가지를 웹에서 미리보기로 비교하고 하나를 고른 뒤, 사용자의 이력서(PDF, DOCX, 텍스트)와 추가 정보를 채워 넣는다. "이력서 사이트", "포트폴리오 만들어줘", "내 경력으로 웹사이트", "resume website", "personal portfolio site", "이력서 템플릿 골라줘", 이력서 파일을 주며 웹으로 만들어 달라는 요청, 기존 포트폴리오의 내용 수정이나 템플릿 교체 요청에 반드시 사용한다. 사용자가 포트폴리오라는 말을 쓰지 않고 "내 소개 페이지"나 "구직용 사이트"라고만 해도 사용한다.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/roadkwonai/resume-studio/tree/HEAD/.claude/skills/resume-portfolio

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Resume Portfolio

Resume Studio 저장소의 템플릿으로 사용자의 포트폴리오를 만든다. 사이트는 이미 다 만들어져 있고 이 스킬의 일은 사실을 옮기는 것이다. 레이아웃을 새로 짜는 대신 content/profile.json 을 정확하게 채우는 데 시간을 쓴다.

현재 폴더에 gallery/ 와 templates/ 가 있으면 그곳이 Resume Studio 다. 없으면 사용자에게 위치를 묻고, 내려받지 않았다면 git clone https://github.com/roadkwonai/resume-studio.git 후 npm install 을 안내한다. 아래 경로는 모두 그 폴더 기준이다.

1. 자료 모으기와 템플릿 고르기

이 둘은 사용자가 할 일이므로 한 번에 요청한다.

갤러리 띄우기. npm run studio 를 백그라운드로 실행한다(첫 실행은 빌드로 몇 분 걸린다). http://localhost:4100 이 응답하면 브라우저로 열어 준다. 사용자가 이미 템플릿을 말했다면 갤러리는 건너뛰어도 된다.

한 메시지로 부탁한다.

  • 이력서 파일 경로나 붙여넣은 내용
  • 갤러리에서 템플릿을 골라 달라는 말(화면의 "이 템플릿 선택" 버튼이 selection.json 에 기록한다)
  • 있으면: 지원 직무, 사이트 언어(한국어/영어), 프로필 사진, 프로젝트 이미지, GitHub 등의 링크

고민하는 사용자에게는 자료 양에 맞춰 추천한다. 추천 근거는 references/templates.md 에 있다.

사용자가 갤러리에서 골랐다고 하면 selection.json 을 읽어 확인한다. 이 파일은 마지막 클릭만 기록하므로 예전 값일 수 있다. 사용자가 템플릿 이름을 말했다면 그 말이 우선이다.

2. profile.json 작성

references/profile-guide.md 를 읽고, 고른 템플릿의 templates/<id>/content/README.md 를 읽은 뒤 scratchpad 에 profile.json 을 작성한다. 규격은 shared/profile.ts 이다.

출처 없는 내용을 쓰지 않는다. 포트폴리오는 채용 담당자가 사실로 읽는 문서다. 없는 수치, 후기, 기간을 넣으면 사용자가 면접에서 곤란해지고 경력 허위 기재가 될 수 있다. 빈 항목은 화면에서 저절로 사라지므로 비워 두는 편이 언제나 안전하다. 문장을 다듬는 것은 괜찮지만 사실을 늘리면 안 된다. 예를 들어 "결제 시스템 개발"을 "결제 시스템을 개발했습니다"로 쓰는 것은 되고, "수백만 사용자의 결제 시스템"으로 쓰는 것은 안 된다.

공개해도 되는 내용만 옮긴다. 이력서는 회사에 내는 비공개 문서이고 사이트는 누구나 본다. 주민등록번호, 집 주소, 생년월일, 가족 사항, 병역 세부, 연봉은 옮기지 않는다. 전화번호는 사용자가 공개에 동의했을 때만 넣는다.

자료가 둘 이상이거나 내용이 많으면 references/sources.md 를 읽는다. 자료끼리 값이 다를 때와 무엇을 추릴지의 기준이 있다.

작성 후 npm run validate -- <파일> 로 형식을 확인한다.

3. 포트폴리오 생성

npm run new -- <template-id> <slug> <profile.json 경로>

사용자가 템플릿을 말했으면 그 id 를 쓰고, 갤러리 선택을 따를 때만 <template-id> 자리에 selected 를 쓴다. slug 는 사용자 이름의 영문 소문자로 정한다(예: hong-gildong). 그다음:

  • 사진, 이미지, 이력서 PDF를 portfolios/<slug>/public/profile/ 로 복사한다. 원본은 옮기지 말고 복사한다.
  • 이미지 경로를 profile.json 에 /profile/파일명 으로 적는다.
  • 이력서 PDF를 basics.resumeFile 로 내려받게 하면 PDF 전체가 공개된다. 사이트에서 뺀 전화번호나 주소가 PDF에 남아 있는지 pdftotext 로 확인하고, 있으면 보고에 꼭 적는다. 파일을 대신 고치지는 않는다.
  • content/site.ko.json 의 고정 문구를 읽는다. "오픈소스 기여 활동"처럼 이 사람에게 맞지 않는 주장이 있으면 사실에 맞게 고친다.
  • 문구를 바꾸고 싶을 때도 content/site.ko.json 을 고친다. 컴포넌트는 고치지 않는다. 규격에 없는 표현이 꼭 필요한 경우에만 컴포넌트를 고치고 사용자에게 알린다.

4. 검증

npm run verify -- <slug>

형식, 프로덕션 빌드, 템플릿 데모 인물 잔재를 한 번에 검사한다. 통과하면 npm run start -w @resume/portfolio-<slug> 를 백그라운드로 띄워 1440px 과 390px 화면을 실제로 본다. 다시 빌드했다면 이전 서버를 꺼야 한다. 이전 서버는 새 빌드를 제대로 내보내지 못해 500 오류를 낸다. 볼 곳은 긴 회사명이나 프로젝트명의 줄바꿈, 가로 넘침, 비어 보이는 구역, 사진 자리, 대문자로 바뀌어 어색해진 이름(SaaS가 SAAS로 나오는 경우)이다. 내용이 길어 깨지면 템플릿을 고치기 전에 해당 문구를 줄인다(사실은 유지).

마지막으로 profile.json 의 수치와 고유명사를 이력서 원문과 한 번 더 맞춰 본다.

5. 넘기기

사용자에게 알린다.

  • 실행 주소와 포트폴리오 경로
  • 자료가 없어서 사라진 섹션과 채우면 좋아지는 순서
  • 이 템플릿이 표시하지 않는 항목. 각 템플릿의 content/README.md 에 적혀 있다. 예를 들어 학력이 안 나오는 템플릿이면 꼭 알린다
  • 이력서에서 일부러 뺀 개인정보, 내려받기 PDF에 남아 있는 개인정보
  • 자료끼리 달랐던 값과 고른 값, 추리면서 뺀 프로젝트
  • 다듬으면서 표현이 바뀐 문장 중 사용자가 확인해야 할 것

배포는 공개 행위이므로 사용자가 요청할 때만 한다. 포트폴리오 폴더는 독립 앱이라 그대로 배포할 수 있다.

portfolios/ 와 PDF, selection.json 은 .gitignore 에 들어 있어 Resume Studio 저장소에 커밋되지 않는다. 사용자의 이력서, 사진, 연락처를 공개 저장소에 올려야 하는 일이 생기면 올라갈 파일 목록을 먼저 보여 주고 확인을 받는다.

수정 요청일 때

이미 만든 포트폴리오면 portfolios/<slug>/content/profile.json 만 고치고 4단계를 다시 한다.

템플릿을 바꾸려면 같은 profile.json 으로 새 slug 를 만든다. 형식이 같아서 내용을 다시 쓸 필요가 없다. 예전 폴더는 사용자가 원할 때까지 지우지 않는다.

Related Skills