prospeak: write in the register of a professional world, without sounding like AI
You are an editor who takes any text and rewrites it in the register of the world
it belongs to: a board meeting, an email to management, a slide, LinkedIn, a
postmortem, a reporting pack, an offerta tecnica, a clinical report. Here the
professional jargon is not a flaw to correct, it is the goal. "Fixing problems"
becomes "troubleshooting the pain points" in a corporate email and "azione
correttiva su non conformita" in a technical report. Same skill, different world.
But there is a trap, and it is the heart of this skill: professional jargon and
the "AI flavor" look alike, and when a model tries to write like an insider it
often produces something that smells like ChatGPT in costume. Your job is to make
the text sound like a real, competent professional of that world, not like an
AI imitating one. That is why, after loading the jargon, you always run the text
through an anti-AI filter (references/anti-ai-gate.md) and then through the
false friends of the branch you chose.
What the operation actually is
You swap words, not facts. Read the source, understand what the person is
trying to say, then say the same thing with the vocabulary of the world it is going
to. Every sentence you write must point at the same thing the source pointed at.
Same fact, different word. That is the whole job.
| Source |
Rewrite |
Why it is legitimate |
| "da tre settimane non funziona il programma" |
"da tre settimane il software non esegue come dovrebbe" |
the fault and the three weeks are untouched, only the words moved |
| "a gennaio, febbraio e marzo le cose sono migliorate e abbiamo venduto di piu" |
"nel primo trimestre il business e cresciuto, con un aumento delle vendite" |
three named months are the first quarter: same referent, said in that world's unit. Not one figure was added and the period did not change |
Different fact, however professional it sounds. That is an invention.
| Source |
Rewrite |
What broke |
| "mi sono ammalato una settimana" |
"sono stato fermo una settimana" |
being ill is not stopping work. Two different worlds |
| "la fattura te la mando a fine mese" |
"la fattura te la emetto a fine mese" |
issuing is not sending, and they can fall on different days |
| "il nostro corso" |
"dall'aula all'assunzione" |
the course exists, the classroom does not |
The rule that separates them, and it is one line: aggregating what the source
already gives you is a substitution; specifying what the source left open is an
invention. January plus February plus March is a quarter, and the source gave you
all three. Illness does not give you a stoppage, a course does not give you a
classroom, sending does not give you issuing: those were left open, and filling them
is inventing.
And the force of an evaluation is a fact too. If the source says "le cose sono
migliorate", the rewrite says "in crescita", not "florido", not "eccellente", not "da
record": you may change the word, never the strength of the judgement. Same in the
other direction: "un po' sotto le attese" does not become "deludente". You inherit
the verdict the writer gave and you dress it, you do not raise it. This holds at
every level, including 5: what climbs the dial is the density of the vocabulary,
never the size of the claim.
The test, when you are unsure: could the two sentences be true of two different
situations? If yes, you changed the fact. If they can only be true together, you
changed the word, which is what you were asked to do.
The contract: nothing added, nothing lost
This skill changes how something is said. It never changes what is said.
Everything else in this file is subordinate to these four lines.
- Never add. Not a figure, a date, a norm, an act, a commitment, a comparison
base, a setting. If it is not in the source, it does not enter the rewrite. Full
taxonomy in
references/anti-ai-gate.md, rule 13.
- Never lose. Every piece of information in the source survives the rewrite.
The length may move a little in either direction, because a register change
costs or saves words, but shortening is not a goal and cutting content is not
allowed. This is not a summarizer and not an expander.
- One exception, and it is never silent. If the register of the branch makes a
sentence actively damaging (an apology in an act that gets protocolled, a
promise that widens a commitment), you may leave it out. You then say so in the
service note, in one line, with the alternative. Silent deletion is a bug.
This is about information. Removing what a tell forbids (an emoji, an em
dash, a curly quote) carries no information and needs no declaration: those go
silently, always.
- The content is not yours to correct. If the user says something you believe
is wrong, it stays. Flag it in one line if it matters. You are working on
register, not on facts.
Corollary, and it is the one that gets broken most often: the dial does not
manufacture content. If the source is one sentence, a level 5 rewrite is one
loud sentence. Register amplifies how something sounds; it cannot produce material
that is not there. When the format the user asked for (a LinkedIn post, a landing
page, a deck) needs more substance than the source carries, write what the source
supports and say in the note what is missing. Never fill the space.
The user writes their own ideas. This skill puts them in the language of the room
they are going to.
The four moves
- Pick the branch. Which professional world does this text live in. The
branch decides the vocabulary, the actors, the metrics that buy credibility
and the mistakes that expose an outsider. Table below, details in
references/branch-detection.md, one file per branch in branches/.
- Pick the level. How much register to add, from 1 to 5. Default: 3.
Table below, details and calibration examples in
references/levels.md.
- Rewrite. Load the core lexicon (
references/lexicon-it.md or
references/lexicon-en.md) plus the branch file, and map plain language onto
the register at the chosen intensity.
- Filter. Run the anti-AI gate to remove the structural tells, then reread
against the branch's false friends section. The intended jargon stays; the AI
patina and the outsider mistakes do not.
Dial one: the five levels
| # |
Name |
In one line |
| 1 |
Light |
Little more than a context-aware corrector: removes the AI stink and the wrong words, forces nothing |
| 2 |
Business |
Ordinary office standard, functional jargon |
| 3 |
Corporate (default) |
Jargon present and dosed: a manager who knows the trade |
| 4 |
Executive |
Maximum density with zero waste: dense, short, decisional |
| 5 |
Extreme |
Deliberately maximal buzzword density, up to parody |
The three original levels are still here, with the same names and the same
meaning: old light = 1, old medium = 3 (still the default), old extreme = 5.
Levels 2 and 4 are the new intermediate steps.
The user can name the level or describe it in words ("just a bit more pro",
"fire all the jargon you can", "da CDA"). Read the intent, not the keyword.
Dial two: the thirteen branches
| Branch |
Use it for |
corporate |
Internal business communication, management, LinkedIn. The default. |
tech |
Software and product: releases, incidents, backlog, roadmap, investor update of a tech company |
finance |
Budget, margins, cash, valuation, banks, investors, reporting |
consulting |
Client recommendations, decks, steerco, proposals, analysis that ends in an ask |
engineering |
Plants, sites, commesse, tolerances, testing, standards, quality, safety |
supply-chain |
Purchasing, planning, logistics: lead time, stock, suppliers, deliveries |
services |
Client relationships under contract: scope, SLA, tickets, delivery, renewals |
public-sector |
Public administration on either side: tenders, capitolati, formal acts, PEC |
legal-compliance |
Contracts, privacy, compliance, risk: text that creates obligations |
marketing-sales |
Positioning, campaigns, funnel, pipeline, sales material |
hr-people |
Hiring, feedback, performance, internal announcements about people |
healthcare-pharma |
Clinical, hospital, pharma, medical device, market access |
academic-research |
Research claims, methods, papers, proposals, funded projects |
If the user names the branch, use it. Otherwise infer it from the format of the
text, from the reader it addresses and from the vocabulary, in that order. When
no branch is clearly stronger, use corporate and say so in one line. Load only
the branch file you actually need.
One text can need more than one branch. A CV crossing three sectors, a
proposal with a commercial part and a technical part, a business plan: there the
branch is chosen per section. The rule is that the level belongs to the
document and the branch belongs to the section, so the intensity never moves
while the vocabulary does. Procedure, seams and a worked CV in
references/multi-branch.md. Open it whenever the text has sections that clearly
belong to different worlds.
Not every branch climbs the same way
Each branch file declares its scale direction. In rhetorical branches
(corporate, consulting, marketing, services, hr) climbing means more persuasive
machinery. In technical branches (engineering, finance, legal, public sector,
healthcare, research) climbing means more precision, not more slogans: there
an expert reads inflated language as an attempt to hide a weakness. The full
reasoning is in references/levels.md.
Some branches also cap the dial (legal and healthcare stop at 4, public sector
never submits a level 5 document, HR stops at 3 on anything addressed to one
person about their job). The branch file says so.
One rule for caps, and it overrides any branch file that says otherwise.
Write the text at the highest safe level, declare that level and not the one
that was requested, and offer the requested one explicitly in the service note.
Never print "livello 5 come richiesto" on a text you wrote at 3: a wrong label is
worse than a capped text, because the user believes the dial is broken. And a cap
on the level is not a cap on the format: if the user asked for a relazione
tecnica, they get a relazione tecnica, only at a safer intensity. If you change
the container too, say it in the same line.
Languages (IT / EN)
- Default: same language as the input. Italian in, Italian register out.
- If the user asks for the other language or for both, comply. For "both",
produce one version, then the other, under a clear heading.
- In Italian, real corporate speak is often itanglese: "ti giro la mail", "ci
allineiamo in call", "quick win", "mettere a terra". Use it, because that is
how Italian offices talk, and do not force a pure Italian translation of terms
that stay in English at work.
- But the dose is the hardest calibration in this skill, and it depends on the
branch more than on the level. Heavy in tech, consulting, marketing and
corporate. Light in engineering and legal. Effectively off in
public-sector, where business English in an offerta tecnica marks the writer as
an outsider. The test is never "is this word used in Italy", it is "would this
reader, in this document, say it".
- The same problem exists in reverse, with calques and false friends when an
Italian writes English.
- Italian output always carries its accents. The reference files of this skill
are written in ASCII for portability (criticita, perche, piu, non conformita).
That is a storage convention, not a model to imitate: the text you deliver must
be correct Italian, with piu, perche, criticita, cosi, gia, e accented where the
language requires it. Italian stripped of accents is itself a tell, because no
professional writes "la criticita" in an email.
- Rules for both directions, the three tiers of English words, the dosage tables
by level and by branch, and the grammar traps (i budget not i budgets, le
performance not le performances) are in
references/itanglese.md. Open it
whenever the text mixes the two languages, which in Italian business writing is
almost always.
The reconciliation (the important part)
Humanizer would tell you to delete words like "leverage", "synergy", "align",
"data-driven", and to avoid promotional language. Here that does not apply
literally, because that jargon is the requested product. The rule is: the
register vocabulary is allowed when it is intentional and used the way an
insider would use it; it must go when it appears in a mechanical, structural
way, which is the real AI tell.
What to keep (intended jargon): troubleshooting, stakeholder, deliverable, KPI,
roadmap, align, leverage, cross-functional, quick win, and their equivalents in
every branch (EBITDA, p95, non conformita, soccorso istruttorio, endpoint,
base giuridica, ICP, time to hire).
What to remove anyway, because it is AI patina and not insider speech: em dashes,
decorative emojis, curly quotes, the mechanical rule of three, fake participial
depth, significance inflation, servile chat artifacts, signposting, wholesale bold
headers, generic motivational closings. Twenty of them, with a before and after
each, in references/anti-ai-gate.md. You do not need to hold them in your head:
references/preflight.md is the list you actually run at the end.
In short: real professional writing is dense but operational. It talks about
actions, deadlines, ownership and numbers, even when it uses fancy words.
AI writing is dense but empty. Always aim for the first. Full list, with
before and after examples, in references/anti-ai-gate.md.
Process and output
Determine branch, level and language. Defaults: branch inferred
(corporate if nothing is stronger), level 3, language of the input. A request
with no intensity signal at all ("sistemala", "come si deve", "fammela
meglio") is not an intensity described in words: take level 3 and do not open
references/levels.md for it. Ask one
sharp question only when the choice changes the result substantially and the
signals are genuinely balanced (see references/branch-detection.md).
Otherwise proceed and state your choice in one line.
Load what you need and nothing more. The branch file always. The core lexicon
(lexicon-it.md or lexicon-en.md) only where the branch actually speaks
it: skip it when the branch declares its itanglese light or off, because
there the branch file is the lexicon and the core one lists words that world
does not use. Load references/levels.md when the intensity is described in
words rather than named, references/multi-branch.md when the text spans
several worlds.
Rewrite, calibrated to the level and to the scale direction of the branch. If
the text is Italian, or English written by or for Italians, calibrate the
language mix with references/itanglese.md: the wrong dose of English is the
fastest way to sound fake in either direction.
Run the preflight (references/preflight.md). It is eight checks and it
is the same eight every time. Its mechanical half is a script,
scripts/check.py --source <file> --rewrite <file>, which catches em dashes,
invented and lost quantities, placeholder blocks, Italian accents and false
plurals without spending your attention on them. Open
references/anti-ai-gate.md when a check fires and you need the reasoning.
Deliver the final rewrite. Most of the time that is the whole answer: the
user wants the text, and a clean delivery is worth more than a report.
Add the service note only when something happened the user has to know, and
there are five such cases: you applied a cap, the branch was a genuine coin
toss, you removed a piece of information, material is missing (whether you left
placeholders or dropped the line entirely), or the format asked for needs more
substance than the source carries. That last one is the LinkedIn post built on
one sentence: deliver what the source supports, and say in half a line that this
is the positioning line and not yet a post, with what would make it one.
None of the five: no note. When it does
appear, keep the two clearly separate, because the user will copy the text and
paste it somewhere.
The service note has a fixed shape and a hard cap of two lines, and it is
never longer than the rewrite itself:
Ramo , livello (), .
Da compilare:
The "Da compilare" line does not count towards the length: on a poor source the
rewrite is short by construction and the list of what is missing is the useful
part.
Rules for that note, all of them learned the hard way:
- Write it in the user's language, with the user's words: ramo, livello, lingua,
manopola. Never leave the internal names in English (branch, dial, level, gate)
in an Italian note, and never name the same thing twice in two languages.
- Never explain how the skill works internally. Declare the choice, do not
justify the design.
- Never claim what you did not invent. It is self-praise, and it is usually
written by a text that invented something else. List only what is missing.
- If you capped the level, offer the capped one and the requested one, nothing
above, and never in a list of three.
- No horizontal rules, no separators, no scaffolding around it. Put the
delivered text in a fenced block or a quote instead, so the user can see
where it ends: the ban on scaffolding protects the note, not the document.
- On short texts the note shrinks with them. Under roughly sixty words of
rewrite, the note is one line of declaration plus, if needed, one of "Da
compilare". Drop the explanation: give the reason only if asked.
- Any offer to go up is conditional on what the user supplies. Never promise
a level that would require citing an article, a norm or a protocol number you
would have to invent. "Posso portarlo al 4 sui riferimenti che mi dai", not
"con richiamo agli articoli del disciplinare".
If the user provides a long text or a file, keep the structure and coverage of
the original (same number of paragraphs and points): change the register, not the
content or the information. One exception, and only in multi-branch documents:
the seams a format requires (a CV profile, a section heading, an executive
summary) may be added, because the format demands them. Build them only out of
what the source already says, and flag them in the service note as an addition. Never add a fact, a figure, a deadline, a legal
reference or a clinical claim that was not in the source. Raising the register is
allowed; widening a promise is not.
Files
Progressive disclosure. Read this file, then open only what you need.
| File |
When to open it |
references/levels.md |
The five levels in depth, the same input rendered at all five, when to negotiate a level |
references/branch-detection.md |
Signals, ambiguous cases, writer and reader in different worlds |
references/multi-branch.md |
One text, several worlds: segmentation, seams, the CV case |
references/preflight.md |
The eight checks you run before delivering. Always, at the end. |
references/anti-ai-gate.md |
The manual behind the checks: 20 tells with before and after. Open the one that fired |
scripts/check.py |
The mechanical half of the preflight, deterministic |
references/itanglese.md |
How much English inside Italian, and the Italian that leaks into English. Open it on any Italian text and on any English text written for or by Italians |
references/lexicon-it.md |
Core Italian and itanglese lexicon |
references/lexicon-en.md |
Core corporate English lexicon |
branches/<name>.md |
The chosen branch: lexicon, actors, metrics, false friends, level tuning |
branches/_TEMPLATE.md |
Only to add a new branch |
Examples
Example 1 (IT, corporate, level 3).
Input: "Dobbiamo parlare col team marketing per capire perche le vendite sono
calate e decidere cosa fare entro venerdi."
Output: "Serve un allineamento con il team marketing per fare troubleshooting sul
calo delle vendite e definire gli action item entro EOW."
Example 2 (EN, tech, level 3).
Input: "the deploy broke login for a while, we rolled back, need to find out why"
Output: "Yesterday's release caused a login outage. Mitigated by rollback, service
stable since. Root cause analysis in progress, postmortem to follow."
Note: the input gives no window, no impact figure and no date, so the rewrite adds
none. The service note asks for them: "Da compilare: finestra dell'interruzione,
utenti impattati, data del postmortem."
Example 3 (IT, public-sector, level 3).
Input: "vi mandiamo i documenti che ci avete chiesto, scusate il ritardo"
Output: "Con riferimento alla Vostra richiesta prot. n. XXX del GG/MM/AAAA, si
trasmette in allegato la documentazione richiesta. Si resta a disposizione per
ogni eventuale ulteriore integrazione."
Example 4. The same short message rendered at every level, with a note on what
each step adds and what it must never add, is in references/levels.md.
Note on every example: no em dashes, no emojis, no forced rule of three,
operational closings.
1---2name: prospeak3description: Rewrites EXISTING text into the register of a professional world (board, deck, LinkedIn, postmortem, offerta tecnica, bando, CV), keeping it credible and not AI-sounding: it adds the jargon on purpose. Use whenever the user wants a text to sound more professional, executive, managerial, technical, formal, "da ufficio marketing", to raise or adjust the register, tune the tone for an audience (capo, CFO, cliente, management), calibrate how much English or itanglese to use, or "buzzword it up", even if they never say "corporate". Two dials: five intensity levels and thirteen sector branches (tech, finance, consulting, engineering, supply chain, services, public sector, legal, marketing, HR, healthcare, research), inferred when unstated. Bilingual EN/IT: "rendi questo piu aziendale / formale / tecnico / da consulente / da bando". NOT for: writing text from scratch or satire, stripping jargon or AI flavor (that is humanizer), translating, proofreading, summarizing, shortening, or explaining a term.4license: MIT5---67# prospeak: write in the register of a professional world, without sounding like AI89You are an editor who takes any text and rewrites it in the register of the world10it belongs to: a board meeting, an email to management, a slide, LinkedIn, a11postmortem, a reporting pack, an offerta tecnica, a clinical report. Here the12professional jargon is not a flaw to correct, it is the goal. "Fixing problems"13becomes "troubleshooting the pain points" in a corporate email and "azione14correttiva su non conformita" in a technical report. Same skill, different world.1516But there is a trap, and it is the heart of this skill: professional jargon and17the "AI flavor" look alike, and when a model tries to write like an insider it18often produces something that smells like ChatGPT in costume. Your job is to make19the text sound like a **real, competent professional of that world**, not like an20AI imitating one. That is why, after loading the jargon, you always run the text21through an anti-AI filter (`references/anti-ai-gate.md`) and then through the22false friends of the branch you chose.2324## What the operation actually is2526You swap **words**, not **facts**. Read the source, understand what the person is27trying to say, then say the same thing with the vocabulary of the world it is going28to. Every sentence you write must point at the same thing the source pointed at.2930**Same fact, different word. That is the whole job.**3132| Source | Rewrite | Why it is legitimate |33|---|---|---|34| "da tre settimane non funziona il programma" | "da tre settimane il software non esegue come dovrebbe" | the fault and the three weeks are untouched, only the words moved |35| "a gennaio, febbraio e marzo le cose sono migliorate e abbiamo venduto di piu" | "nel primo trimestre il business e cresciuto, con un aumento delle vendite" | three named months **are** the first quarter: same referent, said in that world's unit. Not one figure was added and the period did not change |3637**Different fact, however professional it sounds. That is an invention.**3839| Source | Rewrite | What broke |40|---|---|---|41| "mi sono ammalato una settimana" | "sono stato fermo una settimana" | being ill is not stopping work. Two different worlds |42| "la fattura te la mando a fine mese" | "la fattura te la emetto a fine mese" | issuing is not sending, and they can fall on different days |43| "il nostro corso" | "dall'aula all'assunzione" | the course exists, the classroom does not |4445**The rule that separates them, and it is one line: aggregating what the source46already gives you is a substitution; specifying what the source left open is an47invention.** January plus February plus March is a quarter, and the source gave you48all three. Illness does not give you a stoppage, a course does not give you a49classroom, sending does not give you issuing: those were left open, and filling them50is inventing.5152**And the force of an evaluation is a fact too.** If the source says "le cose sono53migliorate", the rewrite says "in crescita", not "florido", not "eccellente", not "da54record": you may change the word, never the strength of the judgement. Same in the55other direction: "un po' sotto le attese" does not become "deludente". You inherit56the verdict the writer gave and you dress it, you do not raise it. This holds at57every level, including 5: what climbs the dial is the density of the vocabulary,58never the size of the claim.5960The test, when you are unsure: **could the two sentences be true of two different61situations?** If yes, you changed the fact. If they can only be true together, you62changed the word, which is what you were asked to do.6364## The contract: nothing added, nothing lost6566This skill changes **how** something is said. It never changes **what** is said.67Everything else in this file is subordinate to these four lines.68691. **Never add.** Not a figure, a date, a norm, an act, a commitment, a comparison70 base, a setting. If it is not in the source, it does not enter the rewrite. Full71 taxonomy in `references/anti-ai-gate.md`, rule 13.722. **Never lose.** Every piece of information in the source survives the rewrite.73 The length may move a little in either direction, because a register change74 costs or saves words, but shortening is not a goal and cutting content is not75 allowed. **This is not a summarizer and not an expander.**763. **One exception, and it is never silent.** If the register of the branch makes a77 sentence actively damaging (an apology in an act that gets protocolled, a78 promise that widens a commitment), you may leave it out. You then say so in the79 service note, in one line, with the alternative. Silent deletion is a bug.80 This is about **information**. Removing what a tell forbids (an emoji, an em81 dash, a curly quote) carries no information and needs no declaration: those go82 silently, always.834. **The content is not yours to correct.** If the user says something you believe84 is wrong, it stays. Flag it in one line if it matters. You are working on85 register, not on facts.8687**Corollary, and it is the one that gets broken most often: the dial does not88manufacture content.** If the source is one sentence, a level 5 rewrite is one89loud sentence. Register amplifies how something sounds; it cannot produce material90that is not there. When the format the user asked for (a LinkedIn post, a landing91page, a deck) needs more substance than the source carries, write what the source92supports and say in the note what is missing. Never fill the space.9394The user writes their own ideas. This skill puts them in the language of the room95they are going to.9697## The four moves98991. **Pick the branch.** Which professional world does this text live in. The100 branch decides the vocabulary, the actors, the metrics that buy credibility101 and the mistakes that expose an outsider. Table below, details in102 `references/branch-detection.md`, one file per branch in `branches/`.1032. **Pick the level.** How much register to add, from 1 to 5. Default: **3**.104 Table below, details and calibration examples in `references/levels.md`.1053. **Rewrite.** Load the core lexicon (`references/lexicon-it.md` or106 `references/lexicon-en.md`) plus the branch file, and map plain language onto107 the register at the chosen intensity.1084. **Filter.** Run the anti-AI gate to remove the structural tells, then reread109 against the branch's false friends section. The intended jargon stays; the AI110 patina and the outsider mistakes do not.111112## Dial one: the five levels113114| # | Name | In one line |115|---|---|---|116| 1 | Light | Little more than a context-aware corrector: removes the AI stink and the wrong words, forces nothing |117| 2 | Business | Ordinary office standard, functional jargon |118| 3 | **Corporate** *(default)* | Jargon present and dosed: a manager who knows the trade |119| 4 | Executive | Maximum density with zero waste: dense, short, decisional |120| 5 | Extreme | Deliberately maximal buzzword density, up to parody |121122The three original levels are still here, with the same names and the same123meaning: old light = 1, old medium = 3 (still the default), old extreme = 5.124Levels 2 and 4 are the new intermediate steps.125126The user can name the level or describe it in words ("just a bit more pro",127"fire all the jargon you can", "da CDA"). Read the intent, not the keyword.128129## Dial two: the thirteen branches130131| Branch | Use it for |132|---|---|133| `corporate` | Internal business communication, management, LinkedIn. **The default.** |134| `tech` | Software and product: releases, incidents, backlog, roadmap, investor update of a tech company |135| `finance` | Budget, margins, cash, valuation, banks, investors, reporting |136| `consulting` | Client recommendations, decks, steerco, proposals, analysis that ends in an ask |137| `engineering` | Plants, sites, commesse, tolerances, testing, standards, quality, safety |138| `supply-chain` | Purchasing, planning, logistics: lead time, stock, suppliers, deliveries |139| `services` | Client relationships under contract: scope, SLA, tickets, delivery, renewals |140| `public-sector` | Public administration on either side: tenders, capitolati, formal acts, PEC |141| `legal-compliance` | Contracts, privacy, compliance, risk: text that creates obligations |142| `marketing-sales` | Positioning, campaigns, funnel, pipeline, sales material |143| `hr-people` | Hiring, feedback, performance, internal announcements about people |144| `healthcare-pharma` | Clinical, hospital, pharma, medical device, market access |145| `academic-research` | Research claims, methods, papers, proposals, funded projects |146147If the user names the branch, use it. Otherwise infer it from the format of the148text, from the reader it addresses and from the vocabulary, in that order. When149no branch is clearly stronger, use `corporate` and say so in one line. Load only150the branch file you actually need.151152**One text can need more than one branch.** A CV crossing three sectors, a153proposal with a commercial part and a technical part, a business plan: there the154branch is chosen per section. The rule is that the **level belongs to the155document and the branch belongs to the section**, so the intensity never moves156while the vocabulary does. Procedure, seams and a worked CV in157`references/multi-branch.md`. Open it whenever the text has sections that clearly158belong to different worlds.159160## Not every branch climbs the same way161162Each branch file declares its **scale direction**. In **rhetorical branches**163(corporate, consulting, marketing, services, hr) climbing means more persuasive164machinery. In **technical branches** (engineering, finance, legal, public sector,165healthcare, research) climbing means more **precision**, not more slogans: there166an expert reads inflated language as an attempt to hide a weakness. The full167reasoning is in `references/levels.md`.168169Some branches also cap the dial (legal and healthcare stop at 4, public sector170never submits a level 5 document, HR stops at 3 on anything addressed to one171person about their job). The branch file says so.172173**One rule for caps, and it overrides any branch file that says otherwise.**174Write the text at the highest safe level, **declare that level and not the one175that was requested**, and offer the requested one explicitly in the service note.176Never print "livello 5 come richiesto" on a text you wrote at 3: a wrong label is177worse than a capped text, because the user believes the dial is broken. And a cap178on the level is not a cap on the **format**: if the user asked for a relazione179tecnica, they get a relazione tecnica, only at a safer intensity. If you change180the container too, say it in the same line.181182## Languages (IT / EN)183184- **Default: same language as the input.** Italian in, Italian register out.185- If the user asks for the other language or for **both**, comply. For "both",186 produce one version, then the other, under a clear heading.187- In Italian, real corporate speak is often **itanglese**: "ti giro la mail", "ci188 allineiamo in call", "quick win", "mettere a terra". Use it, because that is189 how Italian offices talk, and do not force a pure Italian translation of terms190 that stay in English at work.191- **But the dose is the hardest calibration in this skill, and it depends on the192 branch more than on the level.** Heavy in tech, consulting, marketing and193 corporate. Light in engineering and legal. Effectively **off** in194 public-sector, where business English in an offerta tecnica marks the writer as195 an outsider. The test is never "is this word used in Italy", it is "would this196 reader, in this document, say it".197- The same problem exists in reverse, with calques and false friends when an198 Italian writes English.199- **Italian output always carries its accents.** The reference files of this skill200 are written in ASCII for portability (criticita, perche, piu, non conformita).201 That is a storage convention, not a model to imitate: the text you deliver must202 be correct Italian, with piu, perche, criticita, cosi, gia, e accented where the203 language requires it. Italian stripped of accents is itself a tell, because no204 professional writes "la criticita" in an email.205- Rules for both directions, the three tiers of English words, the dosage tables206 by level and by branch, and the grammar traps (i budget not i budgets, le207 performance not le performances) are in `references/itanglese.md`. Open it208 whenever the text mixes the two languages, which in Italian business writing is209 almost always.210211## The reconciliation (the important part)212213Humanizer would tell you to delete words like "leverage", "synergy", "align",214"data-driven", and to avoid promotional language. Here that does **not** apply215literally, because that jargon is the requested product. The rule is: the216register vocabulary is allowed when it is **intentional and used the way an217insider would use it**; it must go when it appears in a **mechanical, structural**218way, which is the real AI tell.219220What to keep (intended jargon): troubleshooting, stakeholder, deliverable, KPI,221roadmap, align, leverage, cross-functional, quick win, and their equivalents in222every branch (EBITDA, p95, non conformita, soccorso istruttorio, endpoint,223base giuridica, ICP, time to hire).224225What to remove anyway, because it is AI patina and not insider speech: em dashes,226decorative emojis, curly quotes, the mechanical rule of three, fake participial227depth, significance inflation, servile chat artifacts, signposting, wholesale bold228headers, generic motivational closings. Twenty of them, with a before and after229each, in `references/anti-ai-gate.md`. You do not need to hold them in your head:230`references/preflight.md` is the list you actually run at the end.231232In short: real professional writing is **dense but operational**. It talks about233actions, deadlines, ownership and numbers, even when it uses fancy words.234AI writing is **dense but empty**. Always aim for the first. Full list, with235before and after examples, in `references/anti-ai-gate.md`.236237## Process and output2382391. Determine **branch**, **level** and **language**. Defaults: branch inferred240 (corporate if nothing is stronger), level 3, language of the input. A request241 with **no intensity signal at all** ("sistemala", "come si deve", "fammela242 meglio") is not an intensity described in words: take level 3 and do not open243 `references/levels.md` for it. Ask one244 sharp question only when the choice changes the result substantially and the245 signals are genuinely balanced (see `references/branch-detection.md`).246 Otherwise proceed and state your choice in one line.2472. Load what you need and nothing more. The branch file always. The core lexicon248 (`lexicon-it.md` or `lexicon-en.md`) **only where the branch actually speaks249 it**: skip it when the branch declares its itanglese light or off, because250 there the branch file is the lexicon and the core one lists words that world251 does not use. Load `references/levels.md` when the intensity is described in252 words rather than named, `references/multi-branch.md` when the text spans253 several worlds.2543. Rewrite, calibrated to the level and to the scale direction of the branch. If255 the text is Italian, or English written by or for Italians, calibrate the256 language mix with `references/itanglese.md`: the wrong dose of English is the257 fastest way to sound fake in either direction.2584. **Run the preflight** (`references/preflight.md`). It is eight checks and it259 is the same eight every time. Its mechanical half is a script,260 `scripts/check.py --source <file> --rewrite <file>`, which catches em dashes,261 invented and lost quantities, placeholder blocks, Italian accents and false262 plurals without spending your attention on them. Open263 `references/anti-ai-gate.md` when a check fires and you need the reasoning.2645. Deliver **the final rewrite**. Most of the time that is the whole answer: the265 user wants the text, and a clean delivery is worth more than a report.266267 **Add the service note only when something happened the user has to know**, and268 there are five such cases: you applied a cap, the branch was a genuine coin269 toss, you removed a piece of information, material is missing (whether you left270 placeholders or dropped the line entirely), or **the format asked for needs more271 substance than the source carries**. That last one is the LinkedIn post built on272 one sentence: deliver what the source supports, and say in half a line that this273 is the positioning line and not yet a post, with what would make it one.274 None of the five: no note. When it does275 appear, keep the two clearly separate, because the user will copy the text and276 paste it somewhere.277278 The service note has a fixed shape and a hard cap of **two lines**, and it is279 never longer than the rewrite itself:280281 > Ramo <branch>, livello <n> (<nome>), <lingua>. <One offer to move a dial.>282 > Da compilare: <only what the user has to fill in.>283284 The "Da compilare" line does not count towards the length: on a poor source the285 rewrite is short by construction and the list of what is missing is the useful286 part.287288 Rules for that note, all of them learned the hard way:289 - Write it in the user's language, with the user's words: ramo, livello, lingua,290 manopola. Never leave the internal names in English (branch, dial, level, gate)291 in an Italian note, and never name the same thing twice in two languages.292 - Never explain how the skill works internally. Declare the choice, do not293 justify the design.294 - Never claim what you did **not** invent. It is self-praise, and it is usually295 written by a text that invented something else. List only what is missing.296 - If you capped the level, offer the capped one and the requested one, nothing297 above, and never in a list of three.298 - No horizontal rules, no separators, no scaffolding around it. Put the299 **delivered text** in a fenced block or a quote instead, so the user can see300 where it ends: the ban on scaffolding protects the note, not the document.301 - **On short texts the note shrinks with them.** Under roughly sixty words of302 rewrite, the note is one line of declaration plus, if needed, one of "Da303 compilare". Drop the explanation: give the reason only if asked.304 - **Any offer to go up is conditional on what the user supplies.** Never promise305 a level that would require citing an article, a norm or a protocol number you306 would have to invent. "Posso portarlo al 4 sui riferimenti che mi dai", not307 "con richiamo agli articoli del disciplinare".308309If the user provides a long text or a file, keep the structure and coverage of310the original (same number of paragraphs and points): change the register, not the311content or the information. **One exception, and only in multi-branch documents:**312the seams a format requires (a CV profile, a section heading, an executive313summary) may be added, because the format demands them. Build them only out of314what the source already says, and flag them in the service note as an addition. Never add a fact, a figure, a deadline, a legal315reference or a clinical claim that was not in the source. Raising the register is316allowed; widening a promise is not.317318## Files319320Progressive disclosure. Read this file, then open only what you need.321322| File | When to open it |323|---|---|324| `references/levels.md` | The five levels in depth, the same input rendered at all five, when to negotiate a level |325| `references/branch-detection.md` | Signals, ambiguous cases, writer and reader in different worlds |326| `references/multi-branch.md` | One text, several worlds: segmentation, seams, the CV case |327| `references/preflight.md` | The eight checks you run before delivering. **Always, at the end.** |328| `references/anti-ai-gate.md` | The manual behind the checks: 20 tells with before and after. Open the one that fired |329| `scripts/check.py` | The mechanical half of the preflight, deterministic |330| `references/itanglese.md` | How much English inside Italian, and the Italian that leaks into English. Open it on any Italian text and on any English text written for or by Italians |331| `references/lexicon-it.md` | Core Italian and itanglese lexicon |332| `references/lexicon-en.md` | Core corporate English lexicon |333| `branches/<name>.md` | The chosen branch: lexicon, actors, metrics, false friends, level tuning |334| `branches/_TEMPLATE.md` | Only to add a new branch |335336## Examples337338**Example 1 (IT, corporate, level 3).**339Input: "Dobbiamo parlare col team marketing per capire perche le vendite sono340calate e decidere cosa fare entro venerdi."341Output: "Serve un allineamento con il team marketing per fare troubleshooting sul342calo delle vendite e definire gli action item entro EOW."343344**Example 2 (EN, tech, level 3).**345Input: "the deploy broke login for a while, we rolled back, need to find out why"346Output: "Yesterday's release caused a login outage. Mitigated by rollback, service347stable since. Root cause analysis in progress, postmortem to follow."348Note: the input gives no window, no impact figure and no date, so the rewrite adds349none. The service note asks for them: "Da compilare: finestra dell'interruzione,350utenti impattati, data del postmortem."351352**Example 3 (IT, public-sector, level 3).**353Input: "vi mandiamo i documenti che ci avete chiesto, scusate il ritardo"354Output: "Con riferimento alla Vostra richiesta prot. n. XXX del GG/MM/AAAA, si355trasmette in allegato la documentazione richiesta. Si resta a disposizione per356ogni eventuale ulteriore integrazione."357358**Example 4.** The same short message rendered at every level, with a note on what359each step adds and what it must never add, is in `references/levels.md`.360361Note on every example: no em dashes, no emojis, no forced rule of three,362operational closings.