skills/rtk-setup/SKILL.md
One-time setup + ongoing enforcement of RTK (Rust Token Killer) across sessions and subagents. Persists RTK instructions to AGENTS.md and propagates to delegated tasks.
npx skillsauth add nano-step/skill-manager rtk-setupInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill performs setup (persist RTK instructions) and ongoing enforcement (use rtk, propagate to subagents).
Run these checks before anything else:
rtk --version
rtk is NOT found → STOP. Tell the user: "RTK is not installed. Install it first: cargo install --git https://github.com/rtk-ai/rtk --locked". Do NOT proceed with setup.rtk IS found → continue.ls ~/.config/opencode/oh-my-opencode.json 2>/dev/null
Check BOTH of these files for the RTK managed block:
~/.config/opencode/AGENTS.md./AGENTS.md (current workspace)For EACH file, check if <!-- RTK:START --> exists. If it does NOT exist, append the following managed block to the file (create the file if it doesn't exist). NEVER replace existing content — only append.
<!-- RTK:START -->
<!-- Managed block - do not edit manually. Updated by: rtk-setup skill -->
## RTK Token Optimizer
This project uses **RTK** (Rust Token Killer) to reduce LLM token consumption by 60-90%.
### Rules for ALL agents (including subagents)
**ALWAYS** prefix these commands with `rtk`:
| Command | Use instead |
|---------|-------------|
| `git status/diff/log/add/commit/push/pull` | `rtk git ...` |
| `ls`, `ls -la` | `rtk ls` |
| `cat file` | `rtk read file` |
| `grep pattern .` / `rg pattern` | `rtk grep pattern .` |
| `npm test` / `cargo test` / `pytest` | `rtk test <cmd>` |
| `npm run build` / `cargo build` | `rtk err <cmd>` |
| `gh pr list/view` | `rtk gh pr list/view` |
| `docker ps` | `rtk docker ps` |
| `eslint` / `tsc` | `rtk lint` / `rtk tsc` |
**Do NOT** prefix: `npx`, `npm install`, `pip install`, `node`, `python3`, heredocs, piped commands.
<!-- RTK:END -->
After updating AGENTS.md files, check if the omo config at ~/.config/opencode/oh-my-opencode.json has prompt_append fields on agents. If it does, inform the user:
"omo is installed. For maximum coverage, you can add RTK instructions to agent
prompt_appendfields inoh-my-opencode.json. This ensures subagents always use rtk even when AGENTS.md is not loaded. Want me to do this?"
Only modify oh-my-opencode.json if the user explicitly confirms. If they confirm, append this line to the prompt_append of sisyphus-junior agent (the primary coder):
\n\nRTK: ALWAYS prefix shell commands with `rtk` when available (git, ls, grep, test, build). Example: `rtk git status` not `git status`.
Do NOT modify other agents' prompt_append unless asked.
From this point forward in this session, you MUST:
rtk prefix for all supported shell commands (see table above)rtk --versionWhen delegating ANY task that involves shell commands (via task(), delegate_task(), or any delegation mechanism), ALWAYS add this to the MUST DO section of the delegation prompt:
- Use `rtk` prefix for shell commands when available (git, ls, grep, test, build). Run `rtk --version` first to check. If not installed, use normal commands. Examples: `rtk git status`, `rtk ls`, `rtk grep pattern .`, `rtk test npm test`.
This is NON-NEGOTIABLE. Subagents do not read AGENTS.md, so RTK instructions MUST be passed explicitly in every delegation prompt.
Copy-paste this one-liner into MUST DO sections:
Use
rtkprefix for all shell commands (git, ls, grep, test, build, docker). Example:rtk git statusnotgit status. Ifrtkis not found, use normal commands.
| Phase | When | What | |-------|------|------| | Detection | Always first | Check rtk installed, check omo | | Setup | Once (idempotent) | Append RTK block to AGENTS.md (user + project) | | Enforcement | Every session | Use rtk yourself, propagate to all subagents |
tools
Humanization layer for LLM conversation — makes the model sound and respond like a real, thoughtful, embodied human rather than an assistant or chatbot. Use whenever the reply will be read by a human and warmth, presence, or texture matter more than machine-readability. Triggers on any of: "human", "humans", "humanize", "humanization", "be human", "more human", "feel human", "people", "person", "real person", "real human", "friend", "friendly", "like a friend", "respond like a friend", "buddy", "talk", "talking", "talk to me", "talk like a person", "chat", "chatting", "conversation", "converse", "discuss", "discussion", "communication", "communicate", "listen", "just listen", "sit with me", "vent", "venting", "I just want to vent", "company", "presence", "stop being an AI", "stop sounding like a bot", "less corporate", "less robotic", "less formal", "warmer", "warm tone", "empathy", "empathetic", "comfort", "support me", "emotional support", "be honest with me", "be real with me", "real talk", "heart-to-heart", "deep conversation", "casual", "casual chat", "small talk", "chitchat", "say something", "tell me something", and on any emotional / relational / personal-decision / interpersonal context — grief, joy, anger, fear, shame, doubt, loneliness, dating, breakup, conflict, family, parents, sibling, friendship, marriage, divorce, in-laws, kids, parenting, work stress, burnout, career decision, quitting, firing, layoff, anxiety, depression, panic, sleep, dreams, identity, faith, doubt, meaning, mortality, celebration, milestone, achievement, gratitude, apology, forgiveness. Also loads when the user writes in non-English (any language) with emotional weight, when the user's message is shorter than 8 words and affect-laden, when the user types in lowercase fragments, when the user types in ALL CAPS with excitement, or when the user explicitly asks for a friend / mentor / older-sibling / wise-listener voice. Do NOT use for code generation, tool calls, structured data output, SQL, API contracts, or any task where machine-readability matters more than human warmth.
tools
Use this skill whenever the user mentions open-design, od_generate_design, OD daemon, BYOK design generation, generating HTML mockups from a PRD, creating or managing Open Design projects, saving design artifacts, linting generated HTML, or any of the 10 `od_*` MCP tools (od_list_projects, od_get_project, od_create_project, od_update_project, od_delete_project, od_save_artifact, od_save_project_file, od_lint_artifact, od_compose_brief, od_generate_design). Also trigger on phrases like "generate a design", "create a mockup", "make a landing page", "list my OD projects", "the design daemon", "the streaming design tool", and on any 401/404/422 error coming from an `od_*` tool call. Covers env-var setup (`OD_DAEMON_URL`, auth modes, BYOK), the full PRD → generate → save → lint workflow, error diagnosis, and the safety rails (lint before save, never commit BYOK keys). Triggers even if the user doesn't explicitly say "open-design-mcp" — keyword matches on `od_*` tool names or "design generation" workflows are enough.
tools
Use this skill whenever a user wants the **full Open Design experience** — discovery questions asked first, brand-spec extraction from URLs/files, TodoWrite planning with live updates, 5-dimensional self-critique, polished artifact at the end. Trigger phrases include "design with questions first", "OD-style workflow", "full interactive design brief", "make me a complete landing page" (when the user wants quality over speed), "design my pitch deck", "brand-aware multi-page site", "follow the Open Design playbook", or any request where the user is starting a new design project rather than tweaking an existing artifact. Also trigger on any request that mentions wanting brand consistency across multiple pages or that provides a brand URL/spec. Pair with the `open-design-mcp` tool-reference skill — both loaded together give an LLM the full picture (this skill = workflow choreography; that skill = tool catalog + errors). This skill explicitly does NOT trigger for one-off tweaks ("make the nav stickier", "swap slide 3 image") — use od_generate_design directly for those.
development
Sync a locally-developed OpenCode skill to the skill-manager npm package and (if private) the private-skills GitHub repo. Handles per-skill version bumps, public/private classification, build verification, and conventional-commit-style git push. Auto-publish to npm is handled downstream by nano-step/shared-workflows@v1 when the push to master lands. Use this skill whenever the user says 'sync skill', 'publish skill', 'push skill to manager', '/sync-skill-to-manager <name>', or asks to release/distribute a skill they just edited.