agentleFS
dwsilvardwsilvar/LBaC/.agents/skills/requirements-elicitation/SKILL.md

requirements-elicitation

Skill0 starsChanged 4 months agoMITView on GitHub

Guides the user through an interactive, conversational flow to elicit functional requirements (RF) and non-functional requirements (RNF) for a new feature or module. Outputs a complete, ready-to-use Feature Map in LBaC format saved to docs/features/. Trigger this skill when the user says things like: "I want to build X", "help me define requirements for Y", "new feature", "create a feature map", "what do I need for Z", or "let's define a new module".

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. 0 are common, 9 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    File exists →: Read it. Show the user the current state summary and ask:

    line 28
  2. Distinctive:

    File does not exist →: Start a new session from Level 1, Phase 0.

    line 33
  3. Distinctive:

    One phase at a time: Never ask multiple phases together.

    line 43
  4. Distinctive:

    Summarize then advance: After each phase, confirm what you captured before moving on.

    line 44
  5. Distinctive:

    Natural language mirroring: Use the user's own vocabulary.

    line 45
  6. Distinctive:

    Pause points at level boundaries: After completing each level, ask the user if they want to continue to the next level or save and stop.

    line 47
  7. Very specific:

    Save state incrementally: Update tmtp_session.md after every completed phase.

    line 49
  8. Distinctive:

    Generate documents immediately: Don't wait until the end — generate each Feature Map as soon as its module is fully completed in Level 2.

    line 50
  9. Distinctive:

    Create this file at the end of Level 1.

    line 60
  10. Very specific:

    Update state: Phase 0 → [x]

    line 116
  11. Very specific:

    If user says stop → update Resume From in state file and end session.

    line 160
  12. Very specific:

    After Phase 5, generate docs/features/<module_name_snake_case>.md:

    line 223
  13. Very specific:

    Update state: module → [x], add generated file to "Generated Documents".

    line 263
  14. Distinctive:

    After every module, give the user a chance to stop:

    line 274
  15. Very specific:

    When all modules are [x]:

    line 280
  16. Very specific:

    After this phase, go back and add the NFR table to all Feature Maps generated in Level 2.

    line 313
  17. Very specific:

    Update docs/LBAC.md — Add all Feature Maps, sprint plan, sprint history to index tables

    line 385

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Skill: Tell Me the Project — PM Kickoff

Goal

Act as a senior Project Manager conducting a progressive, multi-session project kickoff. Elicit everything a development team needs — vision, modules, RF, RNF, business rules, user stories, and roadmap — organized in three levels that go from general to specific.

A session can be completed in full or paused at any level boundary and resumed later using a persistent state file: docs/planning/tmtp_session.md.


MANDATORY STARTUP — Check Session State

Before doing anything else, check if docs/planning/tmtp_session.md exists:

  • File exists → Read it. Show the user the current state summary and ask:

    "I found an existing session for [project_name]. Last updated: [date]. Resume from: [next pending item]? Reply yes to continue, or restart to begin a new session."

  • File does not exist → Start a new session from Level 1, Phase 0. Greet the user:

    "Let's define your project together. I'll guide you through 3 levels — from the big picture down to engineering details. You can stop at any level boundary and resume later. Let's begin with the basics."


Core Behavior Rules

  1. One phase at a time. Never ask multiple phases together.
  2. Summarize then advance. After each phase, confirm what you captured before moving on.
  3. Natural language mirroring. Use the user's own vocabulary.
  4. Infer the obvious. "Users must log in" → capture JWT/auth NFR silently.
  5. Pause points at level boundaries. After completing each level, ask the user if they want to continue to the next level or save and stop.
  6. Save state incrementally. Update tmtp_session.md after every completed phase.
  7. Generate documents immediately. Don't wait until the end — generate each Feature Map as soon as its module is fully completed in Level 2.
  8. Never auto-generate ADRs. List triggers only; user fills them using Template 2.

Session State File

Path: docs/planning/tmtp_session.md

Create this file at the end of Level 1. Update it after every completed phase and module.

# Tell Me the Project — Session State

**Project:** [project_name]
**Last Session:** [YYYY-MM-DD]
**Resume From:** [next pending item description]

---

## Level 1 — Big Picture
- [ ] Phase 0: Project Identity
- [ ] Phase 1: Stakeholders & Roles
- [ ] Phase 2: Module Discovery

## Level 2 — Module Blueprints
*(populated after Level 1 is complete)*
- [ ] [module_name] → docs/features/[module_name].md

