Communitygithub.com

roadkwonai/resume-portfolio

Crée un site web de portfolio personnel à partir d'un CV. Permet de comparer six modèles via un aperçu web, d'en choisir un, puis de remplir le contenu avec votre CV (PDF, DOCX, texte) et des informations supplémentaires.

Qu'est-ce que resume-portfolio ?

Cette compétence automatise la création d'un site web de portfolio professionnel à partir du CV d'un utilisateur. Elle s'appuie sur le dépôt Resume Studio, qui fournit six modèles de templates prêts à l'emploi. L'utilisateur peut prévisualiser les modèles dans une galerie web, en sélectionner un, puis fournir son CV (PDF, DOCX, texte) ainsi que des informations complémentaires comme une photo de profil, des liens GitHub, ou le poste visé. L'assistant génère alors un fichier profile.json structuré, valide les données avec des outils intégrés, et produit un portfolio statique déployable. La priorité est donnée à la fidélité des informations : aucune donnée ne doit être inventée ou embellie, et les informations privées (numéro de sécurité sociale, adresse, etc.) ne sont pas incluses dans le site public. La compétence prend en charge les modifications ultérieures du contenu ou le changement de template, et vérifie la cohérence des données avec le CV original. Les plateformes supportées incluent les environnements Node.js et les outils CLI, et le projet est hébergé sur GitHub.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Resume Portfolio

Crée le portfolio de l'utilisateur à l'aide des templates du dépôt Resume Studio. Le site est déjà entièrement construit ; le travail de cette compétence consiste à retranscrire les faits. Au lieu de concevoir une nouvelle mise en page, concentrez-vous sur le remplissage précis du fichier content/profile.json.

Si le dossier actuel contient les répertoires gallery/ et templates/, il s'agit du dossier Resume Studio. Sinon, demandez son emplacement à l'utilisateur ; s'il ne l'a pas téléchargé, guidez-le avec git clone https://github.com/roadkwonai/resume-studio.git suivi de npm install. Tous les chemins ci-dessous sont relatifs à ce dossier.

1. Collecte des documents et choix du template

Ces deux étapes incombent à l'utilisateur, demandez-les donc en une seule fois.

Afficher la galerie. Exécutez npm run studio en arrière-plan (le premier lancement nécessite une compilation qui prend quelques minutes). Lorsque http://localhost:4100 répond, ouvrez-le dans le navigateur. Si l'utilisateur a déjà mentionné un template, vous pouvez ignorer la galerie.

