parsing-diva-request

Parses free-text DIVA user stories and myService tickets into canonical JSON.

6|Updated May 11, 2026
One-click install
npx skills add https://github.com/divalto/divalto-ia-devkit --skill parsing-diva-request-divalto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: parsing-diva-request
Source: https://github.com/divalto/divalto-ia-devkit/tree/main/plugins/divalto-devkit/skills/parsing-diva-request
Command: npx skills add https://github.com/divalto/divalto-ia-devkit --skill parsing-diva-request-divalto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Free-text DIVA requests (user stories with acceptance criteria or myService anomaly tickets) arrive unstructured, making downstream ERP analysis phases unreliable. This Skill converts them into a canonical JSON object with detected type, actors, data entities, ERP domain hint, technical and business keywords, acceptance criteria, and error messages. ## Core Features & Use Cases - Deterministic parsing: Regex and heuristic-based extraction of request type (feature/ticket/unknown), actors, PascalCase entities, and ERP domain prefixes (GT_, RT_, CC_, etc.) with no LLM dependency. - Ambiguity flagging: Raises needs_clarification when signals are insufficient, letting the orchestrator LLM ask the developer for clarification at checkpoint CP1. - Abbreviation expansion: Enriches business keywords using the Divalto abbreviation catalog (e.g., contremarque ↔ ctm) so graph queries match ERP code naming. - Use Case: Paste a myService ticket like "le zoom article affiche l'erreur 'Fichier LIVRE non trouve'" and receive structured JSON with type=ticket, the quoted error message, and domaine_pressenti=GT_ for the next analysis phase. ## Quick Start Pipe the free-text request via stdin into scripts/parse_request.py, or pass it with --input, to get the canonical JSON on stdout.

Frequently Asked Questions about parsing-diva-request

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I parse a user story or ticket into structured JSON?

Run scripts/parse_request.py with the free text piped via stdin or passed through --input as a UTF-8 file. The script outputs canonical JSON on stdout containing type, actors, keywords, acceptance criteria, and error message fields.

How does the parser detect feature requests versus bug tickets?

It scores regex patterns for each type: feature signals include 'En tant que', 'Je veux', and acceptance criteria sections, while ticket signals include 'anomalie', 'erreur', 'myService', and stack traces. The higher score wins, and you can force a type with --type.

What ERP domains does the parser recognize?

It detects Divalto Infinity module prefixes including GT_ (Achat-Vente), RT_ (Retail), CC_ (Comptabilite), RC_ (Reglements), PP_ (Paie), GA_, QU_, GR_, and A5 framework, using explicit prefix mentions or keyword scoring. The result is a hint only, set to null when nothing matches.

What happens when the input text is ambiguous or too short?

The parser sets needs_clarification to true when the type is unknown, a feature lacks actors and acceptance criteria, or a ticket has no extractable error message. The orchestrator LLM is then responsible for asking the developer to clarify at checkpoint CP1.

Does the parser require an LLM or external Python packages?

No, the parser is fully deterministic and uses only the Python standard library (re, json, argparse, pathlib). The LLM orchestrator refines the output afterward at checkpoint CP1, but parsing itself needs no external dependencies.