pi-simple-english 0.6.0 → 0.7.0

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/README.md CHANGED
@@ -1,12 +1,12 @@
1
- # pi-simple-english
1
+ # simple-english for `pi`
2
2
 
3
- Lint prose and code comments with `simple_english`, from inside pi.
3
+ A `pi` package that lints the prose the agent writes.
4
4
 
5
- The package adds two things to pi:
6
-
7
- - the `se_lint` tool, which lints a file or a directory
8
- - the `simple-english-lint` skill, which tells the agent to lint the
9
- prose it writes and fix every finding
5
+ The package ships the `lint-simple-english` skill, the
6
+ `write-simple-english` skill, and the `se_lint` tool. The tool lints
7
+ a file or a directory. The write skill carries the rules, so the
8
+ agent writes clean prose the first time. The lint skill tells the
9
+ agent to lint the prose it writes and fix every finding.
10
10
 
11
11
  ## Prerequisites
12
12
 
@@ -20,6 +20,10 @@ gem install simple_english
20
20
 
21
21
  For yourself, on every project:
22
22
 
23
+ ```bash
24
+ pi install npm:pi-simple-english
25
+ ```
26
+
23
27
  For one project, with the team, install into the project instead. Run
24
28
  the install with `-l` from the project root:
25
29
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-simple-english",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Lint prose and code comments with the simple_english plain-English rules.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: simple-english-lint
2
+ name: lint-simple-english
3
3
  description: Lint prose with simple_english after writing or editing documentation,
4
4
  READMEs, or code comments. Use when the agent writes prose, when asked to lint
5
5
  or simplify text, or when a doc change lands.
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: write-simple-english
3
+ description: Write plain English on the first pass. Use whenever the
4
+ output is prose, such as READMEs, docs, comments, replies, or any
5
+ other text a reader must understand. Use when asked for simple
6
+ English or no jargon.
7
+ metadata:
8
+ inspired-by: ASD-STE100 Simplified Technical English
9
+ ---
10
+
11
+ Write prose (READMEs, docs, comments) for a reader whose task is to
12
+ understand the idea behind the words. They value clarity and
13
+ conciseness. Their attention is limited, and every word competes for
14
+ it. Minimize their cognitive load: common words, short sentences,
15
+ one idea at a time.
16
+
17
+ These rules are a controlled language like ASD-STE100, the aerospace
18
+ standard for maintenance manuals. They bind: a sentence
19
+ outside them is an error, not a style choice.
20
+
21
+ ## How to write
22
+
23
+ ### Mechanics
24
+
25
+ Write the words in full. No contractions, no semicolons, no
26
+ em-dashes. Two short sentences beat one joined pair. Write "A or B,
27
+ or both", not and/or. Write "for example", not e.g., and "that is",
28
+ not i.e. Name the items instead of etc.
29
+
30
+ ### Verbs
31
+
32
+ Use the active voice. Say who does the action. Use simple tenses.
33
+ State a requirement with can, will, or must. Put the condition
34
+ before the command: "If the port is taken, pick another." No -ing
35
+ phrase after a comma. Start a new sentence.
36
+
37
+ ### Keep it short
38
+
39
+ Cut every word that carries no idea. One idea per sentence. One idea
40
+ per paragraph. A sentence carries at most 20 words in instructions,
41
+ 25 in explanations. A paragraph carries at most 6 sentences.
42
+
43
+ ### Protect the code
44
+
45
+ When you rewrite, leave code, identifiers, commands, flags, file
46
+ paths, quoted errors, and product names untouched. The rules govern
47
+ the prose around them.
48
+
49
+ ## Swap slop for short words
50
+
51
+ The lists name the common offenders. When a word does what a heading
52
+ bans, swap it, listed or not.
53
+
54
+ ### Filler
55
+
56
+ - Empty modifiers: just, very, really, extremely, vibrant, nuanced,
57
+ multifaceted
58
+ - Throat-clearing openers: it is worth noting, it is important to, is
59
+ designed to, aims to, in conclusion, in summary, at the end of the
60
+ day
61
+ - Sign-offs and invitations: "I hope this helps", "let's dive in"
62
+
63
+ ### Wordiness
64
+
65
+ - to, not in order to
66
+ - because, not due to the fact that
67
+ - if, not in the event that
68
+ - for, not when it comes to
69
+ - before, not prior to
70
+ - by default, not out of the box
71
+ - state the condition, not "as needed"
72
+
73
+ ### Corporate voice
74
+
75
+ - use, not leverage
76
+ - help, not facilitate
77
+ - help, not foster
78
+ - use, not harness
79
+ - make simpler, not streamline
80
+ - function, not functionality
81
+ - you can, not enables you to
82
+ - corrects, not addresses the issue
83
+ - show, not showcase
84
+ - has, not boasts
85
+ - make sure that, not ensure
86
+ - improve, not enhance
87
+ - increase, not elevate
88
+
89
+ ### Hype
90
+
91
+ - new, not groundbreaking
92
+ - change, not revolutionize
93
+ - say what changes, not transformative
94
+ - complex, not intricate
95
+ - important, not pivotal
96
+ - careful, not meticulous
97
+ - full, not holistic
98
+ - model, not paradigm
99
+ - area, not realm or landscape
100
+ - interaction, not interplay
101
+ - read, not delve into
102
+ - many, not plethora
103
+ - delete tapestry, testament, and synergy
104
+ - internally, not under the hood
105
+
106
+ ### Connectors
107
+
108
+ - also, not furthermore
109
+ - but, not notwithstanding or that being said
110
+ - start, not embark
111
+ - busy, not bustling
112
+ - give the location, not "nestled"
113
+ - say what it does, not "gracefully handles"
114
+
115
+ ## Then lint
116
+
117
+ After the text exists, run the lint-simple-english skill on it. The
118
+ draft is done when the lint result is clean.
119
+
120
+ ## In chat
121
+
122
+ The reply is prose too, and every rule above applies to it. Answer
123
+ in the first sentence, then support it. Headers and bold belong in
124
+ documents. A list only for steps in order, a code block only for
125
+ text the reader must copy. Define a term in a few words at first
126
+ use. The linter checks files, so the reply carries the rules on its
127
+ own.