skills/frd-generator/SKILL.md
Generate comprehensive FRD markdown structure with all required sections. Provides section templates, numbering conventions (FR-XXX, TR-XXX, US-XXX), platform-specific additions, and output format guidelines. Invoke when requirements are gathered and ready to structure into FRD document.
npx skillsauth add kanopi/cms-cultivator frd-generatorInstall 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.
Generate the complete FRD markdown structure with all required sections, numbering conventions, and platform-specific elements.
A well-structured FRD serves both as client communication and developer specification.
Activate this skill when:
The FRD follows this 10-section structure:
Purpose: High-level overview for stakeholders
Required Content:
Numbering: None (narrative section)
Purpose: Platform, architecture, and technology decisions
Required Content:
Numbering: TR-001, TR-002, TR-003...
Note: Place BEFORE Functional Requirements for technical projects
Purpose: User stories, features, and business logic
Required Content:
Numbering:
Format for Recipe-Based Projects:
## FR-001: saplings_person Recipe [MUST HAVE]
**Purpose**: Provider/staff directory with biographical information
**Recipe Structure**:
- Content Type: Person
- Taxonomies: Specialties, Languages
- Fields: field_phone (SHARED), field_services (SHARED)
- Views: Provider Directory with filters
- Pathauto: /providers/[node:title]
- Image Style: person_headshot (300×300)
**Story Points**: 8 points
**Priority**: Must Have
**Dependencies**: drupal_cms_starter (base fields)
Purpose: Design, UX, and accessibility specifications
Required Content:
Numbering: UI-001, UI-002, UI-003...
Purpose: Data models, storage, and migration
Required Content:
Numbering: DR-001, DR-002, DR-003...
Platform-Specific:
Purpose: Performance, scalability, compatibility
Required Content:
Numbering: NFR-001, NFR-002, NFR-003...
Purpose: Phased delivery with milestones and dependencies
Required Content:
Numbering: PHASE-1, PHASE-2, PHASE-3...
Format:
## Phase 1: Foundation [21 points, Sprint 1]
**Objective**: Establish development environment and base architecture
**Epics**:
- EPIC-001: Development Environment Setup [8 points]
- EPIC-002: Base Theme Configuration [5 points]
- EPIC-003: Content Model Foundation [8 points]
**Dependencies**: None (critical path start)
**Risks**: Environment compatibility issues
Purpose: Test scenarios, benchmarks, and UAT process
Required Content:
Numbering: TS-001, TS-002, TS-003... (test scenarios)
Purpose: Identify and mitigate technical and project risks
Required Content:
Numbering: RISK-001, RISK-002, RISK-003...
Format: See templates/risk-framework.md
Purpose: Define measurable outcomes
Required Content:
Numbering: None (metric-based section)
Add at end of FRD:
Required Content:
Use these prefixes for all requirements:
Example:
## Technical Requirements
### TR-001: Drupal 10.2 LTS Platform
The project will use Drupal 10.2 LTS (Long-Term Support) with Composer-based architecture.
**Justification**: LTS version provides stability and security updates through November 2026.
**Dependencies**: PHP 8.1+, MySQL 8.0+, Composer 2.x
**Related Requirements**: FR-001, FR-002 (content types depend on platform)
### TR-002: Recipe-Based Architecture
Use recipe-based architecture for modular, reusable configuration management.
**Structure**: See FR-001 through FR-008 for individual recipe specifications.
**Related Requirements**: DR-001 (shared field storage)
Add these subsections when recipe architecture is detected:
In Technical Requirements (TR-XXX):
[project]_[feature])In Functional Requirements (FR-XXX):
In Data Requirements (DR-XXX):
Appendices:
For WordPress block theme projects, add these subsections:
In Technical Requirements (TR-XXX):
theme.json configuration specifications (palette, typography, layout)In Non-Functional Requirements (NFR-XXX):
Appendices:
theme.json referenceHeaders:
# for document title## for major sections### for requirement items#### for subsections within requirementsLists:
- for unordered lists1. for ordered lists (sequential steps)Emphasis:
**bold** for labels (Purpose, Priority, Story Points)_italic_ for notes and clarifications> blockquotes for user storiesCode:
`inline code` for commands, paths, field namesTables:
Client-Facing Sections (Executive Summary, Functional Requirements, UI Requirements):
Developer-Facing Sections (Technical Requirements, Data Requirements, Implementation Plan):
Shared Sections (Non-Functional Requirements, Testing, Success Criteria):
Link related requirements:
Include placeholders for diagrams:
Format:
**[Diagram: User Authentication Flow]**
_Placeholder for diagram showing registration → verification → login flow_
Start with frontmatter and title:
---
title: Functional Requirements Document
project: [Project Name]
version: 1.0
date: [YYYY-MM-DD]
author: [Author Name]
status: Draft
---
# Functional Requirements Document: [Project Name]
**Version**: 1.0
**Date**: [Current Date]
**Status**: Draft
Follow the 10-section structure:
If Drupal + Recipe-Based:
If WordPress + Block Theme (future):
Include as needed:
Ensure all requirements have proper prefixes:
Add links between related requirements:
Detailed templates are available for reference:
Use these templates as starting points, customizing for the specific project needs.
This skill works alongside two other planning skills in CMS Cultivator:
Typical flow: gather requirements → estimate with story-point-estimator → structure with frd-generator → export with csv-exporter.
See templates/frd-structure.md for a complete example with all sections populated.
Quick preview of structure:
# Functional Requirements Document: Healthcare Provider Directory
## Executive Summary
[Narrative overview...]
## Technical Requirements
### TR-001: Drupal 10.2 LTS Platform
[Platform details...]
### TR-002: Recipe-Based Architecture
[Architecture details...]
## Functional Requirements
### FR-001: saplings_person Recipe [MUST HAVE]
[Recipe structure...]
### US-001: View Provider Directory
> As a site visitor, I need to search for healthcare providers so that I can find appropriate care.
[User story details...]
## [Continue with remaining sections...]
## Appendix A: Risk Assessment Matrix
[Risk table...]
## Appendix B: Sprint Planning
[Sprint breakdown...]
tools
Strategist-focused site audit for discovery and pre-discovery. Given a site URL and optional qualitative research data, navigates the site via CoWork, audits against all 21 UX Laws from lawsofux.com, reviews content hierarchy, synthesises qualitative data, runs Lighthouse, and produces two deliverables — a Project Knowledge Summary (Markdown for Claude Desktop Projects) and a polished, iterable HTML Artifact for client sharing. Use when a strategist, UX lead, or PM asks for a discovery audit, UX laws audit, content hierarchy review, pre-discovery site review, "audit this site for strategy", "strategist audit", "UX audit", or pastes a site URL with discovery context. Not for developer audits — use accessibility-audit, performance-audit, or live-site-audit for those.
development
Provide story point estimation guidance with hour calculations for software development tasks. Uses Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34+) and converts story points to hours. Includes platform-specific adjustments and velocity calculations.
tools
Perform a full QA review of a Teamwork task by reading the task and all its comments for context, extracting the multi-dev URL, generating dynamic validation steps tailored to the task type, and using CoWork browser automation to execute those steps on the multi-dev environment. Produces a structured validation report with pass/fail per step, screenshots, internal notes, and a client-facing summary — all shown in chat. Use this skill whenever the user asks to QA, test, validate, or review a Teamwork task or multi-dev environment — even if they just say "can you QA this?" or paste a Teamwork link. Also triggers for phrases like "run QA on", "check the multi-dev", "validate this task", "test the dev link", or "review the ticket". Works across Drupal/CMS updates, WordPress/plugin updates, bug fixes, new feature development, and general web development tasks.
tools
Generate a client-facing project heartbeat / status update message for a Kanopi project, ready to be posted as a Teamwork message. Use this skill whenever the user asks to write, draft, generate, or send a project update, heartbeat, status update, or progress report to a client. Also triggers when the user says things like "time for a project update", "draft the heartbeat", "write up the update for [project]", or "it's been two weeks, let's send an update". Always use this skill — even if the user doesn't say "heartbeat" — whenever the intent is to summarise recent project activity for a client audience.