StarNet is a local-first desktop harness for creating AI agents and arranging them in a pixel-art space station whose layout represents their capabilities, permissions, and workflow. It lets people run real model calls and tools through multiple bounded agents, using their own provider keys or accounts and optionally messaging the station through chat services. The catalogue entries are skills that extend or support work performed by StarNet agents.
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 skills add androoAGI/starnet --skill notebook-gardeninggit clone --depth 1 https://github.com/androoAGI/starnetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/androoagi/starnet/notebook-gardening)<a href="https://agentmods.dev/skills/androoagi/starnet/notebook-gardening"><img src="https://agentmods.dev/badge/skills/androoagi/starnet/notebook-gardening/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/androoagi/starnet/notebook-gardening"><img src="https://agentmods.dev/badge/skills/androoagi/starnet/notebook-gardening.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00039 | $0.00814 |
| Opus 5.5 | $0.00016 | $0.00326 |
| Sonnet 5.5 | $0.00008 | $0.00163 |
| Haiku 4.5 | $0.00004 | $0.00081 |
Grade A, and why
notebook-gardening 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 12d 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.
How it starts
The opening of the file, as written. The whole thing — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The notebook is recalled into future runs automatically. A wrong belief in it is worse than a missing one: it gets repeated with confidence until someone notices. Gardening is a correction pass, not tidying for its own sake.
Know your reach. notebook.write corrects an entry in place (the old text is archived, out of active recall). notebook.feedback raises or sinks an entry's trust. Nothing you hold deletes an entry — forgetting is the Commander's, in the agent's Dossier, MEMORY tab. And your notebook is your own; another agent's notes are out of reach.
Method
- Read it all (notebook.read with no query). Note the count. For a large notebook, work one topic at a time with
query. - Sort each entry into one bucket: keep, merge, correct, stale, or not memory. Not memory = task progress, completed-work logs, ids, facts that go stale within a week, or a procedure (procedures belong in a skill).
- Trace the source of anything doubtful. recall_conversation finds where a belief came from in past dialogue: search with
query, then read the moment in context witharound. A belief with no traceable source and no confirmation is a candidate for sinking, not keeping. - Merge duplicates into the best-worded entry. Rewrite that one with notebook.write using
replaceIdand its exact currentpreviousBody, so it carries the whole fact. Rate the redundant copiesunhelpfulwith notebook.feedback so they rank below it, and list them for the Commander to forget. - Correct wrong beliefs in place. notebook.write with
replaceId+ the exactpreviousBody. Never add a second, contradicting entry withdistinct: true— that leaves the wrong one active. If the tool says the memory changed since you read it, read it again and retry. - Write facts, not orders, with their source. "Commander prefers invoices as PDF (said in chat, 2026-09-12)" — declarative, dated, sourced. Not "Always send PDFs": an imperative is re-read later as a standing order.
- Scope it right. Project requirements use
scope: stream; only preferences that apply across projects areglobal. Pin only explicit, approved, reusable requirements. - Sink the stale. A belief that was true once but is not now: correct it if you know the new truth; otherwise rate it
unhelpfulso it fades from recall, and list it for review. - Reward what held up. An entry you checked and found accurate gets
helpful.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 12d ago First seen · 39 lines · 39 tokens per session scan A 3f12ded04361
notebook-gardening is a skill published in the GitHub repository androoAGI/starnet (1,468 stars, last pushed 3d ago), licensed MIT. It adds 39 tokens to every session and 814 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-04.
Other skills, from other repositories
context-engineering
Use when designing, reviewing, or debugging how an agent's context window gets filled, pruned, or shared — choosing what loads at boot versus on demand, sizing an install or an always-loaded file, fixing an agent that drifts, repeats itself, or forgets constraints mid-task, planning compaction or summarization…
claude-compaction-restore
Use when a Claude Code session is about to compact, has just compacted, reached its context limit, resumed after /compact, or must rebuild its working picture of a long-running seat from its own restore map, its JSONL transcript and the files it touched.
retiring-and-inheriting-a-seat
Use when you are a sitting agent near your context threshold (85%) and a PLANNED seat transition is due — retire deliberately and hand your seat to a fresh successor primed from a packet, rather than let compaction degrade you. Covers the handover packet, the append-only lineage ledger (one row per tenure)…
knowledge-base
Skill "knowledge-base" from Pinvou/pinvou-agent, covering ima knowledge base, operations, routing rules, examples and file upload guard.
notes
Skill "notes" from Pinvou/pinvou-agent, covering ima notes, operations, write rules, examples and response handling.
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…