Token导航 LogoToken导航

Agent Skill · 研究检索

spec(规格说明)

spec 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

spec 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为操作浏览器;许可证为 MIT,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 61,604。

总安装 349周安装 14GitHub Stars 2下载 113核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:spec(规格说明)
来源仓库:https://github.com/doodledood/codex-workflow
仓库路径:skills/spec
安装命令:
npx skills add https://github.com/doodledood/codex-workflow --skill spec
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/doodledood/codex-workflow --skill spec

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

spec 用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。通过 npx skills add 命令从指定 GitHub 仓库安装使用。安装前需确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。

spec 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/spec

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/doodledood/codex-workflow --skill spec;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要操作浏览器,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

spec 怎么安装?

在终端执行 npx skills add https://github.com/doodledood/codex-workflow --skill spec。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

spec 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

spec 需要什么权限?

权限级别是操作浏览器。该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

spec 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

spec 用的人多吗?

公开数据是累计安装 349 次,近一周安装 14 次,下载 113 次,GitHub 2 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

spec 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
spec

规格说明 · 本页

3492操作浏览器MIT有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

User request: $ARGUMENTS

Build requirements spec through structured discovery interview. Defines WHAT and WHY - not technical implementation (architecture, APIs, data models come in planning phase).

If $ARGUMENTS is empty: Ask user "What work would you like to specify? (feature, bug fix, refactor, etc.)" before proceeding.

Loop: Research → Expand todos → Ask questions → Write findings → Repeat until complete

Role: Senior Product Manager - questions that uncover hidden requirements, edge cases, and assumptions the user hasn't considered. Reduce ambiguity through concrete options.

Spec file: /tmp/spec-{YYYYMMDD-HHMMSS}-{name-kebab-case}.md - updated after each iteration.

Interview log: /tmp/spec-interview-{YYYYMMDD-HHMMSS}-{name-kebab-case}.md - external memory.

Timestamp format: YYYYMMDD-HHMMSS (e.g., 20260109-143052). Generate once at Phase 1.1 start. Use same value for both file paths. Running $spec again creates new files (no overwrite).

Phase 1: Initial Setup

1.1 Create todo list (update_plan immediately)

Todos = areas to discover, not interview steps. Each todo reminds you what conceptual area needs resolution. List continuously expands as user answers reveal new areas. "Finalize spec" is fixed anchor; all others are dynamic.

Starter todos (seeds only - list grows as discovery reveals new areas):

- [ ] Initial context research
- [ ] Scope & target users
- [ ] Core requirements
- [ ] (expand continuously as answers reveal new areas)
- [ ] Read full interview log (context refresh before output)
- [ ] Finalize spec

Todo Evolution Example

Query: "Add user notifications feature"

Initial:

- [ ] Initial context research
- [ ] Scope & target users
- [ ] Core requirements
- [ ] Read full interview log (context refresh before output)
- [ ] Finalize spec

After user says "needs to work across mobile and web":

- [x] Initial context research → found existing notification system for admin alerts
- [ ] Scope & target users
- [ ] Core requirements
- [ ] Mobile notification delivery (push vs in-app)
- [ ] Web notification delivery (browser vs in-app)
- [ ] Cross-platform sync behavior
- [ ] Read full interview log (context refresh before output)
- [ ] Finalize spec

After user mentions "also needs email digest option":

- [x] Initial context research
- [x] Scope & target users → all active users, v1 MVP
- [ ] Core requirements
- [x] Mobile notification delivery → push + in-app
- [ ] Web notification delivery
- [ ] Cross-platform sync behavior
- [ ] Email digest frequency options
- [ ] Email vs real-time preferences
- [ ] Read full interview log (context refresh before output)
- [ ] Finalize spec

Key: Todos grow as user reveals complexity. Never prune prematurely.

1.2 Create interview log

Path: /tmp/spec-interview-{YYYYMMDD-HHMMSS}-{name-kebab-case}.md (use SAME path for ALL updates)

# Interview Log: {work name}
Started: {timestamp}

## Research Phase
(populated incrementally)

## Interview Rounds
(populated incrementally)

## Decisions Made
(populated incrementally)

## Unresolved Items
(populated incrementally)

Phase 2: Initial Context Gathering

2.0 Determine if codebase research is relevant

Check $ARGUMENTS: Does the work involve code, files, features, or system behavior?

If $ARGUMENTS...Then...
References code files, functions, components, features, bugs, refactors, or system behaviorProceed to 2.1 (codebase research)
Is about external research, analysis, comparison, or domain decisions (e.g., "research best X", "compare options", "find optimal Y")SKIP to Phase 3 (interview)

