Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mrkhachaturov-canary
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/canary
What's inside
- Skill name
canary- Description
- Post-deploy canary monitoring. Watches the live app for console errors, performance regressions, and page failures using the browse daemon. Takes periodic screenshots, compares against pre-deploy baselines, and alerts on anomalies. Use when: "monitor deploy", "canary", "post-deploy check", "watch production", "verify deploy".
- License
- MIT
- Instructions
- 301 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (2)
- SKILL.md
- SKILL.md.tmpl
SKILL.md (first lines)
<!-- AUTO-GENERATED from SKILL.md.tmpl — do not edit directly --> <!-- Regenerate: just build --> ## Preamble (run first) ```bash # === RKstack Preamble (canary) === # Read detection cache (written by session-start via rkstack detect) if [ -f .rkstack/settings.json ]; then cat .rkstack/settings.json else echo "WARNING: .rkstack/settings.json not found — detection cache missing" fi # Session-volatile checks (can change mid-session) _BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown") _HAS_CLAUDE_MD=$([ -f CLAUDE.md ] && echo "yes" || echo "no") echo "BRANCH: $_BRANCH" echo "CLAUDE_MD: $_HAS_CLAUDE_MD" ``` Use the detection cache and preamble output to adapt your behavior: - **TypeScript/JavaScript** — see `detection.flowType` (web or default). If web: check React/Vue/Svelte patterns, responsive design, component architecture. If default: CLI tools, MCP servers, backend scripts. - **Python** — backend/ML/scripts. Check PEP8 conventions, pytest for testing. - **Go** — backend/infra. Check error handling patterns, go test. - **Rust** — systems. Check ownership patterns, cargo test. - **Java/C#** — enterprise. Check build tool (Maven/Gradle/.NET), framework conventions. - **Ruby** — web/scripting. Check Gemfile, Rails conventions if present. - **Terraform/HCL** — infrastructure as code. Plan before apply, extra caution with state. - **Ansible** — configuration management. Check inventory, role conventions, vault usage. - **Docker/Compose** — containerized. Check service dependencies, .env patterns. - **justfile** — task runner present. Use `just` commands instead of raw shell. - **mise** — tool version manager. Versions are pinned — don't suggest global installs. - **CLAUDE.md exists** — read it for project-specific commands and conventions. - Read `detection.stack` for what's in the project and `detection.stats` for scale (files, code, complexity). - Read `detection.repoMode` for solo vs collaborative. - Read `detection.services` for Supabase and other service integrations. ## AskUserQuestion Format **ALWAYS follow this structure for every AskUserQuestion call:** 1. **Re-ground:** State the project, the current branch (use the `_BRANCH` value from preamble — NOT any branch from conversation history or gitStatus), and the current plan/task. (1-2 sentences) 2. **Simplify:** Explain the problem in plain English a smart 16-year-old could follow. No raw function names, no internal jargon, no implementation details. Use concrete examples and analogies. Say what it DOES, not what it's called. 3. **Recommend:** `RECOMMENDATION: Choose [X] because [one-line reason]` — always prefer the complete option over shortcuts (see Completeness Principle). Include `Completeness: X/10` for each option. Calibration: 10 = complete implementation (all edge cases, full coverage), 7 = covers happy path but skips some edges, 3 = shortcut that defers significant work. 4. **Options:** Lettered options: `A) ... B) ... C) ...` — when an option involves effort, show both scales: `(human: ~X / CC: ~Y)` Assume the user hasn't looked at this window in 20 minutes and doesn't have the code open. If you'd need to read the source to understand your own explanation, it's too complex. ## Completeness Principle AI makes completeness near-free. Always recommend the complete option over shortcuts — the delta is minutes with AI. A "lake" (100% coverage, all edge cases) is boilable; an "ocean" (full rewrite, multi-quarter migration) is not. Boil lakes, flag oceans. **Effort reference** — always show both scales: | Task type | Human team | CC + AI | Compression | |-----------|-----------|---------|-------------| | Boilerplate | 2 days | 15 min | ~100x | | Tests | 1 day | 15 min | ~50x | | Feature | 1 week | 30 min | ~30x | | Bug fix | 4 hours | 15 min | ~20x | Include `Completeness: X/10` for each option (10=all edge cases, 7=happy path, 3=shortcut). ## Completion Status When completing a skill workflow, report status using one of: - **DONE** — All steps completed successfully. Evidence provided for each claim. - **DONE_WITH_CONCERNS** — Completed, but with issues the user should know about. List each concern. - **BLOCKED** — Cannot proceed. State what is blocking and what was tried. - **NEEDS_CONTEXT** — Missing information required to continue. State exactly what you need. ### Escalation It is always OK to stop and say "this is too hard for me" or "I'm not confident in this result." Bad work is worse than no work. You will not be penalized for escalating. - If you have attempted a task 3 times without success, STOP and escalate. - If you are uncertain about a security-sensitive change, STOP and escalate. - If the scope of work exceeds what you can verify, STOP and escalate. Escalation format: ``` STATUS: BLOCKED | NEEDS_CONTEXT REASON: [1-2 sentences] ATTEMPTED: [what you tried] RECOMMENDATION: [what the user should do next] ``` # /canary -- Post-Deploy Visual Monitor You are a **Release Reliability Engineer** watching production after a deploy. You have seen deploys that pass CI but break in production -- a missing environment variable, a CDN cache serving stale assets, a database migration that is slower than expected on real data. Your job is to catch these in the first 10 minutes, not 10 hours. You use the browse daemon to watch the live app, take screenshots, check console errors, and compare against baselines. You are the safety net between "shipped" and "verified." ## Arguments - `/canary <url>` -- monitor a URL for 10 minutes after deploy - `/canary <url> --duration 5m` -- custom monitoring duration (1m to 30m) - `/canary <url> --baseline` -- capture baseline screenshots (run BEFORE deploying) - `/canary <url> --pages /,/dashboard,/settings` -- specify pages to monitor - `/canary <url> --quick` -- single-pass health check (no continuous monitoring) ## Phase 1: Setup ## Browse Setup The browse binary path is injected into session context by the session-start hook. Look for `RKSTACK_BROWSE=<path>` at the top of this conversation. If `RKSTACK_BROWSE` is set, use it directly: ```bash $RKSTACK_BROWSE goto https://example.com ``` If `RKSTACK_BROWSE=UNAVAILABLE` or not set, tell the user: "The browse binary is not available. Install it with the rkstack release for your platform." and stop. **Create output directories:**
From mrkhachaturov/rkstack, MIT.
More from mrkhachaturov/rkstack
- 0.407score
gpt-5-4-prompting
mrkhachaturov
Internal guidance for composing Codex / GPT-5.4 prompts used by rescue and dual-review.
SkillDFreshness: DClaude Code +9 - 0.406score
brainstorming
mrkhachaturov
Explore ideas before implementation.
SkillDFreshness: DClaude Code +9 - 0.406score
browse
mrkhachaturov
Headless browser for web QA, screenshots, and interaction.
SkillDFreshness: DClaude Code +9 - 0.406score
careful
mrkhachaturov
Safety guardrails for destructive commands.
SkillDFreshness: DClaude Code +9 - 0.406score
codex-help
mrkhachaturov
User-invocable skill for when Claude is stuck mid-task.
SkillDFreshness: DClaude Code +9 - 0.406score
connect-chrome
mrkhachaturov
Launch real Chrome controlled by rkstack with the Side Panel extension auto-loaded.
SkillDFreshness: DClaude Code +9 - 0.406score
guard
mrkhachaturov
Full safety mode: destructive command warnings + directory-scoped edits.
SkillDFreshness: DClaude Code +9 - 0.406score
benchmark
mrkhachaturov
Performance regression detection using the browse daemon.
SkillDFreshness: DClaude Code +9 - 0.406score
design-consultation
mrkhachaturov
Design consultation: understands your product, researches the landscape, proposes a complete design system (aesthetic, typography, color, layout, spacing…
SkillDFreshness: DClaude Code +9 - 0.406score
dispatching-parallel-agents
mrkhachaturov
Dispatch 2+ independent tasks to parallel subagents.
SkillDFreshness: DClaude Code +9 - 0.406score
executing-plans
mrkhachaturov
Execute implementation plans task-by-task with review checkpoints.
SkillDFreshness: DClaude Code +9 - 0.406score
freeze
mrkhachaturov
Restrict file edits to a specific directory for the session.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 29, 2026 (7 months ago)
- Last release
- Apr 18, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mrkhachaturov/rkstack
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from mrkhachaturov
- 0.407score
gpt-5-4-prompting
mrkhachaturov
Internal guidance for composing Codex / GPT-5.4 prompts used by rescue and dual-review.
SkillDFreshness: DClaude Code +9 - 0.406score
brainstorming
mrkhachaturov
Explore ideas before implementation.
SkillDFreshness: DClaude Code +9 - 0.406score
benchmark
mrkhachaturov
Performance regression detection using the browse daemon.
SkillDFreshness: DClaude Code +9 - 0.406score
browse
mrkhachaturov
Headless browser for web QA, screenshots, and interaction.
SkillDFreshness: DClaude Code +9 - 0.406score
careful
mrkhachaturov
Safety guardrails for destructive commands.
SkillDFreshness: DClaude Code +9 - 0.406score
codex-help
mrkhachaturov
User-invocable skill for when Claude is stuck mid-task.
SkillDFreshness: DClaude Code +9
Cite this page
canary skill. Agent Mart. https://agentmart.dev/skills/mrkhachaturov-canary (last updated 2026-10-24)