Communitygithub.com

roadkwonai/resume-portfolio

이력서를 바탕으로 개인 포트폴리오 웹사이트를 생성합니다. 템플릿 갤러리에서 미리보기로 비교하고 선택한 뒤, 사용자의 이력서(PDF, DOCX, 텍스트)와 추가 정보를 채워 맞춤형 사이트를 만듭니다.

resume-portfolio란 무엇인가요?

이 스킬은 Resume Studio 저장소의 템플릿을 기반으로 사용자의 이력서 정보를 정확하게 옮겨 개인 포트폴리오 웹사이트를 생성합니다. 사용자는 웹 갤러리에서 6가지 템플릿을 미리보기로 비교하고 선택할 수 있으며, PDF, DOCX, 텍스트 형식의 이력서부터 프로필 사진, 프로젝트 이미지, 링크까지 다양한 자료를 입력으로 받습니다. 핵심 작업은 `content/profile.json`을 정확하게 채우는 데 있으며, 거짓 정보나 출처 없는 내용은 절대 작성하지 않고 공개되어도 안전한 정보만 추려냅니다. 포트폴리오 생성 후에는 자동 검증(`verify`)과 실제 화면 미리보기(1440px, 390px)를 지원하며, 수정 요청 시에는 profile.json만 변경하거나 템플릿을 교체할 수 있습니다. 현재 Cursor 플랫폼에서 동작하며, 사용자 요청 시에만 배포를 진행하고 민감 정보는 공개 저장소에 올리기 전에 사용자 확인을 받습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/roadkwonai/resume-studio/tree/HEAD/.claude/skills/resume-portfolio

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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 를 만든다. 형식이 같아서 내용을 다시 쓸 필요가 없다. 예전 폴더는 사용자가 원할 때까지 지우지 않는다.

관련 스킬