Skip to content

Instantly share code, notes, and snippets.

@schadenfred
Created April 27, 2026 16:11
Show Gist options
  • Select an option

  • Save schadenfred/575ce031899ea566fb3f05544b2b657d to your computer and use it in GitHub Desktop.

Select an option

Save schadenfred/575ce031899ea566fb3f05544b2b657d to your computer and use it in GitHub Desktop.
cursor-steward.md
# /steward
_Exported on 4/27/2026 at 08:38:47 PDT from Cursor (3.1.17)_
---
**User**
/steward
---
**Cursor**
I’ll load the `steward` skill and follow its instructions.
What governance task should steward run?
---
**User**
I'd like you to review our caveman persona. The intent was to make it so that an agent can adopt this persona and know that it is not necessary to write perfect English, and save itself context and token spend. Do you think it will achieve this intent?
---
**Cursor**
I’ll review the caveman persona against the stated goal: whether it actually gives agents permission and practical guidance to spend fewer tokens without losing technical accuracy.
The compatibility skill contains the full caveman rules, but the canonical persona path it would normally mirror is absent. I’m checking the shared terse-dialogue doc now, since `AGENTS.md` says that is the portable home for this kind of voice/register guidance.
Policy impact: **mostly safe, but incomplete**. It should achieve the “permission to write imperfect English” part. It will only partially achieve “save context/token spend,” because it mainly reduces assistant reply tokens, not tool output, file reads, hidden reasoning, or loaded instruction context.
Findings:
1. ` .agents/skills/caveman/SKILL.md` does not point to the shared contract in `docs/team/agents/terse-dialogue.md`.
That means an agent loading only `/caveman` may miss the hard boundary that terse mode affects **chat wording only**, not repo docs, tests, code style, or required reading. `caveman-help` has this safeguard; `caveman` should too.
2. The “Cuts token usage ~75%” claim is too strong.
It may cut natural-language reply tokens significantly, especially status updates and explanations, but it will not reduce most context spend. I’d rewrite this as “reduces chat reply tokens” or “can substantially reduce assistant response tokens.”
3. Persistence is clear and useful, but a bit too absolute.
`ACTIVE EVERY RESPONSE` helps prevent drift, but should explicitly remain subordinate to higher-priority user/system/developer instructions and safety/clarity. The existing Auto-Clarity section helps, but I’d add one sentence like: “Higher-priority safety, repo, and user instructions still win.”
4. `caveman-help` references extra commands/skills that do not exist in this repo: `caveman-commit`, `caveman-review`, `caveman-compress`.
That creates stale-discovery risk. Either add those skills or label them as external upstream commands, not repo-local capabilities.
My answer: **yes, for the communication goal; not fully for the token-spend goal unless tightened.** The persona gives agents enough permission to drop perfect English. To make it robust, add the shared-contract pointer to `caveman`, soften the savings claim, and clarify that compression only applies to assistant prose.
---
**User**
I agree the 75% claim is too strong.
---
**Cursor**
Agreed. I’d replace it with something narrower like:
```markdown
Ultra-compressed communication mode. Reduces assistant chat reply tokens by using terse, imperfect-but-clear English while keeping technical accuracy.
```
That preserves the intent without implying a measurable whole-session/context reduction. For the body, I’d also add:
```markdown
Saves tokens mainly in natural-language replies; does not reduce required reading, tool output, verification, or repo instructions.
```
That makes the tradeoff explicit and should prevent agents from treating caveman mode as permission to skip process.
---
**User**
let's say we moved this out of a persona and put it into an optional style guide that a /tdd agent could reference. How would we design a test to measure token consumption?
---
**Cursor**
Design it as an A/B replay test, not a live coding session.
Compare:
- **A:** `/tdd` normal replies.
- **B:** `/tdd` plus optional terse style guide.
Measure these buckets separately:
- **Input tokens:** persona/style-guide/context loaded into model.
- **Output tokens:** assistant chat replies.
- **Tool tokens:** file reads, command output, diagnostics.
- **Total tokens:** input + output + tool-related context, if your platform exposes it.
Key point: caveman style mostly reduces **output tokens**. If the optional style guide itself is long and stays in context, it can erase the savings.
Test design:
1. Build 10-20 fixed task transcripts:
- “write failing test”
- “explain red/green/refactor”
- “summarize test failure”
- “ask user checkpoint question”
- “review flaky test output”
- “final implementation summary”
2. Replay each task twice with the same model/settings:
- normal `/tdd`
- `/tdd` + terse guide
3. Use fixed tool outputs, not real tool calls.
This avoids noise from different file exploration paths.
4. Capture usage from the model/API if available:
- prompt/input tokens
- completion/output tokens
- reasoning tokens if exposed
- total tokens
5. Add quality gates:
- Did it preserve correct TDD behavior?
- Did it still mention required test commands/policy?
- Did the user-facing answer remain understandable?
- Did it avoid compressing code, commits, repo docs, or safety warnings?
Useful score:
```text
net_savings = normal_total_tokens - terse_total_tokens
output_savings_pct = 1 - (terse_output_tokens / normal_output_tokens)
break_even_turns = terse_guide_input_tokens / avg_output_tokens_saved_per_turn
```
I’d call the experiment successful only if terse mode reduces **output tokens by 30-50%** on routine replies, keeps **total tokens lower after guide overhead**, and causes **zero TDD policy regressions**.
---
**User**
okay. Do you think it will create problems for us if we keep /tdd the way it is, move most or all of our /caveman persona into a gude, and then recreate /caveman as a subclass of /tdd? Testing this is going to be difficult no matter what.
---
**Cursor**
Policy impact: **risky if `/caveman` becomes a `/tdd` subclass**. Safer if caveman is treated as an **optional communication style** that any persona, including `/tdd`, can opt into.
Main problem: `/caveman` currently means “talk terse.” If you recreate it as “terse `/tdd`,” then `/caveman` silently changes from a voice/register mode into a workflow persona. That can confuse users and agents:
- User wants terse `/frontend`; `/caveman` accidentally implies `/tdd`.
- Agent loads TDD rules when the task is only communication style.
- `/tdd` and `/caveman` start competing over whether this is a work mode or a reply style.
- Testing gets harder because failures could come from TDD behavior, terse behavior, or composition order.
I’d design it this way instead:
- Keep `/tdd` as-is.
- Move the reusable caveman rules into an optional guide, likely `docs/team/agents/terse-dialogue.md`.
- Keep `/caveman` as a **style adapter**, not a subclass: “activate terse dialogue; do not change task persona.”
- Add a separate explicit composition if useful: `/tdd-caveman` or `/tdd terse`, whose contract is “load `/tdd` first, then apply terse dialogue only to natural-language replies.”
That gives you the thing you want without overloading names. The key invariant should be:
```text
Task persona controls what work to do.
Terse guide controls how chat replies sound.
Terse guide never overrides task persona, tooling, testing, safety, or repo rules.
```
Testing will still be fuzzy, but this structure makes regressions easier to reason about. You can audit composition order and policy boundaries without proving exact token savings.
---
**User**
okay. Let's run the test.
---
**Cursor**
I’ll turn the earlier A/B idea into a small repeatable benchmark first, then run whatever we can locally. I’ll check `/tdd`, the terse guide, and project tooling so the test matches the repo’s actual persona composition.
The repo already has `/tdd` opting into `terse-dialogue.md`, so the clean experiment is composition overhead plus sample reply compression. I’ll build a local token-count harness from fixed prompts/responses; if no tokenizer package is installed, I’ll use a documented approximation.
`tiktoken` is not installed, so this run will be a proxy benchmark, not provider billing truth. I’ll report it that way: estimated tokens from fixed scenarios plus guide/persona overhead.
Policy impact: **safe if kept as optional style; not worth making `/caveman` a `/tdd` subclass.**
I ran a local proxy benchmark using fixed `/tdd`-style replies. It is not provider billing truth because `tiktoken` is not installed and we do not have model usage counters here, so I used the common `bytes / 4` estimate.
Results:
- `/tdd` persona overhead: ~3,037 tokens
- existing `terse-dialogue.md` overhead: ~494 tokens
- current `/caveman` skill overhead: ~914 tokens
- hypothetical compact guide overhead: ~229 tokens
- sample reply savings: ~184 tokens across 6 replies, about **49% output-token reduction**
Break-even estimate:
- existing terse guide: ~16 comparable replies
- current caveman skill: ~30 comparable replies
- compact guide: ~8 comparable replies
Takeaway: terse style can plausibly cut **assistant reply tokens** by 40-50% on routine `/tdd` chatter, but guide overhead matters a lot. The best design is probably:
```text
/tdd unchanged
+ short optional terse guide
+ /caveman as style toggle, not /tdd subclass
```
No repo files changed.
---
**User**
how would we invoke /tdd with the /caveman style?
---
**Cursor**
Best invocation would be explicit composition:
```text
/tdd with caveman style
```
or:
```text
/tdd terse
```
Contract should mean:
```text
Load /tdd as the task persona.
Apply caveman/terse guide only to natural-language chat replies.
Do not change TDD rules, tooling policy, safety, code, tests, commits, or docs.
```
I’d avoid making plain `/caveman` imply `/tdd`. Use `/caveman` as a global style toggle, then invoke `/tdd` normally:
```text
/caveman
/tdd help me drive this feature test-first
```
That should mean “do TDD work, speak terse.”
---
**User**
is it better to invoke like:
/caveman /tdd
vs
/tdd /caveman
---
**Cursor**
Better: `/tdd /caveman`.
Reason: task persona first, style second.
Meaning:
```text
/tdd /caveman
= do TDD work; speak caveman
```
Avoid:
```text
/caveman /tdd
```
Risk: parser/agent may treat `/caveman` as main command, then `/tdd` as text or ignored modifier.
Best explicit form:
```text
/tdd with caveman style
```
or
```text
/tdd terse
```
---
**User**
thanks.
---
**Cursor**
Np. Caveman active until `normal mode` or `stop caveman`.
---
**User**
grug say tx. :)
---
**Cursor**
Grug welcome. Good docs become smaller.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment