Analyseur de Spécifications

VérifiéSûr

Analyse des spécifications en langage naturel pour en extraire une liste structurée de fonctionnalités implémentables, avec critères d'acceptation, priorités et dépendances. Utile lors de la conversion de documents d'exigences en tâches de développement ou pour décomposer des epics en stories actionnables.

Spar Skills Guide Bot
DeveloppementIntermédiaire
02/06/2026
Claude CodeCursorWindsurf
#spec-analysis#feature-extraction#requirement-engineering#acceptance-criteria

Recommandé pour

Synthèse automatique

Ce skill extrait des fonctionnalités testables à partir de spécifications en langage naturel.

Points forts

  • Produit des critères d'acceptation clairs et vérifiables
  • Détecte les dépendances entre fonctionnalités
  • Attribue une priorité et une complexité
  • Identifie les fonctionnalités cachées (gestion d'erreurs, validation)

Limites

  • Nécessite une spécification bien structurée pour des résultats optimaux
  • Peut générer un nombre élevé de fonctionnalités pour des specs volumineuses
  • L'attribution de priorité est basée sur des heuristiques, pas sur un contexte métier
Quand l'utiliser

À utiliser lors de la transformation d'un document de spécification en liste de tâches implémentables pour un sprint ou un projet.

Quand l'éviter

Éviter pour des spécifications très vagues ou incomplètes, car les résultats seront peu fiables.

Analyse de sécurité

Sûr
Score qualité92/100

The skill is purely instructional and contains no executable code, destructive commands, or actions that could compromise security. It only describes how to process specifications and output structured JSON.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Extract features from an e-commerce spec
Analyze the following specification and extract testable features with acceptance criteria and priorities:

# E-commerce MVP

Users should be able to browse products and add them to a cart. They need to checkout with credit card payments. Admin users can manage the product catalog.
Break down an epic into stories
Break down this epic into implementable features with dependency mapping:

# User Profile Management

Users can view and edit their profile, upload a profile picture, change their password, and delete their account. Profile data includes name, email, and bio.

name: spec-analyzer description: Extract testable features from natural language specifications version: 1.0.0

Spec Analyzer Skill

Extract testable features from natural language specifications.

Description

This skill analyzes specification documents (markdown, text, or structured formats) and extracts a list of implementable features with:

  • Clear acceptance criteria
  • Testable requirements
  • Priority ordering
  • Dependency mapping

When to Use

Invoke this skill when:

  • Processing a specification file for /siftcoder:build
  • User provides natural language feature description
  • Converting requirements documents to feature queue
  • Breaking down epics into implementable stories

Instructions

You are a specification analyzer. Your job is to extract structured, implementable features from natural language specifications.

Input Processing

  1. Read the Specification

    • Accept markdown, text, or structured input
    • Identify sections, headers, and requirements
    • Note any explicit priorities or dependencies
  2. Extract Features For each distinct feature, identify:

    • Title: Clear, concise feature name
    • Description: What the feature does
    • Acceptance Criteria: Testable conditions for completion
    • Priority: Inferred or explicit (1-5 scale)
    • Dependencies: Other features this depends on
    • Complexity: Simple, Medium, Complex
  3. Structure Output Return features in this exact JSON format:

    {
      "source": "path/to/spec.md",
      "extractedAt": "ISO timestamp",
      "features": [
        {
          "id": "feature-slug-001",
          "title": "Feature Title",
          "description": "What this feature does",
          "acceptanceCriteria": [
            "User can do X",
            "System responds with Y",
            "Data is persisted to Z"
          ],
          "priority": 1,
          "dependencies": [],
          "complexity": "medium",
          "estimatedSubtasks": 3,
          "tags": ["auth", "security"]
        }
      ],
      "summary": {
        "totalFeatures": 5,
        "byPriority": { "1": 2, "2": 2, "3": 1 },
        "byComplexity": { "simple": 1, "medium": 3, "complex": 1 }
      }
    }
    

Extraction Rules

  1. One Feature = One Deliverable

    • Each feature should be independently deployable
    • Break large features into smaller ones
    • Each should be completable in a single coding session
  2. Acceptance Criteria Must Be Testable

    • ❌ "The UI should look good"
    • ✅ "The login form displays username and password fields"
    • ❌ "Fast performance"
    • ✅ "Page loads in under 2 seconds"
  3. Identify Hidden Features

    • Error handling (often implicit)
    • Validation (often implied)
    • Edge cases (often overlooked)
    • Accessibility (often forgotten)
  4. Priority Assignment

    • 1 (Critical): Core functionality, blocking everything else
    • 2 (High): Important features, needed for MVP
    • 3 (Medium): Nice to have for initial release
    • 4 (Low): Can be added later
    • 5 (Backlog): Future consideration
  5. Dependency Detection

    • "After user authentication..." → depends on auth feature
    • "Using the data from..." → depends on data feature
    • "Building on the..." → depends on referenced feature

Example Transformation

Input Spec:

# E-commerce MVP

Users should be able to browse products and add them to a cart.
They need to checkout with credit card payments.
Admin users can manage the product catalog.

Output Features:

{
  "features": [
    {
      "id": "auth-001",
      "title": "User Authentication",
      "description": "Allow users to register and login",
      "acceptanceCriteria": [
        "User can register with email and password",
        "User can login with credentials",
        "User can logout",
        "Session persists across page refreshes"
      ],
      "priority": 1,
      "dependencies": [],
      "complexity": "medium"
    },
    {
      "id": "products-002",
      "title": "Product Catalog Display",
      "description": "Display products for users to browse",
      "acceptanceCriteria": [
        "Products display in grid layout",
        "Each product shows image, name, price",
        "Products can be filtered by category",
        "Products can be sorted by price/name"
      ],
      "priority": 1,
      "dependencies": [],
      "complexity": "medium"
    },
    {
      "id": "cart-003",
      "title": "Shopping Cart",
      "description": "Allow users to add products to cart",
      "acceptanceCriteria": [
        "User can add product to cart",
        "Cart shows item count",
        "User can view cart contents",
        "User can update quantities",
        "User can remove items"
      ],
      "priority": 2,
      "dependencies": ["products-002"],
      "complexity": "medium"
    },
    {
      "id": "checkout-004",
      "title": "Checkout with Payment",
      "description": "Complete purchase with credit card",
      "acceptanceCriteria": [
        "User can enter shipping address",
        "User can enter credit card details",
        "Payment is processed securely",
        "Order confirmation is displayed",
        "Confirmation email is sent"
      ],
      "priority": 2,
      "dependencies": ["cart-003", "auth-001"],
      "complexity": "complex"
    },
    {
      "id": "admin-005",
      "title": "Admin Product Management",
      "description": "Admin users can manage products",
      "acceptanceCriteria": [
        "Admin can add new products",
        "Admin can edit existing products",
        "Admin can delete products",
        "Admin can upload product images"
      ],
      "priority": 3,
      "dependencies": ["auth-001"],
      "complexity": "medium"
    }
  ]
}

Output Format

Always return valid JSON matching the schema above. The output will be:

  1. Parsed by siftcoder
  2. Stored in features.json
  3. Used to drive the implementation workflow

Runtime Implementation

This skill includes a minimal skill.ts entry point to satisfy plugin requirements. The primary value remains in this documentation - see sections above for:

  • Spec extraction patterns
  • Feature breakdown strategies
  • JSON schema

The runtime entry point can be extended with actual functionality as needed.

Allowed Tools

Read, Glob, Grep (for analyzing existing code context)

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/spec-analyzer-mm8o52dk/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/spec-analyzer-mm8o52dk' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/spec-analyzer-mm8o52dk/download' --output '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md.part' && mv '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md.part' '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && test -s '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/spec-analyzer' && cp -R '.skill-downloads/spec-analyzer-mm8o52dk' '.claude/skills/spec-analyzer'

Cursor
test -f '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && test -s '.skill-downloads/spec-analyzer-mm8o52dk/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/spec-analyzer' && cp -R '.skill-downloads/spec-analyzer-mm8o52dk' '.cursor/skills/spec-analyzer'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/spec-analyzer-mm8o52dk'

openskills read 'spec-analyzer-mm8o52dk'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/spec-analyzer-mm8o52dk/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires