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