用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/laicluse/agent-fieldkit --skill gurus命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | gurus |
| description | Route /gurus to the software, council, or writers panel when the right panel is not yet known. |
| allowed-tools | ["Skill","Bash(git diff *)","Bash(git log *)","Bash(git status *)","Bash(git branch *)"] |
Three panels live under this plugin:
gurus:software does opinionated code review with eight engineering personas (Beck, Fowler, Uncle Bob, DHH, Metz, Evans, Hickey, Ousterhout). Consensus across 6+/8 yields an action plan.gurus:council critiques a decision or idea with five adversarial lenses (pre-mortem, first-principles, opportunity-finder, stranger, action), anonymous peer review, and chairman synthesis.gurus:writers reviews a piece of prose with six writers (Didion, Saunders, Rovelli, Watts, Gladwell, Urban). Consensus across 4+/6 yields an action plan of edits, cuts, and rewrites.This orchestrator decides which panel fits the question.
Read the context before asking the user anything. Beyond the conversation you may call git status, git log, and git diff to check recent code activity; the frontmatter allows this.
Software is the right panel when:
args so the software skill does not accidentally scan the whole codebaseCouncil is the right panel when:
Writers is the right panel when:
.md, .txt, or HTML file with body prose, or pastes a paragraph for reviewgit diff show changes in markdown or prose blocks rather than source codeTiebreaker when both signals fire. A "should I use a service object here?" mixes a decision form ("should I") with code context. In that case: default to software, because the code is the ground truth; mention in the proposal line that council also fits and offer the override explicitly. When code and prose are both in scope (a feature with both implementation and changelog/docs), default to the artefact under direct discussion: the file the user named, the paragraph they pasted, or the kind of file dominating the recent diff.
Example tiebreaker proposal:
You are asking whether to use a service object, and you have code in context. Two panels fit. Routing to software (code as ground truth). Type
councilto get a design-decision review instead.
Determine a default based on the signals and present it to the user. Example:
I see a recent diff on
packages/foo/. Routing togurus:software. Typecouncilto switch to the adversarial panel.
Or:
Your question reads as a strategic choice without code context. Routing to
gurus:council. Typesoftwareto get a code review.
When there is direct explicit intent (the user said "council", "software", or "writers" in their message) skip this check and dispatch immediately.
When context is empty or multiple panels are equally plausible, ask one short question:
Three panels available:
softwarefor code review,councilfor a decision or idea,writersfor a piece of prose. Which fits?
Ask this question once. The user's answer is binding; do not confirm again.
When this orchestrator is invoked by another skill rather than typed by the
operator (an autonomous caller that passes mission context through args), the
operator is not in the loop and cannot answer a routing question. Routing must
complete from args alone.
Detection: args carries explicit mission context (a Dispatch block, a branch name, a diff summary, a stated decision, a research brief). Treat any non-empty caller-supplied context as the autonomous path.
Rules in this mode:
software if args contains code, a diff, file paths to source files, or a branch name; writers if args references prose files (.md, .txt, body-prose .html) or pastes a paragraph for review; council if args is purely about a decision, plan, or strategy without code or prose attached.args contains the literal token panel: software, panel: council, or panel: writers, dispatch that panel without further routing logic.args describes a mission that mixes a code deliverable and a strategic call, dispatch both panels in sequence (software first, then council). Combine the verdicts in the return value.The contract: a skill-invoked call always produces a verdict and never bounces back a question.
After routing: run the chosen sibling skill. If this Codex session exposes a
skill-dispatch tool, invoke gurus:software, gurus:council, or
gurus:writers with the concrete question, scope, or piece of prose as args.
If it does not expose such a tool, read and follow the chosen sibling skill's
instructions from this plugin directly. Do not ask the operator to retype the
same request with a different slash command.
When the user typed /gurus:gurus without accompanying text, there is no literal question to pass on. Synthesize a one-sentence summary of the current topic from the conversation (optionally enriched with the output of git status or git log -1) and pass that as args. Keep the summary neutral; no framing that steers the panel toward a particular verdict.
When the user pasted a code snippet, pass that snippet as explicit scope in args so gurus:software does not scan the full codebase but only the snippet (and optionally the surrounding file the user mentioned).
When the user pasted a paragraph or short excerpt of prose, pass it as explicit scope in args so gurus:writers reviews the excerpt (and the surrounding file when named) rather than asking for a file path.
The sub-skills take over. This orchestrator does not do any review itself.
software, council, or writers in the invocation, skip the routing step and dispatch directly.