@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.
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/skills/claude-address-review/SKILL.md +4 -3
- package/claude/skills/claude-design-extract/SKILL.md +3 -3
- package/claude/skills/claude-docs/SKILL.md +1 -1
- package/claude/skills/claude-memory-capture/SKILL.md +2 -2
- package/claude/skills/claude-pr-review/SKILL.md +1 -1
- package/claude/skills/claude-standards-audit/SKILL.md +8 -6
- package/claude/skills/create-skill/SKILL.md +2 -2
- package/claude/skills/create-snippet/SKILL.md +2 -2
- package/claude/skills/create-snippet/references/snippets.md +2 -2
- package/claude/skills/create-standard/SKILL.md +2 -2
- package/claude/skills/docs-sync/SKILL.md +2 -2
- package/claude/skills/git-issue/SKILL.md +2 -2
- package/claude/skills/git-issue/references/issue.md +2 -2
- package/claude/skills/git-pr/SKILL.md +2 -2
- package/claude/skills/git-pr/references/pr.md +2 -2
- package/claude/skills/git-split/references/pr.md +2 -2
- package/claude/skills/git-stage/SKILL.md +2 -2
- package/claude/skills/migration-standards/SKILL.md +1 -1
- package/claude/skills/setup-indexes/SKILL.md +1 -1
- package/claude/skills/write-human/REQUIREMENT.md +46 -0
- package/claude/skills/write-human/SKILL.md +68 -0
- package/claude/skills/write-human/references/density.md +38 -0
- package/claude/skills/write-human/references/machine-tells.md +107 -0
- package/claude/skills/write-human/references/source-material.md +37 -0
- package/docs/agents/context-audit-checks.md +6 -0
- package/docs/agents/markdown-audit.md +7 -7
- package/docs/ai-workflow.md +1 -0
- package/docs/target-projects.md +1 -1
- package/governance/rules/claude/500-prose.md +7 -5
- package/governance/rules/claude/501-markdown.md +5 -4
- package/package.json +1 -1
- package/scripts/core/install-check.sh +1 -1
- package/src/commands/context.ts +54 -7
- package/src/commands/markdown.ts +2 -2
- package/src/comments/vocabulary.ts +1 -1
- package/src/context/audit.ts +89 -0
- package/src/markdown/bans.ts +2 -2
- package/src/standards/closure.ts +1 -1
- package/standards/bundled/issue.md +2 -2
- package/standards/bundled/pr.md +2 -2
- package/standards/bundled/snippets.md +2 -2
- package/standards/diagrams.md +5 -5
- package/standards/glossary.md +2 -2
- package/standards/groundwork.md +2 -2
- package/standards/index.md +1 -2
- package/standards/intake.md +2 -2
- package/standards/markdown.md +55 -6
- package/standards/memory.md +2 -2
- package/standards/plan.md +2 -2
- package/standards/publish.md +2 -2
- package/standards/readme.md +4 -4
- package/standards/skill.md +2 -2
- package/standards/standard.md +2 -2
- package/standards/teach.md +2 -2
- package/standards/versioning.md +2 -2
- package/standards/wireframes.md +3 -3
- package/tooling/claude/seeds/.claude/hooks/standards-audit.sh +2 -2
- package/standards/prose.md +0 -89
package/standards/memory.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
package/standards/publish.md
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
package/standards/readme.md
CHANGED
|
@@ -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 `
|
|
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
|
-
-
|
|
19
|
-
-
|
|
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
|
|
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.
|
package/standards/skill.md
CHANGED
|
@@ -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
|
|
21
|
-
- Punctuation and
|
|
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
|
|
package/standards/standard.md
CHANGED
|
@@ -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
|
|
21
|
-
- The punctuation and
|
|
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
|
package/standards/teach.md
CHANGED
|
@@ -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
|
|
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
|
package/standards/versioning.md
CHANGED
|
@@ -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
|
|
20
|
-
- Punctuation and
|
|
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
|
|
package/standards/wireframes.md
CHANGED
|
@@ -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
|
|
21
|
-
- Punctuation and
|
|
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 `
|
|
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
|
|
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:
|
|
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
|
|
package/standards/prose.md
DELETED
|
@@ -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
|
-
```
|