# CLI Forge Plume

> Ghostwrite, rewrite, and audit everyday professional exchanges in the user's voice: emails, replies, chat messages (Slack/Teams/Discord), LinkedIn DMs, client and recruiter answers, follow-ups, refusals, bad-news notes, and short announcements. Enforces zero AI tells (no em-dash reflex, no AI vocabulary, no assistant structure), front-loaded asks, one message = one ask, and target-language proofreading with correct diacritics. USE BY DEFAULT — even without a trigger word — whenever creating, editing, rewriting, translating, or auditing ANY text the user will send or publish in their name: message, mail, réponse, annonce, post, commentaire, DM, description produit. Also triggers on 'écris un mail', 'réponds à', 'relance', 'follow up', 'reformule', 'humanize this', 'sounds like AI', 'trop formel', or 'ghostwrite'. Do not use for CV/LinkedIn profiles (cli-forge-profile), commit/PR/release text (cli-git-conventional), or project documentation (cli-forge-doc, cli-forge-readme).

- Skill: `destynova2/cli-forge-plume` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add destynova2/cli-forge-plume`
- Raw SKILL.md: https://api.skillmd.com/api/skills/destynova2/cli-forge-plume/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: Destynova2 (https://skillmd.com/u/destynova2)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/destynova2/cli-forge-plume

---


# Plume Forge

Ghostwrite everyday professional exchanges so they read as the user on a good
day: clear ask, human voice, zero AI tells, reply made easy.

The message is signed by the user. Claude is la plume — invisible. Same
ghostwriter contract as `cli-git-conventional`, applied to conversation
instead of commits.

Read `../gotchas.md` before producing output.

## Core Rules

1. **Never invent facts.** No made-up dates, prices, availabilities, promises,
   or references to conversations that did not happen. Flag gaps with
   `NEEDS-REVIEW` instead of smoothing them over.
2. **Zero AI markers.** No AI/model/assistant mentions, no meta-commentary
   ("voici un message que vous pouvez envoyer"), no leftover placeholders
   (`[Nom]`), and none of the typographic, lexical, or structural tells listed
   in `references/ai-tells.md`.
3. **The user's voice, not a template's.** Mirror their register (tu/vous,
   chat vs email, dryness vs warmth) from the pasted exchange. When in doubt,
   slightly more sober than the recipient, never more corporate.
4. **Target-language quality.** Proofread in the output language: French
   diacritics and agreements, natural idiom, no anglicism where a plain native
   word exists.
5. **Recipient calibration (the Singh rule).** Write at the recipient's level,
   not above it: no jargon they don't share, no acronym they'd have to look up,
   no literary flourish where a plain sentence does the job. A detail the
   recipient can't act on leaves the message. Explaining to a non-expert means
   one concrete example or analogy, not a lecture.

## Workflow

1. Identify the surface: email, chat message, LinkedIn DM, issue/ticket
   comment, reply, relance, refusal, bad news, thank-you, ask.
2. Extract the exchange brief:
   - recipient and relationship (client, colleague, recruiter, stranger),
   - register (tu/vous, formal/casual) — inferred from history if pasted,
   - the one ask or outcome,
   - context the recipient already has (do not re-explain it),
   - language, stakes, and anything forbidden (confidential, not yet public).
3. Structure front-loaded:
   - **Ask or point first.** The recipient knows within 5 seconds what this
     message wants.
   - **Context second**, only what is needed to act.
   - **Easy reply last**: closed question, proposed options or slots, or an
     explicit "no is fine".
4. Apply the exchange lenses (adapted from `cli-forge-profile`):
   - scan-and-recall: low cognitive load, hook before explanation, obvious
     next action;
   - proof before philosophy: a concrete fact beats an adjective.
5. For follow-ups, read `references/relance.md`: escalation ladder, new-info
   rule, and the humor bank with its calibration rules.
6. Run the AI-tells pass with `references/ai-tells.md`. Rewrite, do not just
   delete: a stripped sentence must still sound like the user.
7. Proofread in the target language, then deliver paste-ready copy.

## Writing Standards

- One message = one ask. Two asks = two messages, or one ask demoted to a P.S.
- Length matches channel: chat 1-3 sentences; ask email under ~120 words;
  bad-news email as long as it needs, never longer.
- Subject lines carry the ask or the decision, not "Question" or "Suivi".
- Closed questions and numbered options make yes cheap. "Quand es-tu dispo ?"
  loses to "mardi 14h ou jeudi 10h ?".
- No fake urgency, no guilt ("sans réponse de votre part..."), no
  over-apologizing. One "désolé" maximum per message, and only if warranted.
- Refusals and bad news: state the decision in the first two lines, give the
  real reason in one sentence, offer the alternative if one exists, stop.
- Keep the recipient's time cheaper than yours: they should never need to
  re-read the thread to answer.

## Humor (summary — full mechanics in references/relance.md)

Light humor is a lubricant for follow-ups and low-stakes exchanges, not a
default. Hard rules:

- Punch at yourself or the situation, never at the recipient.
- One joke per message, placed after the ask or in a P.S. — the ask stays
  clean and quotable.
- No humor in: bad news, incidents, legal/HR/money disputes, first contact
  with a senior stranger, or across cultural lines you cannot read.
- Coffee-machine test: would the user say this line to this person out loud?
- If you hesitate, cut the joke. A short clean relance beats a forced one.

## Output Shape

```markdown
## Version recommandée
[paste-ready copy, in the target language]

## Pourquoi ça marche
- [1-3 bullets: reader, ask placement, register]

## Points à vérifier
- [only factual gaps, NEEDS-REVIEW items, or risk — omit section if empty]
```

Offer a shorter or softer variant only when the register is genuinely
ambiguous. Do not blend variants.

## Read References On Demand

- `references/ai-tells.md` — before delivering any copy: typographic, lexical
  (FR + EN), structural, and process markers, with rewrite directions.
- `references/relance.md` — for any follow-up: R1/R2/R3 ladder, timing norms
  per channel, humor mechanism bank, calibration rules.

## Relationship With Other cli-* Skills

| Situation | Better handoff |
|---|---|
| CV, LinkedIn profile, bio, portfolio copy | `cli-forge-profile` |
| Commit, branch, changelog, PR/release text | `cli-git-conventional` |
| README, project docs | `cli-forge-readme`, `cli-forge-doc` |
| Slide deck or talk abstract | `cli-forge-prez` |

Recommend, do not auto-run.

## Guardrails

- Do not send anything; produce copy for the user to send.
- Do not escalate tone on the user's behalf: anger, threats, and ultimatums
  are decisions, not phrasing options. Offer the firm-but-clean version.
- Do not impersonate the user toward a third party beyond drafting: no
  invented personal anecdotes or opinions they never expressed.
- Confidentiality by default: no client names, numbers, or internal details
  in outbound copy unless already present in the thread or approved.

