autoresearch
Autonomous goal-directed iteration loop: modify, verify, keep/discard against a metric or a checkable success predicate, with…
Give a decisive, project-grounded verdict on an external input — judged against the current project, not in the abstract. Use to decide whether to adopt, switch to, or revisit a technology, library, pattern, platform, or architecture; to compare a candidate against what the
$ npx -y skills add leo-kuang-ai/spec-first --skill spec-pov --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/spec-povContext preview
The summary Claude sees to decide when to auto-load this skill.
Give a decisive, project-grounded verdict on an external input — judged against the current project, not in the abstract. Use to decide whether to adopt, switch to, or revisit a technology, library, pattern, platform, or architecture; to compare a candidate against what the
name: spec-pov description: "Give a decisive, project-grounded verdict on an external input — judged against the current project, not in the abstract. Use to decide whether to adopt, switch to, or revisit a technology, library, pattern, platform, or architecture; to compare a candidate against what the project already uses; to judge whether an external change (a CVE, a deprecation, an ecosystem shift) actually affects this project; or for a mid-session second opinion. Always returns a project-specific verdict, so it is not for neutral explainers or generating options." argument-hint: "[the external thing to judge, plus any links] — or invoke bare mid-session for a second opinion"
Return a decisive, **graded verdict** on something from the outside world — judged against *this project*, not in the abstract.
Use the user's current request from the conversation as the POV input.
Note: Use the current date from the active host context. Use this when weighting external sources and dating artifacts.
**Do not issue a verdict you did not earn against the project's own context.** Generic web research already covers "tell me about X"; the differentiator is never "research the web" — it is the refusal to answer in the abstract. The verdict must clear **two absolute floors** (see `references/method.md`): a **project floor** (a concrete verified project fact — a named incumbent + a touchpoint, or for a net-new adoption the verified absence of one plus where it would fit, or a prior decision) and an **external floor** (at least one verified external source). The floors are absolute and independent — strong external evidence never compensates for a thin project leg, and vice versa. Neither the conversation nor the user's own assertions substitute for grounding.
When you must ask the user a question, use the platform's blocking question tool: `AskUserQuestion` in Claude Code (call `ToolSearch` with `select:AskUserQuestion` first if its schema isn't loaded), `request_user_input` in Codex. Fall back to numbered options in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question. Ask one question at a time.
Dispatch is tiered by task shape, never hardcoded to a model name:
在派发 repo profiler、project/precedent scout 或 external researcher 前,记录:
worker_dispatch_authorization: authorized | missing capability_probe: not_applicable | attempted | unavailable worker_dispatch_capability: available | missing | unknown worker_context_isolation: isolated | inherited | unknown worker_model_override: supported | unsupported | unknown worker_bounded_parallelism: supported | unsupported | unknown
`workflow invocation does not authorize dispatch`。POV tier、外部链接、tool availability、权限设置或需要满足 two floors 都不构成派发授权。只有当前用户或可见 upstream handoff 明确请求 subagent、delegated work、persona 或 parallel work 时才可派发。缺授权时不得探测 tool schema,固定为 `capability_probe: not_applicable` + `worker_dispatch_capability: unknown`,采用 bounded inline 或 serial grounding 并记录 `dispatch_authorization_missing`。只有授权后才把 current-session registry/schema 作为 `provider_untrusted` evidence 检查:确认缺失时记录 `subagent_capability_missing`;surface 不可用、schema 不完整或候选不唯一时记录 `worker_capability_unproven`,均使用同一 fallback。隔离、模型覆盖和有界并发只取 live facts;required isolation 未满足时保持依赖 gate 打开,model unknown 时继承,parallelism unknown 时串行。记录 `worker_dispatch_outcome`。The inline path must not claim independent scout coverage、fresh-context skepticism 或 multi-agent evidence;它只能声明 orchestrator 自身完成了有界的多 lens 核验。
**Degradation rule.** When authorized dispatch exists but `worker_model_override` is unsupported or unknown, dispatch scouts on the inherited model and keep their read budgets. When dispatch capability is missing or unknown, use the bounded inline fallback with the same evidence budgets and the claim limitation above.
**Output mode:** by default `spec-pov` writes no document — the verdict is a compact chat block. An optional full write-up and a durable `spec-compound` capture are available on request at Phase 4. Do not resolve an `OUTPUT_FORMAT` or load a rendering reference up front.
1. **Detect the invocation context — cold or warm.** Warm means `spec-pov` was invoked mid-session for a second opinion, with the question sitting in the surrounding conversation or absent. For the warm contract beyond the frame — taking only the *question and claims-to-verify* (never grounding), the guest output, the provenance buckets — read `references/invocation.md`.
2. **Establish the frame before grounding — orient, then infer or propose; never guess.** The same input supports very different verdicts: a bare link to a new sign-in method could mean adopt it, migrate to it, compare it to what we have, or just answer a question about it. Guessing sends the scouts after the wrong question. So orient cheaply on what was provided — fetch a bare link lightly to learn what it is, recognize a bare topic, read a paste (orientation, not grounding) — then settle the **subject and the POV intent** (adopt / migrate / compare / is-this-our-problem / explainer):
把 AI coding 会话变成可信、由项目拥有的变更。 spec-first 是面向 Claude Code、Codex、Kiro、Qoder、Cursor、OpenCode、ZCode 与 Pi 的仓库原生 AI Coding Harness。它把想法、需求、计划、代码、审查和知识连接成可检查的工程闭环。
Autonomous goal-directed iteration loop: modify, verify, keep/discard against a metric or a checkable success predicate, with…
Audit mobile App PRD/Figma/local-source consistency across page routes, KMP/Clean Architecture, components, analytics, i18n,…
Explore vague or ambitious ideas into a right-sized requirements-only unified plan. Use when the user wants to brainstorm, think…
Structured code review for bugs, regressions, tests, and standards. Report-only by default; apply fixes only when the current…
Internal landing helper for public workflows that already hold explicit commit and landing authorization; commits scoped changes,…
Internal commit helper for public workflows that already hold explicit commit authorization; creates scoped, value-communicating…