Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/griffinwork40/agent-framework/ground-statenpx skills add griffinwork40/agent-framework --skill ground-stategit clone --depth 1 https://github.com/griffinwork40/agent-frameworkWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00075 | $0.01875 |
| Opus 5 | $0.00037 | $0.00937 |
| Sonnet 5 | $0.00015 | $0.00375 |
| Haiku 4.5 | $0.00007 | $0.00187 |
Grade A, and why
ground-state scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to ground-state — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 107 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Sub-agent contract
/contract
Constraint: read-only reconnaissance. You MUST NOT call edit_file, write_file, or any mutating bash command (no git commit, git push, git checkout, mv, rm, file redirection, package installs, etc.). Read-only tools only: read_file, grep, glob, list_directory, memory_search, and read-only bash (git status, git log, git diff, cat, ls, find, etc.). memory_search is non-mutating and is the only way to reach the cross-session fact archive — it is in scope for this skill, do not strip it from this list.
If the survey reveals a fix that's tempting to apply, return it as a recommendation in the snapshot — the orchestrator decides whether to act. Even if the invoking brief sounds prescriptive ("draft the edit", "apply the change"), this skill stops at the snapshot and the preamble artifact. The orchestrator dispatches a separate implementation step afterward.
Inline reconnaissance
Run the three surveys below directly using your own tools. Do NOT dispatch any sub-agents via the agent or skill tools — every lookup in this phase is a deterministic read that you execute yourself using bash, glob, read_file, grep, list_directory, and memory_search. Issue all three surveys in a single batched tool-use round where possible.
State survey (bash)
Issue these commands (combine into one or two bash calls):
git symbolic-ref --short HEAD— current branchgit rev-parse HEAD— HEAD SHAgit status -s— uncommitted changesgit log --oneline -5— recent commit historygit stash list— stash stategit rev-list --left-right --count HEAD...@{upstream} 2>/dev/null— upstream divergence
Adapt what you surface to the domain:
| Domain | What to flag |
|---|---|
software |
Branch, recent commits, uncommitted changes, stash, upstream divergence. Flag: diverged, uncommitted, stale. |
research |
Version-controlled artifact state, current phase, publication target/deadline if discoverable. |
design |
Design system version, component library state, current phase, recent file changes. |
business |
Financial model freshness, market data recency, current project phase. |
| (other) | Recent changes, current project phase, any state that could cause conflicts. |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 107 lines · 75 tokens per session scan A 5c924f6a685e
ground-state is a skill published in the GitHub repository griffinwork40/agent-framework (23 stars, last pushed 8d ago), licensed Apache-2.0. It adds 75 tokens to every session and 1,875 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to ground-state, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…