Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Srs Creation Skill

ASecurity

Create and review SRS (IEEE 830) — the internal 'what' stage after BRD. Triggers: create srs, software requirements, functional spec, feature spec, specification, legacy 'create prd'.

6 stars
0 votes
0 copies
0 views
Added 9/20/2026
businessrustgoexpressgitsecurityperformance

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add darellchua2/opencode-config-template --skill srs-creation-skill --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Srs Creation Skill?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Srs Creation Skill
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/darellchua2-srs-creation-skill/badge)](https://www.skillsdirectory.com/skills/darellchua2-srs-creation-skill)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: srs-creation-skill
description: >-
  Create and review SRS (IEEE 830) — the internal 'what' stage after BRD.
  Triggers: create srs, software requirements, functional spec, feature spec,
  specification, legacy 'create prd'.
license: Apache-2.0
compatibility: opencode
category: Framework
---

## What I do

I provide a structured **Software Requirements Specification (SRS)** creation workflow following the **IEEE 830** standard — the recognized BA-to-developer requirements document. The SRS is an **internal** document (audience = development team), distinct from the customer-facing Vision Document.

1. **IEEE 830 SRS Template** — 4-part structure (Introduction / Overall Description / Specific Requirements / Supporting Information) preserving the valuable sections of the prior PRD template (acceptance criteria, NFRs, MoSCoW priorities, risks) by mapping them into the IEEE structure
2. **docs/srs/ Naming Convention** — draft files (`SRS-draft-{slug}.md`) renamed to ticket-keyed files (`SRS-{key}.md`) after ticket creation
3. **PLAN Back-Linkage** — bidirectional traceability between SRS and PLAN files
4. **Discovery Interview Workflow** — prompt-first flow that gathers content section-by-section with user confirmation

> **Back-compat:** the legacy triggers "create prd", "product requirement", "product requirement document", "product doc", "PRD" route to **this** SRS skill. PRD was the wrong label for BA→dev handoff; SRS (IEEE 830) is the proper-software-house standard.

## When to use me

Use this skill when:
- A feature needs **internal requirements engineering** for the development team (NOT a customer-facing doc — that is `vision-creation-skill`)
- Someone says "create srs", "software requirements", "functional spec", "feature spec", "specification", "write srs"
- You want a structured artifact that feeds into the PLAN file via `worktree-pipeline-skill` §6b draft linking
- The customer-facing Vision is signed off and must be translated into developer-ready requirements
- Reviewing/updating an existing SRS

**Trigger phrases**: "create srs", "software requirements", "functional spec", "feature spec", "specification", "write srs", "srs doc" — plus back-compat "create prd", "product requirement", "product doc", "PRD"

## Audience

The SRS is **internal — for the development team**. It encodes tradeoffs, non-goals, MoSCoW priorities, build-vs-buy rationale, performance targets, and traceability that you would NOT put in front of a customer. The customer-facing equivalent is the Vision Document (`vision-creation-skill`).

## Related

- **`requirements-specialist-subagent`** — the agent that authors the SRS (this skill is its template)
- **`vision-creation-skill`** — the upstream customer-facing doc; the signed Vision feeds INTO the SRS
- **`interactive-document-rendering-skill`** — shared HTML + DOCX rendering standard (snapshot HTML for SRS)
- **`worktree-pipeline-skill`** — auto-detects draft SRS in `docs/srs/` during PLAN authoring (§6b), renames to ticket key, links in PLAN header
- **`worktree-pipeline-skill`** — downstream consumer; SRS feeds into the PLAN file
- **`xlsx-specialist-skill` / `xlsx-specialist-subagent`** — peer tabular deliverables (RTM, data dictionary)
- **`verification-loop-skill`** — acceptance-criteria alignment between SRS and implementation

---

## SRS Template (IEEE 830)

Every SRS follows the IEEE 830 four-part structure. The header links to the PLAN file (filled when a ticket is created). Valuable content from the prior PRD template is preserved by mapping into the IEEE structure.

### Header

```markdown
# SRS: {Feature Name}

**Status**: Draft | In Review | Approved
**Author**: {name}
**Date**: {YYYY-MM-DD}
**Vision**: docs/vision/VISION-{slug}.md _(upstream customer-facing doc, if one exists)_
**PLAN**: PLANS/PLAN-{key}.md _(filled when ticket is created)_
```

---

## Part 1. Introduction

### 1.1 Purpose

Describe the problem this feature solves and why it matters now.

```markdown
## 1.1 Purpose

{What problem exists today? Who is affected? What is the cost of not solving it?}

**Example**: Users cannot reset their password if they lose access to their
registered email. Support receives ~50 tickets/month for manual password resets,
averaging 2 business days to resolve.
```

### 1.2 Scope

Define what is in and out of scope — explicit non-goals prevent scope creep.

```markdown
## 1.2 Scope

### In scope
- {Deliverable 1}
- {Deliverable 2}

### Out of scope (non-goals)
- {Explicitly excluded — may be future work}
- {What this feature deliberately does NOT do}
```

### 1.3 Definitions & Acronyms

```markdown
## 1.3 Definitions & Acronyms

| Term | Meaning |
|---|---|
| {term} | {definition} |
```

### 1.4 References

```markdown
## 1.4 References

- {Link/title — related Vision doc, design doc, research, competitor analysis}
- {Issue/ticket link}
```

### 1.5 Overview

One paragraph outlining how the rest of the SRS is organized.

---

## Part 2. Overall Description

### 2.1 Product Perspective (Background / Context)

```markdown
## 2.1 Product Perspective

{What led to this problem? What existing systems or decisions are relevant?
What prior attempts (if any) were made?}
```

### 2.2 Product Functions (Goals)

```markdown
## 2.2 Product Functions

### Goals
- {Goal 1 — what this feature must achieve}
- {Goal 2}

### Non-Goals
- {Explicitly out of scope}
```

### 2.3 User Characteristics (Personas & User Stories)

Identify who benefits and express requirements from their perspective.

```markdown
## 2.3 User Characteristics

### Personas
#### Persona 1: {Name} — {Role}
- **Context**: {When/where do they interact?}
- **Needs**: {What do they need to accomplish?}
- **Pain Points**: {What frustrates them today?}

### User Stories / Jobs-to-be-Done
- As a {persona}, I want to {action}, so that I can {outcome}.
- When {situation}, I want to {motivation}, so I can {expected outcome}.
```

### 2.4 Constraints

```markdown
## 2.4 Constraints

- {Regulatory, budgetary, timeline, or integration constraints}
```

### 2.5 Assumptions & Dependencies

```markdown
## 2.5 Assumptions & Dependencies

### Assumptions
- {something believed to be true}

### Dependencies
- {team, service, or external factor this depends on}
```

---

## Part 3. Specific Requirements

> This is the core of the SRS. Functional requirements carry **MoSCoW** priorities (Must/Should/Could/Won't) and per-requirement acceptance criteria.

### 3.1 External Interfaces

```markdown
## 3.1 External Interfaces

- {User interfaces, hardware, software, communication interfaces}
```

### 3.2 Functional Requirements

```markdown
## 3.2 Functional Requirements

### FR-1: {Requirement Name}
- **Description**: {What the system must do}
- **Priority**: Must | Should | Could | Won't (MoSCoW)
- **Acceptance**: {How to verify this requirement is met}

**Example**:
### FR-1: Password Reset via SMS
- **Description**: Users with a verified phone number can request a password
  reset code via SMS. The code expires after 10 minutes.
- **Priority**: Must
- **Acceptance**: User enters phone → receives 6-digit code → enters code →
  sets new password → redirected to login.
```

### 3.3 Performance Requirements

```markdown
## 3.3 Performance Requirements

- {Metric}: {Target} (e.g. "Password reset page loads < 2s on 3G")
```

### 3.4 Design Constraints

```markdown
## 3.4 Design Constraints

- {Architecture, technology, or standards the design must respect}

### Make vs Buy
- {Build internally vs use third-party — rationale}
```

### 3.5 Software System Attributes (Quality / NFRs)

```markdown
## 3.5 Software System Attributes

### Security
- {Constraint} (e.g. "Reset codes are single-use and hashed at rest")

### Reliability / Availability
- {Target}

### Accessibility
- {Standard} (e.g. "WCAG 2.1 AA compliant")

### Maintainability / Portability
- {Target}
```

### 3.6 Acceptance Criteria (feature-level)

"Done" at the SRS level — complements per-requirement acceptance in 3.2.

```markdown
## 3.6 Acceptance Criteria

- [ ] {Criterion 1 — high-level, testable}
- [ ] All functional requirements with priority "Must" are implemented
- [ ] All NFRs (3.3–3.5) are validated
```

---

## Part 4. Supporting Information

### 4.1 Success Metrics (KPIs)

```markdown
## 4.1 Success Metrics

| Metric | Baseline | Target | Measurement Method |
|--------|----------|--------|-------------------|
| {Metric name} | {Current value} | {Goal} | {How measured} |
```

### 4.2 Risks

```markdown
## 4.2 Risks

| Risk | Likelihood | Impact | Mitigation |
|------|-----------|--------|------------|
| {Risk} | High/Med/Low | High/Med/Low | {How to mitigate} |
```

### 4.3 Open Questions

```markdown
## 4.3 Open Questions

- [ ] {Question} — **Owner**: {who decides} — **Needed by**: {phase/date}
```

### 4.4 Timeline / Milestones

```markdown
## 4.4 Timeline / Milestones

| Milestone | Target Date | Dependencies |
|-----------|-------------|--------------|
| {Milestone} | {Date} | {Dependency} |
| Implementation complete | {Date} | Design approved |
```

### 4.5 Requirements Traceability Matrix (RTM)

> **Large tabular artifact — export as .xlsx.** When the RTM exceeds ~15 rows (requirement  test  stakeholder), produce it as `docs/srs/{slug}/SRS-{key}-rtm.xlsx` via `xlsx-specialist` and link it here; keep only the summary inline.

```markdown
## 4.5 Requirements Traceability Matrix

_See docs/srs/{slug}/SRS-{key}-rtm.xlsx for the full matrix._
```

---

## docs/srs/ Naming Convention

### Draft (during planning, before ticket exists)

```
docs/srs/SRS-draft-{kebab-slug}.md
```

- Slug derived from SRS title (e.g. "User Authentication" → `user-authentication`)
- Created by `requirements-specialist-subagent` during the discovery interview
- The `**PLAN**:` field in the header is `_(filled when ticket is created)_`

### Final (after ticket creation)

```
docs/srs/SRS-{ticket-key}.md
```

- Renamed via `git mv` by `worktree-pipeline-skill` §6b during PLAN authoring (preserves git history)
- If the draft was never committed (untracked on the new branch), a plain `mv` + `git add` is used instead

### Bidirectional Linkage

| Direction | Field | Location |
|-----------|-------|----------|
| SRS → PLAN | `**PLAN**: PLANS/PLAN-{key}.md` | SRS header (filled at rename time) |
| PLAN → SRS | `**SRS**: docs/srs/SRS-{key}.md` | PLAN header (injected by worktree-pipeline-skill) |

---

## Tabular Artifacts (peer deliverables)

Large tabular deliverables are exported as `.xlsx` via `xlsx-specialist-skill` / `xlsx-specialist-subagent`, **not** inlined:

| Artifact | Path | When |
|---|---|---|
| Requirements Traceability Matrix | `docs/srs/{slug}/SRS-{key}-rtm.xlsx` | >15 requirement rows |
| Data Dictionary | `docs/srs/{slug}/SRS-{key}-data-dictionary.xlsx` | entity/attribute tables |
| Requirement Register | `docs/srs/{slug}/SRS-{key}-register.xlsx` | large requirement lists |

Small tables stay inline in the Markdown. The `.xlsx` files are **peer deliverables linked from the SRS**, never embedded — this keeps a single editable source of truth per artifact.

---

## Rendering

**Render dual outputs per `interactive-document-rendering-skill` (snapshot for SRS):**
- **Interactive HTML** — rendered once at wrap (`docs/srs/{slug}/SRS-{slug}.interactive.html`), snapshot (not living)
- **Word .docx** — formal deliverable for review/sign-off (`docs/srs/SRS-{slug}.docx`), auto-TOC + hyperlinked headers + section page-breaks

**Image routing:** if a referenced diagram/screenshot must be interpreted, delegate to `image-analyzer-subagent` (do not interpret inline).

---

## Discovery Interview Workflow

The `requirements-specialist-subagent` follows this prompt-first flow:

### Step 1: Gather Title & Overview
```
Subagent: "What is the title and brief overview of the feature you want an SRS for?"
User: {provides title and overview}
Subagent: "I'll use: Title: '{title}'. Proceed?"
```

### Step 2: Iterate Through IEEE 830 Parts
```
For each part/section (Introduction → Supporting Information):
  Subagent: "Next: {Section} (e.g. 3.2 Functional Requirements). {Purpose}. What content?"
  User: {provides content or says "skip" — skip keeps the heading}
  Subagent: "Got it. Here's what I'll write: {summary}. Correct?"
```

### Step 3: Confirm Full SRS Before Writing
```
Subagent: "Here's a summary of the SRS:
  - Title: {title}
  - Parts: 1–4 (IEEE 830, with content)
  - File: docs/srs/SRS-draft-{slug}.md

  Proceed to write?"
User: {yes → write file; no → revise}
```

---

## Return Contract

```
**Status:** [success | partial | failed]
**Output:** docs/srs/SRS-draft-{slug}.md
**Summary:** SRS created (IEEE 830) across 4 parts; written to docs/srs/
**Issues:** [blockers or "None"]
```

Attribution

darellchua2darellchua2
View sourceMore from darellchua2 →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Solution Architect

Designs system architecture, component specifications, and technical integration strategy. Use when: designing solutions, system architecture, technology stack, or integration approaches.

192 votes

Akorchak:Venture Assessment

Generate a comprehensive VC investment assessment report for a company

72 votes

Stock Analysis

Analyze stocks and cryptocurrencies using Yahoo Finance data. Supports portfolio management (create, add, remove assets), crypto analysis (Top 20 by market cap), and periodic performance reports (daily/weekly/monthly/quarterly/yearly). 8 analysis dimensions for stocks, 3 for crypto. Use for stock analysis, portfolio tracking, earnings reactions, or crypto monitoring.

6511 votes

Just Fucking Cancel

Find and cancel unwanted subscriptions by analyzing bank transactions. Detects recurring charges, calculates annual waste, and helps you cancel with direct URLs and browser automation. Use when: 'cancel subscriptions', 'audit subscriptions', 'find recurring charges', 'what am I paying for', 'save money', 'subscription cleanup', 'stop wasting money'. Supports CSV import (Apple Card, Chase, Amex, Citi, Bank of America, Capital One, Mint, Copilot) OR Plaid API for automatic transaction pull. Out...

6511 votes

Telegram Compose

Compose rich, readable Telegram messages using HTML formatting via direct Telegram API. Use when: (1) Sending any Telegram message beyond a simple one-line reply, (2) Creating structured messages with sections, lists, or status updates, (3) Need formatting unavailable via Clawdbot's Markdown conversion (underline, spoilers, expandable blockquotes, user mentions by ID), (4) Sending alerts, reports, summaries, or notifications to Telegram, (5) Want professional, scannable message formatting wit...

6511 votes
View all in business →