@simpleapps-com/augur-skills 2026.4.10 → 2026.4.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simpleapps-com/augur-skills",
3
- "version": "2026.04.10",
3
+ "version": "2026.04.12",
4
4
  "description": "Install curated Claude Code skills",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "vitest": "^2.0.0"
26
26
  },
27
27
  "engines": {
28
- "node": ">=18.0.0"
28
+ "node": ">=24.0.0"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsup",
@@ -94,6 +94,16 @@ Right: `Glob(pattern: "{path}/repo/src/components/**/*")`
94
94
 
95
95
  All project paths are known and predictable (see `simpleapps:wiki` Cross-Project Wiki Access). MUST NOT search the filesystem with `find` or download from the internet. Just use the dedicated tool with the known path.
96
96
 
97
+ ## Subagent Responsibility
98
+
99
+ Subagents do NOT inherit this skill. They see only the prompt you give them. The primary agent MUST brief every subagent on bash-simplicity before delegating shell work, and owns the output that comes back.
100
+
101
+ Every subagent prompt that touches Bash MUST include a one-liner: "One command per Bash call. No operators. Use dedicated tools (Read, Grep, Glob, Edit, Write) over shell equivalents."
102
+
103
+ If a subagent returns a command containing any forbidden operator (see the table above), that is the primary agent's failure. Reject and ask for a re-plan, or translate into separate simple calls. Do not execute it. A subagent violating this is running on a stale prompt; fix the prompt.
104
+
105
+ Parallel subagents each need their own briefing.
106
+
97
107
  ## Check Before Prompting
98
108
 
99
109
  Before running a command that will trigger a permission prompt, check the wiki and project settings for approved commands. The wiki documents which commands are pre-approved and how to invoke them. Unnecessary permission prompts interrupt the user's flow.
@@ -100,6 +100,11 @@ Two scopes, project overrides user:
100
100
 
101
101
  Resolution: read `{project}/.simpleapps/settings.json` first, fall back to `~/.simpleapps/settings.json`, fall back to defaults. Field-level override: project wins for any field it defines.
102
102
 
103
+ Optional project-scoped fields:
104
+
105
+ - `wikiTokenBudget` (number): override the 20K default wiki token budget. Set by `/curate-wiki` when the user approves an exception.
106
+ - `wikiTokenBudgetReason` (string): why the budget was raised. Surfaced at the top of every `/curate-wiki` and `/wiki-audit` run so the exception stays visible and re-negotiable.
107
+
103
108
  ### site.json
104
109
 
105
110
  One per client project. Consistent structure across all sites: same fields, different values. Replaces the old `{siteId}.json` pattern.
@@ -172,7 +177,9 @@ Every project SHOULD configure `.claude/settings.local.json` with these deny rul
172
177
  "Bash(rg:*)",
173
178
  "Bash(sed:*)",
174
179
  "Bash(sleep:*)",
175
- "Bash(tail:*)"
180
+ "Bash(tail:*)",
181
+ "Edit(~/.claude/plugins/**)",
182
+ "Write(~/.claude/plugins/**)"
176
183
  ]
177
184
  }
178
185
  }
@@ -191,6 +198,7 @@ Why each is denied:
191
198
  - **`rg`**: Use the Grep tool instead (it uses ripgrep internally).
192
199
  - **`sed`**: Use the Edit tool instead.
193
200
  - **`sleep`**: Unnecessary; use proper sequencing or background tasks.
201
+ - **`Edit(~/.claude/plugins/**)` / `Write(~/.claude/plugins/**)`**: The installed plugin tree is a cache. Marketplace updates clobber it. To change plugin behavior, edit the plugin's source repo (e.g., `~/projects/simpleapps/augur-skills/`) instead.
194
202
 
195
203
  ## Bin Scripts (PATH)
196
204
 
@@ -47,6 +47,31 @@ Missing quality tooling:
47
47
 
48
48
  Do not install or configure tools without the user's approval. Flag what's missing and explain why it helps. Let the user decide.
49
49
 
