All skills
jeffallan avatar

/feature-forge

@efebc44
by jeffallanjeffallan/claude-skills12k stars
1,124

Conducts structured requirements workshops to produce feature specifications, user stories, EARS-format functional requirements, acceptance criteria, and implementation checklists. Use when defining new features, gathering requirements, or writing specifications. Invoke for feature definition, requirements gathering, user stories, EARS format specs, PRDs, acceptance criteria, or requirement matrices.

Use this Skill: https://skilld.dev/gh/jeffallan/claude-skills/feature-forge

This session only. Nothing lands on disk.

referencesacceptance-criteria.md

≈746 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Acceptance Criteria

Given-When-Then Format

### AC-001: [Scenario Name]
Given [context/precondition]
When [action taken]
Then [expected result]

Examples by Type

Happy Path

### AC-001: Successful Login
Given a registered user with valid credentials
When they submit the login form
Then they are redirected to the dashboard
And a success message is displayed
And their session is created

### AC-002: Add Item to Cart
Given a logged-in user viewing a product
When they click "Add to Cart"
Then the item appears in their cart
And the cart badge updates with the count
And a confirmation toast is shown

Error Cases

### AC-003: Invalid Login
Given a user with incorrect password
When they submit the login form
Then an error message "Invalid credentials" is displayed
And the password field is cleared
And they remain on the login page

### AC-004: Duplicate Email Registration
Given an email already exists in the system
When a new user tries to register with that email
Then an error message "Email already registered" is displayed
And the form is not submitted

Edge Cases

### AC-005: Empty Cart Checkout
Given a user with an empty cart
When they navigate to checkout
Then they see "Your cart is empty" message
And a "Continue Shopping" button is displayed

### AC-006: Session Expiry
Given a user whose session has expired
When they try to perform any authenticated action
Then they are redirected to login
And a message "Session expired, please log in again" is shown
And their intended action is preserved for after login

Authorization

### AC-007: Admin-Only Access
Given a regular user (non-admin)
When they try to access /admin/users
Then they receive a 403 Forbidden response
And are redirected to the home page
And an "Access denied" message is shown

### AC-008: Own Resource Only
Given a user viewing another user's profile
When they try to edit the profile
Then the edit button is not visible
And direct URL access returns 403

INVEST Criteria

Good acceptance criteria follow INVEST:

Criterion Description Check
Independent Can be tested alone No dependencies on other ACs
Negotiable Details can be discussed Not over-specified
Valuable Delivers user value Ties to requirement
Estimable Effort can be estimated Clear scope
Small Testable in one session Not too broad
Testable Pass/fail is clear Objective criteria

Quick Reference

Scenario Type Given When Then
Happy path Valid state Valid action Success result
Error Invalid state/input Action Error message
Edge case Boundary condition Action Graceful handling
Authorization User role Protected action Appropriate access
Concurrency Multiple actors Simultaneous action Consistent state

Source: SKILL.md on GitHub

1 alert16d5 checks · Risk CRITICAL
  • Gen Agent Trust Hub16d

    This skill and its documentation URL have been flagged as malicious by automated scanners. The skill also possesses a vulnerability to indirect prompt injection due to its method of ingesting and processing untrusted user requirements.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer6mo

    6 files scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at efebc44. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Steadyupdated 5 months ago
Other metadata
metadata
{
  "author": "https://github.com/Jeffallan",
  "version": "1.1.0",
  "domain": "workflow",
  "triggers": "requirements, specification, feature definition, user stories, EARS, planning",
  "role": "specialist",
  "scope": "design",
  "output-format": "document",
  "related-skills": "fullstack-guardian, spec-miner, test-master"
}
  • requirements
  • specification
  • user-stories
  • ears
  • acceptance-criteria
  • planning
  • prd
  • workshop
  • feature-definition

README badge

README badge for jeffallan/claude-skills/feature-forge

Conducts structured requirements workshops using PM and Dev perspectives to produce feature specifications, EARS-format functional requirements, acceptance criteria, and implementation checklists. Targets feature definition, requirements gathering, and specification writing workflows with systematic discovery and validation phases.

Generated from the current SKILL.md.

Does this skill write the spec automatically, or does it require user input?
It requires structured user input through interviews and discovery questions. The skill conducts a systematic workshop using the AskUserQuestions tool to gather requirements before producing the specification.
What output formats does this skill produce?
It produces EARS-format functional requirements, Given/When/Then acceptance criteria, non-functional requirements, error handling tables, and implementation TODO checklists, all saved as a markdown specification document.
Can this skill handle complex features that span multiple domains?
Yes. The skill includes guidance for using multi-agent discovery with Task subagents on features spanning multiple domains, documented in the pre-discovery-subagents reference.
Does this skill cover non-functional requirements like performance and security?
Yes. It explicitly requires inclusion of non-functional requirements, security considerations, and error handling as part of the specification output.

Generated from the current SKILL.md. These answers refresh after source changes.