From somnio-engineering-management
Generates the Somnio HandShake Step 3 - Acknowledgement PDF document from raw evaluation notes. Use this skill whenever an Engineering Manager (EM) wants to create, generate, or produce one or more HandShake Acknowledgement documents, career review PDFs, seniority evaluation documents, or anything related to the Somnio bi-annual performance review process. Trigger even if the user says things like: generar el documento del handshake, armar el PDF de la evaluacion, crear el acknowledgement para un dev, generar el informe del career path, procesar estas fichas, or similar. The skill handles both single and batch (multiple devs) generation: it reads all attached ficha files, pre-fills what it can infer, confirms all data with the EM in a single table, then generates one PDF per dev.
npx claudepluginhub somnio-software/somnio-ai-tools --plugin somnio-engineering-managementThis skill uses the workspace's default tool permissions.
Generates the Somnio **HandShake - Step 3 Acknowledgement** PDF from raw EM notes.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Generates the Somnio HandShake - Step 3 Acknowledgement PDF from raw EM notes. Handles single or batch generation (1 to N devs in one run).
Somnio Software runs a bi-annual performance review program called HandShake (April and October/November). After conducting interviews with the PM, a dev from the team, and the Tech Lead, the EM synthesizes everything into the Acknowledgement document — a formal PDF delivered to the developer.
One or more ficha files (PDF, DOCX, or pasted text) per developer, containing:
Input is always free-form — Claude must interpret it intelligently.
One PDF per developer, matching the Somnio Acknowledgement template:
When the EM attaches one or more ficha files, read all of them before asking anything. For each file, extract as much as possible:
Present a single summary table with one row per developer. Pre-fill every field Claude could infer. Mark fields Claude could NOT determine with [?].
Example format:
Encontré X fichas. Antes de generar, confirmá o corregí los datos:
| # | Somnier | Líder | Fecha | Rol |
|---|---------|-------|-------|-----|
| 1 | John Doe | Jane Smith | [?] | Sr Flutter Developer |
| 2 | Bob Johnson | [?] | [?] | Sr Backend Engineer |
Completá los [?] y avisame si hay algo para corregir. Una vez confirmado, genero todos los PDFs.
Date format rule: Fecha must be Dec 19, 2025 style (abbreviated English month, no leading zero, 4-digit year). Accept any format from the EM and normalise automatically.
Do NOT generate any PDF until the EM explicitly confirms the table.
Once the EM confirms (even partially, e.g. "el resto está bien"), generate all PDFs sequentially. For each dev:
Deliver all files at the end together.
Present all generated PDFs at once using present_files.
Name each file: Handshake_Acknowledgement_Firstname_Lastname.pdf
From the raw notes, synthesize per developer:
4–7 bullet points highlighting strengths and achievements. Extract from PM/dev/TL feedback. Reformulate cleanly — do not copy raw notes verbatim.
Only if a previous Acknowledgement PDF was provided. For each prior objective, assign:
Logrado — clearly achievedLogrado, pero hay que seguir trabajando — partialEn progreso — started but not there yetPendiente — not yet addressedIf no previous eval: omit this section entirely.
3–6 specific, actionable improvement areas. Extract from TL/PM criticism. Frame positively and professionally.
Grouped by category. For Flutter devs, typical categories:
Adapt categories to the actual role and tech stack.
python3 /path/to/handshake-acknowledgement/scripts/generate_pdf.py \
--somnier "FULL NAME" \
--lider "LEADER NAME" \
--fecha "Dec 19, 2025" \
--rol "Role Title" \
--output /mnt/user-data/outputs/Handshake_Acknowledgement_Firstname_Lastname.pdf \
--content /tmp/handshake_content_firstname.json
The script auto-normalises the date format. See scripts/generate_pdf.py for the full content JSON structure.
assets/fonts/, Liberation Sans is used as fallback. To install proper fonts, place TTF files there (see script docstring).