@assuredloop/orca-bot-kit 0.1.0 → 0.3.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.
Files changed (90) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +548 -3
  3. package/SETUP.md +275 -0
  4. package/package.json +32 -13
  5. package/rules/evidence.md +15 -0
  6. package/rules/finishing.md +23 -0
  7. package/rules/limits.md +18 -0
  8. package/rules/mail.md +17 -0
  9. package/rules/profiles.md +9 -0
  10. package/rules/review.md +14 -0
  11. package/rules/scope.md +22 -0
  12. package/rules/simple.md +14 -0
  13. package/rules/talk.md +13 -0
  14. package/rules/tests-first.md +17 -0
  15. package/rules/the-ask.md +19 -0
  16. package/skills/obk-arch/LICENSES.md +52 -0
  17. package/skills/obk-arch/NOTICE.md +242 -0
  18. package/skills/obk-arch/SKILL.md +598 -0
  19. package/skills/obk-bot-building/LICENSES.md +21 -0
  20. package/skills/obk-bot-building/NOTICE.md +113 -0
  21. package/skills/obk-bot-building/SKILL.md +312 -0
  22. package/skills/obk-debugging/LICENSES.md +67 -0
  23. package/skills/obk-debugging/NOTICE.md +115 -0
  24. package/skills/obk-debugging/SKILL.md +434 -0
  25. package/skills/obk-decision-memo/LICENSES.md +49 -0
  26. package/skills/obk-decision-memo/NOTICE.md +181 -0
  27. package/skills/obk-decision-memo/SKILL.md +241 -0
  28. package/skills/obk-finops/LICENSES.md +19 -0
  29. package/skills/obk-finops/NOTICE.md +77 -0
  30. package/skills/obk-finops/SKILL.md +148 -0
  31. package/skills/obk-fleet-review/LICENSES.md +52 -0
  32. package/skills/obk-fleet-review/NOTICE.md +104 -0
  33. package/skills/obk-fleet-review/SKILL.md +256 -0
  34. package/skills/obk-grilling/LICENSES.md +42 -0
  35. package/skills/obk-grilling/NOTICE.md +111 -0
  36. package/skills/obk-grilling/SKILL.md +221 -0
  37. package/skills/obk-grooming/LICENSES.md +52 -0
  38. package/skills/obk-grooming/NOTICE.md +111 -0
  39. package/skills/obk-grooming/SKILL.md +222 -0
  40. package/skills/obk-handoff/LICENSES.md +45 -0
  41. package/skills/obk-handoff/NOTICE.md +51 -0
  42. package/skills/obk-handoff/SKILL.md +119 -0
  43. package/skills/obk-personal-facilitation/LICENSES.md +53 -0
  44. package/skills/obk-personal-facilitation/NOTICE.md +62 -0
  45. package/skills/obk-personal-facilitation/SKILL.md +86 -0
  46. package/skills/obk-recall/LICENSES.md +42 -0
  47. package/skills/obk-recall/NOTICE.md +53 -0
  48. package/skills/obk-recall/SKILL.md +129 -0
  49. package/skills/obk-researching/LICENSES.md +67 -0
  50. package/skills/obk-researching/NOTICE.md +170 -0
  51. package/skills/obk-researching/SKILL.md +269 -0
  52. package/skills/obk-reviewing/LICENSES.md +66 -0
  53. package/skills/obk-reviewing/NOTICE.md +58 -0
  54. package/skills/obk-reviewing/SKILL.md +411 -0
  55. package/skills/obk-tdd/LICENSES.md +68 -0
  56. package/skills/obk-tdd/NOTICE.md +54 -0
  57. package/skills/obk-tdd/SKILL.md +547 -0
  58. package/skills/obk-tdd/mutation-tools.md +80 -0
  59. package/skills/obk-teach/LICENSES.md +42 -0
  60. package/skills/obk-teach/NOTICE.md +65 -0
  61. package/skills/obk-teach/SKILL.md +106 -0
  62. package/skills/obk-why/LICENSES.md +42 -0
  63. package/skills/obk-why/NOTICE.md +74 -0
  64. package/skills/obk-why/SKILL.md +180 -0
  65. package/skills/obk-writing/LICENSES.md +272 -0
  66. package/skills/obk-writing/NOTICE.md +161 -0
  67. package/skills/obk-writing/SKILL.md +254 -0
  68. package/src/book.js +268 -0
  69. package/src/bot.js +451 -0
  70. package/src/cli.js +1169 -0
  71. package/src/conversations.js +150 -0
  72. package/src/groom.js +159 -0
  73. package/src/health.js +309 -0
  74. package/src/hooks.js +257 -0
  75. package/src/init.js +314 -0
  76. package/src/launch.js +299 -0
  77. package/src/message.js +402 -0
  78. package/src/orca.js +362 -0
  79. package/src/pause.js +63 -0
  80. package/src/record.js +209 -0
  81. package/src/restart.js +193 -0
  82. package/src/retire.js +92 -0
  83. package/src/roster.js +71 -0
  84. package/src/rules.js +408 -0
  85. package/src/skills.js +630 -0
  86. package/src/sources.js +371 -0
  87. package/src/up.js +500 -0
  88. package/src/usage.js +401 -0
  89. package/bin/okb.js +0 -4
  90. package/src/index.js +0 -11
