Communitygithub.com

roadkwonai/resume-portfolio

Crea un sitio web de portafolio personal a partir de tu currículum. Compara seis plantillas con vista previa web, elige una y completa con tu currículum (PDF, DOCX, texto) e información adicional.

¿Qué es resume-portfolio?

Esta habilidad transforma tu currículum en un sitio web de portafolio profesional. Primero, muestra una galería con seis plantillas para que elijas una. Luego, extrae información de tu currículum en PDF, DOCX o texto y la estructura en un archivo `profile.json`. El asistente se asegura de no inventar datos ni incluir información sensible no autorizada. Finalmente, genera el sitio web con la plantilla seleccionada, valida el resultado y te permite previsualizarlo antes de desplegarlo. Está diseñada para plataformas como Claude Code, Cursor o Codex, y su enfoque principal es la precisión factual y la privacidad del usuario, evitando reescribir el diseño desde cero.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Portafolio de Currículum

Crea el portafolio del usuario con las plantillas del repositorio Resume Studio. El sitio ya está completamente construido; el trabajo de esta habilidad es trasladar los hechos. En lugar de diseñar un nuevo diseño, se dedica tiempo a llenar correctamente content/profile.json.

Si en la carpeta actual existen gallery/ y templates/, ese es Resume Studio. Si no, pregunta al usuario la ubicación y, si no lo ha descargado, guíalo para que ejecute git clone https://github.com/roadkwonai/resume-studio.git y luego npm install. Todas las rutas a continuación son relativas a esa carpeta.

1. Recopilar Material y Elegir Plantilla

Estas dos tareas las realiza el usuario, por lo que se solicitan en un solo mensaje.

Mostrar la galería. Ejecuta npm run studio en segundo plano (la primera ejecución tarda unos minutos en compilarse). Cuando http://localhost:4100 responda, ábrelo en el navegador. Si el usuario ya mencionó una plantilla, se puede omitir la galería.

Solicítalo en un solo mensaje.

  • La ruta del archivo de currículum o el contenido pegado.
  • Que elija una plantilla en la galería (el botón "Seleccionar esta plantilla" en la pantalla lo registra en selection.json).
  • Si está disponible: el puesto al que postula, el idioma del sitio (coreano/inglés), foto de perfil, imágenes de proyectos, enlaces como GitHub, etc.

Si el usuario duda, recomiéndale según la cantidad de material. Los fundamentos de las recomendaciones están en references/templates.md.

Cuando el usuario diga que eligió en la galería, lee selection.json para confirmarlo. Este archivo solo registra el último clic, por lo que podría ser un valor anterior. Si el usuario mencionó el nombre de la plantilla, eso tiene prioridad.

2. Redactar profile.json

Lee references/profile-guide.md y el templates/<id>/content/README.md de la plantilla elegida, luego redacta profile.json en el scratchpad. El esquema está en shared/profile.ts.

No escribas contenido sin fuente. El portafolio es un documento que los reclutadores leen como hechos. Incluir cifras, testimonios o períodos inexistentes puede poner al usuario en aprietos en una entrevista y constituir falsedad en su historial laboral. Los elementos vacíos desaparecen automáticamente de la pantalla, por lo que es más seguro dejarlos vacíos. Está bien pulir las frases, pero no aumentar los hechos. Por ejemplo, escribir "desarrollé un sistema de pagos" está bien, pero escribir "sistema de pagos para millones de usuarios" no lo está.

Solo traslada contenido que pueda hacerse público. El currículum es un documento privado para la empresa, mientras que el sitio lo ve cualquiera. No se trasladan: número de identificación, dirección particular, fecha de nacimiento, información familiar, detalles del servicio militar ni salario. El número de teléfono solo se incluye si el usuario ha aceptado hacerlo público.

Si hay dos o más fuentes de material, o si el contenido es extenso, lee references/sources.md. Allí se indica qué hacer cuando los valores difieren entre fuentes y qué criterios usar para filtrar.

Después de redactar, verifica el formato con:

npm run validate -- <archivo>

3. Generar el Portafolio

npm run new -- <id-plantilla> <slug> <ruta-a-profile.json>

Si el usuario mencionó la plantilla, usa su id; si siguió la selección de la galería, escribe selected en el lugar de <id-plantilla>. El slug se define en minúsculas en inglés con el nombre del usuario (ejemplo: hong-gildong). Luego:

  • Copia fotos, imágenes y el PDF del currículum a portfolios/<slug>/public/profile/. Copia, no muevas los originales.
  • Escribe las rutas de las imágenes en profile.json como /profile/nombre-archivo.
  • Para que el PDF del currículum se pueda descargar como basics.resumeFile, eso hace público el PDF completo. Verifica con pdftotext si el PDF contiene información personal (como teléfono o dirección) que se eliminó del sitio. Si es así, inclúyelo en el informe. No modifiques el archivo por ti mismo.
  • Lee el texto fijo de content/site.ko.json. Si hay afirmaciones que no se ajustan a la persona, como "contribuciones de código abierto", corrígelas según los hechos.
  • Si quieres cambiar el texto, edita content/site.ko.json. No modifiques los componentes. Solo si es estrictamente necesaria una expresión que no está en el esquema, modifica el componente y notifícalo al usuario.

4. Validación

npm run verify -- <slug>

Esto verifica formato, compilación de producción y residuos de personajes demo de la plantilla, todo de una vez. Si pasa, ejecuta npm run start -w @resume/portfolio-<slug> en segundo plano y visualiza la pantalla en 1440 px y 390 px. Si se reconstruyó, es necesario detener el servidor anterior. El servidor anterior no entrega la nueva compilación correctamente y produce errores 500. Los puntos a revisar son: saltos de línea en nombres largos de empresas o proyectos, desbordamiento horizontal, áreas que parecen vacías, espacio para la foto, y nombres que cambian a mayúsculas de manera extraña (por ejemplo, SaaS aparece como SAAS). Si el contenido es extenso y se rompe, acorta el texto antes de modificar la plantilla (manteniendo los hechos).

Finalmente, compara nuevamente los números y nombres propios de profile.json con el texto original del currículum.

5. Entrega

Informa al usuario:

  • La dirección de ejecución y la ruta del portafolio.
  • Las secciones que desaparecieron por falta de material y el orden en que conviene completarlas.
  • Los elementos que esta plantilla no muestra. Están indicados en el content/README.md de cada plantilla. Por ejemplo, si la plantilla no muestra educación, asegúrate de decirlo.
  • La información personal omitida intencionalmente del currículum, y la información personal que permanece en el PDF descargable.
  • Los valores que diferían entre fuentes y el valor elegido, y los proyectos que se omitieron al filtrar.
  • Las frases cuyo redactado cambió al pulirlas y que el usuario debe verificar.

El despliegue es un acto público, por lo que solo se realiza a petición del usuario. La carpeta del portafolio es una aplicación independiente y se puede desplegar tal cual.

portfolios/, los PDFs y selection.json están en .gitignore, por lo que no se confirmarán en el repositorio de Resume Studio. Si alguna vez es necesario subir el currículum, fotos o datos de contacto del usuario a un repositorio público, primero muestra la lista de archivos que se subirán y solicita confirmación.

Cuando es una Solicitud de Modificación

Si el portafolio ya existe, solo modifica portfolios/<slug>/content/profile.json y repite el paso 4.

Para cambiar la plantilla, crea un nuevo slug con el mismo profile.json. Como el formato es el mismo, no es necesario reescribir el contenido. La carpeta anterior no se elimina hasta que el usuario lo solicite.

Skills relacionados