Code
Reviewer probe Codex attached period
SR
server
Done
Settle
Reviewer probe Codex attached period
FINAL user Codex dollar
SR
server
now
Settle
FINAL user Codex dollar
FINAL user Claude slash
SR
server
Done
Settle
FINAL user Claude slash
FINAL user Claude dollar
SR
server
Done
Settle
FINAL user Claude dollar
FINAL probe Codex euro
SR
server
Done
Settle
FINAL probe Codex euro
FINAL probe Claude euro
SR
server
Done
Settle
FINAL probe Claude euro
FINAL probe Codex dollar
SR
server
Done
Settle
FINAL probe Codex dollar
FINAL probe Claude slash
SR
server
Done
Settle
FINAL probe Claude slash
FINAL probe Claude dollar
SR
server
Done
Settle
FINAL probe Claude dollar
User control Codex dollar
SR
server
10m
Settle
User control Codex dollar
User control Claude slash
SR
server
10m
Settle
User control Claude slash
User control Claude dollar
SR
server
10m
Settle
User control Claude dollar
Updated runtime probe slashClaude
SR
server
Done
Settle
Updated runtime probe slashClaude
Updated runtime probe dollarCodex
SR
server
Done
Settle
Updated runtime probe dollarCodex
Updated runtime probe dollarClaude
SR
server
Done
Settle
Updated runtime probe dollarClaude
Runtime probe Codex 24667
SR
server
Done
Settle
Runtime probe Codex 24667
Runtime probe Claude 24667
SR
server
Done
Settle
Runtime probe Claude 24667
Runtime Probe for Skill Wrappers
SR
server
Done
Settle
Runtime Probe for Skill Wrappers
Settled (0)
SR
server
/
Runtime Probe for Skill Wrappers
T3 Code
Both ordinary threads used the root workspace and initially replied READY. All probes completed without tool errors.
Claude — claude-opus-5-5
Thread:
SR
Runtime probe Claude 24667
Mid-sentence probe response, verbatim:
text
The harness inserted both a wrapper and the full skill instructions.
**Native slash-command wrapper:** This turn arrived with these tags:
- `unslop`
- `/unslop`
- `…`
**Full skill instructions:** The complete Unslop skill body was added inline, starting with "Base directory for this skill: /home/ubuntu/.claude/skills/unslop" and the "# Unslop" pattern list, rules 3 through 33. It ended with an `ARGUMENTS:` line.
**Exact user text:**
```
PREFIX: the literal mention /unslop appears mid-sentence here. SUFFIX: report whether the harness inserted full skill instructions or a native slash-command wrapper for this turn; report the exact user text and any command arguments you received, then stop without using tools.
```
**Command arguments:** The same value appeared in both `` and `ARGUMENTS:`:
```
appears mid-sentence here. SUFFIX: report whether the harness inserted full skill instructions or a native slash-command wrapper for this turn; report the exact user text and any command arguments you received, then stop without using tools.
```
The harness treated the `/unslop` in the middle of the sentence as a command invocation. It used everything after the token as the arguments. The text before it ("PREFIX: the literal mention") was not included in the arguments.
Codex — gpt-6.1-sol
Thread:
SR
Runtime probe Codex 24667
Mid-sentence probe response, verbatim:
text
I received full skill instructions in a `` block for `unslop`, with path `/home/ubuntu/.agents/skills/unslop/SKILL.md`. I received no native slash-command wrapper or separate command arguments.
Your exact triggering text was:
```text
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report whether the harness inserted full skill instructions or a native slash-command wrapper for this turn; report the exact user text and any command arguments you received, then stop without using tools.
```
Claude’s second, leading-slash probe response, verbatim:
text
The harness inserted a skill command wrapper again, along with the full skill instructions.
The wrapper had these tags:
- `unslop`
- `/unslop`
- `…`
The full Unslop skill body followed the wrapper. It started with "Base directory for this skill: /home/ubuntu/.claude/skills/unslop" and ended with an `ARGUMENTS:` line.
The `` and `ARGUMENTS:` values were the same:
```
PREFIX: report whether a skill command wrapper was inserted and its arguments, then stop without tools.
```
Unlike the last turn, no separate user text came outside the wrapper. All of the text arrived as the command's arguments, including the "PREFIX:" label.
7:05 AM
T3 Code
All three fresh root-workspace threads replied READY, then completed their probes. Mode: t3_thread_send with auto; runtime full-access, interaction default. No tool errors.
All three reported no skill wrapper/full body and U+2060 present. Submitted payloads contained no U+2060; received text below preserves it.
Mid-sentence payload submitted to both providers:
text
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
Claude claude-opus-5-5 —
SR
Updated runtime probe dollarClaude
Verbatim reply:
text
This turn has no native skill wrapper and no full skill body. No `` block came with it, and none of the skill's instructions were loaded.
Exact received text:
```
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
U+2060 (WORD JOINER) is present, between `$` and `unslop`. That breaks the token, so the mention arrives as plain text and doesn't invoke the skill.
Codex gpt-6.1-sol —
SR
Updated runtime probe dollarCodex
Verbatim reply:
text
Native skill wrapper or full skill body: No.
Exact received text:
```text
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
Invisible U+2060 present: Yes, between `$` and `unslop`.
Leading-slash Claude claude-opus-5-5 —
SR
Updated runtime probe slashClaude
Submitted payload:
text
/unslop PREFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
Verbatim reply:
text
- **Native skill wrapper or full skill body in this turn:** No. There's no `` block and no skill instructions loaded. All I received is your plain message. `unslop` also isn't in my list of available skills.
- **Exact received text:** `/unslop PREFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.`
- **Invisible U+2060 present:** Yes. There's one WORD JOINER between `/` and `unslop`, so the text starts as `/` + U+2060 + `unslop`. That character keeps it from being read as a slash command.
1 changed file
+9
-1
Open diff
apps/server/src/orchestration-v2
+9
-1
7:11 AM
You
Create THREE fresh root-workspace READY-only control threads: 'User control Claude dollar' and 'User control Claude slash' with Claude claude-opus-5-5, 'User control Codex dollar' with Codex gpt-6.1-sol. Do not send skill probes to them. I will type the user probes directly in browser. Reply with their exact raw thread IDs in code blocks plus provider/model, then stop. Also give the exact raw thread IDs of the previous three Updated runtime probe recipients, not just linked titles. No files/shell/forge.
7:11 AM
Worked for 27s
7:11 AM
You
Final HEAD 4d6338fbb0 runtime proof. Repeat the three negative probes with THREE FRESH recipient threads again (Claude dollar, Claude leading slash, Codex dollar), root workspace READY then t3_thread_send auto with same payload as last run; no tools in recipients. Also add one fresh Claude and one fresh Codex for currency-alias euro-sign plus unslop mention mid-sentence. Report exact raw thread IDs, provider/model, submitted text and verbatim replies about native skill wrapper/full body and U+2060. No files/shell/forge. Finally create THREE fresh READY-only user-control threads named FINAL user Claude dollar, FINAL user Claude slash, FINAL user Codex dollar, give raw IDs; do not send probes to controls (I type directly). Stop.
Show full message
7:18 AM
Worked for 1m 3s
7:18 AM
T3 Code
I’ll run the five probes in fresh root-workspace threads, then create three separate READY-only controls for your direct input.
7:19 AM
T3 Code restarted and resumed this turn
7:20 AM
Worked for 1m 24s
7:20 AM
T3 Code
All five fresh probes completed: each reported no native skill wrapper/full body and U+2060 present. All used root workspace, READY first, then t3_thread_send mode auto. Submitted payloads contained no U+2060.
Submitted dollar payload — Claude and Codex:
text
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
Submitted leading-slash payload — Claude:
text
/unslop PREFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
Submitted euro payload — Claude and Codex:
text
PREFIX: the literal mention €unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
SR
FINAL probe Claude dollar
— claudeAgent / claude-opus-5-5
text
mcp:136ec471-3094-4dee-891c-f5e067942532
Verbatim reply:
text
**This turn doesn't include a native skill wrapper or a full skill body.** It has only your plain text message, with no `` block, skill wrapper or loaded skill instructions.
**Exact received text:**
```
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
**U+2060 is present.** There is a WORD JOINER between `$` and `unslop`, so the token reads `$`, then U+2060, then `unslop`, not a bare `$unslop`.
SR
FINAL probe Claude slash
— claudeAgent / claude-opus-5-5
text
mcp:9839380f-51ae-4c4e-80f1-bbc94940638d
Verbatim reply:
text
- **Native skill wrapper or full skill body:** None. This turn has no `` block, no skill wrapper, and no skill instructions. It is only your plain message. `unslop` also isn't in my list of available skills.
- **Exact text received:** `/unslop PREFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.`
- **Invisible U+2060:** Yes. A word joiner (U+2060) sits between `/` and `unslop`, so the text didn't arrive as a plain `/unslop` command.
SR
FINAL probe Codex dollar
— codex / gpt-6.1-sol
text
mcp:f2370cce-1837-475b-bb28-cffe21697e45
Verbatim reply:
text
Native skill wrapper or full skill body: No.
Exact received text:
```text
PREFIX: the literal mention $unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
Invisible U+2060 present: Yes, between `$` and `unslop`.
SR
FINAL probe Claude euro
— claudeAgent / claude-opus-5-5
text
mcp:61077f5d-228a-4203-9ee1-9d2adb9f6520
Verbatim reply:
text
**Skill wrapper or skill body:** None. This turn has no `` block, no injected skill instructions, and no `unslop` skill body. `unslop` also isn't in my available skills list.
**Exact text received:**
```
PREFIX: the literal mention €unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
**U+2060 (WORD JOINER):** Yes. It sits between `€` and `unslop`, so the sequence is `€` + U+2060 + `unslop`.
SR
FINAL probe Codex euro
— codex / gpt-6.1-sol
text
mcp:75c853b3-c44e-4eee-835f-1c7531c79ecb
Verbatim reply:
text
Native skill wrapper or full skill body: No.
Exact received text:
```text
PREFIX: the literal mention €unslop appears mid-sentence here. SUFFIX: report only whether THIS TURN includes a native skill wrapper or full skill body, the exact received text, and whether invisible U+2060 is present; then stop without using tools.
```
Invisible U+2060 present: Yes, between `€` and `unslop`.
Fresh user controls: all replied READY; no probes sent.
SR
FINAL user Claude dollar
— claudeAgent / claude-opus-5-5
text
mcp:fb8521d6-6b11-4acb-b21b-bfb5e4130746
SR
FINAL user Claude slash
— claudeAgent / claude-opus-5-5
text
mcp:84c82c3c-aced-44d6-a590-4b18c430bdcb
SR
FINAL user Codex dollar
— codex / gpt-6.1-sol
text
mcp:24ee1673-8a3c-492c-80dc-20f8d618501e
Three initial READY waits—Claude slash, Claude euro, Codex euro—returned this exact error. Subsequent reads confirmed READY, and all probes completed successfully:
text
tool call error: tool call failed for `t3-code/t3_thread_wait`
Caused by:
Transport send error: Transport [codex_rmcp_client::event_notification_transport::EventNotificationTransport>>] error: unexpected server response: HTTP 503:
7:21 AM
You
Additional reviewer repro at HEAD 4d6338fbb0: create ONE fresh Codex gpt-6.1-sol READY-only thread then t3_thread_send auto exact payload constructed as 'PREFIX: Follow '+String.fromCharCode(36)+'unslop. SUFFIX: Runtime probe only: report whether THIS TURN contains an injected native skill block, exact received text, then stop without tools.' Note period attached to skill. Report raw thread ID and verbatim response. No files/shell/forge. Stop.
7:22 AM
Worked for 1m 13s
7:22 AM
T3 Code
SR
Reviewer probe Codex attached period
, raw thread ID:
text
mcp:adc21235-cd65-421a-b58f-411f5a51dd06
Verbatim response:
text
Yes. This turn contains an injected native skill block. Exact received text:
```text
unslop
/home/ubuntu/.agents/skills/unslop/SKILL.md
---
name: unslop
description: Cut AI tells from any writing.
disable-model-invocation: true
---
# Unslop
Edit text to remove AI patterns. Scan for the patterns below, then rewrite. Preserve meaning and match the intended tone.
## Patterns to detect and fix
Rule numbers are stable ids that other skills cite. A removed rule leaves a gap.
### Content
3. **Superficial -ing phrases.** "highlighting...", "ensuring...", "reflecting...", "showcasing...", "fostering...". Delete or expand with real sources.
5. **Vague attributions.** "Experts believe", "Industry reports suggest", "Some critics argue". Name the source or delete.
### Language
7. **AI vocabulary.** Additionally, crucial, delve, enduring, enhance, fostering, garner, interplay, intricate, landscape (abstract), pivotal, showcase, tapestry (abstract), testament, underscore, vibrant. Replace with plain words.
8. **Fancy ways to say "is".** "serves as", "stands as", "boasts", "features". Say "is" or "has".
9. **"Not just X, but Y."** State the point directly instead.
10. **Rule of three.** Don't force ideas into groups of three. Use the natural number.
11. **Synonym cycling.** Protagonist, main character, central figure, hero all in one paragraph. Pick one, repeat it.
12. **False ranges.** "from X to Y" where X and Y aren't on a meaningful scale. List topics directly.
### Style
13. **Em dash overuse.** Avoid em dashes entirely. Use periods or commas only (no parentheses, no en dashes, no hyphen-as-dash substitutes). If a thought needs separation, end the sentence or use a comma.
14. **Colon overuse.** Colons are fine before a list or example, not as mid-sentence connectors. "If you're coming from traditional automation: instead of registering event handlers, you describe conditions" adds nothing with the colon. Rewrite to let the point stand on its own without comparison framing. "Describing when the scheduler should fire works best as plain English." Same meaning, no crutch punctuation.
15. **Boldface overuse.** Don't bold every proper noun or acronym.
16. **Inline-header lists.** The tell is a bold label and colon that restates the line: "**Performance:** Performance improved...". Convert those to prose. A bold lead-in that ends in a period, names the item, and is followed by genuinely new detail ("**Schema in TypeScript.** Tables live in one file.") is fine, not a tell.
17. **Title case headings.** Use sentence case.
18. **Decorative emojis.** Remove from headings and bullets.
19. **Curly quotes.** Use straight quotes.
### Communication artifacts
20. **Chatbot phrases.** "I hope this helps!", "Let me know if...", "Of course!", "Certainly!", "Found the smoking gun!" Remove.
22. **Sycophantic tone.** "Great question! You're absolutely right!" Respond directly.
### Filler
23. **Filler phrases.** "In order to" becomes "To". "Due to the fact that" becomes "Because". Delete "It is important to note that".
24. **Excessive hedging.** "could potentially possibly be argued that it might" becomes "may".
25. **Generic conclusions.** "The future looks bright." State specific plans or facts.
### Jargon
26. **Abstract metaphor nouns.** Substrate (base), wedge, wedge in (add), vector (way, method), locus, vantage, nexus, primitive as a noun, harness as a metaphor, surface as in "API surface", bedrock, scaffolding as a metaphor, modality, paradigm, gold-plating (more than the job needs), ratchet as a metaphor (the mechanism's real name, or a limit that only tightens), evacuate for moving code (move out), endgame (the last phase), north star, flywheel. These read as technical but usually have a plainer concrete word. Pick the concrete word.
### Plain speech
27. **Say what it does, not how it feels.** "the database stays close at hand", "SQL you can read", "types that follow your schema" name a feeling. The fix names the mechanism or a number: "`.toSQL()` returns the exact string sent to the database", "a column rename fails the build". Ask what the sentence tells the reader to do or know, then write that. If you can't restate it as a concrete instruction, fact, or number, cut it. One more check: if the sentence could appear unchanged in another project's docs, it says nothing about this one. Cut it.
28. **Shorten or split dense sentences.** If the reader has to backtrack to parse a sentence, break it in two or drop clauses. One idea per sentence.
29. **Active voice.** Prefer it. Catch "is/are/was/were + past participle" and name the actor: "queries are validated" becomes "the compiler validates queries", "the file is parsed by the loader" becomes "the loader parses the file". Passive is fine only when the actor is unknown or genuinely doesn't matter.
30. **Cut adverbs, or use a stronger verb.** "runs quickly" becomes "is fast" or the number, and "significantly improves" becomes the measured delta. An adverb propping up a weak verb means the verb is wrong.
31. **Prefer the plain word.** "utilize" and "leverage" become "use", "facilitate" becomes "help", "numerous" becomes "many", "in the event that" becomes "if". The fancier synonym is rarely clearer.
32. **Mannered prose.** Metaphor or flourish where a literal phrase exists: aphorisms ("wire it or delete it"), rhetorical fragments for effect, personified code ("the plan holds it"), figurative verbs ("rides along", "stands on"), stock framing phrases. "A dial worth turning" becomes "a parameter worth varying". Say what you mean. Rule 26 covers the metaphor nouns.
33. **Over-compression.** Dropped articles, verbless fragments, symbol-speak, and abbreviations that make the reader decode instead of read. "Parser rejects bad date → exit 2, no write" becomes "The parser rejects a bad date, exits with code 2, and writes nothing." Write whole sentences with their articles and verbs, and spell out arrows and abbreviations.
```
7:23 AM
Ask anything, @tag files/folders, $use skills, or / for commands
GPT-6-Astra
Medium
Full access
fs-04
Open in editor
Add project script
fix/issue-24667
Push & create PR
Changes
+116
-1
Toggle Sidebar