Install
$ agentstack add skill-destynova2-cli-code-skills-cli-forge-plume ✓ 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
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
- 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.
- 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.
- 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.
- Target-language quality. Proofread in the output language: French
diacritics and agreements, natural idiom, no anglicism where a plain native word exists.
Workflow
- Identify the surface: email, chat message, LinkedIn DM, issue/ticket
comment, reply, relance, refusal, bad news, thank-you, ask.
- 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).
- 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".
- 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.
- For follow-ups, read
references/relance.md: escalation ladder, new-info
rule, and the humor bank with its calibration rules.
- Run the AI-tells pass with
references/ai-tells.md. Rewrite, do not just
delete: a stripped sentence must still sound like the user.
- 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
## 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.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Destynova2
- Source: Destynova2/cli-code-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.