
Update Specification
Keep a living `/spec/` markdown spec aligned with new requirements and code changes so your coding agent can read one machine-ready source of truth.
Overview
Update Specification is an agent skill most often used in Build (also Validate, Ship) that refreshes an existing `/spec/` markdown file so requirements and interfaces stay explicit and generative-AI readable after new re
Install
npx skills add https://github.com/github/awesome-copilot --skill update-specificationWhat is this skill?
- Rewrites an existing `${file}` spec with explicit requirements, constraints, and interfaces
- Enforces AI-ready style: precise language, structured headings/lists/tables, defined acronyms
- Saves under `/spec/` with `[a-z0-9-]+.md` names prefixed by purpose (schema, tool, data, infrastructure, process, archit
- Treats specs as self-contained—no idioms or external-context assumptions
- Includes examples and edge cases where applicable for clearer agent parsing
- Seven high-level spec name prefixes: schema, tool, data, infrastructure, process, architecture, design
Adoption & trust: 8.8k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your implementation moved ahead of the written spec, so your agent is coding against stale or ambiguous requirements.
Who is it for?
Solo builders running spec-driven or agent-heavy workflows who already keep solution specs in `/spec/` and need disciplined updates when scope or code changes.
Skip if: Greenfield projects with no spec file yet, teams that do not use a `/spec/` convention, or work that only needs informal README notes without formal requirements.
When should I use this skill?
Update an existing specification file based on new requirements or updates to any existing code, optimized for Generative AI consumption.
What do I get? / Deliverables
You get an updated, self-contained specification file under `/spec/` with clear requirements and interfaces that agents can follow on the next implementation pass.
- Updated markdown specification in `/spec/` with requirements, constraints, and interfaces
- Self-contained AI-parseable structure with defined terms and examples where needed
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build → docs because the skill’s main output is updating structured specification files for ongoing product work, not one-off ideation. Specs are documentation artifacts—requirements, interfaces, constraints—meant for generative AI consumption alongside implementation.
Where it fits
New pricing or API constraints land mid-validation—you rewrite the spec sections before committing to the build backlog.
After shipping a backend integration, you update the data and infrastructure spec files so the agent’s next tasks reference the real interfaces.
Pre-release you reconcile architecture and process specs with what actually shipped so launch checklists and agents share one truth.
How it compares
Use instead of pasting diffs into chat and hoping the agent remembers your architecture—this skill targets durable, machine-readable spec files.
Common Questions / FAQ
Who is update-specification for?
Indie and solo builders maintaining structured markdown specifications for agents—especially when requirements or code change faster than the doc.
When should I use update-specification?
In Validate when scope or interfaces change before build; in Build when merged code outpaces the spec; in Ship when you need launch-ready docs that still match production behavior.
Is update-specification safe to install?
It is prose workflow guidance for editing local spec files—review the Security Audits panel on this page and treat spec updates like any doc change you would commit and review.
SKILL.md
READMESKILL.md - Update Specification
# Update Specification Your goal is to update the existing specification file `${file}` based on new requirements or updates to any existing code. The specification file must define the requirements, constraints, and interfaces for the solution components in a manner that is clear, unambiguous, and structured for effective use by Generative AIs. Follow established documentation standards and ensure the content is machine-readable and self-contained. ## Best Practices for AI-Ready Specifications - Use precise, explicit, and unambiguous language. - Clearly distinguish between requirements, constraints, and recommendations. - Use structured formatting (headings, lists, tables) for easy parsing. - Avoid idioms, metaphors, or context-dependent references. - Define all acronyms and domain-specific terms. - Include examples and edge cases where applicable. - Ensure the document is self-contained and does not rely on external context. The specification should be saved in the [/spec/](/spec/) directory and named according to the following convention: `[a-z0-9-]+.md`, where the name should be descriptive of the specification's content and starting with the highlevel purpose, which is one of [schema, tool, data, infrastructure, process, architecture, or design]. The specification file must be formatted in well formed Markdown. Specification files must follow the template below, ensuring that all sections are filled out appropriately. The front matter for the markdown should be structured correctly as per the example following: ```md --- title: [Concise Title Describing the Specification's Focus] version: [Optional: e.g., 1.0, Date] date_created: [YYYY-MM-DD] last_updated: [Optional: YYYY-MM-DD] owner: [Optional: Team/Individual responsible for this spec] tags: [Optional: List of relevant tags or categories, e.g., `infrastructure`, `process`, `design`, `app` etc] --- # Introduction [A short concise introduction to the specification and the goal it is intended to achieve.] ## 1. Purpose & Scope [Provide a clear, concise description of the specification's purpose and the scope of its application. State the intended audience and any assumptions.] ## 2. Definitions [List and define all acronyms, abbreviations, and domain-specific terms used in this specification.] ## 3. Requirements, Constraints & Guidelines [Explicitly list all requirements, constraints, rules, and guidelines. Use bullet points or tables for clarity.] - **REQ-001**: Requirement 1 - **SEC-001**: Security Requirement 1 - **[3 LETTERS]-001**: Other Requirement 1 - **CON-001**: Constraint 1 - **GUD-001**: Guideline 1 - **PAT-001**: Pattern to follow 1 ## 4. Interfaces & Data Contracts [Describe the interfaces, APIs, data contracts, or integration points. Use tables or code blocks for schemas and examples.] ## 5. Acceptance Criteria [Define clear, testable acceptance criteria for each requirement using Given-When-Then format where appropriate.] - **AC-001**: Given [context], When [action], Then [expected outcome] - **AC-002**: The system shall [specific behavior] when [condition] - **AC-003**: [Additional acceptance criteria as needed] ## 6. Test Automation Strategy [Define the testing approach, frameworks, and automation requirements.] - **Test Levels**: Unit, Integration, End-to-End - **Frameworks**: MSTest, FluentAssertions, Moq (for .NET applications) - **Test Data Management**: [approach for test data creation and cleanup] - **CI/CD Integration**: [automated testing in GitHub Actions pipelines] - **Coverage Requirements**: [minimum code coverage thresholds] - **Performance Testing**: [approach for load and performance testing] ## 7. Rationale & Context [Explain the reasoning behind the requirements, constraints, and guidelines. Provide context fo