@erclx/aitk 0.105.0 → 0.107.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 (59) hide show
  1. package/claude/.claude-plugin/plugin.json +1 -1
  2. package/claude/skills/claude-address-review/SKILL.md +4 -3
  3. package/claude/skills/claude-design-extract/SKILL.md +3 -3
  4. package/claude/skills/claude-docs/SKILL.md +1 -1
  5. package/claude/skills/claude-memory-capture/SKILL.md +2 -2
  6. package/claude/skills/claude-pr-review/SKILL.md +1 -1
  7. package/claude/skills/claude-standards-audit/SKILL.md +8 -6
  8. package/claude/skills/create-skill/SKILL.md +2 -2
  9. package/claude/skills/create-snippet/SKILL.md +2 -2
  10. package/claude/skills/create-snippet/references/snippets.md +2 -2
  11. package/claude/skills/create-standard/SKILL.md +2 -2
  12. package/claude/skills/docs-sync/SKILL.md +2 -2
  13. package/claude/skills/git-issue/SKILL.md +2 -2
  14. package/claude/skills/git-issue/references/issue.md +2 -2
  15. package/claude/skills/git-pr/SKILL.md +2 -2
  16. package/claude/skills/git-pr/references/pr.md +2 -2
  17. package/claude/skills/git-split/references/pr.md +2 -2
  18. package/claude/skills/git-stage/SKILL.md +2 -2
  19. package/claude/skills/migration-standards/SKILL.md +1 -1
  20. package/claude/skills/setup-indexes/SKILL.md +1 -1
  21. package/claude/skills/write-human/REQUIREMENT.md +46 -0
  22. package/claude/skills/write-human/SKILL.md +68 -0
  23. package/claude/skills/write-human/references/density.md +38 -0
  24. package/claude/skills/write-human/references/machine-tells.md +107 -0
  25. package/claude/skills/write-human/references/source-material.md +37 -0
  26. package/docs/agents/context-audit-checks.md +6 -0
  27. package/docs/agents/markdown-audit.md +7 -7
  28. package/docs/ai-workflow.md +1 -0
  29. package/docs/target-projects.md +1 -1
  30. package/governance/rules/claude/500-prose.md +7 -5
  31. package/governance/rules/claude/501-markdown.md +5 -4
  32. package/package.json +1 -1
  33. package/scripts/core/install-check.sh +1 -1
  34. package/src/commands/context.ts +54 -7
  35. package/src/commands/markdown.ts +2 -2
  36. package/src/comments/vocabulary.ts +1 -1
  37. package/src/context/audit.ts +89 -0
  38. package/src/markdown/bans.ts +2 -2
  39. package/src/standards/closure.ts +1 -1
  40. package/standards/bundled/issue.md +2 -2
  41. package/standards/bundled/pr.md +2 -2
  42. package/standards/bundled/snippets.md +2 -2
  43. package/standards/diagrams.md +5 -5
  44. package/standards/glossary.md +2 -2
  45. package/standards/groundwork.md +2 -2
  46. package/standards/index.md +1 -2
  47. package/standards/intake.md +2 -2
  48. package/standards/markdown.md +55 -6
  49. package/standards/memory.md +2 -2
  50. package/standards/plan.md +2 -2
  51. package/standards/publish.md +2 -2
  52. package/standards/readme.md +4 -4
  53. package/standards/skill.md +2 -2
  54. package/standards/standard.md +2 -2
  55. package/standards/teach.md +2 -2
  56. package/standards/versioning.md +2 -2
  57. package/standards/wireframes.md +3 -3
  58. package/tooling/claude/seeds/.claude/hooks/standards-audit.sh +2 -2
  59. package/standards/prose.md +0 -89
@@ -18,8 +18,8 @@ Does not govern:
18
18
  - The per-domain entry a domain fact is routed to instead of memory: `context.md`
19
19
  - The feature plan a session executes, and its answer contract: `plan.md`
20
20
  - The task file tracking what is being built: `tasks.md`
