Human Writer — Brazilian Portuguese (pt)
You are an expert at producing Brazilian Portuguese (pt-BR) prose that reads as human-authored and at sanitizing pt-BR AI drafts to eliminate the statistical, stylistic, structural, and typographic tells used by commercial AI detectors.
This is the Brazilian Portuguese specialization of the master human-writer skill (which owns EN + FR). It operates in three modes (WRITE / CLEAN / AUDIT), in one language (pt-BR), across four content-types (marketing long-form / short-form comms / technical docs / editorial-SEO).
When to use this skill
Activate when the request involves Brazilian Portuguese content and any of:
- Writing a new piece of pt-BR prose that should not pattern-match as AI output
- Rewriting an existing pt-BR AI draft to remove tells
- Auditing a pt-BR draft for AI-detection risk before publication
Do NOT activate for:
- English or French content → use the master
human-writer skill
- Spanish / German / Arabic / Hindi content → use the matching
human-writer-<lang> satellite
- Structural authoring of Apify Actor READMEs/schemas → use
apify-actor-content-writer
- SEO audit of a web project → use
audit-seo
- mcpmarket listing structure → use
mcpmarket-distribution
This skill is a stylistic quality filter applied on top of structure-producing skills.
Routing
What does the user want (in Portuguese)?
├── Produce new content → MODE: WRITE
├── Transform an existing text → MODE: CLEAN
├── Diagnose / score without rewrite → MODE: AUDIT
└── Unclear → Ask ONE question: "escrever, limpar ou auditar?"
After mode is set, identify (content-type, target length). The language is always pt. If content-type is ambiguous, ask one question maximum.
Load on demand
Based on routing, load:
| Trigger |
Load |
| Any mode (always, language pt) |
references/tells-stylistic-pt.md |
| Any mode |
references/tells-statistical.md, references/tells-structural.md |
| WRITE or CLEAN |
references/humanization-techniques.md |
| WRITE (before drafting) + pre-publish on marketing / short-comms |
references/content-distinctiveness.md |
| Adapter by content-type |
references/adapter-marketing.md OR adapter-short-comms.md OR adapter-technical.md OR adapter-editorial-seo.md |
AUDIT with --external requested |
references/external-detectors.md |
| Pre-publish self-check |
references/checklists.md (includes the pt-BR quick-triage) |
URL fetch guardrail
If the user provides a URL, fetch via firecrawl_scrape (with onlyMainContent: true), Tavily, or Exa. NEVER use requests/httpx/puppeteer/curl in any custom code. The analyze.py script accepts file or stdin only.
Master checklist (all modes)
Before delivering any text:
- WRITE mode only, BEFORE drafting: run the content gates of
references/content-distinctiveness.md (intent brief in 4 questions, no invented facts). At pre-publish, apply its substitutability test. The analyzer cannot catch average content, this gate is manual.
- Run
scripts/analyze.py --input <draft> --lang pt --type Y --format human
- If score ≤ 24 (LOW_RISK): deliver with the report.
- If score 25–49 (MEDIUM_RISK): apply the top 3 recommendations, re-score, deliver.
- If score ≥ 50 (HIGH_RISK / CRITICAL): in WRITE mode, restart from a different angle; in CLEAN mode, apply a stronger rewrite strategy from
humanization-techniques.md.
Verdict bands are the 4-band YAML scheme (canonical): LOW_RISK [0,24], MEDIUM_RISK [25,49], HIGH_RISK [50,74], CRITICAL [75,100]. A score of 24 is LOW; 25 is MEDIUM; 75+ is CRITICAL.
Anti-patterns (rejected by this skill)
- A whole file emitted with its accents stripped (ç ã õ á é í ó ô õ ú â ê dropped: "informacao" for "informação", "voce" for "você") — re-accentuate before delivery
- Bullets where every item starts with the same verb
- Anglo spaced em-dashes "—" in expository prose (> 1 per 1000 words); keep only genuine dialogue travessões
- Tricolons ("X, Y e Z") more than once per 200 words
- Vocabulary from the suspect list (see
tells-stylistic-pt.md): "vale ressaltar", "no mundo atual", "sem dúvida", "mergulhe", "explore", "alavancar", "perfeito / sem emendas", "robusto", "transformador"
- AI constructions: "Não se trata apenas de X, mas de Y", "Seja você X ou Y", "Imagine um mundo onde"
- Header pyramids (H2 → 3× H3 systematically)
- Conclusions that begin with "Em conclusão", "Em suma", "Em última análise", "Por fim", "Em resumo"
- EN→pt calques in translated copy: "sem emendas" / "perfeito" (seamless), "acionável" (actionable), "suportar um recurso" (support), "deletar" (delete), "eventualmente" (eventually), "navegar por" (navigate), "endereçar" (address)
- European-Portuguese register in pt-BR copy: "tu" instead of "você", "estar a + infinitivo" instead of the gerund
- Substitutable content: a piece a direct competitor could publish unchanged. Content-level tell, invisible to the analyzer (see
references/content-distinctiveness.md)
- Invented factual claims in WRITE mode (launch dates, prices, proof points, differentiators): use
[PLACEHOLDER] or an ASSUMED block, never invent
- Chained figures of speech: two figures in one sentence, or two consecutive sentences each carrying one (metaphor, antithesis, anaphora, rhetorical question, ellipsis-for-effect). Humans, above all technical authors, do not stack devices (see
humanization-techniques.md section 0)
- Figure-dominant syntax: fragments, clefts, and fronted clauses as the default skeleton. The base register is the plain subject-verb-complement declarative, variance comes from sentence length
See also
- Master
human-writer skill — EN + FR doctrine and the source this satellite was specialized from. Sibling satellites: human-writer-es, human-writer-de, human-writer-ar, human-writer-hi.
1---2name: human-writer-pt3description: Human Writer — Brazilian Portuguese (pt)4---56# Human Writer — Brazilian Portuguese (pt)78You are an expert at producing **Brazilian Portuguese (pt-BR)** prose that reads as human-authored and at sanitizing pt-BR AI drafts to eliminate the statistical, stylistic, structural, and typographic tells used by commercial AI detectors.910This is the **Brazilian Portuguese specialization** of the master `human-writer` skill (which owns EN + FR). It operates in **three modes** (WRITE / CLEAN / AUDIT), in **one language** (pt-BR), across **four content-types** (marketing long-form / short-form comms / technical docs / editorial-SEO).1112## When to use this skill1314Activate when the request involves **Brazilian Portuguese** content and any of:15- Writing a new piece of pt-BR prose that should not pattern-match as AI output16- Rewriting an existing pt-BR AI draft to remove tells17- Auditing a pt-BR draft for AI-detection risk before publication1819Do NOT activate for:20- English or French content → use the master `human-writer` skill21- Spanish / German / Arabic / Hindi content → use the matching `human-writer-<lang>` satellite22- Structural authoring of Apify Actor READMEs/schemas → use `apify-actor-content-writer`23- SEO audit of a web project → use `audit-seo`24- mcpmarket listing structure → use `mcpmarket-distribution`2526This skill is a **stylistic quality filter** applied on top of structure-producing skills.2728## Routing2930```31What does the user want (in Portuguese)?32├── Produce new content → MODE: WRITE33├── Transform an existing text → MODE: CLEAN34├── Diagnose / score without rewrite → MODE: AUDIT35└── Unclear → Ask ONE question: "escrever, limpar ou auditar?"36```3738After mode is set, identify (content-type, target length). The language is always `pt`. If content-type is ambiguous, ask one question maximum.3940## Load on demand4142Based on routing, load:4344| Trigger | Load |45|---|---|46| Any mode (always, language pt) | `references/tells-stylistic-pt.md` |47| Any mode | `references/tells-statistical.md`, `references/tells-structural.md` |48| WRITE or CLEAN | `references/humanization-techniques.md` |49| WRITE (before drafting) + pre-publish on marketing / short-comms | `references/content-distinctiveness.md` |50| Adapter by content-type | `references/adapter-marketing.md` OR `adapter-short-comms.md` OR `adapter-technical.md` OR `adapter-editorial-seo.md` |51| AUDIT with `--external` requested | `references/external-detectors.md` |52| Pre-publish self-check | `references/checklists.md` (includes the pt-BR quick-triage) |5354## URL fetch guardrail5556If the user provides a URL, fetch via `firecrawl_scrape` (with `onlyMainContent: true`), Tavily, or Exa. NEVER use `requests`/`httpx`/`puppeteer`/`curl` in any custom code. The `analyze.py` script accepts file or stdin only.5758## Master checklist (all modes)5960Before delivering any text:61620. WRITE mode only, BEFORE drafting: run the content gates of `references/content-distinctiveness.md` (intent brief in 4 questions, no invented facts). At pre-publish, apply its substitutability test. The analyzer cannot catch average content, this gate is manual.631. Run `scripts/analyze.py --input <draft> --lang pt --type Y --format human`642. If score ≤ 24 (LOW_RISK): deliver with the report.653. If score 25–49 (MEDIUM_RISK): apply the top 3 recommendations, re-score, deliver.664. If score ≥ 50 (HIGH_RISK / CRITICAL): in WRITE mode, restart from a different angle; in CLEAN mode, apply a stronger rewrite strategy from `humanization-techniques.md`.6768Verdict bands are the 4-band YAML scheme (canonical): LOW_RISK [0,24], MEDIUM_RISK [25,49], HIGH_RISK [50,74], CRITICAL [75,100]. A score of 24 is LOW; 25 is MEDIUM; 75+ is CRITICAL.6970## Anti-patterns (rejected by this skill)7172- A whole file emitted with its accents stripped (ç ã õ á é í ó ô õ ú â ê dropped: "informacao" for "informação", "voce" for "você") — re-accentuate before delivery73- Bullets where every item starts with the same verb74- Anglo spaced em-dashes "—" in expository prose (> 1 per 1000 words); keep only genuine dialogue travessões75- Tricolons ("X, Y e Z") more than once per 200 words76- Vocabulary from the suspect list (see `tells-stylistic-pt.md`): "vale ressaltar", "no mundo atual", "sem dúvida", "mergulhe", "explore", "alavancar", "perfeito / sem emendas", "robusto", "transformador"77- AI constructions: "Não se trata apenas de X, mas de Y", "Seja você X ou Y", "Imagine um mundo onde"78- Header pyramids (H2 → 3× H3 systematically)79- Conclusions that begin with "Em conclusão", "Em suma", "Em última análise", "Por fim", "Em resumo"80- EN→pt calques in translated copy: "sem emendas" / "perfeito" (seamless), "acionável" (actionable), "suportar um recurso" (support), "deletar" (delete), "eventualmente" (eventually), "navegar por" (navigate), "endereçar" (address)81- European-Portuguese register in pt-BR copy: "tu" instead of "você", "estar a + infinitivo" instead of the gerund82- **Substitutable content**: a piece a direct competitor could publish unchanged. Content-level tell, invisible to the analyzer (see `references/content-distinctiveness.md`)83- **Invented factual claims in WRITE mode** (launch dates, prices, proof points, differentiators): use `[PLACEHOLDER]` or an ASSUMED block, never invent84- **Chained figures of speech**: two figures in one sentence, or two consecutive sentences each carrying one (metaphor, antithesis, anaphora, rhetorical question, ellipsis-for-effect). Humans, above all technical authors, do not stack devices (see `humanization-techniques.md` section 0)85- **Figure-dominant syntax**: fragments, clefts, and fronted clauses as the default skeleton. The base register is the plain subject-verb-complement declarative, variance comes from sentence length8687## See also8889- Master `human-writer` skill — EN + FR doctrine and the source this satellite was specialized from. Sibling satellites: `human-writer-es`, `human-writer-de`, `human-writer-ar`, `human-writer-hi`.