aibreze 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -1
- package/dist/index.js +14 -0
- package/package.json +62 -59
- package/rules/academic.md +114 -0
- package/rules/audit.md +20 -6
- package/rules/civic.md +112 -0
- package/rules/claims.md +1 -1
- package/rules/core.md +58 -15
- package/rules/cursor.mdc +33 -18
- package/rules/essays.md +2 -1
- package/skills/aibreze/SKILL.md +11 -6
- package/skills/aibreze/SKILL_FACTS.md +23 -2
- package/skills/aibreze/rules/academic.md +114 -0
- package/skills/aibreze/rules/audit.md +20 -6
- package/skills/aibreze/rules/civic.md +112 -0
- package/skills/aibreze/rules/claims.md +1 -1
- package/skills/aibreze/rules/core.md +58 -15
- package/skills/aibreze/rules/essays.md +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const packageRoot: string;
|
|
2
2
|
declare const rulesDir: string;
|
|
3
|
-
export declare const ruleIds: readonly ["core", "audit", "claims", "essays", "landing", "outreach", "launch"];
|
|
3
|
+
export declare const ruleIds: readonly ["core", "audit", "claims", "essays", "landing", "outreach", "launch", "civic", "academic"];
|
|
4
4
|
export type RuleId = (typeof ruleIds)[number];
|
|
5
5
|
export declare const files: {
|
|
6
6
|
readonly core: string;
|
|
@@ -10,6 +10,8 @@ export declare const files: {
|
|
|
10
10
|
readonly landing: string;
|
|
11
11
|
readonly outreach: string;
|
|
12
12
|
readonly launch: string;
|
|
13
|
+
readonly civic: string;
|
|
14
|
+
readonly academic: string;
|
|
13
15
|
readonly cursor: string;
|
|
14
16
|
};
|
|
15
17
|
export type FileId = keyof typeof files;
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export const ruleIds = [
|
|
|
11
11
|
"landing",
|
|
12
12
|
"outreach",
|
|
13
13
|
"launch",
|
|
14
|
+
"civic",
|
|
15
|
+
"academic",
|
|
14
16
|
];
|
|
15
17
|
export const files = {
|
|
16
18
|
core: join(rulesDir, "core.md"),
|
|
@@ -20,6 +22,8 @@ export const files = {
|
|
|
20
22
|
landing: join(rulesDir, "landing.md"),
|
|
21
23
|
outreach: join(rulesDir, "outreach.md"),
|
|
22
24
|
launch: join(rulesDir, "launch.md"),
|
|
25
|
+
civic: join(rulesDir, "civic.md"),
|
|
26
|
+
academic: join(rulesDir, "academic.md"),
|
|
23
27
|
cursor: join(rulesDir, "cursor.mdc"),
|
|
24
28
|
};
|
|
25
29
|
export const catalog = [
|
|
@@ -58,6 +62,16 @@ export const catalog = [
|
|
|
58
62
|
title: "Launch / announcement",
|
|
59
63
|
use: "Shipping posts. Open on a specific moment or the artifact, not the announcement formula.",
|
|
60
64
|
},
|
|
65
|
+
{
|
|
66
|
+
id: "civic",
|
|
67
|
+
title: "Civic / institutional",
|
|
68
|
+
use: "Filings, testimony, legal-adjacent memos. Ceremony is earned; colleague voice is wrong here.",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
id: "academic",
|
|
72
|
+
title: "Academic / scholarly",
|
|
73
|
+
use: "Papers and methods. Precision and citations, not the academic costume.",
|
|
74
|
+
},
|
|
61
75
|
{
|
|
62
76
|
id: "cursor",
|
|
63
77
|
title: "Cursor pocket card",
|
package/package.json
CHANGED
|
@@ -1,59 +1,62 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "aibreze",
|
|
3
|
+
"version": "0.1.9",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Installable writing rule set for AI agents. Sprays the performative, faux-profound register off prose. Core bans, smell audit, claims review, genre overlays.",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"author": "Catalyst Forge LLC",
|
|
9
|
+
"keywords": [
|
|
10
|
+
"ai",
|
|
11
|
+
"writing",
|
|
12
|
+
"style-guide",
|
|
13
|
+
"prose",
|
|
14
|
+
"llm",
|
|
15
|
+
"prompts",
|
|
16
|
+
"copyediting",
|
|
17
|
+
"voice"
|
|
18
|
+
],
|
|
19
|
+
"homepage": "https://aibreze.com",
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/Catalyst-Forge-LLC/aibreze.git"
|
|
23
|
+
},
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://github.com/Catalyst-Forge-LLC/aibreze/issues"
|
|
26
|
+
},
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"default": "./dist/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./rules/*": "./rules/*",
|
|
33
|
+
"./skills/*": "./skills/*",
|
|
34
|
+
"./package.json": "./package.json"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist/index.js",
|
|
38
|
+
"dist/index.d.ts",
|
|
39
|
+
"rules",
|
|
40
|
+
"skills",
|
|
41
|
+
"README.md",
|
|
42
|
+
"LICENSE"
|
|
43
|
+
],
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsc",
|
|
46
|
+
"test": "tsc && node --test dist/index.test.js dist/publish-gate.test.js",
|
|
47
|
+
"prepare": "tsc",
|
|
48
|
+
"prepublishOnly": "tsc && node dist/publish-gate.js && pnpm test",
|
|
49
|
+
"ship": "pnpm --dir site run ship",
|
|
50
|
+
"site:dev": "pnpm --dir site dev",
|
|
51
|
+
"site:build": "pnpm --dir site run build",
|
|
52
|
+
"site:deploy": "pnpm --dir site run ship"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=20"
|
|
56
|
+
},
|
|
57
|
+
"packageManager": "pnpm@10.30.1",
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/node": "^24.3.0",
|
|
60
|
+
"typescript": "^5.9.2"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Academic / scholarly
|
|
2
|
+
|
|
3
|
+
Apply [`core.md`](./core.md) first. This file is the genre overlay for
|
|
4
|
+
journal articles, working papers, methods sections, literature reviews,
|
|
5
|
+
and dissertation chapters that are papers.
|
|
6
|
+
|
|
7
|
+
It is not the file for essays or talks ([`essays.md`](./essays.md)),
|
|
8
|
+
filings ([`civic.md`](./civic.md)), or product pages. Reference docs
|
|
9
|
+
and textbooks that are really manuals still get core only.
|
|
10
|
+
|
|
11
|
+
The colleague voice is close. Precision and citations are the shift.
|
|
12
|
+
Do not put on the academic costume.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Register
|
|
17
|
+
|
|
18
|
+
Write for a peer who already knows the field. Say what you did, what
|
|
19
|
+
you found, and where the claim stops. Full forms more often than the
|
|
20
|
+
default. Contractions are rare, not banned. One is not a finding.
|
|
21
|
+
|
|
22
|
+
First person is allowed when the field or the overlay uses it ("we
|
|
23
|
+
measured," "I argue"). Passive is not required. Do not convert every
|
|
24
|
+
sentence to "it was found that."
|
|
25
|
+
|
|
26
|
+
Hedging is earned when it names a limit, a method bound, or a claim
|
|
27
|
+
the data cannot support. "In this sample," "we did not observe,"
|
|
28
|
+
"suggests" stay when they are true. "It could perhaps be argued that"
|
|
29
|
+
is hiding.
|
|
30
|
+
|
|
31
|
+
The read-aloud test is a careful colleague in the field, not a tired
|
|
32
|
+
product person and not a quarterly from 1987.
|
|
33
|
+
|
|
34
|
+
Pronouns follow the overlay or the journal. Do not invent "the authors"
|
|
35
|
+
to sound impersonal if the venue uses we.
|
|
36
|
+
|
|
37
|
+
Hard bans still hold. Insight theater does not become allowed because
|
|
38
|
+
the bibliography is long. Earn the word: "robust," "novel," and
|
|
39
|
+
"seminal" need a measurement, a contrast, or a cite that actually
|
|
40
|
+
carries that weight.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## What earns its place
|
|
45
|
+
|
|
46
|
+
- Citations, operational definitions, method, limitations
|
|
47
|
+
- Field terms of art (applicability heuristic)
|
|
48
|
+
- The journal's sections (IMRaD or whatever they print)
|
|
49
|
+
- An abstract that states the finding, not a teaser
|
|
50
|
+
|
|
51
|
+
Repeating a defined term is not hand-holding. Numbered hypotheses and
|
|
52
|
+
result rows are not triad packing.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## The costume (do not reach for it)
|
|
57
|
+
|
|
58
|
+
These are the stereotypical academic tells. Ban them as furniture.
|
|
59
|
+
Leave a word if it is doing a real job in the sentence.
|
|
60
|
+
|
|
61
|
+
- "Moreover," "Thus," "Furthermore," "Indeed" opening clause after
|
|
62
|
+
clause
|
|
63
|
+
- "This paper seeks to" / "this study aims to" / "the present work"
|
|
64
|
+
- "It has been shown that" with no cite, or with a cite that does not
|
|
65
|
+
show it
|
|
66
|
+
- "The extant literature," "a growing body of work," "little attention
|
|
67
|
+
has been paid"
|
|
68
|
+
- "It is worth noting that" / "it is important to note"
|
|
69
|
+
- Nominalization stacks ("the utilization of the implementation")
|
|
70
|
+
- Forced passive when the actor is known and the field allows we
|
|
71
|
+
- A literature review that only announces a gap
|
|
72
|
+
- A last sentence that winks or mic-drops
|
|
73
|
+
|
|
74
|
+
Do not inject an essay scene to "humanize" the paper. A worked example
|
|
75
|
+
or a named dataset is an instance, not a memoir. Do not apply essay
|
|
76
|
+
law here.
|
|
77
|
+
|
|
78
|
+
Do not apply civic captions or landing pain lists.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Claims
|
|
83
|
+
|
|
84
|
+
This genre lives on citations. Run [`claims.md`](./claims.md) when the
|
|
85
|
+
paper asserts effects, magnitudes, or what prior work showed.
|
|
86
|
+
|
|
87
|
+
A clean-smelling wrong paper is still wrong. Do not cologne a missing
|
|
88
|
+
cite or an overclaim in the abstract.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Audit extras for this genre
|
|
93
|
+
|
|
94
|
+
On top of `core.md` and `audit.md`:
|
|
95
|
+
|
|
96
|
+
- Costume density (Moreover / Thus / seeks to / extant literature)
|
|
97
|
+
- Hedging that hides a claim instead of naming a limit
|
|
98
|
+
- Forced impersonal voice against the overlay or the venue
|
|
99
|
+
- Abstract that teases and never states the finding
|
|
100
|
+
- Essay anecdote or landing structure
|
|
101
|
+
- A claim that needs a cite and has none
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Acceptance criteria
|
|
106
|
+
|
|
107
|
+
1. Overlay or venue named the speaker (we, I, or the paper's convention).
|
|
108
|
+
2. Abstract states the finding.
|
|
109
|
+
3. Hedging names a limit or is cut.
|
|
110
|
+
4. No costume furniture in the open or the close.
|
|
111
|
+
5. Claims that need cites have them, or `claims.md` already flagged
|
|
112
|
+
the gaps.
|
|
113
|
+
6. No essay scene. No civic caption. No landing pain list.
|
|
114
|
+
7. Hard bans still hold.
|
package/rules/audit.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AI smell audit prompt
|
|
2
2
|
|
|
3
3
|
Reusable prompt for auditing any copy (landing pages, emails, blog posts,
|
|
4
|
-
social posts, docs) for signs it was AI-generated or AI-flavored.
|
|
4
|
+
social posts, docs, filings) for signs it was AI-generated or AI-flavored.
|
|
5
5
|
|
|
6
6
|
**This prompt is additive.** Paste into a model, in order:
|
|
7
7
|
|
|
@@ -51,13 +51,16 @@ pass that skips the house bans.
|
|
|
51
51
|
### From core.md (do not re-list)
|
|
52
52
|
|
|
53
53
|
Hunt every hard ban and cadence tell in `core.md`: escalation formula,
|
|
54
|
-
honest framing
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
honest framing (including Look / Let's be clear / Here's the thing),
|
|
55
|
+
validation+profundity, mechanism inflation, narrative
|
|
56
|
+
theater, genuinely-stacks, dramatic apology, suspense, cataphoric
|
|
57
|
+
teasers, setup sentences, em-dash furniture, triad packing including
|
|
58
|
+
prefix-repetition and Not X. Not Y. But Z., empty marketing
|
|
57
59
|
vocab, helper theater, signpost openers, mic-drop closers, intensifier
|
|
58
60
|
filler, parallel-zinger density, bold-lead lists, riddle labels, cozy
|
|
59
61
|
machinery, operator notes in the brochure, hand-holding the obvious,
|
|
60
|
-
unparseable sentences
|
|
62
|
+
unparseable sentences, participial afterthoughts, topic-sentence
|
|
63
|
+
pinning. Apply the
|
|
61
64
|
corpus-applicability heuristic before rewriting overlay terms. Teaching
|
|
62
65
|
antithesis is allowed only when categories differ, never as
|
|
63
66
|
synonym-escalation. One concrete landing chant is a named exception,
|
|
@@ -81,6 +84,9 @@ not a free pass for every triad.
|
|
|
81
84
|
you?" / "The result?" / "The best part?"
|
|
82
85
|
- **The hedge-flourish.** Winking qualifiers like "(yet)" or "at least
|
|
83
86
|
for now" that perform humility instead of having it.
|
|
87
|
+
- **False concessions.** "To be fair…", "It's not all bad…", "That said,
|
|
88
|
+
there is another side." A real limit stays. A performed even-hand
|
|
89
|
+
before the pitch does not.
|
|
84
90
|
- **False momentum closers.** "The future is here." / "And this is just
|
|
85
91
|
the beginning." / "The only question is whether you'll be ready."
|
|
86
92
|
- **Setup-payoff formula on every heading.** Colon constructions: "The
|
|
@@ -100,9 +106,11 @@ product names, and words that would get less precise if swapped for
|
|
|
100
106
|
|
|
101
107
|
- delve, dive deep, deep dive, unpack, explore (as a section-verb with
|
|
102
108
|
no object worth exploring)
|
|
109
|
+
- intricate, realm, tapestry (as atmosphere with no object)
|
|
103
110
|
- unlock, unleash, harness, empower, supercharge, turbocharge
|
|
104
111
|
- leverage (as empty marketing verb: "leverage your workflow"), utilize
|
|
105
|
-
(instead of use)
|
|
112
|
+
(instead of use), underscore (as pomp: "this underscores the need").
|
|
113
|
+
Domain projects may carve out doctrinal "leverage"
|
|
106
114
|
(force / fulcrum sense) in an overlay.
|
|
107
115
|
- seamless, seamlessly, effortless, frictionless, streamline
|
|
108
116
|
- game-changer, game-changing, revolutionary, cutting-edge, next-level
|
|
@@ -133,6 +141,12 @@ product names, and words that would get less precise if swapped for
|
|
|
133
141
|
- **Uniform paragraph lengths.** Every paragraph 2-3 sentences, every
|
|
134
142
|
sentence medium-length. Human writing has variance: a one-word
|
|
135
143
|
sentence, then a long one.
|
|
144
|
+
- **Bro-etry / short-line stanzas.** Prose broken into one clause per
|
|
145
|
+
line, with blank lines as drama, when the piece is not a poem. Flag
|
|
146
|
+
the formatting, then the sentences.
|
|
147
|
+
- **Do not flag Oxford commas** or other house punctuation as AI tells.
|
|
148
|
+
A serial comma is a style choice. Em dashes are a density budget in
|
|
149
|
+
`core.md`, not a mark to erase.
|
|
136
150
|
- **Perfectly balanced sections.** Every section the same length, every
|
|
137
151
|
card grid filled to an even number, every argument given exactly equal
|
|
138
152
|
weight.
|
package/rules/civic.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Civic / institutional
|
|
2
|
+
|
|
3
|
+
Apply [`core.md`](./core.md) first. This file is the genre overlay for
|
|
4
|
+
regulatory comment letters, government filings, testimony, legal-adjacent
|
|
5
|
+
memos, and compliance notes.
|
|
6
|
+
|
|
7
|
+
It is not the file for product pages, essays, outreach, ship posts, or
|
|
8
|
+
papers. Those have their own genre files. Reference docs still get
|
|
9
|
+
core only.
|
|
10
|
+
|
|
11
|
+
The default colleague voice is wrong here. Overlay this file. Do not
|
|
12
|
+
obey the tired-colleague register in a captioned filing.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Register
|
|
17
|
+
|
|
18
|
+
Ceremony is earned. Contractions loosen their grip. Full forms are the
|
|
19
|
+
default, not a leak.
|
|
20
|
+
|
|
21
|
+
Write for a docket clerk, a reviewing attorney, an ALJ, or a comment-
|
|
22
|
+
period staffer. The read-aloud test is whether they recognize a filing,
|
|
23
|
+
not whether you would say it to a peer at the end of a long day.
|
|
24
|
+
|
|
25
|
+
Pronouns are a project decision. Typical: the named organization,
|
|
26
|
+
"the commenter," or institutional we. An individual comment may use I
|
|
27
|
+
when the overlay says the filer is speaking as themselves. Do not let
|
|
28
|
+
an agent default to colleague I, or to landing-page we, without that
|
|
29
|
+
choice.
|
|
30
|
+
|
|
31
|
+
Hard bans still hold. Escalation, honest-framing, and insight theater
|
|
32
|
+
do not become allowed because the letterhead is formal. Earn the word
|
|
33
|
+
still applies: "transformative" needs from-what-into-what even at OMB.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Ceremony that earns its place
|
|
38
|
+
|
|
39
|
+
Leave these when the form or the forum requires them:
|
|
40
|
+
|
|
41
|
+
- Captions, docket numbers, agency names, comment deadlines
|
|
42
|
+
- Recitals of authority and standing
|
|
43
|
+
- Defined terms, used consistently
|
|
44
|
+
- Pin cites, record cites, statutory and regulatory citations
|
|
45
|
+
- "Respectfully submitted," signature blocks, certificates of service
|
|
46
|
+
|
|
47
|
+
Do not spray those into a blog post. Do not strip them from a filing
|
|
48
|
+
to make it sound like core's default.
|
|
49
|
+
|
|
50
|
+
Numbered headings (`I.`, `II.`, `Comment 1`) are the genre. They are
|
|
51
|
+
not riddle labels and not signpost smell.
|
|
52
|
+
|
|
53
|
+
Repeating a defined term is not hand-holding. Parallel numbered
|
|
54
|
+
comments are not triad packing.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Ceremony that does not
|
|
59
|
+
|
|
60
|
+
- Empty deference stacks ("we respectfully submit that we respectfully
|
|
61
|
+
request")
|
|
62
|
+
- Throat-clearing that is not a required recital
|
|
63
|
+
- "Hereby," "aforementioned," "herein" added as furniture. If the form
|
|
64
|
+
uses them, leave them. Do not import them for the smell of formality.
|
|
65
|
+
- Launch energy: "excited to comment," "pleased to share our views"
|
|
66
|
+
- Colleague contractions in the caption, the summary of request, or
|
|
67
|
+
the prayer for relief
|
|
68
|
+
- Mic-drop closers and punchy hooks. Close on the request.
|
|
69
|
+
- An essay scene injected so the letter "has a person in it." A
|
|
70
|
+
first-hand harm belongs when the commenter is that person and the
|
|
71
|
+
overlay says so. Do not invent one to satisfy essay law.
|
|
72
|
+
- A landing pain list. This is not a product page.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Claims
|
|
77
|
+
|
|
78
|
+
This genre lives on citations. Run [`claims.md`](./claims.md) when the
|
|
79
|
+
letter asserts facts, effects, costs, or what the record shows.
|
|
80
|
+
|
|
81
|
+
A clean-smelling wrong filing is still wrong. Do not cologne a missing
|
|
82
|
+
cite.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Audit extras for this genre
|
|
87
|
+
|
|
88
|
+
On top of `core.md` and `audit.md`:
|
|
89
|
+
|
|
90
|
+
- Colleague-voice leak in a captioned draft
|
|
91
|
+
- Missing request: the letter never says what the agency should do
|
|
92
|
+
- A claim that needs a cite and has none
|
|
93
|
+
- Ceremony stripped that the form requires, or ceremony added that
|
|
94
|
+
the form does not
|
|
95
|
+
- Essay anecdote or landing structure where the forum did not ask
|
|
96
|
+
for either
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Acceptance criteria
|
|
101
|
+
|
|
102
|
+
1. Overlay named the speaker (organization, commenter, or I).
|
|
103
|
+
2. Full forms default; contractions rare, and never in the caption or
|
|
104
|
+
the request.
|
|
105
|
+
3. Required caption / docket / authority / signature elements present
|
|
106
|
+
when the forum uses them.
|
|
107
|
+
4. Closes on the request, not a zinger.
|
|
108
|
+
5. Claims that need cites have them, or `claims.md` already flagged
|
|
109
|
+
the gaps.
|
|
110
|
+
6. No essay scene and no landing pain list unless the overlay asked
|
|
111
|
+
for a first-hand comment.
|
|
112
|
+
7. Hard bans still hold.
|
package/rules/claims.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Claims + voice review prompt
|
|
2
2
|
|
|
3
3
|
Reusable prompt for a hard review of any essay, landing page,
|
|
4
|
-
announcement, or internal doc. It answers two questions at once:
|
|
4
|
+
announcement, filing, paper, or internal doc. It answers two questions at once:
|
|
5
5
|
|
|
6
6
|
1. **Does what we're claiming hold up?** (truth, scope, evidence,
|
|
7
7
|
overclaim)
|
package/rules/core.md
CHANGED
|
@@ -7,9 +7,11 @@ Written **aiBreze**. npm **`aibreze`**. A spray, not a breeze.
|
|
|
7
7
|
|
|
8
8
|
This file is the shared core. Genre files add surface-specific rules.
|
|
9
9
|
They are additive: point here, then write only what that surface adds.
|
|
10
|
-
Do not copy the hard bans
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
Do not copy the hard bans or cadence budgets into each genre file.
|
|
11
|
+
Register stays in core as the default; a genre file may shift it by
|
|
12
|
+
name (`civic.md`, `academic.md`). Projects add a short overlay for dialect carve-outs
|
|
13
|
+
and pronoun policy. Do not copy this file into each repo and then
|
|
14
|
+
diverge.
|
|
13
15
|
|
|
14
16
|
Judge the sentence, not the byline. Human prose in this register gets
|
|
15
17
|
sprayed too. Distinctive dialect and verbatim testimony still stand.
|
|
@@ -21,7 +23,8 @@ Protected maxims (do not rewrite into a cleverer synonym):
|
|
|
21
23
|
|
|
22
24
|
**Also in this package:** `audit.md` (smell), `claims.md` (substance then
|
|
23
25
|
voice), `essays.md`, `landing.md`, `outreach.md`, `launch.md`,
|
|
24
|
-
`
|
|
26
|
+
`civic.md`, `academic.md`. The pocket card `cursor.mdc` ships in `rules/`
|
|
27
|
+
on npm and on this host. It is not in the skill ZIP.
|
|
25
28
|
|
|
26
29
|
The name is a household joke. People who live with a smell stop noticing
|
|
27
30
|
it. Generated prose does the same trick: the tics fade into the furniture
|
|
@@ -46,6 +49,18 @@ second. Concrete over abstract. Em dashes earn their place, like everything
|
|
|
46
49
|
else, and most don't. A comma, period, or colon usually does the job with
|
|
47
50
|
less drama.
|
|
48
51
|
|
|
52
|
+
This is the **default** for essays, product pages, and internal docs. It
|
|
53
|
+
is not the only register. Genre files shift it. Civic and institutional
|
|
54
|
+
writing ([`civic.md`](./civic.md)) earns ceremony and loosens
|
|
55
|
+
contractions. Scholarly papers ([`academic.md`](./academic.md)) keep
|
|
56
|
+
the colleague close and add precision; they do not put on the academic
|
|
57
|
+
costume. Overlay the file for the room. Do not force the default into
|
|
58
|
+
a filing, and do not "elevate" a paper into Moreover / Thus.
|
|
59
|
+
|
|
60
|
+
The target is the absence of theater, not a personality. Clean is a
|
|
61
|
+
floor. If every surface sounded like the same colleague, that would be
|
|
62
|
+
a new smell. Overlay the register for the room you are in.
|
|
63
|
+
|
|
49
64
|
Pronouns are a project decision (I / we / you). Pick one per surface and
|
|
50
65
|
hold it. Do not let an agent default to corporate "we" on a personal essay,
|
|
51
66
|
or to "I" on a two-person product page, without an overlay that says so.
|
|
@@ -112,6 +127,7 @@ Ban openers like:
|
|
|
112
127
|
- "Here is the honest take…"
|
|
113
128
|
- "I want to be honest with you…"
|
|
114
129
|
- "Let me be direct with you…"
|
|
130
|
+
- "Look," / "Let's be clear," / "Let's be honest," / "Here's the thing"
|
|
115
131
|
|
|
116
132
|
Just say the thing. (Saying "the right word is obligation" is fine;
|
|
117
133
|
announcing honesty is not.)
|
|
@@ -149,16 +165,29 @@ A single plain use can stay. Flag stacks and repetition.
|
|
|
149
165
|
Avoid: "and that's on me," "that mistake was genuinely mine,"
|
|
150
166
|
laugh-crying theater. Brief correction is enough.
|
|
151
167
|
|
|
152
|
-
### 8. Suspense /
|
|
168
|
+
### 8. Suspense / cataphoric teasers
|
|
169
|
+
|
|
170
|
+
Do not withhold the answer while building drama. Do not promise a
|
|
171
|
+
later payoff instead of saying the thing.
|
|
153
172
|
|
|
154
|
-
|
|
173
|
+
Ban forward-pointing setups: "Here's the part that nobody tells you…",
|
|
174
|
+
"Here's what most people get wrong…", "Here's where it gets interesting.",
|
|
175
|
+
"Here's the best part:", "The part most people sleep on…". Claude-flavored
|
|
176
|
+
cousins: "a caveat worth leading with", "one thing I'll name rather than
|
|
177
|
+
route around:", "worth knowing too:", "now the skepticism part."
|
|
178
|
+
Clickbait cousins: "You won't believe what happened next."
|
|
179
|
+
|
|
180
|
+
Answer first. The name is descriptive (a teaser that points forward).
|
|
181
|
+
The tell is the promise, not the grammar.
|
|
155
182
|
|
|
156
183
|
### Also still banned
|
|
157
184
|
|
|
158
185
|
- Alliterative triads and stacked-negation chants, except protected
|
|
159
186
|
maxims the overlay names, or **one concrete chant a genre file
|
|
160
187
|
explicitly allows** (landing). **Prefix-repetition triads count**
|
|
161
|
-
("unfindable, unindexed, unreadable")
|
|
188
|
+
("unfindable, unindexed, unreadable"). So does **Not X. Not Y. But
|
|
189
|
+
Z.** ("Not for fame. Not for glory. You posted this just because…"):
|
|
190
|
+
same chant, different clothes.
|
|
162
191
|
- Universality claims ("this applies to every domain") without evidence.
|
|
163
192
|
That is a claims problem; do not only cologne it.
|
|
164
193
|
- Setup sentences whose only job is to announce the next sentence
|
|
@@ -181,9 +210,9 @@ not single instances.
|
|
|
181
210
|
- **Mic-drop closers.** Short zinger fragments ending a section ("That
|
|
182
211
|
was the job."). Effective in small doses; not every section may end
|
|
183
212
|
on one.
|
|
184
|
-
- **Intensifier repetition.** "actually," "whole," "real," "very"
|
|
185
|
-
recurring as filler. Keep only where the word marks
|
|
186
|
-
cut the padding uses.
|
|
213
|
+
- **Intensifier repetition.** "actually," "whole," "real," "very,"
|
|
214
|
+
"really," "truly" recurring as filler. Keep only where the word marks
|
|
215
|
+
a true contrast; cut the padding uses.
|
|
187
216
|
- **Em-dash furniture.** Clause-then-punchline, a dash in every heading,
|
|
188
217
|
or stacks. One earned dash is not a finding. Density plus other tells
|
|
189
218
|
is. Do not treat the mark as an AI tell to erase.
|
|
@@ -220,6 +249,13 @@ not single instances.
|
|
|
220
249
|
repeat: "This is meant to live on a desktop you already leave on."
|
|
221
250
|
Related to riddle labels, but at sentence level. Rewrite until a smart
|
|
222
251
|
friend can say it back.
|
|
252
|
+
- **Participial afterthoughts.** A present participle bolted on after
|
|
253
|
+
a comma for atmosphere: "…, looking out the window", "…, underscoring
|
|
254
|
+
the need." One earned modifier is fine. A piece that keeps attaching
|
|
255
|
+
a -ing clause to land the emotion is a template.
|
|
256
|
+
- **Topic-sentence pinning.** Every paragraph opens with a neat label
|
|
257
|
+
of what it will say, then says it. One clear lead is not a finding.
|
|
258
|
+
A whole page of outline-then-body paragraphs is.
|
|
223
259
|
|
|
224
260
|
---
|
|
225
261
|
|
|
@@ -228,13 +264,14 @@ not single instances.
|
|
|
228
264
|
| Mode | Extra watch |
|
|
229
265
|
| --- | --- |
|
|
230
266
|
| **Agent chat** | Honest framing, validation theater, suspense, dramatic apology, genuinely-stack, helper theater |
|
|
231
|
-
| **Drafts / posts / pages** | Escalation formula, insight-labeling without evidence, setup sentences, riddle labels, cozy machinery, operator notes in the brochure, hand-holding, unparseable sentences, em-dash furniture, triad packing |
|
|
267
|
+
| **Drafts / posts / pages** | Escalation formula, insight-labeling without evidence, setup sentences, cataphoric teasers, riddle labels, cozy machinery, operator notes in the brochure, hand-holding, unparseable sentences, em-dash furniture, triad packing, participial afterthoughts |
|
|
232
268
|
|
|
233
269
|
The table is extra watch, not a partition. Chat theater infects drafts.
|
|
234
270
|
Publish tells show up in chat.
|
|
235
271
|
|
|
236
272
|
Helper theater (any model): "Great question!", "I'd be happy to", empty
|
|
237
|
-
"Absolutely!", "It's important to note."
|
|
273
|
+
"Absolutely!", "It's important to note." Performed enthusiasm
|
|
274
|
+
("This is huge!", "Love this.") is the same family. Just do the work.
|
|
238
275
|
|
|
239
276
|
Socratic beats and real questions aimed at a reader are method, not
|
|
240
277
|
"transition question" smell. "So what does this mean for you?" as a
|
|
@@ -267,6 +304,11 @@ the loop is theater.")
|
|
|
267
304
|
Bad: "The idea worth keeping:"
|
|
268
305
|
Good: Just state the idea.
|
|
269
306
|
|
|
307
|
+
**Cataphoric teaser**
|
|
308
|
+
Bad: "Here's the part that nobody tells you: the archive was too
|
|
309
|
+
scattered to hand off."
|
|
310
|
+
Good: "The archive was too scattered to hand off."
|
|
311
|
+
|
|
270
312
|
**Em dash furniture**
|
|
271
313
|
Bad: "Brain — the model plus the loop."
|
|
272
314
|
Good: "Brain: the model plus the loop."
|
|
@@ -311,7 +353,8 @@ Good: "Run it on a computer you leave turned on."
|
|
|
311
353
|
|
|
312
354
|
Keep a short file in the consuming project. It should contain:
|
|
313
355
|
|
|
314
|
-
- Pronoun policy per surface (essay I, landing we, outreach I,
|
|
356
|
+
- Pronoun policy per surface (essay I, landing we, outreach I, civic
|
|
357
|
+
as the overlay names the filer, academic as the venue uses we or I, …)
|
|
315
358
|
- Terms that pass the applicability heuristic here, with one-line why
|
|
316
359
|
- Protected maxims / testimony the agent must not "de-smell"
|
|
317
360
|
(this package: Earn the word. Spray the prose, not the author.)
|
|
@@ -319,5 +362,5 @@ Keep a short file in the consuming project. It should contain:
|
|
|
319
362
|
|
|
320
363
|
Do not restate the hard bans. Point at this package. Genre files in
|
|
321
364
|
this package follow the same rule. They may grant a named exception
|
|
322
|
-
(one concrete landing chant; talks may signpost
|
|
323
|
-
rewrite a ban.
|
|
365
|
+
(one concrete landing chant; talks may signpost; civic and academic
|
|
366
|
+
may shift register). They may not silently rewrite a ban.
|