architecting-software
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before…
Creates and updates Claude Code Agent Skills. Use when creating a skill, revising SKILL.md, improving a skill's name or description, or adding progressive disclosure files.
Claude Code
$ npx -y skills add isvlasov/rageatc-oss --skill writing-skills --agent claude-code
Codex
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a codex -y
Cursor
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a cursor -y
Gemini CLI
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a gemini-cli -y
GitHub Copilot
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a github-copilot -y
OpenCode
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a opencode -y
Windsurf
$ npx skills add isvlasov/rageatc-oss --skill writing-skills -a windsurf -y
name: writing-skills description: Creates and updates Claude Code Agent Skills. Use when creating a skill, revising SKILL.md, improving a skill's name or description, or adding progressive disclosure files.
The reader of every skill is an agent. A line earns its place only if it changes the agent's behaviour versus what it would do anyway — text the agent already knows, filler, and repetition are bloat. Apply that test to every line you write.
The same test scales up. Prefer the simplest thing that fixes an observed failure — often that is nothing at all: if the model already handles the task well, don't write the skill; if a line answers an imagined problem, don't write the line. Simple beats clever, and YAGNI applies to skills as much as to code.
If the skill's intent, triggers, or location (personal `~/.claude/skills/`, project `.claude/skills/`, or a plugin's `skills/`) are unclear, ask before writing.
Three tiers drive every design decision:
1. **Always in context:** every installed skill's `name` and `description` (plus `when_to_use` if set), ~100 tokens each. The listing caps `description` + `when_to_use` at 1,536 chars combined; when the total listing budget overflows, least-used skills' descriptions are truncated first (`/doctor` shows this). At library scale, every description word is a recurring cost. 2. **On trigger:** the SKILL.md body. Keep under ~500 lines / ~5,000 tokens. 3. **On demand:** bundled files, loaded only when referenced. Free until read.
Decide before writing anything else; it shapes the description and the body:
Lowercase letters, numbers, hyphens; ≤64 chars; must match the folder name; no "claude" or "anthropic" (reserved). Prefer gerund form (`reviewing-code`). Avoid generic terms (`helper`, `utils`, `tools`).
The description carries discovery — it deserves harder pruning than the body.
Inline what every usage path needs; push behind a pointer what only some paths reach. Splitting is also the pressure valve as the body approaches the ~500-line ceiling.
Information lives in exactly one place — never in SKILL.md and a reference both. Do not create README, CHANGELOG, or other extraneous files in the skill folder.
Always run the baseline: try the task without the skill and record where the model actually fails. If it doesn't fail, stop — the skill isn't needed.
Full evals earn their cost when a skill enforces discipline, runs unattended, or risks over-triggering: 3+ scenarios drawn from the observed failures, including at least one **should-NOT-trigger** case (a nearby request the skill must leave alone). Store them in `evals/` inside the skill folder — not in the body. Grade outcomes, not paths (agents find valid unexpected routes), and test each model tier the skill serves.
For a simple user-invoked task skill, one dry run of the happy path is enough.
Rage Against The C - pick your own C to rage against. Two plugins for Claude Code / Cowork, built on the idea that we're using AI wrong: the speed of its output tricks us into rushing the input.
Designs software architecture from a confirmed PRD. Use when a PRD exists and architecture must be designed before…
Writes correct, version-aware Telegram bot code. Use when writing, extending, or debugging a Telegram bot in python-telegram-bot,…
Converts an approved ARCHITECTURE.md into an implementation roadmap of isolated, dependency-ordered chunks. Use when architecture…
Delegates a task to OpenAI Codex running as an interactive session in a herdr pane - uses the user's ChatGPT subscription,…
Delegates a task to a local LLM running as a Pi coding-agent session in a herdr pane - the subagent is visible in herdr, can be…
Creates a design system for software with a UI. Use when a project has a user interface and architecture is confirmed — whether…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.