plugins/reqstool/skills/reqstool/add-svc/SKILL.md
Add a new Software Verification Case (SVC) to the system-level SVCs file and update the relevant subproject filter. Use when the user wants to add a test scenario for a requirement.
npx skillsauth add reqstool/reqstool-ai reqstool:add-svcInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Add a new SVC and update subproject filters.
Input: Requirement ID to verify, or a description of the test scenario.
Configuration
Read .reqstool-ai.yaml — see reqstool-conventions.md for field reference.
For reqstool fundamentals (imports, filters, implementations), see reqstool-overview.md in the reqstool-conventions skill references.
Steps
Read config
Read .reqstool-ai.yaml. Build a mapping of requirement prefixes to modules and SVC prefixes.
Gather SVC details
If not provided, use AskUserQuestion to collect:
CORE_0005)automated-test or manual-test (default: automated-test)If only a requirement ID is given, read the requirement from <system.path>/requirements.yml
to help draft the GIVEN/WHEN/THEN scenario.
Determine the module from the requirement ID
Match the requirement ID prefix against modules.<name>.req_prefix to find the correct module.
Use that module's svc_prefix for the new SVC ID.
Determine the next SVC ID
Read <system.path>/software_verification_cases.yml and find existing SVC IDs
with the relevant svc_prefix. The SVC ID mirrors the requirement ID structure:
For non-decomposed requirements (no dot in requirement ID):
CORE_0005 with svc_prefix: SVC_CORE_ -> try SVC_CORE_0005 firstFor child requirements (dot notation, e.g., CLI_0004.1):
SVC_CLI_0004.1SVC_CLI_0004.1aFor parent requirements (when children exist):
SVC_CLI_0004 (mirrors the parent requirement)reqstool-decomposition-conventions.md (in the reqstool-conventions skill references) for parent SVC conventionsAdd the SVC to system-level file
Append the new SVC to <system.path>/software_verification_cases.yml.
Format for automated-test:
- id: <SVC_ID>
requirement_ids: ["<REQ_ID>"]
title: <title>
verification: automated-test
description: |
GIVEN <precondition>
WHEN <action>
THEN <expected result>
revision: "<revision>"
Format for manual-test (includes instructions):
- id: <SVC_ID>
requirement_ids: ["<REQ_ID>"]
title: <title>
verification: manual-test
description: |
GIVEN <precondition>
WHEN <action>
THEN <expected result>
instructions: "<how to manually verify>"
revision: "<revision>"
Update the subproject filter
Add the new SVC ID to the filters.<urn>.svc_ids.includes list in the relevant module's
<module.path>/software_verification_cases.yml.
Verify the new SVC is tracked
get_svc(<new_svc_id>) on the reqstool MCP server and confirm the SVC is returned.reqstool status local -p <module.path> and confirm the new SVC appears under the linked requirement.Report
Show the user:
@SVCs annotation to the test method/function (see reqstool-annotation-conventions.md for language-specific syntax)."Guardrails
<system.path>/requirements.ymltools
Install the openspecui reqstool hook into this project. Writes openspec/openspecui.hooks.ts so openspecui enriches all OpenSpec documents (spec, changes, and archived) with reqstool requirement/SVC titles and descriptions at read time.
tools
Run reqstool traceability status on the local filesystem. Use when the user wants to check requirement coverage, missing implementations, or test status.
tools
Create or update .reqstool-ai.yaml configuration for a project. Use when the user wants to initialize or reconfigure reqstool-ai settings.
tools
Add a new requirement to the system-level requirements.yml and update the relevant subproject filter. Use when the user wants to add a new requirement.