Aspice requirements skill
ASPICE-oriented requirements analysis and traceable SRS/SWRS derivation for automotive software.
npx -y skills add leehyon/aspice-requirements-skillAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Reconstruct one or multiple automotive customer requirement documents from a file or directory, build a global requirement brief, extract a CRS working set, and derive ASPICE-oriented SRS, SWRS, open issues, and CRS-to-SRS-to-SWRS traceability without losing document-level context.
SKILL.md
7.8 KB, as published. Nobody here has run it
ASPICE Requirements
Use this skill to analyze automotive customer requirement documents and derive structured requirements for ECU software, vehicle control software, diagnostics, communication, safety-related software, cybersecurity-related software, platform software, or application software.
Unless otherwise requested, write CRS Working Set, SRS, SWRS, traceability matrices, and open issues in English. Explanations to the user may be provided in Chinese if the conversation is in Chinese.
Primary User-Facing Outputs
- System Requirements Specification, SRS
- Software Requirements Specification, SWRS
- CRS-to-SRS-to-SWRS Traceability Matrix
- Open Issues List
The CRS Working Set is normally an intermediate AI-readable artifact. A formal CRS document may be generated only when explicitly requested.
PDF and Office Processing Skill Reuse
Before using built-in scripts or implementing custom PDF/Office extraction logic, the agent shall first check whether a dedicated document-processing or PDF-processing skill is already installed or available in the current environment.
If a suitable installed skill exists, prefer using that skill to extract or reconstruct PDF, Word, table, image/OCR, page reference, and layout information. Do not duplicate PDF parsing functionality inside this skill when a specialized skill can provide better extraction quality.
Recommended priority:
- Use an installed PDF/document-processing skill if available.
- If no suitable skill is available, use external tools such as Docling, marker, GROBID, or equivalent tools.
- If neither installed skills nor external tools are available, use the lightweight reconstruction script in
scripts/reconstruct_document.pyon already extracted Markdown or text.
Core Workflow
Do not directly generate software requirements from raw PDF, raw Word, or unstructured full-document text.
Always follow this workflow:
- Document Reconstruction
- Source Document Registry and Combined Document Analysis Model creation
- Global Requirement Brief creation
- CRS Working Set extraction by domain or section group
- SRS derivation from CRS Working Set
- SWRS derivation from reviewed SRS
- Traceability and Open Issues generation
Use section-aware chunks internally when needed, but do not expose low-level chunks as default outputs. Preserve a global document view before extracting or deriving requirements.
Multi-Document and Module-Based Inputs
Customer requirements may arrive as multiple files or module-specific documents under a directory.
When a directory or document set is provided:
- Reconstruct all relevant source documents.
- Create a Source Document Registry.
- Create a Combined Document Analysis Model.
- Build one Global Requirement Brief for the full document set.
- Extract CRS Working Set items by domain across documents.
- Consolidate duplicates and flag conflicts.
- Preserve document IDs in all CRS source references.
- Prefer one coherent SRS and one coherent SWRS unless the user explicitly requests module-specific outputs.
When to Load References
- Use
references/workflow.mdfor the overall process. - Use
references/document-reconstruction-guide.mdfor PDF/Word/text reconstruction and directory processing. - Use
references/global-requirement-brief.mdbefore extraction or derivation. - Use
references/requirement-extraction-guide.mdfor CRS Working Set extraction. - Use
references/derivation-rules.mdfor CRS-to-SRS and SRS-to-SWRS derivation. - Use
references/requirement-quality-rules.mdfor Automotive SPICE-style quality checks. - Use
references/traceability-guide.mdfor traceability and coverage. - Use
references/output-templates.mdwhen formatting outputs. - Use
references/file-naming-convention.mdwhen naming generated files and exported artifacts.
CRS Working Set
Each CRS Working Set item shall include:
- CRS ID
- Customer Requirement
- Domain
- Source Reference
- Status
- Issue
CRS items shall represent customer intent only. Do not add system behavior, software behavior, implementation details, numeric thresholds, safety assumptions, security assumptions, or interface details unless supported by source content or confirmed by the user.
SRS
Each SRS item shall include:
- SRS ID
- System Requirement
- Domain
- Parent CRS ID
- Derived
- Rationale
- Verification Method
- Status
- Issue
Every SRS item shall trace to at least one CRS item.
SWRS
Each SWRS item shall include:
- SWRS ID
- Software Requirement
- Domain
- Parent SRS ID
- Software Boundary
- Derived
- Rationale
- Verification Method
- Status
- Issue
Every SWRS item shall trace to at least one SRS item.
SRS-to-SWRS Transformation Principle
When deriving SWRS items from SRS items, do not directly copy or mechanically reword the SRS text.
SWRS shall be written from a software development perspective and shall describe externally observable software behavior at the software boundary. Use ISO/IEC/IEEE 29148-inspired requirement writing principles: clear stakeholder/software intent, atomicity, feasibility, verifiability, traceability, and explicit rationale for derived requirements.
For each SRS-to-SWRS transformation, consider:
- What software behavior is needed to satisfy the system requirement?
- What are the relevant software inputs, outputs, states, modes, interfaces, data, diagnostics, timing, configuration, calibration, safety, or security aspects?
- What behavior is externally observable and testable?
- What remains system-level, hardware-level, or design-level and should not be forced into SWRS?
- What information is missing and should become an open issue instead of being invented?
The SWRS shall not be a copy of the SRS. It shall refine, allocate, or decompose the SRS into software-relevant requirements while preserving parent traceability.
Requirement Quality Rules
Each requirement shall:
- Be traceable to a higher-level requirement or source item.
- Use clear mandatory language, preferably
shall. - Describe one single need only.
- Be feasible and verifiable.
- Avoid ambiguous words such as
fast,suitable,appropriate,user-friendly,robust,optimized, andas needed. - Be classified by domain or requirement type.
- Distinguish functional, performance, interface, diagnostic, safety, security, configuration, calibration, resource, and timing concerns.
- Keep software requirements focused on externally observable software behavior.
- Mark and justify derived requirements.
- Report missing, unclear, conflicting, or unverifiable information as open issues.
Traceability Matrix
The main traceability matrix shall include:
- Trace ID
- CRS ID
- SRS ID
- SWRS ID
- Trace Status
- Notes
Allowed trace status values: Complete, Missing SRS, Missing SWRS, System-only, Needs Clarification.
Output File Naming
When generating files, use the filename rules in references/file-naming-convention.md.
Anti-Hallucination Rules
- Do not invent requirements.
- Do not invent source references.
- Do not derive SRS or SWRS directly from raw source documents without a CRS Working Set.
- Do not process only local chunks without first building a global document overview.
- Do not rewrite uncertainty as confirmed facts.
- Do not merge unrelated requirements.
- Do not split requirements without preserving traceability.
- Do not add implementation details unless explicitly supported.
- Do not derive numeric thresholds, timing values, safety assumptions, security assumptions, diagnostic behavior, or interface details without source support or user confirmation.
- If information is missing, create an open issue.