@@ -0,0 +1,272 @@
1
+ <!-- The licences of the sources this skill was consolidated from. They travel
2
+ with the skill directory because the licences require it of anyone who
3
+ distributes the material. NOTICE.md says what was taken from each source;
4
+ this file carries the permission notices themselves. -->
5
+
6
+ # Licences of the sources
7
+
8
+ `obk-writing` consolidates material from the sources named in
9
+ [NOTICE.md](NOTICE.md). Their licences are reproduced below in full.
10
+
11
+ ## MIT
12
+
13
+ The MIT permission notice below applies to the work of each of these copyright
14
+ holders, and each notice is reproduced with it:
15
+
16
+ - **Cursor `plugins`, the pstack plugin**, Copyright (c) 2026 Lauren Tan
17
+ (`cursor_plugins/pstack/LICENSE`)
18
+ - **`citypaul/.dotfiles`, the technical-writing skill, whose nested licence
19
+ governs its directory over the repository root's**, Copyright (c) 2025 Adam Bulmer
20
+ (`citypaul_.dotfiles/claude/.claude/skills/technical-writing/LICENSE`)
21
+ - **`citypaul/.dotfiles`, for the double-check skill, under the repository
22
+ root**, Copyright (c) 2024 Paul Hammond
23
+ (`citypaul_.dotfiles/LICENSE`)
24
+ - **`addyosmani/agent-skills`**, Copyright (c) 2025 Addy Osmani
25
+ (`addyosmani_agent-skills/LICENSE`)
26
+ - **`mattpocock/skills`**, Copyright (c) 2026 Matt Pocock
27
+ (`mattpocock_skills/LICENSE`)
28
+ - **`garrytan/gstack`**, Copyright (c) 2026 Garry Tan
29
+ (`garrytan_gstack/LICENSE`)
30
+
31
+ Each licence file was read at the path given above.
32
+
33
+ ```
34
+ MIT License
35
+
36
+ Copyright (c) 2026 Lauren Tan
37
+ Copyright (c) 2025 Adam Bulmer
38
+ Copyright (c) 2024 Paul Hammond
39
+ Copyright (c) 2025 Addy Osmani
40
+ Copyright (c) 2026 Matt Pocock
41
+ Copyright (c) 2026 Garry Tan
42
+
43
+ Permission is hereby granted, free of charge, to any person obtaining a copy
44
+ of this software and associated documentation files (the "Software"), to deal
45
+ in the Software without restriction, including without limitation the rights
46
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
47
+ copies of the Software, and to permit persons to whom the Software is
48
+ furnished to do so, subject to the following conditions:
49
+
50
+ The above copyright notice and this permission notice shall be included in all
51
+ copies or substantial portions of the Software.
52
+
53
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
54
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
55
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
56
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
57
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
58
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
59
+ SOFTWARE.
60
+ ```
61
+
62
+ ## Apache License 2.0
63
+
64
+ `anthropics/skills`' `internal-comms` skill is licensed under the Apache
65
+ License, Version 2.0, in its own `LICENSE.txt`, "Copyright 2026 Anthropic,
66
+ PBC." Section 4(a) requires that recipients of the work or of a derivative work
67
+ be given a copy of the licence, so it is reproduced in full below.
68
+
69
+ ```
70
+
71
+ Apache License
72
+ Version 2.0, January 2004
73
+ http://www.apache.org/licenses/
74
+
75
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
76
+
77
+ 1. Definitions.
78
+
79
+ "License" shall mean the terms and conditions for use, reproduction,
80
+ and distribution as defined by Sections 1 through 9 of this document.
81
+
82
+ "Licensor" shall mean the copyright owner or entity authorized by
83
+ the copyright owner that is granting the License.
84
+
85
+ "Legal Entity" shall mean the union of the acting entity and all
86
+ other entities that control, are controlled by, or are under common
87
+ control with that entity. For the purposes of this definition,
88
+ "control" means (i) the power, direct or indirect, to cause the
89
+ direction or management of such entity, whether by contract or
90
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
91
+ outstanding shares, or (iii) beneficial ownership of such entity.
92
+
93
+ "You" (or "Your") shall mean an individual or Legal Entity
94
+ exercising permissions granted by this License.
95
+
96
+ "Source" form shall mean the preferred form for making modifications,
97
+ including but not limited to software source code, documentation
98
+ source, and configuration files.
99
+
100
+ "Object" form shall mean any form resulting from mechanical
101
+ transformation or translation of a Source form, including but
102
+ not limited to compiled object code, generated documentation,
103
+ and conversions to other media types.
104
+
105
+ "Work" shall mean the work of authorship, whether in Source or
106
+ Object form, made available under the License, as indicated by a
107
+ copyright notice that is included in or attached to the work
108
+ (an example is provided in the Appendix below).
109
+
110
+ "Derivative Works" shall mean any work, whether in Source or Object
111
+ form, that is based on (or derived from) the Work and for which the
112
+ editorial revisions, annotations, elaborations, or other modifications
113
+ represent, as a whole, an original work of authorship. For the purposes
114
+ of this License, Derivative Works shall not include works that remain
115
+ separable from, or merely link (or bind by name) to the interfaces of,
116
+ the Work and Derivative Works thereof.
117
+
118
+ "Contribution" shall mean any work of authorship, including
119
+ the original version of the Work and any modifications or additions
120
+ to that Work or Derivative Works thereof, that is intentionally
121
+ submitted to Licensor for inclusion in the Work by the copyright owner
122
+ or by an individual or Legal Entity authorized to submit on behalf of
123
+ the copyright owner. For the purposes of this definition, "submitted"
124
+ means any form of electronic, verbal, or written communication sent
125
+ to the Licensor or its representatives, including but not limited to
126
+ communication on electronic mailing lists, source code control systems,
127
+ and issue tracking systems that are managed by, or on behalf of, the
128
+ Licensor for the purpose of discussing and improving the Work, but
129
+ excluding communication that is conspicuously marked or otherwise
130
+ designated in writing by the copyright owner as "Not a Contribution."
131
+
132
+ "Contributor" shall mean Licensor and any individual or Legal Entity
133
+ on behalf of whom a Contribution has been received by Licensor and
134
+ subsequently incorporated within the Work.
135
+
136
+ 2. Grant of Copyright License. Subject to the terms and conditions of
137
+ this License, each Contributor hereby grants to You a perpetual,
138
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
139
+ copyright license to reproduce, prepare Derivative Works of,
140
+ publicly display, publicly perform, sublicense, and distribute the
141
+ Work and such Derivative Works in Source or Object form.
142
+
143
+ 3. Grant of Patent License. Subject to the terms and conditions of
144
+ this License, each Contributor hereby grants to You a perpetual,
145
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
146
+ (except as stated in this section) patent license to make, have made,
147
+ use, offer to sell, sell, import, and otherwise transfer the Work,
148
+ where such license applies only to those patent claims licensable
149
+ by such Contributor that are necessarily infringed by their
150
+ Contribution(s) alone or by combination of their Contribution(s)
151
+ with the Work to which such Contribution(s) was submitted. If You
152
+ institute patent litigation against any entity (including a
153
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
154
+ or a Contribution incorporated within the Work constitutes direct
155
+ or contributory patent infringement, then any patent licenses
156
+ granted to You under this License for that Work shall terminate
157
+ as of the date such litigation is filed.
158
+
159
+ 4. Redistribution. You may reproduce and distribute copies of the
160
+ Work or Derivative Works thereof in any medium, with or without
161
+ modifications, and in Source or Object form, provided that You
162
+ meet the following conditions:
163
+
164
+ (a) You must give any other recipients of the Work or
165
+ Derivative Works a copy of this License; and
166
+
167
+ (b) You must cause any modified files to carry prominent notices
168
+ stating that You changed the files; and
169
+
170
+ (c) You must retain, in the Source form of any Derivative Works
171
+ that You distribute, all copyright, patent, trademark, and
172
+ attribution notices from the Source form of the Work,
173
+ excluding those notices that do not pertain to any part of
174
+ the Derivative Works; and
175
+
176
+ (d) If the Work includes a "NOTICE" text file as part of its
177
+ distribution, then any Derivative Works that You distribute must
178
+ include a readable copy of the attribution notices contained
179
+ within such NOTICE file, excluding those notices that do not
180
+ pertain to any part of the Derivative Works, in at least one
181
+ of the following places: within a NOTICE text file distributed
182
+ as part of the Derivative Works; within the Source form or
183
+ documentation, if provided along with the Derivative Works; or,
184
+ within a display generated by the Derivative Works, if and
185
+ wherever such third-party notices normally appear. The contents
186
+ of the NOTICE file are for informational purposes only and
187
+ do not modify the License. You may add Your own attribution
188
+ notices within Derivative Works that You distribute, alongside
189
+ or as an addendum to the NOTICE text from the Work, provided
190
+ that such additional attribution notices cannot be construed
191
+ as modifying the License.
192
+
193
+ You may add Your own copyright statement to Your modifications and
194
+ may provide additional or different license terms and conditions
195
+ for use, reproduction, or distribution of Your modifications, or
196
+ for any such Derivative Works as a whole, provided Your use,
197
+ reproduction, and distribution of the Work otherwise complies with
198
+ the conditions stated in this License.
199
+
200
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
201
+ any Contribution intentionally submitted for inclusion in the Work
202
+ by You to the Licensor shall be under the terms and conditions of
203
+ this License, without any additional terms or conditions.
204
+ Notwithstanding the above, nothing herein shall supersede or modify
205
+ the terms of any separate license agreement you may have executed
206
+ with Licensor regarding such Contributions.
207
+
208
+ 6. Trademarks. This License does not grant permission to use the trade
209
+ names, trademarks, service marks, or product names of the Licensor,
210
+ except as required for reasonable and customary use in describing the
211
+ origin of the Work and reproducing the content of the NOTICE file.
212
+
213
+ 7. Disclaimer of Warranty. Unless required by applicable law or
214
+ agreed to in writing, Licensor provides the Work (and each
215
+ Contributor provides its Contributions) on an "AS IS" BASIS,
216
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
217
+ implied, including, without limitation, any warranties or conditions
218
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
219
+ PARTICULAR PURPOSE. You are solely responsible for determining the
220
+ appropriateness of using or redistributing the Work and assume any
221
+ risks associated with Your exercise of permissions under this License.
222
+
223
+ 8. Limitation of Liability. In no event and under no legal theory,
224
+ whether in tort (including negligence), contract, or otherwise,
225
+ unless required by applicable law (such as deliberate and grossly
226
+ negligent acts) or agreed to in writing, shall any Contributor be
227
+ liable to You for damages, including any direct, indirect, special,
228
+ incidental, or consequential damages of any character arising as a
229
+ result of this License or out of the use or inability to use the
230
+ Work (including but not limited to damages for loss of goodwill,
231
+ work stoppage, computer failure or malfunction, or any and all
232
+ other commercial damages or losses), even if such Contributor
233
+ has been advised of the possibility of such damages.
234
+
235
+ 9. Accepting Warranty or Additional Liability. While redistributing
236
+ the Work or Derivative Works thereof, You may choose to offer,
237
+ and charge a fee for, acceptance of support, warranty, indemnity,
238
+ or other liability obligations and/or rights consistent with this
239
+ License. However, in accepting such obligations, You may act only
240
+ on Your own behalf and on Your sole responsibility, not on behalf
241
+ of any other Contributor, and only if You agree to indemnify,
242
+ defend, and hold each Contributor harmless for any liability
243
+ incurred by, or claims asserted against, such Contributor by reason
244
+ of your accepting any such warranty or additional liability.
245
+
246
+ END OF TERMS AND CONDITIONS
247
+
248
+ APPENDIX: How to apply the Apache License to your work.
249
+
250
+ To apply the Apache License to your work, attach the following
251
+ boilerplate notice, with the fields enclosed by brackets "[]"
252
+ replaced with your own identifying information. (Don't include
253
+ the brackets!) The text should be enclosed in the appropriate
254
+ comment syntax for the file format. We also recommend that a
255
+ file or class name and description of purpose be included on the
256
+ same "printed page" as the copyright notice for easier
257
+ identification within third-party archives.
258
+
259
+ Copyright 2026 Anthropic, PBC.
260
+
261
+ Licensed under the Apache License, Version 2.0 (the "License");
262
+ you may not use this file except in compliance with the License.
263
+ You may obtain a copy of the License at
264
+
265
+ http://www.apache.org/licenses/LICENSE-2.0
266
+
267
+ Unless required by applicable law or agreed to in writing, software
268
+ distributed under the License is distributed on an "AS IS" BASIS,
269
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
270
+ See the License for the specific language governing permissions and
271
+ limitations under the License.
272
+ ```
@@ -0,0 +1,161 @@
1
+ <!-- Attribution for the sources this skill was built from. Kept out of
2
+ SKILL.md so it is not read into context on every use; it travels with
3
+ the skill directory, which is what the licences require. -->
4
+
5
+ # Sources and licences
6
+
7
+ The permission notices these licences require are in
8
+ [LICENSES.md](LICENSES.md), beside this file.
9
+
10
+ The skill `obk-writing` was consolidated for this kit from these, with thanks.
11
+ Each licence below was read from the file named beside it.
12
+
13
+ - **Cursor `plugins`, `pstack/skills/technical-writing`**: MIT,
14
+ `cursor_plugins/pstack/LICENSE`, "Copyright (c) 2026 Lauren Tan". The
15
+ sentence-level core of this skill. Its three rules above the layers: cut
16
+ every word that does no work, use the short everyday word, and when a rule
17
+ makes a sentence worse fix it another way or leave it alone, because a
18
+ sentence that follows every rule and sounds machine-written has failed. Its
19
+ four layers, generalised here from documentation to writing in general:
20
+ choosing what kind of piece this is and not mixing kinds in one piece;
21
+ addressing the reader directly, saying who does what,
22
+ writing instructions as instructions with the condition in front, common case
23
+ before exceptions; loading one instruction or one thought per sentence and
24
+ splitting the one that carries two; and leaving no sentence open to two
25
+ readings, which brings "only" beside the word it changes, every "it" pointing
26
+ at one thing, broken-up noun stacks, the small words that make a sentence
27
+ parse one way, saying which parts an "and" joins, preferring a full stop, and
28
+ skipping idioms and metaphors for the sake of whoever reads in a second
29
+ language. Also its rhythm section, that a piece can obey every rule and still
30
+ read machine-written when every sentence is clipped to the same length; its
31
+ heading rule, that a heading carries the point rather than the topic; its
32
+ list rules; and the instruction to call each thing by one name everywhere.
33
+ - **Cursor `plugins`, `pstack/skills/unslop`**: same licence. Two of its rules
34
+ are load-bearing here. Say what it does rather than how it feels, with its
35
+ test: ask what the sentence tells the reader to do or know, restate it as a
36
+ fact, a number or an instruction, and cut it if you cannot; and if the
37
+ sentence could appear unchanged in something about a different subject, it
38
+ says nothing about this one. And name the source or delete, against "experts
39
+ believe" and "studies show". Its active-voice, adverb and synonym-cycling
40
+ rules are here too, and its over-compression rule is why this skill says to
41
+ shorten by cutting rather than by squeezing prose into shorthand. Its
42
+ catalogue of banned words is deliberately not carried: the research pack
43
+ records that a ban-list pulls the banned thing into context, so the rules
44
+ named above are kept in their positive form, not every rule in the catalogue,
45
+ and the word list is left where it is, as something to review against rather
46
+ than to load.
47
+ - **`citypaul/.dotfiles`, `claude/.claude/skills/technical-writing`**: MIT,
48
+ that skill's own nested `LICENSE`, "Copyright (c) 2025 Adam Bulmer", which
49
+ governs its directory rather than the repository root's MIT licence in
50
+ Paul Hammond's name. This is the page-level and claim-level half. Reader
51
+ first, leading with the payoff and organising around the reader's next action
52
+ rather than the system's internal structure. Scannable, with headings that
53
+ summarise a section's payoff. Selective rather than compressed: the way to
54
+ keep something short is to cut what does not change the reader's next step.
55
+ Its material-claims rule, which is where this skill's fact-checking comes
56
+ from: no capability claim without something a reader can check, counts and
57
+ versions rot so date them or generate them, honest limits are content rather
58
+ than confession and belong where the reader makes the decision, an empty
59
+ state must not read like success, and a document that describes a system is a
60
+ claim about that system, so verify against the source rather than memory and
61
+ update the description in the same change. Its exact-strings rule, since
62
+ people copy what you wrote. Its document shapes, including the proposal that
63
+ leads with the decision requested. And from `resources/formatting.md`, bold
64
+ for the one phrase a skimmer must not miss, and a numbered list claiming that
65
+ order matters.
66
+ - **`mattpocock/skills`, `skills/in-progress/writing-shape`**: MIT,
67
+ `mattpocock_skills/LICENSE`, "Copyright (c) 2026 Matt Pocock". The grounding
68
+ idea, which nothing else in the sources has: every concept a block leans on
69
+ was either something the reader walked in with or something an earlier block
70
+ introduced, the unit is the concept rather than the word for it, and the
71
+ lever is what you make a prerequisite against what you ground inside the
72
+ piece, since demanding too much shuts readers out and grounding too much
73
+ drowns the opening. Its format arguments are also taken: prose carries an
74
+ argument and lists carry parallel items, a table where the same shape repeats
75
+ three times or more, and quoting where the original wording is the point.
76
+ - **`anthropics/skills`, `skills/internal-comms`**: Apache 2.0, that skill's
77
+ own `LICENSE.txt`, "Copyright 2026 Anthropic, PBC." The only source here that
78
+ is explicitly about audience, platform and register for non-engineering
79
+ writing. Its opening protocol is this skill's first section: ask about the
80
+ audience, understand the purpose, clarify the tone, confirm the format, then
81
+ be clear and concise, use active voice and put the most important information
82
+ first. Its update format contributes the point that the place a piece will be
83
+ read is a constraint on the writing rather than a detail: something meant to
84
+ be read in under a minute by people with some but not much context is a
85
+ different piece from the same facts written to be landed on.
86
+ - **`garrytan/gstack`, `document-generate/SKILL.md`**: MIT,
87
+ `garrytan_gstack/LICENSE`, "Copyright (c) 2026 Garry Tan". Its voice section:
88
+ lead with the point, be concrete, name the real thing and the real number.
89
+ Its rule to gloss a piece of jargon on first use even where the user
90
+ introduced the term.
91
+ - **`addyosmani/agent-skills`, `skills/doubt-driven-development`** and
92
+ **`citypaul/.dotfiles`, `claude/.claude/skills/double-check`**: MIT,
93
+ `addyosmani_agent-skills/LICENSE` ("Copyright (c) 2025 Addy Osmani") and
94
+ `citypaul_.dotfiles/LICENSE` ("Copyright (c) 2024 Paul Hammond"). The reader
95
+ test at the end comes from these two rather than from any writing skill: when
96
+ it is not worth doing; hand over the artifact without your reasoning, because
97
+ handing over your conclusion gets you agreement with your conclusion; start
98
+ the reader cold; ask them to find what is wrong; read what comes back rather
99
+ than deferring, since a fresh reader can be wrong for want of context; and
100
+ stop when a pass finds only small or known things, bounded at about three
101
+ passes, with a piece still failing then reported as not ready.
102
+
103
+ **Left out on a licence.** `anthropics/skills`' `doc-coauthoring` has the best
104
+ statement of reader testing in the corpus, but its directory holds no licence
105
+ file and `anthropics/skills` has none at its root, so nothing is taken from it.
106
+ An earlier version of this skill had nevertheless followed its three reader
107
+ questions and its closing review item for item; the re-validation (#155)
108
+ rebuilt the reader test from the two MIT sources above instead, and dropped
109
+ those parts.
110
+
111
+ Also left out on purpose: the specific documentation framework the pstack
112
+ skill and the citypaul skill both build on, named and cited in both. Its four
113
+ kinds of document are useful and are carried here in ordinary words, with a
114
+ fifth for a piece written to be decided on, but the kit does not adopt a named
115
+ framework or its file layout, because PRD 7.1 leaves the user free in how they
116
+ keep documents. The reference lists, style-linting tooling and README-specific
117
+ material in the citypaul resources are also out: they are for a documentation
118
+ site rather than for writing in general.
119
+
120
+ PRD 7.1 decides what this skill is for, and the owner agreed to it in those
121
+ words on 2026-09-20 at 19:45:42: "Write for an audience, a platform and a tone,
122
+ and check the key facts", following the same rules as the other skills,
123
+ "techniques only, no process, deeply written".
124
+
125
+ One note on this skill's own prose. It carries the rule that a sentence
126
+ carrying a second clause on a dash is usually two sentences, so it is written
127
+ without em dashes throughout. A skill that broke its own punctuation rule in
128
+ its own text would be teaching by counter-example, which happened once already
129
+ in this kit and was caught in review.
130
+
131
+ ## What an acceptance run changed
132
+
133
+ The skill was run by a bot that had not seen it written, on a real piece of
134
+ internal communication: a change of expenses system for two hundred mostly
135
+ non-technical staff, many part-time, plus a second version for team leads.
136
+ Seven things in it come from what that found.
137
+
138
+ - One heading was actively steering the writing wrong. "Say what it does, not
139
+ how it feels" is about empty sentences, but it reads as a rule against
140
+ addressing how a reader feels, and it pushed the run away from the brief's
141
+ sharpest constraint. The heading now says what the section is about, and the
142
+ section says that naming what a reader feels is a fact about them.
143
+ - Nothing covered the facts a writer does not have and must not invent. Marking
144
+ the hole where it belongs and collecting the questions is now in the skill,
145
+ along with the point that a piece with its holes marked is a legitimate thing
146
+ to hand back.
147
+ - Checking assumed the writer could reach the thing being described. Where the
148
+ only source is the person who asked, that is now said, with what can still be
149
+ checked: the dates, the arithmetic, and whether the piece contradicts itself.
150
+ - The fresh-reader test had no stopping rule that terminates while facts are
151
+ still missing, and did not say who counts as a fresh reader.
152
+ - Nothing covered two versions of one thing for two audiences, or the
153
+ asymmetry between them, which is where that run found its sharpest problem.
154
+ - "Keep the small words" and "keep it short" were in tension with nothing
155
+ saying which wins.
156
+ - Ordering by importance put three dates on the page out of sequence. A piece
157
+ that turns on dates or steps needs both orders.
158
+
159
+ The part of the skill that run rated highest was the fresh-reader test, which
160
+ found that for a large share of the staff the deadline in the first draft fell
161
+ on a day they do not work.