Skip to content

write_prose: add tell 21 (category-then-unpack) and cross-reference tell 16 - #2

Open
ncoop57 wants to merge 5 commits into
mainfrom
colon
Open

write_prose: add tell 21 (category-then-unpack) and cross-reference tell 16#2
ncoop57 wants to merge 5 commits into
mainfrom
colon

Conversation

@ncoop57

@ncoop57 ncoop57 commented Jul 23, 2026

Copy link
Copy Markdown

What

Adds a new anti-pattern — tell 21: Category-then-unpack — to the write_prose skill docstring.

The construction is an abstract category phrase, a colon, then a parallel list that restates it:

it should see what you have been doing: the cells you ran, what they printed, the plots you drew, the errors you hit

The sentence says everything twice — once vaguely, once itemized — and the items fall into tell 10'''s parallel cadence.

Changes

  • New tell 21 with the specimen example and two fix strategies (enumerate directly, or name the category and trust it).
  • Sloppy example passage updated to include a tagged instance of tell 21 (a rich tapestry of innovation: the tech we build, the deals we strike, the grids we green[21]).
  • Tell 16 now cross-references tell 21 so the colon-list carve-out cannot be read as contradicting the new rule.

@ncoop57
ncoop57 marked this pull request as ready for review July 23, 2026 12:51
@ncoop57
ncoop57 requested a review from jph00 July 23, 2026 12:51
@ncoop57 ncoop57 added the documentation Improvements or additions to documentation label Jul 23, 2026

@jph00 jph00 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

.

Comment thread aai_coding/write_prose.py Outdated
21. Decorative verbs: an inanimate subject whose verb is not what actually happens, with no person hidden. The sentence states a property or a mechanical event, and the verb arrived for vividness: "native ids ride in summary rows", "an id earns its place", "media hang identity at different levels". Nothing rides or earns; say what happens: ids appear in rows, an id qualifies, media attach identity. The subject may stay inanimate; the verb must be the plain word for the event. Standard technical vocabulary is not decoration: a span opens with its heading, you walk the tree, recursion bottoms out, a cache goes stale. Those are the words a maintainer says at a whiteboard, and the test is exactly that: would you say this verb at the whiteboard, or did it arrive for texture? The banned "land" and "shape" entries below are instances of this tell.
22. Explanation colons: a colon gluing an assertion to its explanation, both halves full clauses ("the address layer has no semantic gaps: every failure is a verification failure"). A colon is for introducing a list, an example, or a definition. An explanation is a sentence, so give it a period. (Tell 2 is the label form of this, where the left half is a stub rather than a clause.) These accumulate one defensible instance at a time in dense technical prose, until every sentence has the same claim-colon-reason shape.
23. Undefined jargon: tell 20's twin, in the other direction. Tell 20 repeats what the audience knows; this assumes what it doesn't. A term of art dropped without definition ("consistent with the glidepath", or "carrier" in a design doc) loses the reader from that sentence on. The two tells are one audience judgment. Name the audience, cut what they know, and define what they don't at first use, or use a plain word instead. Needed jargon is fine; unexplained jargon is not.
24. Category-then-unpack: an abstract category phrase, a colon, then a parallel list unpacking it: "it should see what you have been doing: the cells you ran, what they printed, the plots you drew, the errors you hit". The sentence says everything twice, once vaguely and once itemized, and the items fall into tell 10's parallel cadence. Cut one side: enumerate directly as the sentence's own object ("it should see the cells you ran and what they printed"), or name the category and trust it ("it should see your session so far"). A colon-introduced list is fine when the lead-in genuinely needs the items to be understood; it's the tell when the lead-in is a dummy the list then restates.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cut one side: enumerate directly as the sentence's own object - @ncoop57 try to make sure write_prose's prose does not itself contain any tells! This : should go. "Cut one side" is repeating what the rest of the sentence says!

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Ooof, good catch. Thanks Jeremy, I fixed it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants