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 fix-failing-cigit 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/fix-failing-ci)<a href="https://agentmods.dev/skills/androoagi/starnet/fix-failing-ci"><img src="https://agentmods.dev/badge/skills/androoagi/starnet/fix-failing-ci/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/fix-failing-ci"><img src="https://agentmods.dev/badge/skills/androoagi/starnet/fix-failing-ci.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.00045 | $0.01252 |
| Opus 5.5 | $0.00018 | $0.00501 |
| Sonnet 5.5 | $0.00009 | $0.00250 |
| Haiku 4.5 | $0.00005 | $0.00125 |
Grade A, and why
fix-failing-ci 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 — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
A red check is a claim that something is broken. Your job is to find out whether the claim is true and fix what is broken — not to make the mark turn green. The bar: you can quote the first real error, name its cause, and show the same command failing before your change and passing after.
Method
- Pick the road to GitHub. Run
gh --versionandgh auth status(shell.exec). Both succeed: usegh. Otherwise look for the connected GitHub account's tools (tool.search "github") and use the names it returns, never guessed ones. Neither: stop and tell the Commander to install and sign in to the GitHub CLI from its official site, or connect GitHub in ABILITIES. - Find the failing run.
gh pr checks <number>for a pull request, orgh run list --branch <branch> --status failure --limit 10. Note the run id, workflow, failing job and step, and the commit it ran on. Check that commit is what you have checked out (git rev-parse HEAD,git status); a fix proven on a different commit proves nothing. Uncommitted work that is not yours: stop and ask. - Read the log for the FIRST real error.
gh run view <run-id> --log-failed, redirected to a file in your workspace when it is long, then fs.search it. The last line is usually just "exit code 1". Walk up to the first failed assertion, compile error or stack trace; most of what follows is fallout. Quote it with its job and step. - Read how CI runs it. fs.read the workflow file under
.github/workflows/: the exact command, runtime versions, operating system, services, and the names of the variables it sets. - Reproduce it here with the same command (shell.exec or verify.run; a call runs 30 seconds unless you raise
timeoutMs, 10 minutes at most). Same error locally: that command is your loop. Passes locally: the difference is the finding — version, operating system, a variable that is set in CI and not here, test order, a clean checkout against your cached one. Name it. - Sort flaky and infrastructure from real, with evidence. Infrastructure: the log shows a network timeout, a failed download or a lost runner before any project code ran. Flaky: the same commit both passed and failed (
gh run list --commit <sha>), or repeated local runs disagree. No such evidence means it is real. A flake is still a bug — say what races. Re-running the job (gh run rerun <run-id> --failed) is outward-facing and waits for the go-ahead. - Fix the root cause. One stated hypothesis, the smallest change that answers it (fs.edit / fs.patch). If the test itself is wrong — it asserts something the product never promised — show why before you touch it.
- Prove it here. The command from step 5 now passes; then run everything that workflow runs (tests, lint, type checks) so the fix did not break a neighbour.
- Hold, then push. Show the Commander the diff and the commit message. With the go-ahead (or if it was already given), commit only the files you changed and push.
- Watch the new run to green.
gh run watch <run-id> --exit-statusorgh pr checks <number> --watch; if your call times out first, check again withgh run view <run-id>until it finishes. A new error: back to step 3. The same error: your cause was wrong — say so.
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 · 40 lines · 45 tokens per session scan A 465e223befa3
fix-failing-ci is a skill published in the GitHub repository androoAGI/starnet (1,468 stars, last pushed 3d ago), licensed MIT. It adds 45 tokens to every session and 1,252 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
Debug (reproduce -> isolate -> fix)
Systematically diagnose and fix a bug instead of guessing.
ci-debugger
A guide for finding the first useful cause of a failed build, test, packaging, deployment, or continuous-integration job. Continuous integration, or CI, automatically checks code in a hosted pipeline.
ci-triage
How to find out why a GitHub Actions run failed, and how to tell a real failure from a flake or an infrastructure problem. Use when a check is red, a workflow is stuck, or a run needs re-running.
ci-triage
Parse CI failures, identify failing job/step, classify as flake, regression, env, or config. Use in CI sweeper loops before any fix attempt.
html-ppt-zhangzara-block-frame
Rescuing a messy startup deck into a board-grade system — the diagnosis, the page grammar, and the rebuilt proof pages. Built as a decision-grade design craft deck for founders, exec presenter.
operating-github-ci-fixer
Use when the user asks OpenSRE to fix failing GitHub CI, GitHub Actions checks, failing pull request checks, a broken PR branch, or CI on a named branch such as main.