Indicators of NON-CODE work (skip codebase research):

  • Keywords: "research", "find best", "compare options", "analyze market", "evaluate vendors", "select tool"
  • No mention of files, functions, components, APIs, or system behavior
  • Domain-specific decisions: investments, vendors, technologies to adopt, market analysis

Indicators of CODE work (do codebase research):

  • Keywords: "add feature", "fix bug", "refactor", "implement", "update", "migrate"
  • References to files, functions, APIs, database schemas, components
  • System behavior changes, UI modifications, integration work

If unclear: Ask user: "Is this spec about code/system changes, or external research/analysis?"

2.1 Research codebase context (code work only)

Explore the codebase to understand context before asking questions. Use file search and code reading to find:

  • Product purpose, existing patterns, user flows, terminology
  • Product docs (CUSTOMER.md, SPEC.md, PRD.md, BRAND_GUIDELINES.md, DESIGN_GUIDELINES.md, README.md)
  • Existing specs in docs/ or specs/
  • For bug fixes: also explore bug context, related code, potential causes

2.2 Read recommended files

Read ALL relevant files discovered - no skipping.

2.3 Web research (if needed)

Use web search when you cannot answer a question from codebase research alone and the answer requires: domain concepts unfamiliar to you, current industry standards or best practices, regulatory/compliance requirements, or competitor UX patterns. Do not use for questions answerable from codebase or general knowledge.

2.4 Update interview log

After EACH research step, append to interview log:

### {HH:MM:SS} - {what researched}
- Explored: {areas/topics}
- Key findings: {list}
- New areas identified: {list}
- Questions to ask: {list}

2.5 Write initial draft

Write first draft with [TBD] markers for unresolved items. Use same file path for all updates.

Phase 2 Complete When

For code work:

  • All codebase research tasks finished
  • All recommended files read
  • Initial draft written with [TBD] markers
  • Interview log populated with research findings

For non-code work (external research/analysis):

  • Phase 2 skipped per 2.0 decision
  • Initial draft written with [TBD] markers (based on $ARGUMENTS only)
  • Proceed directly to Phase 3 interview

Phase 3: Iterative Discovery Interview

Memento Loop

For each step:

  1. Mark todo in_progress
  2. Research OR ask question
  3. Write findings immediately to interview log
  4. Expand todos for: new areas revealed, follow-up questions, dependencies discovered
  5. Update spec file (replace [TBD] markers)
  6. Mark todo completed
  7. Repeat until no pending todos

NEVER proceed without writing findings first — interview log is external memory.

Interview Log Update Format

After EACH question/answer, append (Round = one question, may contain batched questions):

### Round {N} - {HH:MM:SS}
**Todo**: {which todo this addresses}
**Question asked**: {question}
**User answer**: {answer}
**Impact**: {what this revealed/decided}
**New areas**: {list or "none"}

After EACH decision (even implicit), append to Decisions Made:

- {Decision area}: {choice} — {rationale}

Todo Expansion Triggers

Discovery RevealsAdd Todos For
New affected areaRequirements for that area
Integration needIntegration constraints
Compliance/regulatoryCompliance requirements
Multiple scenarios/flowsEach scenario's behavior
Error conditionsError handling approach
Performance concernPerformance constraints/metrics
Existing dependencyDependency investigation
Rollback/recovery needRecovery strategy
Data preservation needData integrity requirements

Interview Rules

Unbounded loop: Keep iterating (research → question → update spec) until ALL completion criteria are met. No fixed round limit - continue as long as needed for complex problems. If user says "just infer the rest" or similar, document remaining decisions with [INFERRED: {choice} - {rationale}] markers and finalize.

  1. Prioritize questions that eliminate other questions - Ask questions where the answer would change what other questions you need to ask, or would eliminate entire branches of requirements. If knowing X makes Y irrelevant, ask X first.
  2. Interleave discovery and questions:

- User answer reveals new area → research codebase - Need domain knowledge → use web search - Update spec after each iteration, replacing [TBD] markers

  1. Question priority order: Priority Type Purpose Examples 1 Scope Eliminators Eliminate large chunks of work V1/MVP vs full? All users or segment? 2 Branching Open/close inquiry lines User-initiated or system-triggered? Real-time or async? 3 Hard Constraints Non-negotiable limits Regulatory requirements? Must integrate with X? 4 Differentiating Choose between approaches Pattern A vs B? Which UX model? 5 Detail Refinement Fine-grained details Exact copy, specific error handling
  2. Always provide a recommended option - put first with reasoning. Question whether each requirement is truly needed—don't pad with nice-to-haves. When options are equivalent AND reversible without data migration or API changes, decide yourself (lean simpler). When options are equivalent BUT have different user-facing tradeoffs, ask user.
  3. Be thorough via technique:

