Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计提醒

spec规格说明

Agent Skill

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

总安装

349

周安装

14

GitHub Stars

2

下载量

113
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

简介

spec 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装使用。
  • 安装前需确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • spec 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

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

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

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 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills