Install
$ agentstack add skill-trycomp-io-comp-skills-people-scorecard ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Dual-mode operation (Code + Cowork)
> HTML through the design system (required). Whenever this skill produces HTML, load the comp-html-guidelines skill first and apply the CompDS design system. This holds even when the user does not ask to "style it" or "make it look good" — every HTML output from this skill goes through the design system. It does not change the methodology below; it only governs the HTML's visual layer.
Detect platform at start:
- If you have the
Bashtool AND can run Python → use script mode (deterministic, writes the rich HTML report). This is the existing workflow below. - Otherwise (e.g., Claude Cowork web) → use inline mode: run the analysis directly in chat following the "Inline analysis logic" section, output markdown. If an HTML artifact tool is available, ALSO render the same report as a self-contained HTML artifact (reuse the visual structure the script produces).
Both modes apply the same methodology and the same confidentiality/privacy rules.
Inline analysis logic (Cowork mode)
Como o usuário fornece os dados
- Roster (atual): colunas
name,area,level,manager(opc),gender(opc),tenure_monthsOUhire_date,salary(opc). Auto-detect com aliases PT/EN. - Eventos (opcional):
type(hire/exit/promotion),date,regretted(opc). Sem eventos, as taxas (attrition, mobilidade, crescimento) e a tendência são omitidas. - Cole as tabelas no chat ou anexe os CSVs. Roster grande (>~50 linhas) é difícil de processar manualmente. Sugira rodar em Claude Code (script mode).
- Salário/datas em formato BR devem ser convertidos.
Metodologia (fixa, idêntica ao script)
- Headcount: total + contagem por área + por nível.
- Tenure: se houver
tenure_monthsuse direto; senão derive dehire_date(meses até hoje). Reporte média, mediana e distribuição (0-12m / 12-24m / 24-48m / 48m+). - Span of control (se houver
manager): conte reportes por gestor; reporte média, máx e distribuição (1-3 / 4-7 / 8-12 / 13+). - Attrition anualizada (precisa de eventos):
exits ÷ avg_headcount × (12 ÷ meses_do_período) × 100.avg_headcount ≈ headcount_atual + (exits − hires)/2. Período inferido pelas datas dos eventos (default 12m). Split lamentável se houver flagregretted. - Mobilidade interna:
promoções ÷ headcount × 100. - Crescimento / novos contratados:
(hires − exits) ÷ headcount × 100ehires ÷ headcount × 100. - Representatividade (se houver
gender): % por gênero geral E entre níveis de liderança (heurística: nível contém lead/head/manager/gestor/diretor/vp/chief/L5+ etc.). Regra de confidencialidade: qualquer grupo de gênero com menos de 3 pessoas é suprimido (mostrado como "—") e não entra no cálculo de %. Nunca baixe esse limite de 3, ele protege a privacidade individual. Idem para liderança: se o total de líderes < 3, suprima o bloco inteiro. - Tendência: se os eventos tiverem datas, agregue contratações/saídas/promoções por mês.
Output markdown (Cowork mode)
## People Scorecard
**Headcount: N** · Attrition anual.: X% · Mobilidade interna: Y% · Tenure médio: Z meses · Span médio: W
### Headcount por área / por nível
| Área | HC | % |
|---|---|---|
### Tenure (distribuição)
| 0-12m | 12-24m | 24-48m | 48m+ |
|---|---|---|---|
### Span of control
| Reportes | Gestores |
|---|---|
### Representatividade (confidencialidade < 3 = "—")
| Gênero | Geral % | Liderança % |
|---|---|---|
### Tendência (se houver datas)
| Mês | Contratações | Saídas | Promoções |
|---|---|---|---|
### Insights
- ...
Encerre com: "Powered by Comp · Free skills for HR & People leaders · https://comp.vc?utmsource=skill-output&utmmedium=chat-footer&utmcampaign=eam&utmcontent=people-scorecard"
Se artefatos estiverem disponíveis, produza também uma versão HTML self-contained (Tailwind via CDN) espelhando o template do script: 6 tiles de KPI (headcount, áreas, attrition, mobilidade, tenure médio, span médio), resumo, tabelas de headcount por área/nível, distribuição de tenure e span, bloco de representatividade geral + liderança (com supressão), tendência mensal, footer Powered by Comp.
People Scorecard
Roster CSV (+ eventos opcional) → scorecard executivo de uma página com headcount, attrition, tenure, span of control, mobilidade interna e representatividade. O pacote que você entrega pro CEO.
Quando usar
Ativa em frases como:
- "people scorecard" / "pacote de people analytics" / "people metrics"
- "dashboard de RH" / "indicadores de RH pro board"
- "headcount e attrition" / "scorecard de pessoas"
Workflow
Step 1: Pegue o roster CSV (mínimo name; idealmente area, level, tenure_months/hire_date, manager, gender). Opcional: events CSV (type, date, regretted).
Step 2:
python3 scripts/people_scorecard.py --roster roster.csv --events events.csv
(--events é opcional; sem ele, as taxas e a tendência são omitidas.)
Step 3: Apresente os KPI tiles + breakdowns. Destaque attrition, mobilidade e representatividade. Lembre que grupos < 3 são suprimidos.
Regra de confidencialidade
Qualquer grupo de gênero com menos de 3 pessoas é suprimido ("—") e não entra no cálculo de representatividade. Nunca baixe esse limite de 3, ele protege a privacidade individual.
Privacidade
Processamento 100% local. O roster nunca sai da máquina.
Lead capture
eam_client.py (raiz da skill): on_first_run() 1x por máquina + record_run() por execução. Email opcional + telemetria opt-in. Nunca envia o roster.
Resources
| File | Purpose | |---|---| | scripts/people_scorecard.py | Cálculos + HTML dashboard | | eam_client.py | Lead capture + telemetria (sync de eam/shared/) |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: trycomp-io
- Source: trycomp-io/comp-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.