- Cover everything relevant - don't skip to save time - Reduce cognitive load through HOW you ask: concrete options, good defaults - Batching: Group related questions together (questions that address the same todo or decision area) - Make decisions yourself when context suffices - Complete spec with easy questions > incomplete spec with fewer questions

  1. Ask non-obvious questions - Uncover what user hasn't explicitly stated: motivations behind requirements, edge cases affecting UX, business rules implied by use cases, gaps between user expectations and feasibility, tradeoffs user may not have considered
  2. Ask vs Decide - User is authority for business decisions; codebase/standards are authority for implementation details. Ask user when: Category Examples Business rules Pricing logic, eligibility criteria, approval thresholds User segments Who gets this? All users, premium, specific roles? Tradeoffs with no winner Speed vs completeness, flexibility vs simplicity Scope boundaries V1 vs future, must-have vs nice-to-have External constraints Compliance, contracts, stakeholder requirements Preferences Opt-in vs opt-out, default on vs off Decide yourself when: Category Examples Existing pattern Error format, naming conventions, component structure Industry standard HTTP status codes, validation rules, retry strategies Sensible defaults Timeout values, pagination limits, debounce timing Easily changed later (single-file change, no data migration, no API contract change) Copy text, colors, specific thresholds Implementation detail Which hook to use, event naming, internal state shape Test: "If I picked wrong, would user say 'that's not what I meant' (ASK) or 'that works, I would have done similar' (DECIDE)?"

Phase 4: Finalize & Summarize

4.1 Final interview log update

## Interview Complete
Finished: {YYYY-MM-DD HH:MM:SS} | Questions: {count} | Decisions: {count}
## Summary
{Brief summary of discovery process}

4.2 Refresh context

Read the full interview log file to restore all decisions, findings, and rationale into context before writing the final spec.

4.3 Finalize specification

Final pass: remove [TBD] markers, ensure consistency. Use this minimal scaffolding - add sections dynamically based on what discovery revealed:

# Requirements: {Work Name}

Generated: {date}

## Overview
### Problem Statement
{What is wrong/missing/needed? Why now?}

### Scope
{What's included? What's explicitly excluded?}

### Affected Areas
{Systems, components, processes, users impacted}

### Success Criteria
{Observable outcomes that prove this work succeeded}

