speak-like-you-eat
A Pi and Oh My Pi extension for plain-language companion rewrites.
Package details
Install speak-like-you-eat from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:speak-like-you-eat- Package
speak-like-you-eat- Version
1.5.0- Published
- Oct 22, 2026
- Downloads
- 770/mo · 17/wk
- Author
- wtfzambo
- License
- MIT
- Types
- extension
- Size
- 1.6 MB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"image": "https://raw.githubusercontent.com/wtfzambo/speak-like-you-eat/refs/heads/main/imgs/front.png",
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
SLYE - Speak like you eat
SLYE is a Pi and Oh My Pi (OMP) package that adds a plain-language rewrite after a completed response.
In Italian, “speak like you eat” (parla come mangi) means being straightforward instead of using big, clever, empty words. SLYE applies that idea to AI output.
Deliberately inspired by Claudish to English
Install
Pi
# Available to all projects
pi install npm:speak-like-you-eat
# Available only in the current project
pi install -l npm:speak-like-you-eat
Use the current Pi release; older Pi versions are not supported.
Oh My Pi
omp plugin install speak-like-you-eat
Use
- After Pi or OMP finishes an answer, run
/slyefor an eligible target. It rewrites the latest completed assistant response once and adds a plain-language rewrite card below the unchanged original; if you have typed a follow-up since, there is no target. - If no usable model exists,
/slyeopens the model and scope picker, saves the chosen model with automatic rewriting off, globally or, in a trusted project, locally, and immediately performs the rewrite. - If you want eligible answers rewritten automatically, run
/slye on. Run/slye offto stop automatic rewriting while keeping/slyeavailable.
| Command | What it does |
|---|---|
/slye |
Rewrite the latest completed assistant response on demand. |
/slye model |
Choose a model without changing a valid automatic on/off state; first-time setup saves automatic rewriting off. Tab switches between scoped and all authenticated eligible models when the host provides scoped models. |
/slye on |
Enable automatic rewriting, or choose a model and enable it when no usable model is saved. |
/slye off |
Disable automatic rewriting; manual /slye remains available. |
ELI5 and Light tabs (Pi)
On Pi, each card holds two versions of the rewrite, shown as tabs on its heading line:
- ELI5 (active by default): rebuilds the answer for a reader who wants the point fast. It starts with the conclusion and what you need to do, then lists what was done, the steps, the key facts, and the open decisions, in plain spoken words without corporate jargon (technical terms stay), at about half the length. The prompt asks it to keep conclusions, actions, and decisions while cutting redundant evidence and secondary detail; see the Built-in ELI5 prompt for the full preservation policy. Model output can vary. Adapted from the unslop and i-have-adhd skills.
- Light: the lighter rewrite SLYE has always made, close to the original wording, or your custom prompt's output.
Click a tab in fullscreen mode, or press ctrl+\ in any mode, to switch. The choice applies to every card and resets when Pi restarts. On Pi each rewrite makes two provider requests, in parallel, so it costs about twice as much as one version. OMP shows only the Light version, without tabs.
SLYE automatically uses the selected model's lowest supported thinking level. Automatic rewriting requires a normally completed final response with at least 200 non-whitespace prose characters outside fenced code. Manual /slye uses the same normal-completion, prose, and no-tool-call requirements, but has no 200-character minimum.
Custom system prompt
To replace the built-in Light prompt with your own slye-prompt.md, follow Customize the SLYE system prompt.
Recommended models
Use cheap-ish, fast models; SLYE sets reasoning for you. Both Pi tabs use the same model. These rankings are observations from a small manual trial on real and synthetic examples, not guarantees. In order:
- Claude Haiku 5.5 - the best ELI5: it restructured well, dropped jargon, preserved code examples most reliably, and roughly halved long answers. On Light it stayed faithful and preserved code, though some jargon survived.
- GPT-6 Luna - removed jargon best on Light and gave a good, short ELI5, but in both tabs sometimes dropped code examples or code comments.
- DeepSeek V4.1 Flash - the fastest. Light stayed faithful to the original but kept much of the jargon; ELI5 sometimes kept jargon and dropped code examples.
- Gemma 4 31B - plain and short in both tabs, but cut content and sometimes shifted the meaning; in ELI5 it dropped most code blocks and occasionally added a question.
The scored benchmark is historical evidence for an earlier version of the Light prompt, not a current ranking.
What SLYE guarantees
- The original response stays visible and unchanged. The display-only card never enters LLM context.
- SLYE's built-in Light prompt tells the model to preserve the target response's language and intentional language mix rather than translate it. The ELI5 prompt keeps the response's main language but may reorder it, change its Markdown structure, shorten it, and cut secondary detail or logs that only show how something was found. A custom prompt replaces those instructions for the Light version only. The ELI5 prompt replaces business jargon in other languages, such as English buzzwords in an Italian answer, with plain words in the answer's language.
- Each target has at most one persistent companion card. Secondary provider requests (two on Pi, one on OMP) have their own cost and latency and happen only for an automatically eligible response or an eligible, not-yet-completed manual target.
- Escape cancels a rewrite. Cancellation, timeout, and provider failures leave the original unchanged and permit a manual retry. Storage failures have host-specific retry limitations.
- SLYE sends an isolated payload to the selected model through the host's model registry. Apart from its explicit configuration and optional
slye-prompt.md, it does not load project files, project instructions, skills, prompt templates, tools, or the full session history. Other extensions and provider-side processing are outside SLYE's control.
Evidence
Read the MVP specification for the complete behavior and the benchmark results for methodology, costs, and limitations.
Development
Requires Node 24+ and either Pi or OMP.
npm ci
npm run check
npm run check:omp-load
npm pack --dry-run --json
pi -e .
omp -e ./src/omp.ts
check:omp-load loads SLYE in the installed OMP without a model call and skips when OMP is absent. The final two commands load the clone for local testing in Pi and OMP. Do not submit a prompt when you only need to check that the extension loads.
