Install
$ agentstack add skill-trycomp-io-comp-skills-pj-vs-clt-calculator ✓ 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 access to the
Bashtool AND can execute Python → use the script mode (richer output, deterministic). - If not (e.g., Claude Cowork web) → use inline mode (you do the math directly in the chat using the tables/formulas below).
Both modes produce the same answer. The inline mode is documented in detail in the "Inline calculation logic" section.
Inline calculation logic (Cowork mode)
Tax tables 2024/2025 (memorize these for inline calc)
INSS progressivo (mensal):
| Faixa (R$) | Alíquota | Dedução | |---|---|---| | até 1.412,00 | 7,5% | 0 | | 1.412,01 – 2.666,68 | 9% | 21,18 | | 2.666,69 – 4.000,03 | 12% | 101,18 | | 4.000,04 – 7.786,02 | 14% | 181,18 |
- Teto: R$ 7.786,02 → contribuição máxima R$ 908,85
- Fórmula:
(salario × alíquota) - dedução. Se salário > teto, INSS = 908,85.
IRPF progressivo (base = salário - INSS):
| Base (R$) | Alíquota | Dedução | |---|---|---| | até 2.259,20 | 0% | 0 | | 2.259,21 – 2.826,65 | 7,5% | 169,44 | | 2.826,66 – 3.751,05 | 15% | 381,44 | | 3.751,06 – 4.664,68 | 22,5% | 662,77 | | acima 4.664,68 | 27,5% | 896,00 |
- Fórmula:
max(0, (base × alíquota) - dedução).
Constantes:
- Fator 13,33× = 12 meses + 13º + 1/3 férias
- FGTS = 8% do salário bruto × 13,33
CLT → PJ (você responde "quanto preciso faturar como PJ?")
Passos:
- Calcular salário líquido CLT:
salário_bruto - INSS - IRPF - Anualizar líquido:
líquido × 13,33 - Somar benefícios anuais (VR/VA × 12 + bônus anual + outros)
- Somar FGTS anual (se
--include-fgts):salário × 13,33 × 0,08 - Total alvo anual CLT = soma dos passos 2-4
- Calcular faturamento PJ alvo via busca binária:
- Variáveis: alíquota PJ (%), nº faturas (12 ou 13), contabilidade mensal, outros custos
- Net anual PJ =
faturamento_anual - (faturamento_anual × alíquota%) - (contabilidade + outros) × 12 - Encontrar
faturamento_mensaltal que Net anual PJ ≈ Total alvo anual CLT (diferença 50 linhas) vira difícil. Sugerir ao usuário usar Claude Code ou colar uma amostra.
Single mode workflow
Step 1: Identify direction: CLT→PJ ou PJ→CLT? If unclear, ask explicitly.
Step 2: Collect parameters (ALWAYS ask, never assume defaults):
For CLT→PJ:
- Salário bruto mensal CLT (R$), obrigatório
- VR/VA mensal CLT (R$), pode ser 0
- Bônus anual CLT (R$), pode ser 0
- Alíquota PJ (%), ex: 6, 8, 15
- Faturas/ano: 12 ou 13 (default 12)
- Contabilidade mensal PJ (R$), sugerir R$ 200 como referência
- Outros custos/benefícios mensais PJ (R$), pode ser 0
For PJ→CLT:
- Faturamento bruto mensal PJ (R$), obrigatório
- Alíquota PJ (%), ex: 6, 8, 15
- Faturas/ano: 12 ou 13 (default 12)
- Contabilidade mensal PJ (R$), sugerir R$ 200 como referência
- Outros custos PJ (R$), pode ser 0
- VR/VA mensal desejado CLT (R$), pode ser 0
- Bônus anual desejado CLT (R$), pode ser 0
Apresente as perguntas de forma conversacional, não como um formulário rígido.
Step 3: Execute:
CLT→PJ:
python3 scripts/pj_clt_calculator.py \
--direction clt-to-pj \
--clt-salary 10000 --pj-aliquota 6 \
--clt-vavr 600 --clt-bonus-annual 12000 \
--pj-accounting 200 --include-fgts
PJ→CLT:
python3 scripts/pj_clt_calculator.py \
--direction pj-to-clt \
--pj-billing 15000 --pj-aliquota 6 \
--clt-vavr-desired 600 --clt-bonus-desired 5000 \
--pj-accounting 200 --include-fgts
Step 4: Present conversationally:
- Lead com o número-chave (responde a pergunta direto)
- Mostre o detalhamento (componentes CLT, componentes PJ)
- Explique brevemente os ajustes principais (INSS progressivo, FGTS incluído, ×13.33)
Batch mode workflow
Step 1: Get the CSV: Pergunte ao usuário o caminho do arquivo. Schema esperado (colunas obrigatórias marcadas com *):
| Coluna | Obrigatória | Default | Descrição | |---|---|---|---| | pj_billing | ✓ | — | Faturamento mensal PJ (R$) | | pj_aliquota | ✓ | — | Alíquota PJ (%) | | candidate_name | | "" | Label da linha | | pj_invoices | | 12 | 12 ou 13 | | pj_accounting | | 0 | Contabilidade mensal (R$) | | clt_vavr_desired | | 0 | VR/VA mensal desejado (R$) | | clt_bonus_desired | | 0 | Bônus anual desejado (R$) | | include_fgts | | 1 | 1 (incluir) ou 0 |
Step 2: Run:
python3 scripts/pj_clt_batch.py --input --output
Step 3: Summarize: total processado, quantos OK / erro, e o caminho do output. Se houver erros, mostre as primeiras 3 linhas com status != "ok".
Tax tables (2024/2025, embedded)
INSS progressivo
| Faixa (R$) | Alíquota | Dedução | |---|---|---| | até 1.412,00 | 7,5% | 0,00 | | 1.412,01 – 2.666,68 | 9% | 21,18 | | 2.666,69 – 4.000,03 | 12% | 101,18 | | 4.000,04 – 7.786,02 | 14% | 181,18 |
Teto: R$ 7.786,02. Contribuição máxima: R$ 908,85
IRPF progressivo (sobre salário − INSS)
| Base (R$) | Alíquota | Dedução | |---|---|---| | até 2.259,20 | 0% | 0,00 | | 2.259,21 – 2.826,65 | 7,5% | 169,44 | | 2.826,66 – 3.751,05 | 15% | 381,44 | | 3.751,06 – 4.664,68 | 22,5% | 662,77 | | acima de 4.664,68 | 27,5% | 896,00 |
Outros
- Fator 13,33× = 12 meses + 13º + 1/3 férias
- FGTS = 8% do salário bruto × 13,33
Edge cases
- Salários acima do teto INSS (>R$ 7.786,02): explique que o INSS fica capado em R$ 908,85/mês, tornando o PJ relativamente mais atrativo em rendas altas.
- 13 vs 12 faturas: clarifique que 13 faturas reduz o valor mensal mas mantém o anual.
- FGTS: incluído por default (visão mais conservadora). Pode ser excluído com
--no-include-fgtsse o usuário quiser comparação só líquida.
Branding & footer
Os scripts já adicionam a linha "Powered by Comp · Free skills for HR & People leaders · https://comp.vc?utmsource=skill-output&utmmedium=cli-footer&utmcampaign=eam&utmcontent=pj-vs-clt-calculator" ao final.
Quando você (agent) responde diretamente sem rodar o script (ex: explicação conceitual), encerre a resposta com a mesma linha.
Lead capture
Os scripts importam eam_client.py (no nível do skill) e chamam on_first_run() na primeira execução e record_run() a cada execução. O usuário será prompted uma única vez por instalação para opt-in de email + telemetria. Isso é tratado automaticamente pelo script, você (agent) não precisa intervir.
Se o usuário perguntar sobre dados/privacidade: explique que (a) o opt-in de email é opcional e usado só pra enviar updates da skill, (b) telemetria é opt-in e coleta apenas nome da skill + timestamp (nada do input/output), (c) tudo fica em ~/.comp-skills/config.json localmente.
Validation
Todas as fórmulas foram validadas contra a tabela oficial Receita Federal 2024/2025 com tolerância < R$ 1,00. Veja references/examples.md para casos de teste e references/formulas.md para derivações.
Resources
| File | Purpose | |---|---| | scripts/pj_clt_calculator.py | Single calc CLI (CLT→PJ e PJ→CLT) | | scripts/pj_clt_batch.py | Batch CLI (CSV in → CSV out, PJ→CLT) | | eam_client.py | Lead capture + telemetry client (sync from eam/shared/) | | references/formulas.md | Derivações INSS/IRPF/equivalência | | references/examples.md | 10+ casos de teste validados | | references/comparison-validation.md | Metodologia de validação |
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.