Back to Skills

sop-rfc2119

verified

Use when writing SOPs that require precise requirement levels using RFC 2119 constraint keywords (MUST, SHOULD, MAY). Covers proper usage of requirement keywords for deterministic agent behavior.

View on GitHub

Marketplace

han

TheBushidoCollective/han

Plugin

hashi-agent-sop

Bridge

Repository

TheBushidoCollective/han
60stars

hashi/hashi-agent-sop/skills/sop-rfc2119/SKILL.md

Last Verified

January 24, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/hashi/hashi-agent-sop/skills/sop-rfc2119/SKILL.md -a claude-code --skill sop-rfc2119

Installation paths:

Claude
.claude/skills/sop-rfc2119/
Powered by add-skill CLI

Instructions

# RFC 2119 Keywords for SOPs

RFC 2119 defines keywords for indicating requirement levels in specifications. Using these keywords in SOPs creates precise, unambiguous instructions that AI agents can execute deterministically.

## Key Concepts

### The RFC 2119 Keywords

RFC 2119 defines these keywords for requirement levels:

| Keyword | Meaning | Usage |
|---------|---------|-------|
| **MUST** | Absolute requirement | Non-negotiable steps that must be performed |
| **MUST NOT** | Absolute prohibition | Actions that are forbidden |
| **SHOULD** | Strong recommendation | Preferred approach, but alternatives may exist |
| **SHOULD NOT** | Strong discouragement | Discouraged, but may be acceptable in specific cases |
| **MAY** | Optional | Truly optional actions at agent's discretion |

### Why Use RFC 2119 in SOPs

1. **Eliminates Ambiguity**: Clear distinction between required and optional steps
2. **Predictable Execution**: Agents know exactly what is mandatory vs. recommended
3. **Better Error Handling**: Violations of MUST/MUST NOT trigger immediate failures
4. **Consistent Interpretation**: Standard keywords understood across implementations

## Best Practices

### Using MUST

**MUST** indicates absolute requirements. Use for:

- Critical safety or security steps
- Steps that affect data integrity
- Prerequisites that block subsequent steps
- Validation that prevents errors

```markdown
## Steps

1. You MUST verify all tests pass before deployment
2. You MUST backup the database before running migrations
3. You MUST validate user input before processing
4. You MUST check authentication before accessing resources
```

**When Not to Use MUST:**

- ❌ Stylistic preferences: "You MUST use single quotes"
- ❌ Minor optimizations: "You MUST use const instead of let"
- ✅ Use SHOULD instead for preferences

### Using MUST NOT

**MUST NOT** indicates absolute prohibitions. Use for:

- Security violations
- Data corruption risks
- Breaking changes without migration
- Action

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
11307 chars