Skip to content

docs(session-flow): de-slop instruction surfaces (0.32.4) - #3106

Merged
kyle-sexton merged 1 commit into
mainfrom
cursor/2891-deslop-shard2-cfcf
Aug 23, 2026
Merged

docs(session-flow): de-slop instruction surfaces (0.32.4)#3106
kyle-sexton merged 1 commit into
mainfrom
cursor/2891-deslop-shard2-cfcf

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

No linked issue

Summary

Second #2891 de-slop shard: purge em dashes from the session-flow plugin instruction surfaces (next-worst cluster after planning).

Fix

Rewrote plugins/session-flow/README.md and every plugins/session-flow/**/SKILL.md under /ai-slop:audit fix semantics (periods, commas, or a restructured sentence; never parentheses, en dashes, or a spaced hyphen as a stand-in). Meaning-preserving self-audit repaired paired-aside and subjectless clauses the first pass split. The generated options block is ignore-fenced; its shared template is a later shard. Protocol strings that producers emit or consumers match stay inside fences and inline code (Re-arm <i> of <n> — <L> lines:, the fenced ORCHESTRATION BRIEF title, the workflow glance map). session-flow 0.32.4.

Verification

  • CLAUDE_PROJECT_DIR plus a gitignored overlay that re-enables rule-em-dash: session-flow instruction surfaces go from 658 findings to 0 (48 declined inside the generated-options ignore fence and protocol/fence spans).
  • bash plugins/session-flow/skills/running-retro/scripts/observer.test.sh 72 tests OK
  • bash plugins/session-flow/skills/retro/scripts/parse-transcript.test.sh 12 tests OK
  • bash plugins/session-flow/skills/keep-going/scripts/check-usage-limit-reset.test.sh passes
  • python3 scripts/sync-plugin-options-docs.py --check up to date
  • scripts/check-changelog-parity.sh --check-bump origin/main passes

Instruction-surface remainder on origin/main after this shard: 7972 rule-em-dash plus 19 other script tells (10 triad, 3 negative-parallelism, 4 chatbot, 2 filler). #2891 stays open. Shard 1 is planning (#3105).

Related

Refs #2891

@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 4m 7s —— View job


Claude is reviewing this PR

  • Gather context (PR diff, CLAUDE.md, custom instructions)
  • Load /review:code-review lane criteria (skill returned no content directly; used its SKILL.md source since this is a mechanical/CI lane)
  • Manually verify README.md + spot-check SKILL.md files for meaning-preservation, protocol-string integrity, YAML frontmatter validity
  • Deep-read remaining SKILL.md files via subagent (in progress)
  • Post summary comment

@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 24s —— View job


/review:security-review

Skip gate triggered: no security-relevant surface.

This PR (plugins/session-flow 0.32.4) is a pure prose de-slop pass: every changed line rewrites em dashes to periods, commas, or a restructured sentence across README.md and the fourteen SKILL.md files, plus a version bump and changelog entry. Confirmed via git diff HEAD~1 HEAD:

  • No frontmatter changes (allowed-tools, permissions, disable-model-invocation, user-invocable all untouched).
  • No script, command, or code-block content changed, only surrounding prose.
  • No GitHub Actions workflow files touched.
  • No new URLs, tokens, credentials, or executable instructions introduced; the diff only re-punctuates existing sentences (e.g. "...secrets — no files...""...secrets, no files...").

No authorization, injection, secret-handling, or Actions-security surface to review here. No findings to report.

Branch: cursor/2891-deslop-shard2-cfcf

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

Last security-reviewed head: 851765e9db2c932bfe4c8085eda2e4042a5587c5. On the next push, the relevance gate compares only the commits since this SHA; delete this comment to force a full re-review.

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

Claude has reviewed this PR 5 times. The lane skips further automatic reviews after 5; deleting this comment resets the count.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a133d17058

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cursor[bot]'s task in 7m 2s —— View job


/review:code-review for PR #3106

Summary

