Skip to content
Back to skills

Parsing Diva Request

ASecurity

Structure une demande DIVA en texte libre (user story + criteres d'acceptation, ou ticket myService d'anomalie) en JSON canonique : type de demande, titre, resume, acteurs, donnees manipulees, domaine ERP pressenti, keywords techniques et metier, CA detectes, message d'erreur. Le parseur est deterministe (regex + heuristiques), le LLM raffine la sortie au checkpoint CP1 de l'orchestrateur. A utiliser quand une demande est livree en texte libre et qu'il faut produire un JSON structure exploita...

  • 4 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 12, 2026
toolsapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill parsing-diva-request --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Parsing Diva Request?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Parsing Diva Request
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-parsing-diva-request/badge)](https://www.skillsdirectory.com/skills/aibot88-parsing-diva-request)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: parsing-diva-request
description: >
  Structure une demande DIVA en texte libre (user story + criteres d'acceptation, ou ticket
  myService d'anomalie) en JSON canonique : type de demande, titre, resume, acteurs, donnees
  manipulees, domaine ERP pressenti, keywords techniques et metier, CA detectes, message
  d'erreur. Le parseur est deterministe (regex + heuristiques), le LLM raffine la sortie au
  checkpoint CP1 de l'orchestrateur. A utiliser quand une demande est livree en texte libre
  et qu'il faut produire un JSON structure exploitable par les phases suivantes d'analyse.
---

# Parsing DIVA Request

## Contenu

- Utilisation rapide
- Parametres d'entree
- Sortie : JSON canonique
- Type de demande detecte
- Domaines ERP reconnus
- Cas d'ambiguite (needs_clarification)
- Scripts disponibles
- References

---

## Utilisation rapide

Via stdin (recommande pour coller un texte long) :

```
echo "En tant que gestionnaire reglement, je veux saisir la famille de reglement sur la fiche client. CA : le zoom est accessible depuis le menu Retail." | \
  py .claude/skills/parsing-diva-request/scripts/parse_request.py
```

Via fichier :

```
py .claude/skills/parsing-diva-request/scripts/parse_request.py --input demande.txt
```

Sortie JSON sur stdout, conforme au schema `scripts/templates/request.schema.json`.

---

## Parametres d'entree

| Parametre | Format | Obligatoire | Defaut |
|-----------|--------|-------------|--------|
| `--input` | Chemin fichier texte (UTF-8) | Non | stdin |
| `--type` | `auto` / `feature` / `ticket` | Non | `auto` (detection) |

Un seul parametre a la fois : si `--input` est absent, la commande lit `stdin` jusqu'a EOF.

---

## Sortie : JSON canonique

```json
{
  "type": "feature|ticket|unknown",
  "titre": "<titre court, <= 80 car>",
  "resume": "<1-3 phrases, <= 400 car>",
  "acteurs": ["<role metier>"],
  "donnees": ["<nom PascalCase ou MAJUSCULE>"],
  "domaine_pressenti": "RT_|GT_|CC_|...|null",
  "keywords_techniques": ["<PascalCase, fichier.dhsp, fonction>"],
  "keywords_metier": ["<mot substantif 5+ car>"],
  "ca_detectes": ["<texte CA>"],
  "message_erreur": "<si ticket, citation>",
  "needs_clarification": false
}
```

Reference du schema : `scripts/templates/request.schema.json`.

---

## Type de demande detecte

Heuristique multi-signaux :

| Type | Patterns declencheurs |
|------|----------------------|
| `feature` | `En tant que` / `Je veux` / `Afin de` / `Etant donne` / `Quand...Alors` / section `Criteres d'acceptation` ou `CA` avec bullets |
| `ticket` | `anomalie` / `bug` / `erreur` / `plante` / `cassé` / `ne fonctionne pas` / stack trace / message entre quotes |
| `unknown` | Aucun signal -- declenche `needs_clarification: true` |

Detail dans `reference/patterns-features.md` et `reference/patterns-tickets.md`.

---

## Domaines ERP reconnus

Liste canonique :

| Prefixe | Module | Mots-cles declencheurs |
|---------|--------|------------------------|
| `GT_` | Achat-Vente / Dav | gestion commerciale, facture, client, article, commande, vente |
| `RT_` | Retail | retail, caisse, ticket, point de vente, magasin |
| `GG_` | Prod / Atelier | production, atelier, fabrication, OF, nomenclature |
| `CC_` | Comptabilite | compta, ecriture, journal, bilan, TVA |
| `RC_` | Reglements | reglement, banque, paiement, relance |
| `PP_` | Paie | paie, salaire, bulletin, cotisation |
| `GA_` | Affaires | affaire, chantier, analytique |
| `QU_` | Qualite | qualite, controle qualite, non-conformite |
| `GR_` | Relation-Tiers | CRM, contact, prospect, tiers |
| `A5` | Framework A5 | framework, menu, dossier, utilisateur, securite |

La detection est informative (hint pour le CP2 de l'orchestrateur). Si aucun domaine ne matche, `domaine_pressenti: null`.

---

## Cas d'ambiguite (needs_clarification)

Le flag `needs_clarification: true` est leve quand :

- Le type est `unknown` (aucun signal feature ni ticket)
- Type = `feature` mais aucun acteur extrait (pas de `En tant que`)
- Type = `ticket` mais aucun message d'erreur ni stack trace identifie

Dans ces cas, l'orchestrateur LLM doit demander au developpeur de clarifier au CP1 avant de poursuivre. Le parseur n'invente pas -- c'est la responsabilite du LLM.

---

## Scripts disponibles

```
scripts/parse_request.py        # Parseur principal
scripts/templates/
  request.schema.json           # Schema JSON canonique de la sortie
```

---

## References

- `reference/patterns-features.md` -- detail des patterns de detection feature (BDD, CA, gerondif)
- `reference/patterns-tickets.md` -- detail des patterns ticket (messages d'erreur, stack traces, anomalies)

Files in this skill

  • SKILL.md4.5 KB
  • source.json1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.