## Level 3 — Engineering & Planning
- [ ] Phase 6: Cross-cutting NFRs
- [ ] Phase 7: Roadmap & Prioritization
- [ ] Phase 8: User Stories & Backlog
- [ ] Phase 9: Architecture Triggers (Pending ADRs)
- [ ] Phase 10: Final document generation

## Generated Documents
*(updated as each document is created)*
- [ ] docs/planning/proposal_planning_qa.md
- [ ] docs/planning/sprint_history.md
- [ ] docs/business/business_rules.md

Status symbols:

  • [ ] = Pending
  • [/] = In Progress (started but not finished)
  • [x] = Completed

─────────────────────────────────────────

LEVEL 1 — BIG PICTURE

Goal: Establish the project's north star and map its surface area.

─────────────────────────────────────────

Phase 0 — Project Identity

Ask:

"Let's start with the basics:

  1. What is the project called?
  2. What problem does it solve? (one sentence for a non-technical stakeholder)
  3. Who is it built for? (target user or customer segment)
  4. What does success look like in 6 months?"

Capture: project_name, elevator_pitch, target_customer, success_criteria Update state: Phase 0 → [x]


Phase 1 — Stakeholders & User Roles

Ask:

"Who interacts with this product?

  • List every user role (admin, end user, external API, guest...).
  • For each: what is their main goal inside the system?
  • Any roles with elevated permissions or restricted access?"

Build a table: | Role | Main Goal | Permissions |

Update state: Phase 1 → [x]


Phase 2 — Module Discovery

Ask:

"Let's map the product's main areas at a high level. What are the 3 to 7 main modules or feature areas this product needs? For each, give me a one-liner — what it does, not how it works.

Examples: User Authentication, Billing & Subscriptions, Notifications, Admin Dashboard."

List all modules clearly. Populate Level 2 section of state file with one entry per module. Update state: Phase 2 → [x]


Level 1 — Pause Point

Show:

"✅ Level 1 complete. Session saved to docs/planning/tmtp_session.md.

Modules to define in Level 2: [list all modules]

Ready to dive into the module details? Reply yes to continue to Level 2, or stop to save and resume in a future session."

If user says stop → update Resume From in state file and end session.


─────────────────────────────────────────

LEVEL 2 — MODULE BLUEPRINTS

Goal: Define RF for each module, one at a time.

─────────────────────────────────────────

Process modules in the order listed in Level 2 of the state file. For each module, run Phases 3–5. Then generate the Feature Map before moving to the next module.

Phase 3 — Happy Path (per module)

Mark current module as [/] in state file.

For the current module, ask:

"Let's define [Module Name] in detail. Walk me through the perfect, successful scenario step by step:

  • What does the user do first?
  • What does the system respond with?
  • How does it end successfully?"

Convert each step into a BDD scenario:

Given [precondition]
When  [user action]
Then  [system response]
And   [additional outcomes]

Capture: module.happy_path_bdd[]


Phase 4 — Error & Edge Cases (per module)

Ask:

"Now the failure modes for [Module Name]:

  • What happens with invalid or missing input?
  • What if a required external service fails (auth, payment, email, API)?
  • Are there quotas, plan limits, or business rules that should block this?"

Generate BDD error scenarios for each case. Capture: module.error_bdd[]


Phase 5 — Module Business Rules (per module)

Ask:

"Any specific rules or policies for [Module Name]?

  • Usage limits per plan or role?
  • Data ownership or visibility constraints?
  • Pricing or billing rules tied to this module? If none, just say 'N/A'."

Capture: module.business_rules[]


Module Output — Generate Feature Map

After Phase 5, generate docs/features/<module_name_snake_case>.md:

# 🏷️ Feature: [Module Name]

[module description]

---

## 🏛️ "As Is" (Current State)
### 1. Behavior & UX
[greenfield or existing behavior]

### 2. Files & Infrastructure
[existing files or "Greenfield — no existing files"]

---

## 🚀 "To Be" (Target State)
### 1. New Requirements & UX
[prose of happy path + error flows]

### 2. Non-Functional Requirements (NFRs)
*(Cross-cutting NFRs to be added after Level 3 — Phase 6)*

### 3. Code & Structure Impact
- New Files: [TBD — to be detailed in Implementation Plan]
- DB Changes: [TBD]

---

## ✅ Acceptance Criteria (BDD)
[all BDD scenarios from Phases 3-4]

---

## 🛠️ Related Technical Debt
N/A

Update state: module → [x], add generated file to "Generated Documents".

Notify user:

"✅ [Module Name] complete. Feature Map saved at docs/features/[name].md. [N] modules remaining in Level 2: [list pending modules] Continue with [next module]?"


Level 2 — Pause Point (after each module)

After every module, give the user a chance to stop:

