Kubeshark Installer
kubeshark/kubeshark
Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.
Install a per-turn canary signal (e.g. An agent skill from JuliusBrussee/skills.
$ npx skills add JuliusBrussee/skills --skill context-canary -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JuliusBrussee/skills context-canary --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/context-canary .claude/skills/context-canary && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .claude/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JuliusBrussee/skills/tree/main/skills/context-canaryType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JuliusBrussee/skills --skill context-canary -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JuliusBrussee/skills context-canary --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/context-canary .agents/skills/context-canary && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .agents/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JuliusBrussee/skills --skill context-canary -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JuliusBrussee/skills context-canary --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/context-canary .cursor/skills/context-canary && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .cursor/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JuliusBrussee/skills.git --path skills/context-canary--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JuliusBrussee/skills --skill context-canary -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JuliusBrussee/skills context-canary --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/context-canary .gemini/skills/context-canary && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .gemini/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JuliusBrussee/skills context-canaryInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JuliusBrussee/skills --skill context-canary -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/context-canary .github/skills/context-canary && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .github/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JuliusBrussee/skills --skill context-canary -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JuliusBrussee/skills context-canary --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JuliusBrussee/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/context-canary .opencode/skills/context-canary && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "context-canary" agent skill from https://github.com/JuliusBrussee/skills/tree/main/skills/context-canary into .opencode/skills/context-canary/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "context-canary", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
context-canaryInstall a per-turn canary signal (e.g. An agent skill from JuliusBrussee/skills.
Context Canary is an agent skill from JuliusBrussee/skills. Install a per-turn canary signal (e.g. starting every reply with the user's name and a turn counter) so silent context degradation becomes visible the moment it happens, and run a recovery protocol when the canary trips. Use when the user mentions a "canary", "context canary", or "canary check", asks to detect context rot / compaction / drift, says "you stopped using my name" or "did you lose context", asks "how degraded is your context", or wants an early-warning system for long agent sessions.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/research.md`).
It sits in DevOps & Cloud, covering Deployment. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8470b26. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context Canary loads about 1.6k tokens when it runs, and up to ~3.4k if it reads all its reference files. Until then it costs about 129 tokens; SKILL.md has 905 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JuliusBrussee/skills at commit 8470b26, republished under its MIT licence (© JuliusBrussee). 905 words, ~1,636 tokens.
.claude/skills/context-canary/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A context canary is a trivially checkable standing instruction whose only job is to fail visibly. The classic form: "start every response with my name." The agent costs almost nothing to comply — so when the name disappears, that absence is data. The instruction didn't get harder; the agent's hold on its early-context instructions got weaker. Like the coal-mine canary, it dies first, before the failures you actually care about (forgotten constraints, ignored conventions, re-litigated decisions) start landing in your code.
This works because context degradation is silent and gradual. Models don't announce that they've stopped attending to instructions from 80k tokens ago, and compaction summaries quietly drop standing instructions. The canary converts an invisible failure into a binary, per-turn, zero-effort check. The research behind why this happens — context rot, lost-in-the-middle, instruction drift, compaction loss — is in references/research.md.
When invoked, install the canary by stating the contract explicitly in one short message, then follow it. Default format — first line of every response from then on:
**Julius · t14 · ctx ok**Three fields, each probing something different:
| Field | Example | What its failure means |
|---|---|---|
| Name | Julius | The standing instruction itself fell out of effective context — adherence drift or compaction dropped it. |
| Turn counter | t14 | Increment by 1 every response. A reset, skip, or repeat means continuity broke — almost always compaction or a summarization boundary. |
| Self-check | ctx ok / ctx aging / ctx thin | The agent's honest estimate. aging: the session is long and early details are getting summarized in its own working sense of the task. thin: the agent is reconstructing earlier decisions instead of remembering them. |
Use the user's actual name (ask if unknown). If the user wants the minimal version, name-only is fine — it's the original trick and still catches the big failures. Never explain, apologize for, or decorate the canary line; it must stay byte-stable so a human can pattern-match it in half a second.
Session canary vs. standing canary. A canary that lives only in the conversation tests whether conversation context survives (compaction, truncation, drift). A canary written into CLAUDE.md or agent memory survives compaction by design — which means it tests whether file-based instructions are being attended to, a different and weaker signal. Default to the session canary; that's the one that detects degradation. Offer the standing variant only if the user wants the habit across all sessions, and tell them what it no longer measures.
t? and flag it, never guess a plausible number.ctx ok by reflex defeats the entire instrument.A trip is: the canary missing, malformed, a counter discontinuity, or an agent-side self-declaration.
Calibrate before alarming — one missed canary on an otherwise coherent response is a warning (note it, resume the canary, keep going). Two consecutive misses, a counter discontinuity, or the agent failing its own contract check is a confirmed trip. Then:
HANDOFF.md or notes file in the repo works.CLAUDE.md, the original task statement) and the checkpoint. State back to the user, in three or four lines, what you believe the task and constraints are — so they can correct any drift cheaply.t1, noting the generation: t1 (gen 2).Never silently resume the canary after a gap as if nothing happened — that destroys the instrument's credibility, which is all it has.
The test is one-sided. A missing canary is strong evidence of degradation. A present canary is weak evidence of health — a cheap stylistic habit can survive while harder constraints (architecture decisions, "never touch X") quietly rot, and a canary stuffed into memory files can outlive the context it was meant to monitor. Treat the canary as a smoke detector, not a structural inspection: when it fires, act; when it's quiet, stay reasonably suspicious in sessions past roughly 50% of the context window or after any compaction event.
Pair it with the cheap structural habits that reduce what the canary has to catch: keep durable decisions in files instead of chat, compact at deliberate boundaries instead of waiting for forced compaction, and prefer fresh sessions per task over one immortal session. Details and sources in references/research.md.
© JuliusBrussee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in skills/context-canary of JuliusBrussee/skills.
Open the folder on GitHubat commit 8470b26
Context Canary next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Context Canary this skillJuliusBrussee/skills | 162 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Kubeshark Installerkubeshark/kubeshark | 12k | — | ~3.6k | Automated safety check: Notes | Apache-2.0 | |
| GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb | 6.7k | — | ~4k | Automated safety check: Notes | Apache-2.0 | |
| KubeSphere ServiceMesh Managerkubesphere/kubesphere | 17k | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Vercelremotion-dev/remotion | 63k | — | ~1.2k | Automated safety check: Pass | Custom licence | |
| AWS Cdk Developmentzxkane/aws-skills | 367 | 2 repos | ~2.5k | Automated safety check: Pass | MIT |
kubeshark/kubeshark
Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.
GreptimeTeam/greptimedb
Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.
kubesphere/kubesphere
Installs, checks and troubleshoots the KubeSphere ServiceMesh extension (Istio, Kiali, Jaeger), including grayscale release, sidecar injection, topology and tracing issues.
remotion-dev/remotion
Set up a Codex monitor for Vercel deployments and preview URLs.
zxkane/aws-skills
AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.
maslennikov-ig/claude-code-orchestrator-kit
Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…
JuliusBrussee/skills
Adversarial senior-engineer review for agent-generated plans, designs, and architectures.
JuliusBrussee/skills
Authoritative guide for implementing stunning, accessible, performant UI.
JuliusBrussee/skills
Run a spec-driven agent loop where coding tasks live as markdown specs that move through inbox → active → archive, get implemented by Claude Code or Codex, and pass a review gate before they count…
JuliusBrussee/skills
Calibrated grilling session for stress-testing a plan, design, idea, or decision.
JuliusBrussee/skills
De-slop pass for any text. An agent skill from JuliusBrussee/skills.
Categories
Install a per-turn canary signal (e.g. An agent skill from JuliusBrussee/skills. Context Canary is an agent skill from JuliusBrussee/skills.g.
Context Canary fits situations like: the user mentions a canary; asks to detect context rot / compaction / drift; says you stopped using my name; did you lose context.
Run `npx skills add JuliusBrussee/skills --skill context-canary -a claude-code`. Or copy the skill folder (skills/context-canary in JuliusBrussee/skills) into .claude/skills/context-canary in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JuliusBrussee/skills --skill context-canary -a codex`. Or copy the skill folder (skills/context-canary in JuliusBrussee/skills) into .agents/skills/context-canary in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JuliusBrussee/skills --skill context-canary -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/context-canary, .gemini/skills/context-canary, .github/skills/context-canary and .opencode/skills/context-canary in your project.
SKILL.md names no scripts, command-line tools or credentials: Context Canary is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Context Canary is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Context Canary: Kubeshark Installer (kubeshark/kubeshark, 12k stars), GreptimeDB Dev Docker Image (GreptimeTeam/greptimedb, 6.7k stars), KubeSphere ServiceMesh Manager (kubesphere/kubesphere, 17k stars) and Vercel (remotion-dev/remotion, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JuliusBrussee (a GitHub user) maintains it in JuliusBrussee/skills, which has 162 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on August 7, 2026.
Source: JuliusBrussee/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.