50
+ ## Runtime Freshness
51
+
52
+ Projects SHOULD target the current Active LTS of their language runtime. Maintenance LTS is acceptable. EOL runtimes SHOULD be flagged.
53
+
54
+ Runtime freshness is advisory, not a hard failure. Legitimate exceptions exist: libraries with documented compatibility policies, hosting-locked client projects, migration-in-progress repos. Surface findings as a prompt and let the user decide.
55
+
56
+ Check the current LTS from the language's official schedule, not memory (LTS designations rotate each October):
57
+
58
+ - Node: https://nodejs.org/en/about/previous-releases
59
+ - Python: https://devguide.python.org/versions/
60
+ - PHP: https://www.php.net/supported-versions.php
61
+
62
+ ### Where to check
63
+
64
+ - CI matrices in `.github/workflows/*.yml`
65
+ - `engines` in `package.json`
66
+ - `python_requires` in `pyproject.toml` / `setup.py`
67
+ - `require` or `config.platform.php` in `composer.json`
68
+
69
+ ### Prompt template
70
+
71
+ > "CI matrix includes Node 18 (EOL). Current Active LTS is Node 24. Drop EOL and add current LTS?"
72
+
73
+ If the user cites a constraint (hosting, compatibility, library support policy), record it in the project's wiki so future sessions see the exception and skip the prompt.
74
+
50
75
  ## When to suggest
51
76
 
52
77
  - **Setting up a new project**: suggest the full set
@@ -54,6 +79,7 @@ Do not install or configure tools without the user's approval. Flag what's missi
54
79
  - **Seeing inconsistent formatting**: suggest prettier
55
80
  - **No tests for changed code**: suggest vitest
56
81
  - **No pre-commit hooks**: suggest lefthook
82
+ - **CI matrix or `engines` pins an EOL runtime**: suggest dropping it and adding current Active LTS
57
83
 
58
84
  ## Fix everything, hide nothing
59
85
 
@@ -21,14 +21,16 @@ The wiki is a **git-backed markdown folder** (`wiki/`) living next to the code r
21
21
  - **Markdown in git**: the docs live where the work lives and version alongside the code. Diffs show what changed and why. No login, no API, no stale snapshot.
22
22
  - **Separate `wiki/` repo, not embedded in the code repo**: the wiki ships independently of code releases. Doc fixes do not wait on code review cycles, and code commits stay clean of doc noise.
23
23
  - **Local file reads, not network fetches**: the agent loads the full wiki at session start with zero latency. No rate limits, no auth, works offline.
24
- - **20K token budget**: small enough to fit the whole wiki in context while leaving 90% for working memory. Forces ruthless editing; a 200K-token wiki that cannot be loaded helps no one.
24
+ - **20K token budget**: small enough that the agent holds the whole wiki alongside working context with room to spare, and small enough that humans actually read and maintain it. Forces ruthless editing; a bloated wiki helps no one because no one reads past the first screen.
25
25
  - **Process and principles, not code snippets**: code in the wiki rots the day it is pasted. Link to the source file instead, so the wiki stays true as the code evolves.
26
26
 
27
27
  The payoff: **the agent and the user share the same model of the project.** Less re-explaining, fewer guesses, fewer "I assumed..." mistakes. Work goes faster because the agent already knows the conventions, and safer because the agent is not improvising decisions the wiki already settled.
28
28
 
29
29
  ## Token Budget
30
30
 
31
- A wiki MUST NOT exceed **20K tokens** (~15K words, ~60KB). This is 10% of the AI agent's 200K context window, enough for the agent to load the entire wiki at session start while leaving 90% for working context.
31
+ The default wiki budget is **20K tokens** (~15K words, ~60KB). The budget is an editing constraint, not a capacity limit. It is small enough that agents load the whole wiki alongside working context with room to spare, small enough that humans actually read and maintain it, and strict enough to force pruning as the project grows.
32
+
33
+ Projects MAY raise the budget via `wikiTokenBudget` in `.simpleapps/settings.json` when there is a documented reason (e.g., large integration catalogs, extensive cross-project references). Increases MUST be paired with a `wikiTokenBudgetReason` so future sessions see why the exception exists and can re-negotiate it. `/curate-wiki` handles the prompt and records the change. Never raise the budget silently.
32
34
 
33
35
  Check size: `wc -w wiki/*.md` (multiply by ~1.3 for token estimate)
34
36