Extraction d'intentions

VérifiéSûr

Extrait automatiquement l'intention réelle, la sévérité, l'émotion et l'actionnabilité des issues et PRs, au-delà du libellé explicite. Utile pour le triage, l'identification de relations et la génération d'actions minimales.

Spar Skills Guide Bot
DeveloppementIntermédiaire
02/06/2026
Claude CodeCopilot
#issue-triage#intent-extraction#pr-analysis#sentiment-analysis#actionability

Recommandé pour

Synthèse automatique

Cette compétence extrait l'intention et la faisabilité principales des issues et pull requests, au-delà des demandes superficielles, pour identifier les besoins sous-jacents, la sévérité, le ton émotionnel et les relations.

Points forts

  • Analyse complète sur plusieurs dimensions (type, sévérité, sentiment, faisabilité).
  • Inclut l'analyse des PR pour extraire le problème et les conseils d'implémentation.
  • Cartographie des relations pour détecter les doublons et dépendances.

Limites

  • Basé sur des heuristiques ; peut mal classer des cas nuancés.
  • Nécessite des descriptions de qualité ; des entrées vagues réduisent la précision.
  • L'analyse des sentiments repose sur un lexique simple, peut échouer sur le sarcasme ou les langues non anglaises.
Quand l'utiliser

Lors du tri d'un grand volume d'issues/PR pour prioriser et comprendre rapidement les besoins des utilisateurs.

Quand l'éviter

Lorsqu'une compréhension contextuelle approfondie d'un problème unique et complexe est nécessaire ; l'empathie humaine est irremplaçable.

Analyse de sécurité

Sûr
Score qualité92/100

The skill is purely descriptive and contains no executable commands, no destructive actions, no exfiltration attempts, and no obfuscated payloads. It merely provides analysis instructions.

Aucun point d'attention détecté

Comment cette analyse est faite

Exemples

Classify a bug report
Analyze this issue: 'Can't login after update v2.3.1 - I keep getting error 500 when submitting credentials. Works fine in previous version.' Extract type, underlying need, severity, sentiment, actionability, and recommend next step.
Analyze a feature request
Extract intent from this PR: 'Add dark mode' - description says 'Would be nice to have a dark theme for late night coding. Implemented by adding CSS variables.' Identify the problem being solved, assess approach, and extract implementation guidance.
Map relationships between issues
Find relationships between these two issues:
Issue #1: 'App crashes on startup after update'
Issue #2: 'Getting startup failure, version 3.0'
Are they duplicates? What is the underlying need?

Intent Extraction

At a glance

  • Purpose: Convert raw issues/PRs into “what the user actually needs” + actionability.
  • Use when: Analyzing items, mapping duplicates/relationships, or writing briefs.
  • Output: Intent, severity, sentiment, actionability, relationships, and the minimal next step.

Purpose

Surface the real need behind issues and PRs, not just the stated request. Semantic keyword lists (intent, needs-info cues) are config-driven and can be derived from repo templates.

Issue Intent Extraction

Step 1: Classify Type

| Type | Signals | |------|---------| | Bug | "doesn't work", "error", "crash", "broken", stack traces | | Feature | "would be nice", "could you add", "support for", "feature request" | | Question | "how do I", "is it possible", "what does", question marks | | Support | Configuration help, usage questions, troubleshooting | | Meta | Project governance, contributing, community |

Step 2: Extract Underlying Need

Ask: "What is the user actually trying to accomplish?"

Example:

  • Stated: "Add --verbose flag to install command"
  • Underlying need: User can't debug why installation fails
  • Better solution might be: Better error messages, not a flag

Step 3: Assess Severity

| Level | Criteria | |-------|----------| | Critical | Security vulnerability, data loss, complete breakage | | High | Major functionality broken, no workaround | | Medium | Functionality impaired, workaround exists | | Low | Minor inconvenience, cosmetic, edge case |

Step 4: Gauge Emotional State

