@simpleapps-com/augur-skills 2026.3.10 → 2026.3.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
|
@@ -19,7 +19,7 @@ This skill is a **stub, not an archive**. New packages are created, existing pac
|
|
|
19
19
|
|
|
20
20
|
**Always read the installed packages in your project's `node_modules/`:**
|
|
21
21
|
|
|
22
|
-
1.
|
|
22
|
+
1. Use `Glob("repo/node_modules/@simpleapps-com/*")` to discover ALL available packages — there may be packages not listed here
|
|
23
23
|
2. Read `repo/node_modules/@simpleapps-com/<package>/package.json` for the `exports` field to find available sub-paths
|
|
24
24
|
3. Read files in `repo/node_modules/@simpleapps-com/<package>/dist/` to understand the current API surface
|
|
25
25
|
4. Do NOT look at the source repo or other folders — only read what is installed in your project's `node_modules/`
|
|
@@ -42,7 +42,7 @@ These are starting hints — not a complete list. Always check `node_modules/@si
|
|
|
42
42
|
|
|
43
43
|
When considering custom code:
|
|
44
44
|
|
|
45
|
-
1.
|
|
45
|
+
1. Use `Glob("repo/node_modules/@simpleapps-com/*")` to see what's installed
|
|
46
46
|
2. Read the package's `package.json` `exports` and its `dist/` files for available functions, hooks, and components
|
|
47
47
|
3. Look for the hook triple pattern in augur-hooks: `use<Name>`, `get<Name>Options`, `get<Name>Key`
|
|
48
48
|
4. Check augur-web for UI components before building custom ones
|
|
@@ -76,4 +76,4 @@ The goal is to grow the packages over time so sites write less custom code.
|
|
|
76
76
|
- **Tailwind:** v4, CSS-first
|
|
77
77
|
- **Validation:** Valibot (not Zod, not Yup)
|
|
78
78
|
- **Auth:** NextAuth 5 via package auth factory
|
|
79
|
-
- **Reference site:** ampro-online
|
|
79
|
+
- **Reference site:** ampro-online — use `Grep`, `Glob`, and `Read` with path `~/projects/clients/ampro-online/repo` to see how patterns are implemented. MUST NOT use `find`, `grep`, or other shell commands.
|
|
@@ -6,6 +6,10 @@ user-invocable: false
|
|
|
6
6
|
|
|
7
7
|
# Bash Simplicity
|
|
8
8
|
|
|
9
|
+
## Why This Matters
|
|
10
|
+
|
|
11
|
+
Every permission prompt makes the user the bottleneck. If the user doesn't see the prompt for an hour, that hour is lost — the agent is blocked, the task stalls, and the system designed for autonomous work stops working. The entire plugin system exists to remove the user as the bottleneck. A permission prompt works directly against that goal. Use dedicated tools and simple commands to avoid ever triggering one.
|
|
12
|
+
|
|
9
13
|
## One Command Per Call
|
|
10
14
|
|
|
11
15
|
MUST run each Bash command as a separate, simple call. MUST NOT chain commands with `&&`, `||`, pipes, or sub-shells. Complex commands trigger permission prompts and break automation.
|
|
@@ -16,6 +20,13 @@ Right: Three separate Bash calls, one per command.
|
|
|
16
20
|
Wrong: `pnpm --filter ampro-online run typecheck 2>&1; echo "EXIT: $?"`
|
|
17
21
|
Right: `pnpm --filter ampro-online run typecheck` — the Bash tool already captures stderr and exit codes. Never add `2>&1`, `; echo $?`, or other shell plumbing — it triggers permission prompts for no benefit.
|
|
18
22
|
|
|
23
|
+
Wrong: `gh issue close 367 --repo org/repo --comment "$(< tmp/file.txt)" 2>&1`
|
|
24
|
+
Right: Write the comment to a tmp file, then use two separate calls:
|
|
25
|
+
1. `gh issue comment 367 --repo org/repo --body-file tmp/file.txt`
|
|
26
|
+
2. `gh issue close 367 --repo org/repo`
|
|
27
|
+
|
|
28
|
+
MUST NOT use `$()` command substitution in Bash commands — it triggers a permission prompt every time. Write content to a tmp file first, then pass it with a `-F`, `--body-file`, or similar flag.
|
|
29
|
+
|
|
19
30
|
## Use Dedicated Tools
|
|
20
31
|
|
|
21
32
|
Dedicated tools are faster, require no permission, and produce better output. MUST use them instead of Bash equivalents:
|
|
@@ -33,6 +44,22 @@ Reserve Bash for commands that have no dedicated tool equivalent: build tools, t
|
|
|
33
44
|
These commands are **denied** in project settings and will always be rejected — do not attempt them:
|
|
34
45
|
`cd`, `cat`, `grep`, `rg`, `find`, `sed`, `awk`, `head`, `tail`, `sleep`, `kill`, `pkill`
|
|
35
46
|
|
|
47
|
+
MUST NOT use `node -e` or `python -c` to run inline scripts — these trigger permission prompts. If you need to read a file, use the Read tool. If you need to process data, do it in your response, not in a shell script.
|
|
48
|
+
|
|
49
|
+
## Cross-Project Searching
|
|
50
|
+
|
|
51
|
+
When looking at another project's code (e.g., the reference site ampro-online), use dedicated tools with the known project path — MUST NOT use shell commands:
|
|
52
|
+
|
|
53
|
+
Wrong: `find ~/projects/clients/ampro-online/repo -name "*.ts" -exec grep -l "pattern" {} \; 2>/dev/null | head -10`
|
|
54
|
+
Right: `Grep(pattern: "pattern", path: "~/projects/clients/ampro-online/repo", glob: "*.ts")`
|
|
55
|
+
|
|
56
|
+
Wrong: `ls ~/projects/clients/ampro-online/repo/src/components/`
|
|
57
|
+
Right: `Glob(pattern: "~/projects/clients/ampro-online/repo/src/components/**/*")`
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
36
61
|
## Check Before Prompting
|
|
37
62
|
|
|
38
63
|
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.
|
|
64
|
+
|
|
65
|
+
**`pnpm:*` is pre-approved** — any command in `package.json` scripts runs without permission via `pnpm <script>`. If a tool needs to run repeatedly (linters, formatters, test runners), it SHOULD be a `package.json` script so it can run via pnpm without prompting. Suggest adding missing scripts when you notice the gap.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context-efficiency
|
|
3
|
+
description: How to write token-efficient CLAUDE.md, rules, and skills. Use when creating or editing always-loaded content (CLAUDE.md, .claude/rules/) or authoring skills. Covers the context loading hierarchy, evergreen content principles, and platform limits.
|
|
4
|
+
user-invocable: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Context Efficiency
|
|
8
|
+
|
|
9
|
+
Always-loaded content (CLAUDE.md, rules without `paths`) is paid on every prompt — even when irrelevant. Every token spent here is a token taken from working context. Write always-loaded content as pointers, not content.
|
|
10
|
+
|
|
11
|
+
## Context Loading Hierarchy
|
|
12
|
+
|
|
13
|
+
| Layer | When loaded | What belongs here |
|
|
14
|
+
|-------|------------|-------------------|
|
|
15
|
+
| CLAUDE.md | Every prompt | Orient + link. Under 200 lines (official limit). |
|
|
16
|
+
| Rules (no `paths`) | Every prompt | Short guardrails. One topic per file. Invoke a skill for detail. |
|
|
17
|
+
| Rules (with `paths`) | On demand | Scoped guidance that only matters for specific file types. |
|
|
18
|
+
| Skills (descriptions) | Every prompt | One-line descriptions. 2% of context window for ALL combined. |
|
|
19
|
+
| Skills (full content) | When invoked | Full behavioral detail. Under 500 lines per skill. |
|
|
20
|
+
| Wiki | When read | Complete project knowledge. Unlimited but we budget 20K tokens. |
|
|
21
|
+
|
|
22
|
+
## Platform Limits
|
|
23
|
+
|
|
24
|
+
- **CLAUDE.md**: under 200 lines. "Bloated files cause Claude to ignore your actual instructions."
|
|
25
|
+
- **Skill descriptions**: 2% of context window for all skills combined (16K char fallback). Override with `SLASH_COMMAND_TOOL_CHAR_BUDGET`.
|
|
26
|
+
- **SKILL.md**: under 500 lines. Move detail to supporting files.
|
|
27
|
+
- **Auto memory**: first 200 lines of MEMORY.md loaded. Topic files on demand.
|
|
28
|
+
- **Overhead**: ~31% of a 200K context window is consumed by system prompt, tools, and autocompact buffer before you type anything.
|
|
29
|
+
|
|
30
|
+
## Evergreen Content
|
|
31
|
+
|
|
32
|
+
Always-loaded content MUST be evergreen — true regardless of when it's read. MUST NOT contain:
|
|
33
|
+
|
|
34
|
+
- **File counts or lists** — "12 skills" becomes wrong the next commit. Say "check `ls plugins/simpleapps/skills/`" instead.
|
|
35
|
+
- **Version numbers** — "currently v2026.03.8" is stale immediately. Point to the VERSION file.
|
|
36
|
+
- **Process data** — timestamps, recent activity, who did what. That's git history.
|
|
37
|
+
- **Hardcoded paths** that change across machines or environments.
|
|
38
|
+
- **Content that duplicates the code** — the code is the source of truth. Describe the pattern, link to the file.
|
|
39
|
+
|
|
40
|
+
Instead: describe the **pattern**, give **1-2 examples**, and **link** to the source for the current state.
|
|
41
|
+
|
|
42
|
+
## The Pointer Pattern
|
|
43
|
+
|
|
44
|
+
Always-loaded files SHOULD be pointers that invoke on-demand content:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# Git Safety (rule — 3 lines, always loaded)
|
|
48
|
+
MUST NOT commit without user approval.
|
|
49
|
+
Load Skill("git-safety") for full guardrails.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
The rule costs ~40 tokens per prompt. The skill costs nothing until invoked, then loads ~800 tokens of detailed guidance. This is 20x more efficient than putting the full content in the rule.
|
|
53
|
+
|
|
54
|
+
## When to Use Each Layer
|
|
55
|
+
|
|
56
|
+
| Question | Answer |
|
|
57
|
+
|----------|--------|
|
|
58
|
+
| Does the agent need this on EVERY prompt? | CLAUDE.md or rule |
|
|
59
|
+
| Is it a critical guardrail? | Rule (invokes skill for detail) |
|
|
60
|
+
| Is it only relevant for certain files? | Rule with `paths` frontmatter |
|
|
61
|
+
| Is it detailed behavioral guidance? | Skill |
|
|
62
|
+
| Is it shared knowledge across projects? | Wiki |
|
|
63
|
+
| Is it personal to one user? | Memory |
|
|
64
|
+
|
|
65
|
+
## Checking Your Budget
|
|
66
|
+
|
|
67
|
+
Run `/context` to see current token usage by category. Watch for:
|
|
68
|
+
- Skills being excluded (descriptions exceeded 2% budget)
|
|
69
|
+
- CLAUDE.md consuming more than ~5% of context
|
|
70
|
+
- Many MCP servers inflating tool definitions
|
|
@@ -61,6 +61,8 @@ This avoids shell quoting issues with HEREDOCs and `cd` permission blocks. The W
|
|
|
61
61
|
|
|
62
62
|
MUST use `--repo simpleapps-com/<repo>` on every `gh` call. MUST ask the user which repo — never assume.
|
|
63
63
|
|
|
64
|
+
**MUST NOT use `$()` or inline content in `gh` commands.** Any `gh` command that needs a body, comment, or multi-line text MUST use the file-based flag (`--body-file`, `--comment-file`, etc.). Write the content to `tmp/` using the Write tool first, then pass the file path. This avoids `$()` command substitution which triggers a permission prompt every time. Delete the tmp file after the command succeeds.
|
|
65
|
+
|
|
64
66
|
### Title
|
|
65
67
|
|
|
66
68
|
Conventional commit style: `fix: description`, `feat: description`, `chore: description`. Under 70 characters.
|
|
@@ -89,9 +91,14 @@ Bug reports also include **Steps to Reproduce** and **Current Behavior** with er
|
|
|
89
91
|
gh issue create --repo simpleapps-com/<repo> --title "type: desc" --body "..."
|
|
90
92
|
gh issue list --repo simpleapps-com/<repo>
|
|
91
93
|
gh issue view <number> --repo simpleapps-com/<repo>
|
|
92
|
-
gh issue close <number> --repo simpleapps-com/<repo>
|
|
94
|
+
gh issue close <number> --repo simpleapps-com/<repo>
|
|
93
95
|
```
|
|
94
96
|
|
|
97
|
+
For closing with a comment, use two calls (avoids `$()` permission prompts):
|
|
98
|
+
1. Write comment to `tmp/issue-comment.txt` using the Write tool
|
|
99
|
+
2. `gh issue comment <number> --repo simpleapps-com/<repo> --body-file tmp/issue-comment.txt`
|
|
100
|
+
3. `gh issue close <number> --repo simpleapps-com/<repo>`
|
|
101
|
+
|
|
95
102
|
Include `Closes #N` in commit body to auto-close issues.
|
|
96
103
|
|
|
97
104
|
### Commenting on existing issues
|
|
@@ -120,12 +127,14 @@ Example cross-link in issue body: `Upstream: simpleapps-com/augur#44` or `Local
|
|
|
120
127
|
## Pull Requests
|
|
121
128
|
|
|
122
129
|
```bash
|
|
123
|
-
gh pr create --repo simpleapps-com/<repo> --title "title" --body
|
|
130
|
+
gh pr create --repo simpleapps-com/<repo> --title "title" --body-file tmp/pr-body.txt
|
|
124
131
|
gh pr list --repo simpleapps-com/<repo>
|
|
125
132
|
gh pr view <number> --repo simpleapps-com/<repo>
|
|
126
133
|
gh pr merge <number> --repo simpleapps-com/<repo>
|
|
127
134
|
```
|
|
128
135
|
|
|
136
|
+
Write PR body to `tmp/pr-body.txt` using the Write tool first — MUST NOT use `--body "$(cat ...)"` or any `$()` substitution.
|
|
137
|
+
|
|
129
138
|
## Cross-Linking with Basecamp
|
|
130
139
|
|
|
131
140
|
For client tasks originating in Basecamp, see `simpleapps:workflow` for the full cross-linking process.
|
|
@@ -73,6 +73,47 @@ Pages MUST link to related sections on other pages using `[[Page-Name#section]]`
|
|
|
73
73
|
|
|
74
74
|
Cross-linking also eliminates duplication. If two pages explain the same concept, one MUST become the source of truth and the other MUST link to it. Never duplicate content across pages — link instead. This keeps the wiki lean and ensures updates happen in one place.
|
|
75
75
|
|
|
76
|
+
## Wiki Over Memory
|
|
77
|
+
|
|
78
|
+
When asked to save, document, or record knowledge — use the wiki, MUST NOT use memory. The wiki is shared across all agents, all projects, and all computers. Memory is personal to one user on one machine — invisible to everyone else.
|
|
79
|
+
|
|
80
|
+
| Knowledge type | Where it belongs |
|
|
81
|
+
|---------------|-----------------|
|
|
82
|
+
| Conventions, patterns, decisions | **Wiki** |
|
|
83
|
+
| Learnings from a task or session | **Wiki** |
|
|
84
|
+
| Architecture and process docs | **Wiki** |
|
|
85
|
+
| How a problem was solved | **Wiki** |
|
|
86
|
+
| Personal preferences (writing style, response length) | Memory |
|
|
87
|
+
| User role and background | Memory |
|
|
88
|
+
|
|
89
|
+
If in doubt, it belongs in the wiki. The cost of putting shared knowledge in memory is that it dies with the session — no other agent, project, or computer will ever see it.
|
|
90
|
+
|
|
91
|
+
## Cross-Project Wiki Access
|
|
92
|
+
|
|
93
|
+
All SimpleApps projects follow the same directory layout under `~/projects/`. Every project's wiki is at a known, predictable path:
|
|
94
|
+
|
|
95
|
+
| Project type | Wiki path |
|
|
96
|
+
|-------------|-----------|
|
|
97
|
+
| Client sites | `~/projects/clients/<site-name>/wiki/` |
|
|
98
|
+
| Internal repos | `~/projects/simpleapps/<repo-name>/wiki/` |
|
|
99
|
+
|
|
100
|
+
**Reference site:** `~/projects/clients/ampro-online/` is the reference implementation. When you need to see how something was done, check its wiki and repo first.
|
|
101
|
+
|
|
102
|
+
**Key wikis to consult:**
|
|
103
|
+
- `~/projects/simpleapps/augur-packages/wiki/` — shared package conventions, API surfaces, component patterns
|
|
104
|
+
- `~/projects/simpleapps/augur-skills/wiki/` — plugin and skill authoring conventions
|
|
105
|
+
- `~/projects/clients/ampro-online/wiki/` — reference site patterns, real-world usage examples
|
|
106
|
+
|
|
107
|
+
**Before reading another project's wiki, pull the latest:**
|
|
108
|
+
`git -C ~/projects/clients/<site>/wiki pull`
|
|
109
|
+
|
|
110
|
+
**MUST use dedicated tools for cross-project access — MUST NOT use shell commands:**
|
|
111
|
+
- Read files: `Read("~/projects/clients/<site>/wiki/Page.md")` or `Read("~/projects/clients/<site>/repo/path/to/file")`
|
|
112
|
+
- Search code: `Grep(pattern: "...", path: "~/projects/clients/<site>/repo")`
|
|
113
|
+
- Find files: `Glob(pattern: "~/projects/clients/<site>/repo/**/*.ts")`
|
|
114
|
+
|
|
115
|
+
MUST NOT use `find`, `grep`, `cat`, `ls`, or any shell command to explore other projects. The paths are known — use the dedicated tools directly.
|
|
116
|
+
|
|
76
117
|
## Keep It Lean
|
|
77
118
|
|
|
78
119
|
- Document patterns and principles, not exhaustive lists
|