chore(skills): enforce soft-wrap in every md-writing skill & agent#35
Merged
Conversation
Add the canonical soft-wrap rule (one line per paragraph, no mid-paragraph
hard-wrap) to every skill and agent that emits prose markdown, so generated
.md artifacts reflow correctly and produce clean diffs.
- Skills: pr, flow, skill, usage, gh, glab, changelog, linear (the ones that
lacked it; spec/dev/em/pm/ux/docs/ed/qa already had it).
- Agents (the actual writers): spec/*, pm/*, pr/*, skill/*, dev/{researcher,
linear-tasks-agent}, em/linear-push-agent.
- Each rule notes the optional deterministic sanitizer: prettier --prose-wrap
never.
- Deliberately excluded: git commit messages (72-col convention) and
code-pattern/lookup skills that don't emit prose markdown.
Contributor
Author
|
Addressed the one review finding: added the soft-wrap rule to the deprecated |
skapoor8
marked this pull request as ready for review
July 21, 2026 01:04
|
🎉 This PR is included in version 1.67.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Make every skill and agent that emits prose markdown state the soft-wrap rule (one line per paragraph, no mid-paragraph hard-wrap "endlines"), so generated
.mdartifacts reflow correctly and produce clean diffs. Several skills already had it (spec, dev, em, pm, ux, docs, ed, qa); coverage was inconsistent and most agents — the code that actually writes the files — lacked it. This closes those gaps.The problem (rationale for review)
LLM-generated markdown sometimes hard-wraps prose (manual newlines mid-paragraph at ~80 cols). That:
The repo convention is soft-wrap: each paragraph is one continuous line; the renderer wraps. Newlines still separate paragraphs, list items, headings, and code fences.
Why embedded instructions, not a wired-in tool
You asked whether a "standard tool" is the correct way. Key consideration: these skills are installed into other people's repos (
npx skills add …) and run there. A formatter config ormisetask in this repo cannot enforce anything in the repo where a skill actually executes — only the instruction embedded in the skill/agent travels with it. So the portable, always-on mechanism is the embedded rule, and that's what this PR makes ubiquitous and identically worded (no drift).The deterministic sanitizer still has a place: the standard tool for "collapse hard-wrapped prose to one line, preserving code fences / lists / tables / front-matter" is Prettier with
prose-wrap: never(prettier --prose-wrap never). A naivesed/fmtline-join would corrupt code blocks and tables, so Prettier is the right one. Each added rule now names it as the optional deterministic pass a consumer can run in their own repo/CI — but we deliberately do not hard-wire it as a per-skill runtime dependency (it would not be reliably present at skill-run time and would add latency to fast skills).Changes
pr,flow,skill,usage,gh,glab,changelog,linear.spec/*(3),pm/*(7),pr/*(3),skill/*(3),dev/{researcher, linear-tasks-agent},em/linear-push-agent— 19 agents.spec/SKILL.mdso the rule is identical everywhere.Deliberately excluded (please sanity-check at review)
gitskill is untouched.Validation
mise run skills:validate— all passgitconfirmed untouchedFuture work
.prettierrc(proseWrap: never) + amise fmt:mdtask — kept out of this PR because it is a separate, opt-in concern from the portable per-skill instruction.