From evo-talos Devkit
Synthesizes a kit-shape SRS from requirement fragments in docs/requirements/ for greenfield projects. Loads automatically when Shape Detection selects Mode F (no SRS, fragmented upstream).
How this skill is triggered — by the user, by Claude, or both
Slash command
/talos:ba-mode-requirements-folderThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are the BA and Shape Detection selected **Mode F**: greenfield project, no SRS, but `docs/requirements/` holds requirement fragments. Synthesize a kit-shape SRS from the fragments (no invention; full `Synthesized-From:` provenance), then hand to the pipeline.
You are the BA and Shape Detection selected Mode F: greenfield project, no SRS, but docs/requirements/ holds requirement fragments. Synthesize a kit-shape SRS from the fragments (no invention; full Synthesized-From: provenance), then hand to the pipeline.
ingest-from-requirements-folder setup (greenfield, fragmented upstream)Greenfield project. The PM has dropped requirements fragments into docs/requirements/ rather than authoring a single SRS doc. Files may be markdown, plain text, exported HTML, or — when the project's skills allow — .docx / .pdf. Your job is to synthesize a kit-shape SRS from these fragments. Distinct from Mode A (which expects a single bulk doc at docs/SRS.md) and from Mode E (which extracts from code).
F1. Enumerate docs/requirements/. List every file. Note file extension. For non-text formats (.docx, .pdf):
.claude/skills/docx/, .claude/skills/pdf/), use it to extract content.NEEDS_CONTEXT to the Orchestrator: "Found <file>.docx in docs/requirements/; project does not have the docx skill active. Convert to .md first OR activate the docx skill; halt until resolved."F2. Classify each file's likely role by content sampling (don't trust filenames alone — PMs name things inconsistently). Categories:
File a brief classification table at the top of SRS §10 Changelog so the audit trail records how BA interpreted the fragments.
F3. Synthesize the kit-shape SRS. For each kit-required section (§1–§10):
Synthesized-From: annotation at the section level. Example: Synthesized-From: docs/requirements/vision.md + docs/requirements/exec-summary-draft.docx (multi-source) or Synthesized-From: docs/requirements/user-stories.md (single-source).F4. Construct per-US and per-FR files where fragments carry that detail.
docs/user-stories/US-NNN.md gets a Synthesized-From: line.docs/frs/FR-NNN.md gets the same.TODO: <PM-supplied value statement> and file an OQ (same pattern as Mode E for missing value statements).F5. Conflict detection. When two or more fragments contradict each other (different error codes for the same operation, different rate limits, different role assignments, etc.), accumulate the conflicts. Do NOT halt on the first conflict — that would force noisy round-trips for projects with many small fragments.
After all fragments are processed, halt with ONE NEEDS_CONTEXT listing every conflict in a single payload:
Status: NEEDS_CONTEXT
Reason: <N> conflicts detected across requirements fragments. Team must resolve each before BA can finalize the synthesized SRS.
Question: How should each conflict resolve?
Conflicts:
[c1] FR-008 error code: docs/requirements/api-spec.md says `AUTH_001`; docs/requirements/security-notes.md says `ACCESS_DENIED`. Which is authoritative?
[c2] US-003 role: docs/requirements/roles.md says `admin only`; docs/requirements/user-stories.md says `any authenticated user`. Which is correct?
[c3] …
Recommended: resolve [c1] = AUTH_001 (consistent with project-wide error envelope at §3.4), [c2] = unknown — PM decision required.
Confidence: medium for [c1]; low for the rest.
On re-dispatch with user resolutions, apply each decision and continue.
F6. Gap detection. When a kit-required section has NO fragment addressing it:
TODO: <description of expected content> marker.In-Review until the team fills the gaps.F7. Annotate-in-place preservation. Each file in docs/requirements/ gets a header annotation appended (NOT prepended — don't disturb the original first line which might be metadata):
---
_BA annotation (2026-MM-DD): Ingested into kit-shape SRS via Mode F. Maps to SRS sections: §1, §2 (partial). See SRS §10 Changelog for the full classification table._
Files stay in place. Don't delete, don't move to _archive/. The original is preserved as historical reference; the kit's SRS is the new canonical artifact.
F8. Set SRS header.
Version: 1.0Status: Draft initially; transitions to In-Review once Phase 1.X common procedure runs and the OQ set is final.Source: requirements-folder (new value)Last-Updated: <ISO-8601>Designated Design Approver: TBD, Designated Dependency Approver: TBD (team must name).F9. Log to SRS §10 Changelog. A single entry:
| <ISO-8601> | BA Mode F ingestion — synthesized SRS from <N> fragments in docs/requirements/. Classification table: <embed table from F2>. Conflicts resolved: <N>. Gaps remaining: <N>. | BA |
F10. Inline-don't-link (self-containment). Walk the synthesized SRS body + per-US/per-FR files for body-content references back to docs/requirements/<file> (see docs/requirements/security-notes.md, details in docs/requirements/api-spec.md, etc.). The docs/requirements/ files are preserved in place but downstream agents read kit artifacts ONLY — they should never need to open the requirements fragments. Replace every substantive back-reference with inlined content from the fragment; raise OQs for gaps. The Synthesized-From: annotation is the ONLY allowed reference to upstream fragments. Self-containment per CLAUDE.md §10.
F11. Proceed to Phase 1.X common procedure.
Hard rules specific to ingest-from-requirements-folder:
Synthesized-From: line citing source fragment(s). No untraced content..docx / .pdf require their skills active. If the skill is absent, refuse with a clear "convert to .md first OR activate the skill" message. Don't half-attempt with regex.docs/requirements/ files are preserved in place post-ingestion. Annotate (don't delete, don't move). The SRS becomes canonical; the fragments stay as historical reference.After completing this mode's setup, load ba-ingestion-pipeline and run its Common Procedure (Phase 1.X) → Delta Detection (Phase 1.Z) → Sign-off Gate (Phase 2).
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub evolplus/talos --plugin talos