This shard rewrites em dashes to periods, commas, or restructured sentences across session-flow's README.md and all fourteen SKILL.md files. The skip gate (trivial/automated change, no review surface) does not apply here: these files are parsed as live agent instructions and frontmatter descriptions drive skill routing, so a rewrite that changes their grammar is a correctness concern, not just style. The PR's own stated method ("periods, commas, or a restructured sentence") is sound, but it was applied inconsistently in one specific way: several em dashes that separated two independent clauses were replaced with a bare comma instead of a period/semicolon, producing comma splices, and two spots have outright broken sentences from the split. Posted 10 inline comments covering both categories.

The recurring pattern (comma splice): when the text before and after an em dash each has its own subject and verb, a comma alone under-punctuates it (X, Y reads as one fused sentence). A period, semicolon, or an explicit conjunction is needed instead. This shows up in handoff/SKILL.md:265, reconcile/SKILL.md:154, workflow/SKILL.md:196, find-handoff/SKILL.md:18, running-retro/SKILL.md:233, README.md:64, and in two frontmatter description fields (show-options/SKILL.md:2, orient/SKILL.md:2) — all flagged inline. A few more instances of the same pattern exist beyond what's called out inline (not exhaustively re-flagged to avoid noise, same fix applies):

Two outright breaks from the split itself (also flagged inline):

  • workflow/SKILL.md:36 — a sentence-ending period was inserted while still inside an unclosed (...), leaving a parenthetical that spans a sentence boundary.
  • show-options/SKILL.md:158 — an appositive fragment ("97.8% of the catalog") got promoted to its own capitalized "sentence" with no verb, and of is now wrongly capitalized.