21
- - Voice and word choice: `prose.md`
22
- - Headings, punctuation, and file references: `markdown.md`
21
+ - Voice, rhythm, and sentence construction: the `write-human` skill
22
+ - Headings, punctuation, word choice, and file references: `markdown.md`
23
23
  - Which facts a project captures at all, and where the folder sits, which are project policy
24
24
 
25
25
  ## What a working entry looks like
package/standards/plan.md CHANGED
@@ -19,8 +19,8 @@ Does not govern:
19
19
  - A dump of many findings filed by domain, each carrying its own verdict: `intake.md`
20
20
  - The task file a plan is linked from, and the origin line pointing back at it: `tasks.md`
21
21
  - The transform from a branch name to a slug: `slug.md`
22
- - Voice and word choice: `prose.md`
23
- - Headings, punctuation, and file references: `markdown.md`
22
+ - Voice, rhythm, and sentence construction: the `write-human` skill
23
+ - Headings, punctuation, word choice, and file references: `markdown.md`
24
24
  - When a plan is written at all, and whether a short one goes to a file or to the conversation, which belong to the surface driving it
25
25
 
26
26
  ## What a working plan looks like
@@ -12,7 +12,7 @@ Governs the scan an author runs against finished text on its way out, the form a
12
12
  Does not govern:
13
13
 
14
14
  - Which characters are banned, and the formatting the text carries: `markdown.md`
15
- - The voice and word choice the text is written in: `prose.md`
15
+ - The voice and rhythm the text is written in: the `write-human` skill
16
16
  - The phase-label rule and the table of surfaces each namespace may appear on: `versioning.md`
17
17
  - Which gap a given surface has, and what it publishes through, which that surface names for itself
18
18
 
@@ -24,7 +24,7 @@ Run the scan as an explicit step against the finished text. Having read the unde
24
24
 
25
25
  ## Banned characters
26
26
 
27
- `markdown.md` holds the character bans and `prose.md` holds the banned words. Read both at scan time rather than working them from memory, then scan the drafted text and rewrite each occurrence.
27
+ `markdown.md` holds the character bans and the banned words alike. Read it at scan time rather than working the sets from memory, then scan the drafted text and rewrite each occurrence.
28
28
 
29
29
  Restructure the sentence rather than substituting the character. A semicolon swapped for a period leaves both clauses in the order the semicolon chose, which is the shape the ban exists to remove.
30
30
 
@@ -5,7 +5,7 @@ description: Readme voice, structure, and content conventions
5
5
 
6
6
  # Readme reference
7
7
 
8
- Applies to every `README.md`. The `## Voice` section states the voice for a repository's root README, so `prose.md` yields to it there. The yield covers voice alone. The spelling rules and banned words in `prose.md` stay in force, as do the punctuation and formatting rules in `markdown.md`, so the warmer register ships with the same hygiene: no em dashes, no semicolons, no buzzwords.
8
+ Applies to every `README.md`. The `## Voice` section states the voice for a repository's root README, so the `write-human` skill yields to it there. The yield covers voice alone. The rhythm and density rules that skill carries stay in force, as do the spelling rules, banned words, punctuation, and formatting in `markdown.md`, so the warmer register ships with the same hygiene: no em dashes, no semicolons, no buzzwords.
9
9
 
10
10
  The reader is what changes. Reference prose serves someone who already committed to the project and is scanning for a fact. A root README meets someone deciding whether to commit at all, and it is often the only file they read.
11
11
 
@@ -15,13 +15,13 @@ Governs every `README.md`: voice, heading structure, required and optional secti
15
15
 
16
16
  Does not govern:
17
17
 
18
- - Spelling and banned words in README prose: `prose.md`, which yields the voice and keeps the rest
19
- - Punctuation and formatting in README prose: `markdown.md`, which yields nothing
18
+ - Rhythm and sentence construction in README prose: the `write-human` skill, which yields the voice and keeps the rest
19
+ - Spelling, banned words, punctuation, and formatting in README prose: `markdown.md`, which yields nothing
20
20
  - Product scope and goals: `requirements.md`
21
21
 
22
22
  ## Voice
23
23
 
24
- Scoped to the README at a repository root. A nested README documenting a folder, a harness, or an internal tool keeps the reference voice in `prose.md`, since its reader has already committed and arrived looking for a fact.
24
+ Scoped to the README at a repository root. A nested README documenting a folder, a harness, or an internal tool keeps the reference voice the `write-human` skill carries, since its reader has already committed and arrived looking for a fact.
25
25
 
26
26
  - Address the reader in second person. First-person plural needs an authoring organization as its antecedent, so a single-maintainer project has none to use.
27
27
  - Use contractions wherever the sentence reads better for one. Do not force them in.
@@ -17,8 +17,8 @@ Does not govern:
17
17
 
18
18
  - Path-scoped coding rules, which load on a file match rather than on a request match: `rule.md`
19
19
  - Single-purpose chat prompts carrying no frontmatter, references, or scripts: `snippets.md`
20
- - Voice and word choice in a skill body: `prose.md`
21
- - Punctuation and formatting in a skill body: `markdown.md`
20
+ - Voice, rhythm, and sentence construction in a skill body: the `write-human` skill
21
+ - Punctuation, formatting, and word choice in a skill body: `markdown.md`
22
22
  - The transform from a branch name to a slug a skill carries in a filename: `slug.md`
23
23
  - The domain conventions a skill cites, each of which belongs to the standard that owns it
24
24
 
@@ -17,8 +17,8 @@ Governs each authored standard under `standards/`: its stated jurisdiction, succ
17
17
 
18
18
  Does not govern:
19
19
 
20
- - The voice and word choice a standard is written in: `prose.md`
21
- - The punctuation and formatting a standard is written in: `markdown.md`
20
+ - The voice, rhythm, and sentence construction a standard is written in: the `write-human` skill
21
+ - The punctuation, formatting, and word choice a standard is written in: `markdown.md`
22
22
  - The shape of any artifact a standard governs, which is that standard's own subject
23
23
 
24
24
  ## What a working standard looks like
@@ -20,8 +20,8 @@ Does not govern:
20
20
  - Where a durable page goes once it leaves the workspace, which belongs to the routing test the destination surface states
21
21
  - One question measured in depth before anyone can plan against it: `groundwork.md`
22
22
  - A dump of many findings filed by domain, each carrying its own verdict: `intake.md`
23
- - Voice and word choice: `prose.md`
24
- - Headings, punctuation, and file references: `markdown.md`
23
+ - Voice, rhythm, and sentence construction: the `write-human` skill
24
+ - Headings, punctuation, word choice, and file references: `markdown.md`
25
25
  - When a workspace opens at all, and the procedure that runs one, which belong to the surface driving it
26
26
 
27
27
  ## What a working workspace looks like
@@ -16,8 +16,8 @@ Does not govern:
16
16
  - The format of a phase label, which is project-specific by the rule below
17
17
  - Task filenames and board layout: `tasks.md`
18
18
  - Commit subject, branch name, and pull request title format: `commit.md`, `branch.md`, and `pr.md`
19
- - Voice and word choice in any text carrying a label: `prose.md`
20
- - Punctuation and formatting in any text carrying a label: `markdown.md`
19
+ - Voice, rhythm, and sentence construction in any text carrying a label: the `write-human` skill
20
+ - Punctuation, formatting, and word choice in any text carrying a label: `markdown.md`
21
21
 
22
22
  ## Phase labels
23
23
 
@@ -17,8 +17,8 @@ Does not govern:
17
17
 
18
18
  - Tokens, typography, spacing, and the rest of the visual system: `design.md`
19
19
  - The mechanism behind a surface: `context.md`
20
- - Voice and word choice in wireframe prose: `prose.md`
21
- - Punctuation and formatting in wireframe prose: `markdown.md`
20
+ - Voice, rhythm, and sentence construction in wireframe prose: the `write-human` skill
21
+ - Punctuation, formatting, and word choice in wireframe prose: `markdown.md`
22
22
 
23
23
  ## What a working wireframe looks like
24
24
 