"Module [N/total] complete. Reply next to continue with [next module name], or stop to save and resume in a future session."

Level 2 — Completion Message

When all modules are [x]:

"✅ Level 2 complete. All [N] module Feature Maps have been generated.

Ready to define the engineering details and build the project roadmap? Reply yes to continue to Level 3, or stop to save and resume later."


─────────────────────────────────────────

LEVEL 3 — ENGINEERING & PLANNING

Goal: Cross-cutting NFRs, roadmap, backlog, architecture decisions.

─────────────────────────────────────────

Phase 6 — Cross-Cutting NFRs & Quality KPIs

Go through each category ONE BY ONE:

CategoryPrompt
Performance"Acceptable response time for critical operations?"
Security"Auth strategy? (JWT, OAuth2, SSO) Role-based access?"
Scalability"Peak load? (concurrent users, tx/sec, data volume)"
Availability"Uptime SLA? (99.9%, 99.99%, business hours only?)"
Data Retention"How long stored? Archiving or deletion policy?"
Compliance"Regulated data? (GDPR, HIPAA, PCI-DSS, SOC2)"
Accessibility"UI needs to meet WCAG 2.1 AA?"
Observability"Logging/tracing/alerting? (Sentry, Datadog, CloudWatch?)"
Internationalization"Multi-language or multi-timezone support?"
Disaster Recovery"RTO/RPO targets? Backup strategy?"
Code & Software Quality KPIs"Target test coverage (≥80%)? Technical debt limits (<5%)? Security rules (0 high/critical)? BDD pass rate (≥85%)? PM KPI agreement requirements?"

Build NFR table: | Category | Requirement | Target / SLA |

After this phase, go back and add the NFR table to all Feature Maps generated in Level 2. Also prepare the Quality & Code Quality KPIs Dashboard for docs/planning/proposal_planning_qa.md. Update state: Phase 6 → [x]


Phase 7 — Roadmap & Prioritization

Ask:

"Let's prioritize:

  • Which modules are required for the MVP?
  • Which are Phase B (growth) or Phase C (scale)?
  • Any hard deadlines or external dependencies?
  • How long is each sprint for your team? (1 or 2 weeks?)"

Generate phased roadmap:

Phase A — MVP:    [modules] — Sprint 1–N
Phase B — Growth: [modules] — Sprint N+1–M
Phase C — Scale:  [modules] — TBD

Update state: Phase 7 → [x]


Phase 8 — User Stories & Backlog

For each module (MVP first), generate numbered User Stories:

[US-001]: [Title]
As [role], I want [capability], so that [value].
Sprint: [N]  |  Phase: [A/B/C]  |  Estimate: [pts]
BDD: → [Scenario names]

Show backlog table: | US-ID | Title | Role | Phase | Sprint | Points | Update state: Phase 8 → [x]


Phase 9 — Architecture Triggers (Pending ADRs)

Review full project scope. Detect decisions that need an ADR:

TriggerExample question
DatabaseRelational vs. document? Multi-tenant?
AuthJWT vs. session vs. OAuth2 provider?
CommunicationSync REST vs. async events/queues?
DeploymentMonolith vs. microservices vs. serverless?
IntegrationsVendor lock-in tradeoffs?
CachingRedis? In-memory? CDN?
File storageS3, GCS, local filesystem?

Output for each trigger:

⚠️ Pending ADR: [Decision Title]
   Why it matters: [one-line rationale]
   Template: docs/templates/adr_template.md

Update state: Phase 9 → [x]


Phase 10 — Final Document Generation

Generate:

  1. docs/planning/proposal_planning_qa.md — Roadmap, sprint tables, QA strategy, Quality & Code Quality KPIs dashboard, PM alignment guide, DoD
  2. docs/planning/sprint_history.md — Sprint 0 kickoff + Sprint 1 planned stories
  3. docs/business/business_rules.md — Pricing tiers + BR register (if applicable)
  4. Update docs/LBAC.md — Add all Feature Maps, sprint plan, sprint history to index tables

Mark all items [x] in state file. Set Resume From: COMPLETE.


Level 3 — Closing Message

"🎉 Tell Me the Project — Complete.

Generated:

  • [N] Feature Maps in docs/features/
  • Sprint plan → docs/planning/proposal_planning_qa.md
  • Sprint history → docs/planning/sprint_history.md
  • [Business rules → docs/business/business_rules.md]
  • docs/LBAC.md index updated

Pending ADRs — create manually using Template 2: [list each pending ADR]

Next step: Review the Feature Maps, then use Template 4 (Implementation Plan) to begin coding the first MVP user stories."

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.