mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-21 14:09:27 +00:00
chore(skills): move the project skills from .opencode/skills to .agent/skills
Maintainer decision 2026-10-02 (no symlink). AGENTS.md, README, the two spec docs, the kiro-spec-batch skill and the provenance ignore list are repointed; the OpenCode plugin package.json stays under .opencode. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
48510fd5c2
commit
69b5e0efcc
@@ -0,0 +1,49 @@
|
||||
# EARS Format Guidelines
|
||||
|
||||
## Overview
|
||||
EARS (Easy Approach to Requirements Syntax) is the standard format for acceptance criteria in spec-driven development.
|
||||
|
||||
EARS patterns describe the logical structure of a requirement (condition + subject + response) and are not tied to any particular natural language.
|
||||
All acceptance criteria should be written in the target language configured for the specification (for example, `spec.json.language` / `en`).
|
||||
Keep EARS trigger keywords and fixed phrases in English (`When`, `If`, `While`, `Where`, `The system shall`, `The [system] shall`) and localize only the variable parts (`[event]`, `[precondition]`, `[trigger]`, `[feature is included]`, `[response/action]`) into the target language. Do not interleave target-language text inside the trigger or fixed English phrases themselves.
|
||||
|
||||
## Primary EARS Patterns
|
||||
|
||||
### 1. Event-Driven Requirements
|
||||
- **Pattern**: When [event], the [system] shall [response/action]
|
||||
- **Use Case**: Responses to specific events or triggers
|
||||
- **Example**: When user clicks checkout button, the Checkout Service shall validate cart contents
|
||||
|
||||
### 2. State-Driven Requirements
|
||||
- **Pattern**: While [precondition], the [system] shall [response/action]
|
||||
- **Use Case**: Behavior dependent on system state or preconditions
|
||||
- **Example**: While payment is processing, the Checkout Service shall display loading indicator
|
||||
|
||||
### 3. Unwanted Behavior Requirements
|
||||
- **Pattern**: If [trigger], the [system] shall [response/action]
|
||||
- **Use Case**: System response to errors, failures, or undesired situations
|
||||
- **Example**: If invalid credit card number is entered, then the website shall display error message
|
||||
|
||||
### 4. Optional Feature Requirements
|
||||
- **Pattern**: Where [feature is included], the [system] shall [response/action]
|
||||
- **Use Case**: Requirements for optional or conditional features
|
||||
- **Example**: Where the car has a sunroof, the car shall have a sunroof control panel
|
||||
|
||||
### 5. Ubiquitous Requirements
|
||||
- **Pattern**: The [system] shall [response/action]
|
||||
- **Use Case**: Always-active requirements and fundamental system properties
|
||||
- **Example**: The mobile phone shall have a mass of less than 100 grams
|
||||
|
||||
## Combined Patterns
|
||||
- While [precondition], when [event], the [system] shall [response/action]
|
||||
- When [event] and [additional condition], the [system] shall [response/action]
|
||||
|
||||
## Subject Selection Guidelines
|
||||
- **Software Projects**: Use concrete system/service name (e.g., "Checkout Service", "User Auth Module")
|
||||
- **Process/Workflow**: Use responsible team/role (e.g., "Support Team", "Review Process")
|
||||
- **Non-Software**: Use appropriate subject (e.g., "Marketing Campaign", "Documentation")
|
||||
|
||||
## Quality Criteria
|
||||
- Requirements must be testable, verifiable, and describe a single behavior.
|
||||
- Use objective language: "shall" for mandatory behavior, "should" for recommendations; avoid ambiguous terms.
|
||||
- Follow EARS syntax: [condition], the [system] shall [response/action].
|
||||
Reference in New Issue
Block a user