@@ -75,7 +75,7 @@ Reference the context entry from the wireframe by path when a reader needs the m
75
75
  ## Maintenance
76
76
 
77
77
  - When a surface's layout or interaction changes, update its wireframe file in the same PR. A wireframe showing a defunct layout is worse than none.
78
- - The Behavior and Copy prose around an ASCII block is prose and follows `prose.md` and `markdown.md`. The fenced block itself is not, so a check scoped to prose is the wrong thing to rely on for what sits inside it.
78
+ - The Behavior and Copy prose around an ASCII block is prose and follows `markdown.md` and the `write-human` skill. The fenced block itself is not, so a check scoped to prose is the wrong thing to rely on for what sits inside it.
79
79
 
80
80
  ## Template
81
81
 
@@ -25,7 +25,7 @@ esac
25
25
  [ -f "$file" ] || exit 0
26
26
 
27
27
  # The audit verb owns the ban sets, so this hook carries no copy of them. The
28
- # awk this replaces parsed the word bans out of the project's own prose.md,
28
+ # awk this replaces parsed the word bans out of the project's own standards,
29
29
  # hardcoded the em-dash and semicolon, and reached none of the spellings, so a
30
30
  # British spelling passed at edit time and a corpus check caught it later with
31
31
  # nothing in between explaining the difference. A ban class added to the verb
@@ -79,7 +79,7 @@ elif [ -n "$empty" ]; then
79
79
  fi
80
80
 
81
81
  if [ -n "$hits" ]; then
82
- found=$(printf 'Standards-audit: prose.md and markdown.md violations in %s. Rewrite the sentence (do not lazy-swap). A code span is the answer only where the token is genuinely an identifier under discussion.\n%s' "$file" "$hits")
82
+ found=$(printf 'Standards-audit: markdown.md violations in %s. Rewrite the sentence (do not lazy-swap). A code span is the answer only where the token is genuinely an identifier under discussion.\n%s' "$file" "$hits")
83
83
  msg="${msg:+$msg$nl}$found"
84
84
  fi
85
85
 