## Requirements
{Verifiable statements about what's true when this work is complete. Each requirement should be specific enough to check as true/false.}

### Core Behavior
- {Verifiable outcome}
- {Another verifiable outcome}

### Edge Cases & Error Handling
- When {condition}, {what happens}

## Constraints
{Non-negotiable limits, dependencies, prerequisites}

## Out of Scope
{Non-goals with reasons}

## {Additional sections as needed based on discovery}
{Add sections relevant to this specific work - examples below}

Dynamic sections - add based on what discovery revealed (illustrative, not exhaustive):

Discovery RevealsAdd Section
User-facing behaviorScreens/states (empty, loading, success, error), interactions, accessibility
API/technical interfaceContract (inputs/outputs/errors), integration points, versioning
Bug contextCurrent vs expected, reproduction steps, verification criteria
RefactoringCurrent/target structure, invariants (what must NOT change)
InfrastructureRollback plan, monitoring, failure modes
MigrationData preservation, rollback, cutover strategy
PerformanceCurrent baseline, target metrics, measurement method
Data changesSchema, validation rules, retention
Security & privacyAuth/authz requirements, data sensitivity, audit needs
User preferencesConfigurable options, defaults, persistence
External integrationsThird-party services, rate limits, fallbacks
ObservabilityAnalytics events, logging, success/error metrics

Specificity: Each requirement should be verifiable. "User can log in" is too vague; "on valid credentials → redirect to dashboard; on invalid → show inline error, no page reload" is right.

4.4 Mark all todos complete

4.5 Output approval summary

Present a scannable summary that allows approval without reading the full spec. Users may approve based on this summary alone.

## Spec Approval Summary: {Work Name}

**Full spec**: /tmp/spec-{...}.md

### At a Glance
| Aspect | Summary |
|--------|---------|
| Problem | {One-liner problem statement} |
| Scope | {What's in / explicitly out} |
| Users | {Who's affected} |
| Success | {Primary observable success criterion} |

### State Flow

{ASCII state machine showing main states/transitions of the feature}

Example format:
┌─────────────┐   action    ┌─────────────┐
│  STATE A    │────────────>│  STATE B    │
└─────────────┘             └─────────────┘
       │                          │
       v                          v
┌─────────────────────────────────────────┐
│              OUTCOME STATE              │
└─────────────────────────────────────────┘

Generate diagram that captures:
- Key states the system/user moves through
- Transitions (user actions or system events)
- Terminal states or outcomes

### Requirements ({count} total)

**Core** (must have):
- {Requirement 1}
- {Requirement 2}
- {Requirement 3}
- ...

**Edge Cases**:
- {Edge case 1}: {behavior}
- {Edge case 2}: {behavior}

### Key Decisions

| Decision | Choice | Rationale |
|----------|--------|-----------|
| {Area 1} | {Choice} | {Brief why} |
| {Area 2} | {Choice} | {Brief why} |

### Out of Scope
- {Non-goal 1}
- {Non-goal 2}

---
Approve to proceed to planning, or request adjustments.

State machine guidelines:

  • Show the primary flow, not every edge case
  • Use box characters: ┌ ┐ └ ┘ │ ─ ┬ ┴ ├ ┤ ┼ or simple ASCII: +---+, |, --->
  • Label transitions with user actions or system events
  • Keep to 3-7 states for readability
  • For CRUD features: show entity lifecycle
  • For user flows: show user journey states
  • For system changes: show before/after states

Key Principles

PrincipleRule
Memento styleWrite findings BEFORE next question (interview log = external memory)
Todo-drivenEvery discovery needing follow-up → todo (no mental notes)
WHAT not HOWRequirements only - no architecture, APIs, data models, code patterns. Self-check: if thinking "how to implement," refocus on "what should happen/change"
Observable outcomesFocus on what changes when complete. Ask "what is different after?" not "how does it work internally?" Edge cases = system/business impact
Dynamic structureSpec sections emerge from discovery. No fixed template beyond core scaffolding. Add sections as needed to fully specify the WHAT
Complete coverageSpec covers EVERYTHING implementer needs: behavior, UX, data, errors, edge cases, accessibility - whatever the work touches. If they'd have to guess, it's underspecified
Comprehensive spec, minimal questionsSpec covers everything implementer needs. Ask questions only when: (1) answer isn't inferable from codebase/context, (2) wrong guess would require changing 3+ files or redoing more than one day of work, (3) it's a business decision only user can make. Skip questions you can answer via research
No open questionsResolve everything during interview - no TBDs in final spec
Question requirementsDon't accept requirements at face value. Ask "is this truly needed for v1?" Don't pad specs with nice-to-haves
Reduce cognitive loadRecommended option first, multi-choice over free-text. Free-text only when: options are infinite/unpredictable, asking for specific values (names, numbers), or user needs to describe own context. User accepting defaults should yield solid result
Incremental updatesUpdate interview log after EACH step (not at end)

Completion Checklist

Interview complete when ALL true (keep iterating until every box checked):

  • Problem/trigger defined - why this work is needed
  • Scope defined - what's in, what's explicitly out
  • Affected areas identified - what changes
  • Success criteria specified - observable outcomes
  • Core requirements documented (3+ must-have behaviors that define the work's purpose)
  • Edge cases addressed
  • Constraints captured
  • Out of scope listed with reasons
  • No [TBD] markers remain
  • Passes completeness test (below)

Completeness Test (before finalizing)

Simulate three consumers of this spec:

  1. Implementer: Read each requirement. Could you code it without guessing? If you'd think "I'll ask about X later" → X is underspecified.
  2. Tester: For each behavior, can you write a test? If inputs/outputs/conditions are unclear → underspecified.
  3. Reviewer: For each success criterion, how would you verify it shipped correctly? If verification method is unclear → underspecified.

Any question from these simulations = gap to address before finalizing.

Never Do

  • Proceed without writing findings to interview log
  • Keep discoveries as mental notes instead of todos
  • Skip todo list
  • Write specs to project directories (always /tmp/)
  • Ask about technical implementation
  • Finalize with unresolved [TBD]
  • Skip summary output
  • Proceed past Phase 2 without initial draft
  • Forget to expand todos on new areas revealed

Edge Cases

ScenarioAction
User declines to answerNote [USER SKIPPED: reason], flag in summary
Insufficient researchAsk user directly, note uncertainty
Contradictory requirementsSurface conflict before proceeding
User corrects earlier decisionUpdate spec, log correction with reason, check if other requirements affected
Interview interruptedSpec saved; add [INCOMPLETE] at top. To resume: provide existing spec file path as argument
Resume interrupted specRead provided spec file. If file not found or not a valid spec (missing required sections like Overview, Requirements), inform user: "Could not resume from {path}: {reason}. Start fresh?" If valid, look for matching interview log at same timestamp, scan for [TBD] and [INCOMPLETE] markers, present status to user and ask "Continue from {last incomplete area}?"
"Just build it"Push back with 2-3 critical questions (questions where guessing wrong = significant rework). If declined, document assumptions clearly

平台分布

Claude Code

24.33%
按下载量换算27

Gemini CLI

22.04%
按下载量换算25

Antigravity

18.22%
按下载量换算21

OpenCode

12.77%
按下载量换算14

windsurf

8.21%
按下载量换算9

Codex

3.1%
按下载量换算4

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。

继续浏览同类 Skills