Demandez en un seul message :

  • Le chemin du fichier CV ou son contenu copié-collé
  • La demande de choisir un template dans la galerie (le bouton "Sélectionner ce template" à l'écran enregistre le choix dans selection.json)
  • Si disponibles : le poste visé, la langue du site (coréen/anglais), la photo de profil, les images de projet, les liens GitHub, etc.

Si l'utilisateur hésite, faites des recommandations en fonction de la quantité de documents. Les justifications des recommandations se trouvent dans references/templates.md.

Lorsque l'utilisateur déclare avoir fait son choix dans la galerie, lisez selection.json pour le confirmer. Ce fichier n'enregistre que le dernier clic, il peut donc contenir une valeur obsolète. Si l'utilisateur a nommé le template, sa parole prévaut.

2. Rédaction de profile.json

Lisez references/profile-guide.md ainsi que le fichier templates/<id>/content/README.md du template choisi, puis rédigez profile.json dans le scratchpad. La spécification est shared/profile.ts.

N'ajoutez aucun contenu sans source. Le portfolio est un document que les recruteurs lisent comme factuel. L'ajout de chiffres, d'avis ou de périodes inexistants pourrait mettre l'utilisateur en difficulté lors d'un entretien et constituer une fausse déclaration de carrière. Les champs vides disparaissent automatiquement de l'affichage, il est donc toujours plus sûr de les laisser vides. Reformuler les phrases est acceptable, mais ne gonflez pas les faits. Par exemple, écrire "développement d'un système de paiement" comme "j'ai développé un système de paiement" est correct, mais écrire "système de paiement pour des millions d'utilisateurs" ne l'est pas.

Ne transférez que les informations pouvant être rendues publiques. Le CV est un document privé destiné aux entreprises, tandis que le site est visible par tous. Ne transférez pas les numéros d'identification nationale, l'adresse personnelle, la date de naissance, les informations familiales, les détails du service militaire ou le salaire. N'incluez le numéro de téléphone qu'avec le consentement de l'utilisateur.

Si les documents sont multiples ou volumineux, lisez references/sources.md. Ce fichier fournit des critères pour gérer les divergences entre les sources et décider quoi retenir.

Après avoir rédigé le fichier, validez son format avec :

npm run validate -- <fichier>

3. Génération du portfolio

npm run new -- <template-id> <slug> <chemin-vers-profile.json>

Si l'utilisateur a nommé le template, utilisez son identifiant ; si vous suivez le choix de la galerie, écrivez selected à la place de <template-id>. Le slug est le nom de l'utilisateur en minuscules anglaises (exemple : hong-gildong). Ensuite :

  • Copiez (ne déplacez pas) les photos, images et le CV PDF dans portfolios/<slug>/public/profile/.
  • Écrivez les chemins des images dans profile.json sous la forme /profile/nom_du_fichier.
  • Proposer le CV PDF en téléchargement via basics.resumeFile rend le PDF entier public. Vérifiez avec pdftotext si le PDF contient des informations privées (numéro de téléphone, adresse) qui ont été omises du site. Mentionnez-le obligatoirement dans le rapport. Ne modifiez pas le fichier vous-même.
  • Lisez le fichier content/site.ko.json pour les textes fixes du site. Si des affirmations comme "contribution à l'open source" ne correspondent pas à la personne, corrigez-les en fonction des faits.
  • Si vous souhaitez modifier des textes, modifiez content/site.ko.json. Ne touchez pas aux composants. Ne modifiez un composant qu'en cas de besoin absolu d'une expression non prévue par la spécification, et informez-en l'utilisateur.

4. Validation

npm run verify -- <slug>

Cette commande vérifie en une seule fois le format, la compilation de production, et l'absence de traces du modèle de démonstration. Si elle réussit, lancez npm run start -w @resume/portfolio-<slug> en arrière-plan pour visualiser le site réel à 1440 px et 390 px. Si vous avez reconstruit le projet, vous devez arrêter le serveur précédent ; le nouveau serveur ne servira pas correctement la nouvelle version et générera des erreurs 500. Les points à vérifier incluent les sauts de ligne pour les noms d'entreprise ou de projet longs, les débordements horizontaux, les zones vides, les emplacements des photos, et les noms mal capitalisés (par exemple, SaaS écrit "SAAS"). Si le contenu casse la mise en page, réduisez d'abord le texte incriminé (en conservant les faits) avant de modifier le template.

Enfin, revérifiez une dernière fois les chiffres et les noms propres de profile.json par rapport au CV original.

5. Transmission

Informez l'utilisateur :

  • De l'URL d'accès et du chemin du portfolio
  • Des sections manquantes par manque de données et de l'ordre de priorité pour les compléter
  • Des éléments que ce template n'affiche pas (indiqués dans le content/README.md de chaque template). Par exemple, si le template ne montre pas la formation, assurez-vous de le signaler
  • Des informations personnelles volontairement omises du CV, et de celles qui restent dans le PDF téléchargeable
  • Des valeurs divergentes entre les sources, de la valeur choisie, et des projets retirés lors du filtrage
  • Des phrases reformulées que l'utilisateur doit vérifier

Le déploiement est un acte public : ne le faites qu'à la demande de l'utilisateur. Le dossier du portfolio est une application indépendante qui peut être déployée telle quelle.

Les dossiers portfolios/ et les fichiers PDF ainsi que selection.json sont inclus dans .gitignore et ne sont pas commités dans le dépôt Resume Studio. Si des fichiers tels que le CV, les photos ou les coordonnées de l'utilisateur doivent être poussés sur un dépôt public, montrez d'abord la liste des fichiers à uploader et obtenez une confirmation.

En cas de demande de modification

S'il s'agit d'un portfolio déjà créé, modifiez uniquement portfolios/<slug>/content/profile.json et répétez l'étape 4.

Pour changer de template, créez un nouveau slug avec le même profile.json. Le format étant identique, il n'est pas nécessaire de réécrire le contenu. Ne supprimez pas l'ancien dossier tant que l'utilisateur ne le demande pas.

Skills associés