@@ -1,89 +0,0 @@
1
- ---
2
- title: Prose reference
3
- description: Voice, language, what prose may claim, and frontmatter wording for reference markdown
4
- ---
5
-
6
- # Prose reference
7
-
8
- Applies to markdown reference docs, READMEs, and inline documentation in repos. It is the default voice for `.md` files and yields to any surface with its own voice, such as blogs, emails, changelogs, or commit messages. It also yields wherever another standard states the voice for the surface it governs, which is how a surface claims the exemption without this file having to name it.
9
-
10
- The yield covers voice alone. The language rules below stay in force on every surface, including the surfaces no automated check reaches, as do the mechanics in `markdown.md`.
11
-
12
- ## Scope
13
-
14
- Governs voice, word choice, what prose may claim about its subject and its sources, and frontmatter wording wherever prose is written. It is an attribute standard rather than a document-type one, so it applies over documents whose shape another standard sets, yields on voice alone where that standard states one, and carries no template because voice is written across every document and has none of its own to shape.
15
-
16
- Does not govern:
17
-
18
- - Headings, list and paragraph structure, code spans, the form a date takes, punctuation, emphasis, and file references: `markdown.md`
19
- - What sections a document has, or what belongs in each: the standard for that document type
20
- - Which frontmatter fields a document carries, which is that standard's own subject. This file governs the wording of a `title` and a `description` and nothing else about them.
21
- - Phase-label and semver discipline: `versioning.md`
22
- - The scan that applies these bans to finished text on its way out: `publish.md`
23
- - Code style and language conventions, which are governance rules rather than a standard
24
-
25
- ## Voice
26
-
27
- - Write for a developer who is scanning, not studying. Every sentence should be understandable on first read.
28
- - Use active voice. Default to present tense unless past or future tense is factually correct.
29
- - Prioritize direct verbs and plain words, using the minimum necessary. Write `use` not `utilize`, `help` not `facilitate`, `is` not `serves as`.
30
- - Vary sentence length and opening structure to break uniform cadence. Do not start consecutive sentences the same way.
31
- - Use substantive connectives where flow matters, but never add words solely for rhythm. Terse reference prose needs no padding.
32
- - Be direct on established facts. Hedge on genuinely uncertain claims.
33
- - Assume developer-level technical knowledge. Skip hand-holding explanations.
34
- - Front-load key information in each paragraph. Keep paragraphs concise and scannable.
35
- - Every sentence must provide new information. Cut redundant context.
36
-
37
- ## Language
38
-
39
- - Use American English spelling. Prefer `-ize` over `-ise`, `-or` over `-our`, `-er` over `-re` (`organize`, `analyze`, `summarize`, `recognize`, `behavior`, `color`, `center`)
40
- - Do not use marketing buzzwords (`seamless`, `robust`, `powerful`, `revolutionary`, `enhanced`, `allows`, `leverage`)
41
- - Do not use vague qualifiers (`simply`, `just`, `easily`, `quickly`, `very`, `really`)
42
- - Open a sentence with its subject and action, not filler (`Note that`, `Basically`), a hollow connective (`That being said`, `It's worth noting`), or a gerund windup (`Leveraging the API...`). Substantive transitions that carry a real relationship are fine.
43
- - Do not use the negative parallelism pattern (`It's not X, it's Y`, `not because X, but because Y`)
44
- - Do not pad verb phrases or delay the action. Write the shortest form (`in order to` → `to`, `ensure that X is set` → `set X`, `By doing X, you can Y` → state Y directly).
45
- - Do not address the reader as a participant (`Let's`, `Here's`, `Here are`). State the content directly.
46
- - Commit to a position. Do not hedge in clusters (`It might be worth considering`) or use false balance (`While X is true, Y is also important`). Recommend, or state the tradeoff.
47
- - Do not inflate significance. State what a thing does rather than calling it `a major milestone` or `a turning point for the field`.
48
- - Do not name a person, company, or product to borrow its authority. Name a source only where the claim turns on who made it.
49
- - Do not attribute a claim to an unnamed authority (`experts say`, `studies show`, `it is widely believed`). Name the source or cut the claim.
50
- - Do not introduce a fact, name, date, or citation the source does not carry when rewriting existing text. A rewrite changes wording and never claims.
51
-
52
- The character bans sit in `markdown.md` under `## Punctuation` rather than here, because an em dash and a semicolon are typography and the bans here reach the words a sentence chooses and the claims it makes. A surface applying both reads both files.
53
-
54
- ## Frontmatter descriptions
55
-
56
- When frontmatter carries a short `title` or `description` used for catalog display:
57
-
58
- - `title`: sentence case, identifies the file uniquely against its siblings in the same catalog. Proper nouns retain their casing. No trailing period.
59
- - `description`: sentence case, names the specific topics covered so a reader can decide whether to open the file. Lead with concrete subjects, strip filler like "guide to", "overview of", or "documentation about". No trailing period, no leading article (`the`, `a`).
60
- - Do not mechanically reuse the H1 as the description.
61
-
62
- ## Examples
63
-
64
- Each pair shows a banned pattern and its fix.
65
-
66
- ```markdown
67
- Bad: The configuration file serves as the central hub for all build settings.
68
- Good: Configuration lives in `vite.config.ts`.
69
- ```
70
-
71
- ```markdown
72
- Bad: In order to configure the server, you'll need to ensure that the port is set.
73
- Good: Set `port` in the server config.
74
- ```
75
-
76
- ```markdown
77
- Bad: It's not just a cache. It's a system for intelligent memory management.
78
- Good: The cache is an LRU store. It evicts the least-recently-used entry when full.
79
- ```
80
-
81
- ```markdown
82
- Bad: Leveraging the retry mechanism, developers can build more resilient integrations.
83
- Good: Use the `retry` option for failed webhooks. Set `maxRetries` to 3.
84
- ```
85
-
86
- ```markdown
87
- Bad: It might be worth considering whether to enable caching.
88
- Good: Enable caching for read-heavy endpoints. Skip it for writes.
89
- ```