Checked and not a finding: plugin.json's description field still has 10 em-dash escapes. That's consistent with the shard-1 precedent (planning's plugin.json also still has one after #3105), so plugin manifest descriptions appear to be intentionally out of scope for this de-slop pass, not a miss.

No security-relevant surface (confirmed by the existing security-review lane comment on this PR). No script/code-block or frontmatter field (only prose) changes found beyond the version bump and changelog entry.

Branch: cursor/2891-deslop-shard2-cfcf

Comment thread plugins/session-flow/skills/workflow/SKILL.md Outdated
Comment thread plugins/session-flow/skills/show-options/SKILL.md Outdated
Comment thread plugins/session-flow/skills/handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/reconcile/SKILL.md Outdated
Comment thread plugins/session-flow/skills/workflow/SKILL.md Outdated
Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/running-retro/SKILL.md Outdated
Comment thread plugins/session-flow/README.md Outdated
Comment thread plugins/session-flow/skills/show-options/SKILL.md Outdated
Comment thread plugins/session-flow/skills/orient/SKILL.md Outdated
@kyle-sexton
kyle-sexton enabled auto-merge (squash) August 21, 2026 15:26
@claude

claude Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Claude finished @cursor[bot]'s task in 2m 59s —— View job


Claude is reviewing this PR

  • Gather context (PR diff, CLAUDE.md, custom instructions)
  • Load /review:code-review lane criteria (skip gate, high-signal bar, adversarial validation)
  • Verify prior findings (codex + earlier claude pass) still apply against current HEAD 04715a2
  • Scan remaining diff for additional comma-splice / protocol-string correctness bugs (subagent in progress)
  • Post any new inline findings
  • Post summary comment

kyle-sexton added a commit that referenced this pull request Aug 21, 2026
No linked issue

## Summary

Third #2891 de-slop shard: purge em dashes from the `work-items` plugin
instruction surfaces (next-worst cluster after `planning` and
`session-flow`).

## Fix

Rewrote `plugins/work-items/README.md` and every
`plugins/work-items/**/SKILL.md` under `/ai-slop:audit fix` semantics
(periods, commas, or a restructured sentence; never parentheses, en
dashes, or a spaced hyphen as a stand-in). Meaning-preserving self-audit
repaired multi-line paired asides the mechanical pass split. The
generated options block is ignore-fenced; its shared template is a later
shard. One quoted auto-invocation trigger (`the spec changed — redo the
tickets`) keeps its em dash so skill-quality does not treat the rewrite
as a dropped trigger. `work-items` 0.39.13. Cheatsheet refreshed for the
rewritten `ship` summary.

## Verification

- session-flow/planning shards are separate PRs (#3105, #3106)
- Detector on this cluster: 1 remaining `rule-em-dash` (the required
trigger phrase), 49 declined (generated-options fence plus
fenced/inline-code protocol spans)
- `CHECK_SKILL_SKIP_MARKDOWNLINT=1 bash scripts/check-changed-skills.sh
origin/main`: 10 skills, 0 failed
- `bash plugins/work-items/skills/work/scripts/preflight.test.sh`: 99
checks passed
- `bash plugins/work-items/tests/no-hardcoded-priority-scheme.test.sh`:
6 passed
- `python3 scripts/sync-plugin-options-docs.py --check` up to date
- `scripts/check-changelog-parity.sh --check-bump origin/main` passes

#2891 stays open. Next cluster after this is `source-control`.

## Related

Refs #2891

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
@kyle-sexton kyle-sexton self-assigned this Aug 23, 2026
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

No description provided.

@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Taking over from expired work-item-lease held by session MELO-LAP-001-triage-202608230449 (1h TTL, no renewal or further activity observed since acquisition; current time 2026-08-23T07:12Z is well past expiry). Proceeding under lane babysit-loop, instance melo-lap-001-merge-20260823T045045Z.

@kyle-sexton

Copy link
Copy Markdown
Contributor Author

This was generated by AI during triage.

Triage outcome: rework (verified diff, mechanical-stub brief)

Verified. Checked out the PR into an isolated worktree and independently confirmed the diff does what it claims:

  • plugins/session-flow/skills/running-retro/scripts/observer.test.sh — 72 tests OK
  • plugins/session-flow/skills/keep-going/scripts/check-usage-limit-reset.test.sh — 12 tests OK
  • python3 scripts/sync-plugin-options-docs.py --check — up to date
  • parse-transcript.test.sh — skipped locally (pytest not installed in the triage sandbox), not re-verified
  • All CI gates on the PR are green

But not a clean adopt. The existing automated /review:code-review pass on this PR already identified real defects that remain unresolved at current HEAD (04715a267): the em-dash removal introduced comma splices where the dash separated two independent clauses, plus two outright broken sentences. Independently re-confirmed both flagged breaks by direct file read:

  • workflow SKILL.md — the parenthetical aside now contains a sentence-ending period before its own closing paren, leaving an unclosed-looking parenthetical spanning a sentence boundary.
  • show-options SKILL.md — an appositive fragment ("97.8% Of the catalog") was promoted to its own capitalized non-sentence with wrongly-capitalized "Of".

Frontmatter description fields drive skill routing and SKILL.md prose is parsed as live agent instruction, so this is a correctness gap against the PR's own "meaning-preserving" requirement, not just style.

Sites + fix pattern (mechanical, no design decision):

  • Fix pattern 1 (comma splice): everywhere the em-dash-to-comma rewrite fused two independent clauses (each side has its own subject + verb) into X, Y, replace the comma with a period, semicolon, or explicit conjunction. Affected skills per the existing review comment on this PR: handoff, reconcile, workflow, find-handoff, running-retro, README, plus the show-options and orient frontmatter description fields, and (called out but not inline-flagged) find-handoff, keep-going, orchestrate, orient again elsewhere.
  • Fix pattern 2 (broken sentence from the split): restore correct sentence boundaries / capitalization at the two spots above without reintroducing an em dash.

Full site list with exact locations is already posted inline on this PR by the automated code-review lane; use that as the authoritative site index rather than re-deriving it.

Note: this triage pass observed a work-item-lease coordination anomaly — the triage lease acquired for this session (MELO-LAP-001-triage-202608230449) expired before this evaluation completed, and a separate babysit-loop merge-lane instance posted a takeover comment in the interim. That lane's claim targets merge coordination and doesn't conflict with this triage labeling; flagging for visibility only.

@kyle-sexton kyle-sexton added priority: medium Real value, no hard deadline; normal backlog flow. work-class: mechanical Deterministic, trivially reversible maintenance: dependency bumps, lint/format, sync. agent-ready Fully specified and briefed; eligible for autonomous pickup from the frontier. labels Aug 23, 2026
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Taking over from expired lane-claim held by instance melo-lap-001-merge-20260823T045045Z (lane babysit-loop; that claim has expired). Proceeding under this claim:

@claude

claude Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 10m 17s —— View job


/review:code-review for PR #3106 (re-run at HEAD f4e7bcc)

  • Gather context (PR diff, custom instructions, prior review threads)
  • Invoke /review:code-review skill for this PR
  • Re-verify all previously flagged findings against current HEAD
  • Scan the full diff for additional comma-splice / protocol-string correctness bugs
  • Post inline findings
  • Post summary comment

Summary

The 15 previously-flagged threads are genuinely fixed. I independently re-diffed f4e7bcc against the prior HEAD and read every one of the 15 sites (comma splices in handoff, reconcile, workflow, find-handoff, running-retro, keep-going, orchestrate, orient, README; the two broken sentences in workflow/show-options; the Re-arm <i> of <n> — <L> lines: header restore). All match the reviewer-suggested fixes and read correctly, no new regressions in those hunks.

But the fix commit patched only the specific lines reviewers had hand-flagged, not the underlying pattern. The same mechanical bug — a paired em dash joining two independent clauses collapsed to a bare comma instead of a period/semicolon — recurs extensively elsewhere in this PR's own diff, often as the sibling bullet right next to one that was fixed (e.g. orient/SKILL.md:106 was fixed with a semicolon, :107 two lines later has the identical construction and was not; running-retro/SKILL.md:246 uses the correct period style, :250 right below it doesn't). This means "Addresses all 15 unresolved PR review threads" resolved the threads, not the pattern class, and the PR's own "meaning-preserving" claim doesn't yet hold PR-wide.

Posted 14 inline comments (with drop-in suggestion fixes) covering the clearest, most representative instances across every affected file:

  • find-handoff/SKILL.md: lines 333, 335-341, 416, 418
  • continue-in-background/SKILL.md: lines 70, 209-211
  • handoff/SKILL.md: lines 51, 69
  • orient/SKILL.md: lines 107, 113
  • workflow/SKILL.md: lines 174-179
  • retro/SKILL.md: line 37
  • running-retro/SKILL.md: line 250
  • reanchor/SKILL.md: lines 29-30 (a distinct sub-case: the em dash here was deleted outright with no replacement punctuation, not converted to a comma, leaving a genuinely garbled clause)

Additional confirmed instances of the same splice pattern, not individually inline-flagged to avoid further noise (same fix: comma → period/semicolon), given as permalinks against f4e7bcc:

Given how many of these turned up in a targeted grep rather than an exhaustive line-by-line read of all 17 files, this list is very likely not complete — treat it as a lower bound, not a full inventory.

Recommendation

Given the volume and that the pattern keeps resurfacing next to already-fixed siblings, a targeted re-grep of this PR's full diff for , (the|a|an|this|that|it|they)\s+\S+\s+(is|are|does|has|...) against every changed file (not just the threads already named in review comments) would catch the remainder in one pass, rather than another round of one-off patches.

Not re-litigated: plugin.json's manifest description still carries em dashes — already established as out-of-scope for this shard per shard-1 precedent. No security-relevant surface (per the existing /review:security-review pass on this PR).
· Branch: cursor/2891-deslop-shard2-cfcf

@claude

claude Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 43s —— View job


/review:security-review for PR #3106 (re-run at HEAD f4e7bcc)

Skip gate triggered: no security-relevant surface.

Re-ran the review against current HEAD f4e7bcc. Since the last security-review pass (at 7a1dad0), the only new commit is f4e7bcc ("repair comma splices and header delimiter from de-slop pass"), which addresses the correctness findings from the /review:code-review lane. Confirmed via git diff 7a1dad0..f4e7bcc:

  • 10 files changed, all inside plugins/session-flow (README.md and nine SKILL.md files), 16 lines each way.
  • Every hunk is a punctuation/wording fix: bare commas joining independent clauses replaced with semicolons or a period, one restored E.g.e.g. mid-sentence, and the re-arm header literal in find-handoff/SKILL.md:308 restored from Re-arm <i> of <n>. <L> lines: to the correct Re-arm <i> of <n> — <L> lines: (matching what reference/save-point.md actually emits).
  • Two of the changed lines are inside frontmatter description fields (orient/SKILL.md, show-options/SKILL.md), but only punctuation changed, no new tool grants, no allowed-tools/disable-model-invocation/user-invocable changes.
  • No script, code-block, or command content changed; no GitHub Actions workflow files touched; no new URLs, tokens, or credentials introduced.

This remains a pure documentation/prose PR with no injection, authorization, secret-handling, or Actions-security surface. No security findings to report.

Note: the earlier /review:code-review findings (comma splices, two broken sentences, the re-arm delimiter) were prose-correctness issues, not security issues, and appear to be exactly what this commit fixed, out of scope for this lane either way.

Branch: cursor/2891-deslop-shard2-cfcf

Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/find-handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/continue-in-background/SKILL.md Outdated
Comment thread plugins/session-flow/skills/continue-in-background/SKILL.md Outdated
Comment thread plugins/session-flow/skills/handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/handoff/SKILL.md Outdated
Comment thread plugins/session-flow/skills/orient/SKILL.md Outdated
Comment thread plugins/session-flow/skills/orient/SKILL.md Outdated
Comment thread plugins/session-flow/skills/workflow/SKILL.md Outdated
Comment thread plugins/session-flow/skills/retro/SKILL.md Outdated
Comment thread plugins/session-flow/skills/running-retro/SKILL.md Outdated
Comment thread plugins/session-flow/skills/reanchor/SKILL.md Outdated
kyle-sexton added a commit that referenced this pull request Aug 23, 2026
No linked issue

## Summary

Fourth #2891 de-slop shard: purge em dashes from the `source-control`
plugin instruction surfaces (next-worst cluster after planning,
session-flow, and work-items).

## Fix

Rewrote `plugins/source-control/README.md` and every
`plugins/source-control/**/SKILL.md` under `/ai-slop:audit fix`
semantics (periods, commas, or a restructured sentence; never
parentheses, en dashes, or a spaced hyphen as a stand-in).
Meaning-preserving self-audit repaired multi-line paired asides. The
generated options block is ignore-fenced. Protocol strings in fences and
inline code stay as written. `source-control` 0.54.17. Cheatsheet
refreshed for the rewritten summary.

## Verification

- Detector: 0 `rule-em-dash` findings, 76 declined (generated-options
fence plus fenced/inline-code protocol spans)
- `python3 -m unittest` `test_skill_contract`: 25 tests OK
- `python3 scripts/sync-plugin-options-docs.py --check` up to date
- `scripts/check-changelog-parity.sh --check-bump origin/main` passes
- Quoted trigger phrases vs origin/main: none lost

#2891 stays open. Prior shards: #3105 planning, #3106 session-flow,
#3107 work-items.

## Related

Refs #2891

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Follow-up b6748899 repairs the remaining comma splices the review threads named (find-handoff Rootless/Rooted and Does-not bullets, continue-in-background, handoff Purpose/STOP paragraph, orient, workflow rigor/artifacts, retro, running-retro, reanchor claimed-state colon). Quoted Re-arm <i> of <n> — <L> lines: protocol headers stay byte-identical. Resolving the now-outdated threads so the review-thread ruleset can unblock.

Second #2891 de-slop shard: purge em dashes from session-flow instruction
surfaces and repair comma splices the mechanical pass introduced.

Refs #2891
auto-merge was automatically disabled August 23, 2026 19:12

Pull request was closed

@kyle-sexton
kyle-sexton force-pushed the cursor/2891-deslop-shard2-cfcf branch from b674889 to 6746622 Compare August 23, 2026 19:12
@kyle-sexton kyle-sexton reopened this Aug 23, 2026
@claude

claude Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Claude finished @kyle-sexton's task in 1m 7s —— View job


/review:security-review for PR #3106 (re-run at HEAD 851765e)

Skip gate triggered: no security-relevant surface.

Re-ran the review against current HEAD 851765e. Compared against the last-reviewed head f4e7bcc (per the prior security-review lane comment on this PR), scoped to the PR's own changed files (git diff f4e7bcca76b4edb15541ce685292d6b3cd8642d4..HEAD -- plugins/session-flow/):

  • Only one intervening commit touches the PR's tracked files (b674889, "repair comma splices and header delimiter from de-slop pass"), and it is exactly what its message says: bare commas fused between independent clauses replaced with periods/semicolons across continue-in-background, find-handoff, handoff, orient, reanchor, reconcile, retro, running-retro, and workflow SKILL.md files.
  • Confirmed the changed-file set is still the same 17 files as every prior pass (plugin.json version bump, CHANGELOG.md, README.md, and the fourteen SKILL.md files), all in plugins/session-flow, via git diff origin/main...HEAD --stat.
  • No frontmatter field changes (allowed-tools, disable-model-invocation, user-invocable all untouched, only prose inside description values), no script/code-block/command content changed, no GitHub Actions workflow files touched, no new URLs/tokens/credentials, no permission or trust-boundary changes anywhere in this delta.

This remains a pure documentation/prose PR. No security findings to report.

Note: the /review:code-review lane's comma-splice / broken-sentence / protocol-string findings on this PR are prose-correctness issues, not security issues, and are out of scope for this lane either way; per the PR thread, those have been progressively fixed across f4e7bcc and the follow-up b674889.

Branch: cursor/2891-deslop-shard2-cfcf

@kyle-sexton
kyle-sexton enabled auto-merge (squash) August 23, 2026 19:16
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Instance MELO-LAP-001-merge-202608231413-w3106 stopping: head SHA changed mid-task from 7a1dad03a65015e3259b60dd48dfcaea6bce3ea4 (pinned at start) to f4e7bcca76b4edb15541ce685292d6b3cd8642d4 (my own fix-and-push, all 15 originally-flagged threads addressed, CI green, replies posted citing the commit) to 851765e9db2c932bfe4c8085eda2e4042a5587c5, pushed directly by the PR author (kyle-sexton) as "docs(session-flow): de-slop instruction surfaces (0.32.6)" while I was mid-fix on 14 further comma splices an automated review pass had found on top of my commit.

Per the multi-instance safety rule, I stopped: discarded my local uncommitted second-batch fixes (never pushed) and did not merge. Per the live GraphQL state at time of writing, all 29 review threads (15 original + 14 follow-up) are now resolved on the author's 851765e9 commit, and CI is green apart from one still-pending plugin-gate check. Merge readiness looks close but I am releasing this lane rather than racing the author's own push.

kyle-sexton added a commit that referenced this pull request Aug 23, 2026
No linked issue

## Summary

Fifth #2891 de-slop shard: purge em dashes from the `claude-config`
plugin instruction surfaces, the
next-worst cluster after `session-flow` (#3106), `planning` (#3105),
`work-items` (#3107) and
`source-control` (#3108). #2891 stays open; ranked by em-dash lines over
non-vendor instruction
surfaces, the next unclaimed cluster after this one is `discipline`
(468), then `claude-ops` (336).

## Fix

Rewrote `README.md` and all ten `SKILL.md` files under `/ai-slop:audit
fix` semantics: em dashes
become periods, commas, a colon before a list, or a restructured
sentence. Never parentheses, en
dashes, or a spaced hyphen, since each of those is the same interruption
wearing a different mark.

A self-review against that guardrail caught seven places where a paired
em dash had become
parentheses in this very diff — four frontmatter `description` values
(`audit`, `audit-instructions`,
`audit-automation-gaps`, `audit-prompting-postures`) and three inline
spots (`setup`'s required-keys
list, `audit-instructions`' I8-family list and its
discover-instruction-surfaces population,
`audit-pass`' exclusion-set aside). All seven were restructured to
commas, a colon, or a sentence
break; the net parenthesis delta across the diff is -1.

Frontmatter `description` and `argument-hint` values are rewritten too.
No quoted auto-invocation
trigger phrase contained an em dash, so no trigger changed.
`claude-config` 0.38.10.

Wording only: no check, phase, gate, lane, contract, or script changed.

## Verification

This repo's `.claude/ai-slop.json` disables `rule-em-dash` corpus-wide
(a deliberate house-style
decision, #3031), so every detector run below pins `HOME` and
`CLAUDE_PROJECT_DIR` to empty
directories to lift that config and force the rule on — the same
isolation the detector's own test
suite uses.

- `detect.sh` over the 11 shard files: **482 `rule-em-dash` findings to
0**, with every other rule
  also reporting 0.
- No en dash or spaced hyphen introduced; net parenthesis delta -1.
- `scripts/check-changelog-parity.sh --check` and `--check-bump
origin/main`: pass.
- `CHECK_SKILL_SKIP_MARKDOWNLINT=1 bash scripts/check-changed-skills.sh
origin/main`: 10 skills,
0 errors. It confirms every base-ref trigger phrase is preserved on all
ten. One soft warning
  (`unhobble` at 201 lines against a 200-line target) is pre-existing.
- `markdownlint-cli2` over the 12 changed files: 0 issues.
- `node scripts/generate-cheatsheet.mjs`: already in sync — no
`metadata.summary` value changed, so
  unlike the `work-items` shard this one needs no cheat-sheet refresh.
- `python3 scripts/sync-plugin-options-docs.py --check`, `typos`,
`editorconfig-checker`: pass.
- `origin/main` merged into the branch before this PR; no conflicts, and
the two new main commits
  (#3115, #3116) touch no `claude-config` file.

**Pre-existing failure, not from this diff.** Three
`audit-permission-state` script suites fail in
this environment: `permission-merge` 19/51, `automode-entry-diff` 3/63,
`managed-conformance` 1/37.
They fail with identical counts on a clean `origin/main` worktree, and
this shard touches no script.
Flagging rather than fixing, since diagnosing them is out of scope here.

## Related

- Refs #2891 — the de-slop campaign this shard advances; stays open for
the remaining clusters.
- Refs #3105, #3106, #3107, #3108 — the sibling instruction-surface
shards.
- Refs #3031 — the measurement and decision that disabled `rule-em-dash`
corpus-wide, which is why
the verification runs force the rule back on rather than trusting a
default run.

**Deferred finding, deliberately not fixed here: manifest `description`
fields are outside the
campaign's scope definition.** Review flagged that
`plugins/claude-config/.claude-plugin/plugin.json`
still carries 5 em dashes in its marketplace-facing `description`. That
is correct, and it is a gap
in #2891's own scoping rather than in this shard: the issue defines the
target set as "every
`SKILL.md`, plugin READMEs, `AGENTS.md`, root `README`", which does not
include `plugin.json`. The
merged `work-items` shard (#3107) touched its manifest for the version
bump only, so every shipped
shard carries the same gap.

Measured across the marketplace: **47 plugins** have em dashes in their
manifest `description`, led
by `discipline` (14), `claude-ops` (12) and `session-flow` (11). Fixing
only `claude-config` here
would leave the shard series internally inconsistent while resolving 5
of ~120 occurrences, so this
belongs to a campaign-level decision on #2891 about whether manifest
descriptions join the target
set, not to this PR. Recorded here so it is not lost.
🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01Tu5t8rYWv2kDzRcdmLE2ro

---
_Generated by [Claude
Code](https://claude.ai/code/session_01Tu5t8rYWv2kDzRcdmLE2ro)_


---
_Generated by [Claude Code](https://claude.ai/code)_
@kyle-sexton
kyle-sexton merged commit 8e027c7 into main Aug 23, 2026
50 checks passed
@kyle-sexton
kyle-sexton deleted the cursor/2891-deslop-shard2-cfcf branch August 23, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-ready Fully specified and briefed; eligible for autonomous pickup from the frontier. priority: medium Real value, no hard deadline; normal backlog flow. status: ready Triaged, unblocked, and fully specified; eligible to pick up. work-class: mechanical Deterministic, trivially reversible maintenance: dependency bumps, lint/format, sync.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant