Agents & OrchestrationSûr100100/100
Req New (Ansible)
Create a Requirement spec. Use when adding a new feature, "I want to spec out X", "new feature request", "create REQ for this", or when ready to formalize a feature idea. Do NOT use for creating tasks (use task-new instead) or bulk importing from PRD (use prd-import instead).
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs req-new__ansible-apme__agents-skills-25d6c9e8945aAnsible
ansible/apme
Contenu à copier
--- name: req-new description: >- Create a Requirement spec. Use when adding a new feature, "I want to spec out X", "new feature request", "create REQ for this", or when ready to formalize a feature idea. Do NOT use for creating tasks (use task-new instead) or bulk importing from PRD (use prd-import instead). argument-hint: "[Feature Name] [--phase PHASE-NNN] [--minimal]" user-invocable: true metadata: origin: Ansible author: APME Team version: 1.0.0 --- # REQ New Create a Requirement spec. ## Arguments If `$ARGUMENTS` is provided, parse for: - Feature name in quotes → use as requirement name - `--phase PHASE-NNN` → assign to phase - `--status X` → set initial status - `--minimal` → create structure only - `--from-conversation` → extract from current discussion ## Usage ``` /req-new # Interactive mode /req-new "Feature Name" # Start with name /req-new "Feature" --phase PHASE-001 # Assign to phase /req-new "Feature" --status draft # With status /req-new --from-conversation # Extract from discussion /req-new "Feature" --minimal # Just create structure ``` ## Behavior ### 1. Check for Conversation Context If recent conversation discusses a feature idea: ``` I see you've been discussing [topic]. Create REQ from this? - Feature: [extracted] - Purpose: [extracted] Confirm? (Y to use, N to start fresh) ``` ### 2. Determine Next REQ Number Scan `.sdlc/specs/REQ-*` directories for highest number, increment by 1. ### 3. Assign to Phase If phases exist (`.sdlc/phases/PHASE-*/`): ``` Which phase does this requirement belong to? | Phase | Name | Status | |-------|------|--------| | PHASE-001 | CLI Scanner | In Progress | | PHASE-002 | Rewrite Engine | Not Started | Enter phase number (or "none" for unassigned): ``` If `--phase PHASE-NNN` provided, skip prompt. If no phases exist, skip this step. ### 4. Gather Information (Streamlined) ``` Feature name and purpose? ``` ``` User stories (one per line, "As a X, I want Y so that Z"): ``` ``` Acceptance criteria (Gherkin format or plain bullets): ``` ``` Dependencies? (internal REQs, external tools, or "none") ``` ``` Initial status? (1=Draft, 2=In Review, 3=Approved) ``` ### 5. Architectural Compatibility Check **CRITICAL: Do this BEFORE creating the spec directory.** Read the **Architectural Invariants** section of `AGENTS.md`. Evaluate the proposed requirement against the invariants and present: ``` ## Architectural Compatibility | Invariant | Impact | |-----------|--------| | Validators read-only | OK / CONFLICT: [describe] | | gRPC between services | OK / CONFLICT: [describe] | | Async + executor | OK / CONFLICT: [describe] | | Unified Validator contract | OK / CONFLICT: [describe] | | Stateless engine | OK / CONFLICT: [describe] | | Scale pods not services | OK / CONFLICT: [describe] | | Session venvs are Engine-owned | OK / CONFLICT: [describe] | | Rule ID conventions | OK / CONFLICT: [describe] | | OPA subprocess | OK / CONFLICT: [describe] | | FixSession unified path | OK / CONFLICT: [describe] | | Engine never queries out | OK / CONFLICT: [describe] | | Built-in bundles closed | OK / CONFLICT: [describe] | Dependency direction preserved: [Y/N] Engine remains caller-agnostic: [Y/N] Detection/mutation separation maintained: [Y/N] ``` **If conflict detected:** ``` ⚠ This requirement conflicts with architectural invariant(s): [list] This REQ cannot be created until the conflict is resolved: 1. Redesign the requirement to work within the architecture 2. Create an ADR first (/adr-new) that justifies the exception 3. Abandon the requirement Which approach? (1/2/3) ``` **If option 2 chosen:** Create the ADR first, then return to `/req-new` with the ADR reference as a dependency. **If clean:** Include in the requirement's Dependencies section: ``` - Architectural compatibility: Verified (no invariant conflicts) ``` ### 6. Create Directory Structure ``` .sdlc/specs/REQ-NNN-feature-slug/ ├── requirement.md # Filled with gathered info ├── design.md # Placeholder ├── contract.md # Placeholder └── tasks/ # Empty directory ``` **Slug:** 2-4 words from feature name, lowercase, hyphens. **In requirement.md, include phase metadata:** ```markdown # REQ-NNN: Feature Name ## Metadata - **Phase**: PHASE-001 - CLI Scanner - **Status**: Draft - **Created**: YYYY-MM-DD ``` ### 7. Update Indexes **Update `.sdlc/specs/README.md`:** ``` | REQ-NNN | Feature Name | Phase | Status | ``` **Update phase file (if assigned):** Add REQ to phase's requirements table in `.sdlc/phases/PHASE-NNN/phase.md`. ### 8. Find Related Artifacts Search for related REQs, ADRs, open DRs. Show top 3-5. ### 9. Summary ``` Done! - Created: .sdlc/specs/REQ-NNN-slug/ - Phase: PHASE-001 - CLI Scanner - Status: Draft Next: /task-new REQ-NNN to create implementation tasks ``` ## Quick Mode | Provided | Skip | |----------|------| | Feature name in quotes | Name prompt | | `--phase PHASE-NNN` | Phase prompt | | `--status X` | Status prompt | | `--minimal` | All detail prompts | | `--from-conversation` | Name + purpose if extractable | ## Phase Integration ### When Phases Exist REQs should be assigned to phases. The phase provides: - Scope context (what's in/out for this phase) - Priority guidance (current phase = priority) - Progress tracking (phase progress = REQ completion) ### When No Phases Exist REQs work standalone (legacy mode). Consider running `/prd-import` to set up phases from a PRD. ### Phase Status Derivation Phase status is derived from its REQs: - **Not Started**: All REQs are Draft - **In Progress**: At least one REQ is In Progress - **Complete**: All REQs are Implemented ## Parsing Freeform Input **User stories** — accept variations: ``` As a Platform Engineer, I want terminal output so that I get quick feedback - Platform Engineer: view violations in terminal → quick feedback ``` **Acceptance criteria** — accept: ``` GIVEN scan with violations WHEN terminal requested THEN shows file/line/rule - Terminal output shows file path, line number, rule ID ``` ## Edge Cases | Situation | Handling | |-----------|----------| | No phases exist | Skip phase assignment | | Phase not found | Warn and list available phases | | REQ reassignment | Update old and new phase files | | Unassigned REQ | Mark as "Unassigned" in indexes |
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Req New (Ansible)
Feature name in quotes → use as requirement name
`--phase PHASE-NNN` → assign to phase
`--status X` → set initial status
`--minimal` → create structure only
Comment utiliser Req New (Ansible)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Req New (Ansible)
Dis simplement à ton agent quelque chose comme :
Applique le skill req-new__ansible-apme__agents-skills-25d6c9e8945a à cette tâche
Utilise req-new__ansible-apme__agents-skills-25d6c9e8945a pour améliorer cette implémentation
Passe en revue ce sujet avec req-new__ansible-apme__agents-skills-25d6c9e8945a
Skills liés à Req New (Ansible)
Acceleration (Microsoft)
Compare synthetic acceleration options and clearly separate scenario value from forecast commitments.Account Overview (Microsoft)
Create a synthetic Acme account overview and identify evidence that merits seller attention.Acroform Writer (Microsoft)
Use this skill whenever the user wants values written INTO an existing PDF form that lives in the connected SharePoint knowledge source — filling out, completing, populating, or submitting a fillable PDF (application, intake sheet, contract, government form) from data they supply, a spreadsheet row, or the conversation. Triggers include "fill out the job application form", "complete the intake form for [person]", "populate our standard NDA template", and "make this ready to send / non-editable" (flatten). The source form should be found via knowledge search; only ask the user to upload it if knowledge search turns up nothing plausible. different task), and do NOT use it on scanned/image-only PDFs that have no real fillable fields — those need OCR or manual overlay instead, which this skill explicitly detects and reports rather than silently failing.