Ad Archive
alexandremendoncaalvaro/CorridorKey-Runtime
Sweep completed plan files (tasks Status:done, specs Status:shipped, PRDs Status:superseded, ADRs Status:superseded or deprecated) out of the working tree and into git history via git rm.
A skill your agent uses for 'why does X work this way', 'why we picked Y', '为什么这么设计', design rationale, regressions, or where a magic number came from.
$ npx skills add Sma1lboy/rove --skill why -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Sma1lboy/rove why --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/Sma1lboy/rove.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pstack/skills/why .claude/skills/why && 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 "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .claude/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/whyType 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 Sma1lboy/rove --skill why -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Sma1lboy/rove why --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sma1lboy/rove.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/pstack/skills/why .agents/skills/why && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .agents/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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 Sma1lboy/rove --skill why -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Sma1lboy/rove why --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sma1lboy/rove.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/pstack/skills/why .cursor/skills/why && 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 "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .cursor/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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/Sma1lboy/rove.git --path .agents/skills/pstack/skills/why--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 Sma1lboy/rove --skill why -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Sma1lboy/rove why --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sma1lboy/rove.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/pstack/skills/why .gemini/skills/why && 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 "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .gemini/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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 Sma1lboy/rove whyInstalls 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 Sma1lboy/rove --skill why -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Sma1lboy/rove.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/pstack/skills/why .github/skills/why && 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 "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .github/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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 Sma1lboy/rove --skill why -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Sma1lboy/rove why --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Sma1lboy/rove.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/pstack/skills/why .opencode/skills/why && 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 "why" agent skill from https://github.com/Sma1lboy/rove/tree/main/.agents/skills/pstack/skills/why into .opencode/skills/why/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "why", 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.
whyA skill your agent uses for 'why does X work this way', 'why we picked Y', '为什么这么设计', design rationale, regressions, or where a magic number came from.
Why is an agent skill from Sma1lboy/rove. Use for 'why does X work this way', 'why we picked Y', '为什么这么设计', design rationale, regressions, or where a magic number came from. Fans out one investigator per evidence category — in this repo that starts with the local decision record (ADRs, docs/design, the daemon issue store, the changelog, wisp) plus git history, and adds MCP-backed categories when the session has them — then returns a cited read with the gaps named. Use how for what the code does at runtime.
Its SKILL.md is about 5.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including reference files (for example `references/epistemics.md`, `references/investigator-prompt.md` and `references/source-playbook.md`).
It sits in Development, covering Git workflow, Architecture decision records and Changelog and release notes. It works with Model Context Protocol. The repository describes itself as: Rove — the agent multiplexer for your terminal. Run coding agents on parallel tasks with isolated worktrees and persistent sessions. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8b9f22c. 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.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
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.
Why loads about 5.6k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 3,073 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 Sma1lboy/rove at commit 8b9f22c, republished under its MIT licence (© Sma1lboy). 3,073 words, ~5,599 tokens.
.claude/skills/why/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.Investigate the motivation and intent behind code. Why was it built this way? What edge cases were considered? What product, business, or operational constraints shaped the design? What alternatives were rejected, and why?
Companion to the how skill. how answers what the code does and how it works. why answers what forces led to its shape.
Historical context spreads across seven evidence categories: source control history, issue or ticket tracking, long-form documents, real-time team chat, infrastructure observability, error or exception tracking, and product analytics warehouses. You cannot predict from the question alone which one holds the answer, so the skill enumerates available MCPs at run time, maps each to a category, queries all seven in parallel, then synthesizes with explicit confidence calibration. Null results from searched categories are first-class evidence about how the decision was made; report them alongside positive findings. The default is coverage, not minimalism.
Operate as a careful, cautious, precise investigator. Think like a detective piecing together a historical case from fragmentary records. When the record is thin, say so.
Concretely:
This posture is the working method, not a disclaimer.
This skill builds a patchwork understanding from fragmented historical evidence. Tickets go stale. Chat threads get deleted. Commit messages lie. People change their minds between the PR description and the implementation. The original author may have left the company.
Be ruthlessly honest about what you know versus what you're inferring. The goal is not a satisfying story; it is to surface evidence, calibrate confidence, and let the user decide.
Principles:
Read references/epistemics.md for the full confidence framework and phrasing guide. The synthesizer must follow it.
Parse what the user is asking. The target is usually a chunk of code, a pattern, a feature, or a named design decision. The question is usually one of:
If the target is vague ("why do we do it this way?" with no clear referent), make your best guess from conversation context (open files, recent edits, cursor location, what was just discussed). State your interpretation briefly so the user can redirect if you're off, then proceed.
Before spawning investigators, anchor the investigation in concrete code. You need:
(#1234) in the subject line)Build this inline. It's cheap, and every investigator needs it.
# Blame target lines for last-touch commits
git blame -L <start>,<end> <file>
# Full file history, with patches, through renames
git log --follow -p -- <file>
# Last N commits touching the file, PR numbers visible
git log --oneline -20 -- <file>
# Extract PR numbers from a commit message
git log -1 --format=%B <commit>Pull PR bodies and discussion via gh for any substantive commits:
gh pr view <number> --json title,body,author,createdAt,mergedAt,labels,closingIssuesReferences,comments,reviewsCapture this as seed context (file paths, symbols, commits, PR numbers, linked ticket IDs). Pass it to the investigators so they don't rediscover it.
Default to the full parallel investigation. Each evidence category lives in a different kind of system, and you cannot tell from the question alone which one holds the answer without looking. So look across every available category, in parallel, by default.
Before spawning investigators, take stock of what evidence this environment actually has.
In this repo, start from references/sources/rove-local.md.
Rove keeps its decision record on disk and in the daemon: ADRs, docs/design/
notes, the daemon issue store, the changelog, HANDOFF.md, and wisp. That
playbook lists each one with the command that searches it. None of them is an
MCP, and the vendor playbooks beside it (Linear, Notion, Slack, Sentry,
Datadog, Databricks) document tools this repo does not have — they are
templates for repos that do.
Then check for MCP servers in the current session's tool list, and map each one you find to an evidence category:
Source control is always available through git and gh. For the other six, classify using the MCP name, server instructions, tool names, and resource descriptors. If an MCP could fit more than one category, choose the one matching its primary evidence. Record ambiguous cases in the coverage map.
Aim for a complete coverage map, not a minimal one. A null result from an issue tracker is evidence the decision was not ticketed, a useful fact in itself. Document the null, don't skip the search.
Launch all matching investigators in a single message so they run concurrently. One investigator per category lets each specialize in one tool's query vocabulary and result shape. Don't ask one agent to cover multiple MCPs.
Subagent config (each): spawn with the Agent tool, subagent_type: "general-purpose". Investigators inherit the session model; pass model only
when a cheaper tier clearly fits. Do not use a read-only agent type — it can
strip MCP access, which disables MCP-backed investigators entirely. Keep modes
uniform even though the local-source investigators would be safe read-only.
Investigators still must not write anything; that is a posture, not a sandbox.
Each investigator gets:
references/investigator-prompt.mdreferences/sources/<source>.md for the selected MCP, adapted from the examples in references/source-playbook.mdreferences/sources/incident-postmortem.md if the target code looks defensive (null checks, retry logic, timeout handling, rate limiting, feature flags, egress guards, OOM handlers)Spawn one investigator per category that has a matching MCP. Each owns exactly one tool or MCP.
Each entry lists what the category physically contains and the kind of "why" it uniquely surfaces. Use it to know what to expect back, how to name a gap when a category returns empty, and (only in the rare provably-irrelevant case) to justify a skip. Every category overlaps, but each owns a kind of evidence the others cannot recover.
Local decision-record investigator (this repo). ADRs, docs/design/, the daemon issue store, CHANGELOG.md, HANDOFF.md, wisp. Always spawn; in this repo it is the category most likely to hold an explicit, dated, argued answer. Playbook: sources/rove-local.md. Best at surfacing the decision as its author wrote it down — an ADR's Context/Decision/Consequences, a design note stating a constraint bluntly, a keybinding argument recorded in keybinding-decisions.md. When it returns empty, that is real evidence the decision was never written up.
Source control investigator. Git history, gh for PRs, code comments, tests. Always spawn; the only guaranteed source. Best at surfacing implementation-time rationale captured during review. PR descriptions stating the problem, review threads debating alternatives, inline comments encoding non-obvious constraints, test names that encode motivating edge cases, and commit messages linking tickets or incidents. Most trustworthy because it ties directly to the diff that shipped.
Issue / ticket tracker investigator (e.g. Linear, Jira, GitHub Issues, Plane, Shortcut MCP). Tickets, project docs, status updates, spec attachments. Best at surfacing the product or business forcing function. Customer requests ("Acme needs X for their SOC2 audit"), compliance deadlines, parent-initiative framing ("Q3 enterprise readiness"), ticket-level scope changes, and labels that categorize the motivation (customer:*, incident-followup, compliance, perf-regression). Strongest when the why is external to engineering.
Long-form documents investigator (e.g. Notion, Confluence, Google Docs, Coda MCP). PRDs, specs, RFCs, design docs, ADRs, postmortems, team pages, meeting notes. Best at surfacing long-form design rationale. Problem statements, explicit "alternatives considered" and "rejected approaches" sections, strategy documents that set priorities, ADRs with finalized decisions, and postmortem action items that tie directly to code. Where the why is written out before it becomes code.
Real-time team chat investigator (e.g. Slack, Discord, Microsoft Teams, Mattermost MCP). Feature-name and symbol searches, PR URL mentions, incident channels (#sev-*, #incident-*), author-handle activity around the ship date. Best at surfacing real-time deliberation that never reached a doc. Fire-drill decisions during incidents, Q&A between the PR author and reviewers, casual "we decided X because Y" threads, and rationale for small changes that didn't warrant a PRD. Especially important when the source control, ticket, and doc paper trail is thin.
Infrastructure observability investigator (e.g. Datadog, New Relic, Honeycomb, Grafana, Splunk MCP). Metrics, monitors, dashboards, logs, APM traces, formal incidents. Infra/runtime view. Best at surfacing infrastructure and runtime reality that motivated the code. Monitor thresholds whose numbers match code constants, metric spikes in the window right before a PR merge, dashboards created as postmortem action items, incident timelines that reference the target. Strongest when the target reacts to an infra signal (timeouts, retries, rate limits, circuit breakers).
Error / exception tracking investigator (e.g. Sentry, Rollbar, Bugsnag, Airbrake MCP). Issues, events, stack traces, releases. Best at surfacing the specific exceptions and error trajectories that motivated defensive or corrective code. Stack traces that pass through the target function, issues whose first-seen/last-seen windows bracket the PR ship date, release correlations that show an error stopping at a specific version. Strongest for catch blocks, null guards, type checks, retries, and other defenses.
Product analytics warehouse investigator (e.g. Databricks, Snowflake, BigQuery, ClickHouse, dbt, Redshift MCP). Product-analytics events, experiment and feature-flag exposure tables, usage and billing events, query history, warehouse telemetry. Product/data view. Complements infrastructure observability by covering user behavior and data reality around the ship date rather than infra metrics. Best at surfacing product and data reality that shaped the code. Feature-usage trajectories (a step-function ramp from zero is strong evidence that this PR launched it), experiment/flag exposure data tied to ship decisions, pre-ship distributions that reveal where a threshold constant came from (e.g., limit = 128 * 1024 matching the p99 of an upload-size column), and data-pipeline scale evidence for migrations/backfills. Strongest for flag-gated code, experiment-driven ships, data migrations, and "where did this number come from" questions.
Only skip with an explicit, written justification that goes in the final "Sources Consulted" section. Two valid reasons:
"It's pure feature code, error tracking won't have anything" is not sufficient, and neither is "I doubt long-form docs would have this." Run the search; let the null result speak. The cost of an investigator returning empty is one subagent. The cost of missing a design doc that actually exists is a wrong answer.
If your scope assessment suggests a single-commit trivial target where the PR description already contains the complete answer, you may answer inline only after confirming all seven available category searches would be redundant. Say so explicitly. This should be rare.
Spawn one synthesizer subagent:
subagent_type: general-purpose (full tool access: its quality check spot-verifies citations)model: omit — the synthesizer inherits the session model, like the investigatorsThe synthesizer gets:
references/epistemics.mdreferences/synthesizer-prompt.mdIts job is the final output: a confidence-weighted, evidence-cited narrative with clearly separated "what we know" and "what we're inferring" sections, plus honest acknowledgment of gaps and null-result sources.
Take the synthesizer's output and present it to the user. You may lightly edit for clarity or add context from the conversation, but do not rewrite the confidence language. The epistemic framing is the product. Dropping the hedges to sound more authoritative is the exact failure mode this skill exists to prevent.
The final output uses this structure. Adapt as needed, but keep the confidence separation intact.
The Question. Restate what the user asked, concisely.
The Code in Question. File paths, line ranges, and key symbols. One or two lines so the reader is anchored.
What We Found (direct evidence). Claims with explicit citations (PR #, ticket ID, doc URL, chat permalink, commit hash, code comment with file:line). Each bullet is a thing we have textual evidence for. Use present tense and quote or paraphrase the source.
What We Can Reasonably Infer. Claims well-supported by indirect evidence or combinations of signals, but not explicitly stated anywhere. Each bullet must explain the inference chain: "Given A and B, it's likely that C." Use hedged language ("appears to", "likely", "suggests").
Competing Hypotheses. If the evidence fits multiple stories, list them. For each, give the hypothesis, the evidence for it, and the evidence against it. Don't force a winner when the record doesn't support one. (Skip this section if there's a clear answer.)
What We Don't Know. Explicit gaps. Questions the user asked that the evidence didn't answer. Sources we searched and came up empty. Be specific. "We searched the issue tracker for 'rate limit' and found no ticket discussing this specific threshold" is more useful than "we don't know why."
Sources Consulted. One line per investigator, including the ones that returned nothing. The reader should see at a glance (a) which MCPs were queried, (b) which came back empty, and (c) which were skipped and why. This coverage map lets the user judge breadth and redirect if something obvious was missed.
Format each line as: - <Source>: <what was searched>. <what was found, or "no relevant results," or "skipped. reason">.
Example:
git log --follow backend/retry.ts, PRs #49074, #47812. Found PR #49074 introduced exponential backoff and linked ENG-4421.retry_count metric and monitors around 2024-08-14. Found monitor "Upstream 5xx rate > 1%" created same day as PR #49074.retry.ts. Found issue SENTRY-3821 spiking in the week before the PR.<your_analytics_db>.<schema>.stg_backend_upstream_retry for the 30-day window around 2024-08-14. Daily failure-classified event count fell from ~1.2k/day pre-PR to <50/day post-PR. Also checked system.query.history for relevant migration queries. None found.After the Sources Consulted block, if the user's why question is a precursor to actually changing this code, convert the lineage findings into a Preserve / Change / Avoid / Risk constraint set suitable for planning the change.
references/epistemics.md. Confidence tiers and phrasing guide. The synthesizer must follow it.references/investigator-prompt.md. Base prompt template for investigator subagents.references/source-playbook.md. Index pointing at the category playbooks below.references/sources/*.md. One self-contained example playbook per category, plus cross-cutting incident-postmortem.md. Give an investigator the single file that matches its category and adapt it to the available MCP.references/synthesizer-prompt.md. Prompt template for the synthesizer subagent, including the output format.© Sma1lboy, 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 13 other files (references) in .agents/skills/pstack/skills/why of Sma1lboy/rove.
Open the folder on GitHubat commit 8b9f22c
Why 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 |
|---|---|---|---|---|---|---|
| Why this skillSma1lboy/rove | 146 | — | ~5.6k | Automated safety check: Pass | MIT | |
| Ad Archivealexandremendoncaalvaro/CorridorKey-Runtime | 755 | 1 repos | ~1.6k | Automated safety check: Pass | Custom licence | |
| Release NotesGlitterKill/sdl-mcp | 491 | — | ~925 | Automated safety check: Pass | Custom licence | |
| Ad ArchiveCorridorTech/PoseCap | 224 | — | ~1.9k | Automated safety check: Notes | Apache-2.0 | |
| ReleasePrefectHQ/fastmcp | 28k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT |
alexandremendoncaalvaro/CorridorKey-Runtime
Sweep completed plan files (tasks Status:done, specs Status:shipped, PRDs Status:superseded, ADRs Status:superseded or deprecated) out of the working tree and into git history via git rm.
GlitterKill/sdl-mcp
Generate a CHANGELOG.md entry from git history since the last tag, categorized by type (features, fixes, security, breaking changes).
CorridorTech/PoseCap
Hard-delete completed plan files (tasks Status:done, specs Status:shipped, PRDs Status:superseded, ADRs Status:superseded or deprecated) via git rm, leaving git history as the only ledger.
PrefectHQ/fastmcp
Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.
jamiepine/voicebox
Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
Sma1lboy/rove
Generate a single image from a text prompt using the MiniMax image generation API.
Sma1lboy/rove
Strip AI writing tells from Rove's user-facing prose — README, the docs/ pages that sync to docs.rove.run, landing copy, and release notes.
Sma1lboy/rove
Non-animation creative direction for HyperFrames videos. An agent skill from Sma1lboy/rove.
Sma1lboy/rove
Draft Rove release notes as Changesets. An agent skill from Sma1lboy/rove.
Sma1lboy/rove
Turn a rough idea, a bug, or a batch of unsolved problems into well-structured GitHub issue(s) and file them with gh, auto-classifying type + labels from the content (recommend, then confirm) and…
Sma1lboy/rove
A skill your agent uses when controlling Rove tasks, parallel coding attempts, hosted agent sessions, task lifecycle, or the daemon-owned issue tracker from a shell.
Works with
Categories
A skill your agent uses for 'why does X work this way', 'why we picked Y', '为什么这么设计', design rationale, regressions, or where a magic number came from. Why is an agent skill from Sma1lboy/rove. Use for 'why does X work this way', 'why we picked Y', '为什么这么设计', design rationale, regressions, or where a magic number came from.
Why fits situations like: why does X work this way; why we picked Y; design rationale; where a magic number came from.
Run `npx skills add Sma1lboy/rove --skill why -a claude-code`. Or copy the skill folder (.agents/skills/pstack/skills/why in Sma1lboy/rove) into .claude/skills/why in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Sma1lboy/rove --skill why -a codex`. Or copy the skill folder (.agents/skills/pstack/skills/why in Sma1lboy/rove) into .agents/skills/why 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 Sma1lboy/rove --skill why -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/why, .gemini/skills/why, .github/skills/why and .opencode/skills/why in your project.
Going by SKILL.md and its folder, Why needs the command-line tools its instructions call (git and gh).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. 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.
Why is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.6k tokens (SKILL.md is roughly 22k 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 15k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Why: Ad Archive (alexandremendoncaalvaro/CorridorKey-Runtime, 755 stars), Release Notes (GlitterKill/sdl-mcp, 491 stars), Ad Archive (CorridorTech/PoseCap, 224 stars) and Release (PrefectHQ/fastmcp, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Sma1lboy (a GitHub user) maintains it in Sma1lboy/rove, which has 146 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.
Source: Sma1lboy/rove on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.