用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Dev-Toolbelt/dev-team-agents --skill discovery-mode命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | discovery-mode |
| description | Discovery before implementation — HARD-GATE, YAGNI, incremental. |
Anti-pattern: "This Is Too Simple To Need Discovery" Every project goes through this process. A single endpoint, a config change, a utility function — all of them. The simpler the project, the shorter the spec. But the gate must be passed.
When clarifying interactively with the user (not generating a client-facing document):
Before asking detailed questions, assess the overall scope:
Before committing to a direction, present alternatives:
Applies to: scoping strategies, architectural patterns, technology choices, and any decision with multiple valid paths.
When presenting a design, spec, or architecture:
Remove unnecessary features from all designs ruthlessly:
After writing any spec, overview, or architecture document, do a silent inline review before presenting it to the user. Fix issues directly — no need to narrate the review process.
| Category | What to Look For |
|---|---|
| Placeholders | Any "TBD", "TODO", incomplete sections, vague requirements |
| Consistency | Internal contradictions, conflicting requirements between sections |
| Clarity | Requirements ambiguous enough to cause wrong implementation |
| Scope | Focused enough for a single plan — not covering multiple independent subsystems |
| YAGNI | Unrequested features, over-engineering, future-proofing that wasn't asked for |
Only flag issues that would cause real problems during implementation planning. Minor wording and style preferences are not issues.
Never run more than 3 clarification rounds without producing a spec or document:
| Round | Purpose |
|---|---|
| 1 | Initial questions — goals, constraints, success criteria |
| 2 | Clarification of ambiguous answers |
| 3 | Final confirmation of open items |
After Round 3, produce the best possible spec with explicit assumptions noted for every unresolved question. Mark them clearly:
Assumption [A1]: [what was assumed]. Flagged for user confirmation.
Do not ask a 4th round of questions — produce the output and let the user correct the assumptions.
When multiple agents may run discovery concurrently (e.g., in a parallel spawn), use a lockfile to prevent duplicate discovery sessions from racing:
Run the block below verbatim and in this order. The staleness sweep must come before the bail-out, otherwise a lock left behind by a crashed agent blocks discovery forever.
LOCK=".claude/.discovery-lock"
mkdir -p "$(dirname "$LOCK")"
# 1. Sweep a stale lock first — a previous owner may have died before its EXIT trap ran.
# `find -mmin` behaves identically on GNU and BSD/macOS; no date/stat parsing needed.
if [ -n "$(find "$LOCK" -maxdepth 0 -mmin +30 2>/dev/null)" ]; then
echo "Removing stale discovery lock ($(cat "$LOCK"))"
rm -f "$LOCK"
fi
# 2. Bail out only if a lock is still held after the sweep — it is live.
if [ -f "$LOCK" ]; then
echo "Discovery already in progress ($(cat "$LOCK")). Waiting for it to complete."
exit 0
fi
# 3. Acquire.
echo "$AGENT_NAME $(date -u +%Y-%m-%dT%H:%M:%SZ)" > "$LOCK"
trap 'rm -f "$LOCK"' EXIT
Rules:
<agent-name> <ISO-timestamp> to the lock so the owner is identifiable. The timestamp is for humans reading the lock — staleness is judged from the file's own mtime, never by parsing that string.date -d "$(awk ...)": date -d is GNU-only, so on macOS it fails, and a || echo 0 fallback makes every lock look infinitely old and deletes locks that are still live.trap.-mmin +30 value.After the spec self-review passes, always ask the user to review the written document before proceeding:
"Document written to
<path>. Please review it and let me know if you want any changes before we move on."
Wait for explicit approval. If changes are requested, apply them and re-run the self-review. Only proceed once the user approves.