| Tone | Signals | Response Adjustment | |------|---------|---------------------| | Frustrated | "still broken", "why hasn't", urgency | Acknowledge, prioritize response | | Enthusiastic | "love this", "excited to", "great project" | Match energy, encourage | | Neutral | Factual reporting | Standard professional tone | | Confused | "I don't understand", "not sure if" | Patient, educational |

Sentiment scoring uses a small lexicon by default; adjust the config for non-English repos as needed.

Step 5: Check Actionability

  • Actionable: Clear reproduction steps, specific request, enough context
  • Needs info: Missing environment, vague description, can't reproduce
  • Blocked: Depends on external factor, needs design decision

PR Intent Extraction

PRs are intelligence sources, not merge candidates. Your job is to extract the problem, understand the approach, and implement the fix yourself.

Step 1: Identify the Problem Being Solved

Read:

  1. PR title and description
  2. Linked issues (if any)
  3. Commit messages
  4. The actual code changes

Ask: "What problem does this solve? Why did the contributor think this was worth doing?"

Step 2: Assess the Approach

| Aspect | Questions | |--------|-----------| | Correctness | Does it actually solve the problem? | | Completeness | Are edge cases handled? Tests included? | | Fit | Does the approach match project patterns? | | Scope | Is it focused or does it include unrelated changes? |

Step 3: Extract Implementation Guidance

PRs tell you exactly how to fix the problem. Extract:

  • Root cause: What did the contributor identify as the problem?
  • Solution approach: What's the core fix? (e.g., use path.sep instead of /)
  • Edge cases: What did they handle that you might miss?
  • Test cases: What scenarios did they consider?

Use this to implement your own fix. The PR is your requirements document and reference implementation.

Step 4: Assess Contributor Context

| Factor | How to Determine | Impact | |--------|------------------|--------| | First-time? | Check if first contribution to repo | Warmer welcome, more patience | | Experienced? | Previous accepted PRs | Can be more direct | | Maintainer? | Has write access | Different review bar | | Drive-by? | No previous engagement | May not respond to feedback |

Relationship Mapping

Automated Detection (in triage.ts)

The script detects:

  • Explicit mentions: "Fixes #42", "Related to #30"
  • Number references: "#42" in body/comments

Manual Enrichment

During analysis, also identify:

  • Duplicates: Same underlying issue, different reporters
  • Root cause: Multiple symptoms of one problem
  • Dependency: Item A must be resolved before B
  • Conflict: PRs that can't both be used as the basis for implementation
  • Quality: Whether a PR actually solves the linked issue (strong/medium/weak)

Recording Relationships

In item markdown:

## Relationships
- Duplicate of [ISSUE:28] (same root cause)
- Addressed by [PR:38], [PR:40] (competing fixes)
- Blocks [ISSUE:50] (depends on this fix)

Common Patterns

The "Same Bug, Many Reports" Pattern

Multiple issues report the same underlying problem. Signs:

  • Similar error messages
  • Same affected functionality
  • Clustering in time

Action: Identify the canonical issue, close duplicates with references.

The "Competing PRs" Pattern

Multiple PRs solve the same problem differently.

Action: Evaluate each on merit, pick the best, close others with thanks.

The "Feature Creep PR" Pattern

PR starts solving one thing, grows to include unrelated changes.

Action: Request scope reduction or split into multiple PRs.

The "XY Problem" Pattern

User asks for X (their attempted solution) when they really need Y.

Action: Identify Y, address the actual need.

Opportunity Extraction

During analysis, look for improvements not explicitly requested:

  • Documentation gaps revealed by questions
  • UX friction implied by repeated confusion
  • Reliability gaps implied by flaky or brittle fixes

Record these as opportunity notes and convert high‑impact items into briefs.

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/intent-extraction-mm5t8ciz/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/intent-extraction-mm5t8ciz' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/intent-extraction-mm5t8ciz/download' --output '.skill-downloads/intent-extraction-mm5t8ciz/SKILL.md.part' && mv '.skill-downloads/intent-extraction-mm5t8ciz/SKILL.md.part' '.skill-downloads/intent-extraction-mm5t8ciz/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

Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.

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/intent-extraction-mm5t8ciz/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