agentleFS
birdsighbirdsigh/Skills/response-analysis/SKILL.md

response-analysis

Skill3 starsChanged 3 months agoMITView on GitHub

Score user-research responses on sentiment, pain, and excitement with quote-backed evidence. Use this whenever the user wants to analyse interview answers, survey responses, support tickets, sales-call transcripts, customer feedback, or any qualitative response on the three dimensions of sentiment, pain level, and excitement about a solution. Trigger on phrases like "analyse this response", "score this interview", "how does this customer feel", "rate the pain level", "extract sentiment", or when the user pastes a transcript and asks for structured emotional/attitudinal analysis. Use even if only one of the three dimensions is mentioned by name.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 6 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈6

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every score needs 3 direct quotes from the source that justify it.

    line 37
  2. Very specific:

    When a dimension genuinely doesn't apply, score it N/A rather than guessing.

    line 45
  3. Distinctive:

    If the input shape is genuinely ambiguous, ask once before running.

    line 57
  4. Distinctive:

    Always use this exact structure.

    line 61
  5. Distinctive:

    Never paraphrase quotes: If a quote would need to be tidied to fit, leave it untidied.

    line 135
  6. Distinctive:

    Don't invent quotes: If the source doesn't contain a supporting quote, flag it as low-confidence rather than fabricating one.

    line 136
  7. Distinctive:

    Score the respondent, not the topic: If someone calmly describes a catastrophic problem, sentiment may still be neutral (3) even though …

    line 138

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Response Analysis

Score qualitative responses on three dimensions, each backed by direct quotes from the source. Built for user research, customer interviews, and feedback triage where evidence-backed scoring matters more than vibes.

Dimensions

Score each on a 1–5 scale. Definitions are deliberately concrete so scores stay consistent across runs.

Sentiment — overall emotional tone toward the topic being discussed.

  • 1: Strongly negative (frustrated, angry, dismissive)
  • 2: Mostly negative (disappointed, sceptical)
  • 3: Neutral or mixed
  • 4: Mostly positive (interested, satisfied)
  • 5: Strongly positive (enthusiastic, delighted)

Pain level — intensity of the problem or friction the respondent is experiencing.

  • 1: No pain mentioned, or trivial
  • 2: Minor annoyance
  • 3: Real problem, has workarounds
  • 4: Significant pain, actively seeking relief
  • 5: Severe, blocking, or recurring pain

Excitement about solution — how strongly the respondent reacts to a proposed solution, product, or idea.

  • 1: Rejecting or dismissive
  • 2: Sceptical or lukewarm
  • 3: Curious but uncommitted
  • 4: Genuinely interested, would try it
  • 5: Enthusiastic, would adopt or pay

Evidence rules

Every score needs 3 direct quotes from the source that justify it. Quotes must be verbatim — copied character-for-character, no paraphrasing, no tidying up filler words. If the source has fewer than 3 supporting quotes, provide what's there and flag the gap.

Low-confidence flag. Mark a score as low-confidence (append ⚠️) when any of these apply:

  • Fewer than 3 supporting quotes exist
  • Quotes are ambiguous or could support multiple scores
  • The dimension isn't really addressed in the source (e.g. no solution was proposed, so excitement can't be scored fairly)
  • The respondent contradicts themselves across the source

When a dimension genuinely doesn't apply, score it N/A rather than guessing. Don't pad with weak quotes to hit three.

Input shapes

The skill handles three input shapes. Detect which one applies from context.

Single response — one answer, one ticket, one paragraph. Run the analysis once.

Full transcript — multi-turn interview, sales call, or conversation. Analyse the respondent's contributions as a whole, ignoring interviewer turns except as context. If the respondent shifts position mid-transcript, note it.

Batch — multiple responses to analyse together. Produce one table per response, each with its own ID or label. If the user wants an aggregate, add a roll-up at the end (mean scores, common themes) but always show the per-response tables first.

If the input shape is genuinely ambiguous, ask once before running. Otherwise proceed.

Output format

Always use this exact structure. Markdown table for the scores, quoted block for evidence.

## Response analysis[: <label if batch>]

| Dimension | Score | Confidence |
|---|---|---|
| Sentiment | <1–5 or N/A> | <high / low ⚠️> |
| Pain level | <1–5 or N/A> | <high / low ⚠️> |
| Excitement about solution | <1–5 or N/A> | <high / low ⚠️> |

### Sentiment — <score>
> "<verbatim quote 1>"
> "<verbatim quote 2>"
> "<verbatim quote 3>"

### Pain level — <score>
> "<verbatim quote 1>"
> "<verbatim quote 2>"
> "<verbatim quote 3>"

### Excitement about solution — <score>
> "<verbatim quote 1>"
> "<verbatim quote 2>"
> "<verbatim quote 3>"

For low-confidence scores, add a single line under the quotes explaining why (e.g. "⚠️ Only 2 supporting quotes; respondent's tone is mixed between turns 4 and 7.").

For batch inputs, repeat the block per response, then optionally add:

## Aggregate
- Sentiment: mean <x.x>, range <min–max>
- Pain: mean <x.x>, range <min–max>
- Excitement: mean <x.x>, range <min–max>

Themes: <1–3 bullet observations across the batch>

Worked example

Input:

"Honestly the current tool is killing us. We spend maybe two hours a day just exporting CSVs and reconciling them by hand — every single day. I've raised it three times this quarter. When you showed me the auto-sync demo I actually got a bit emotional, it's exactly what we need. If it does what you say, we'd switch tomorrow."

Output:

Response analysis

DimensionScoreConfidence
Sentiment4high
Pain level5high
Excitement about solution5high

Sentiment — 4

"Honestly the current tool is killing us." "When you showed me the auto-sync demo I actually got a bit emotional" "it's exactly what we need"

Sentiment lands at 4 rather than 5 because the strongly positive feeling is directed at the proposed solution; tone toward the existing tool is sharply negative, making the overall response mixed-but-leaning-positive.

Pain level — 5

"the current tool is killing us" "We spend maybe two hours a day just exporting CSVs and reconciling them by hand — every single day" "I've raised it three times this quarter"

Excitement about solution — 5

"I actually got a bit emotional" "it's exactly what we need" "we'd switch tomorrow"

Guardrails

  • Never paraphrase quotes. If a quote would need to be tidied to fit, leave it untidied. Verbatim is the whole point of the evidence rule.
  • Don't invent quotes. If the source doesn't contain a supporting quote, flag it as low-confidence rather than fabricating one.
  • Don't pad with weak quotes. A quote only counts as supporting evidence if, read alone, it would point a reasonable reader toward the score. A bare noun phrase or topic mention (e.g. "the integration you're describing") doesn't qualify — it shows what's being discussed, not how the respondent feels. Prefer 2 strong quotes plus a low-confidence flag over 3 quotes where one is filler.
  • Score the respondent, not the topic. If someone calmly describes a catastrophic problem, sentiment may still be neutral (3) even though pain is 5.
  • Sentiment and excitement are different. Sentiment is the overall emotional tone; excitement is specifically the reaction to a proposed solution. They often diverge — a frustrated customer (low sentiment) can be excited about a fix (high excitement).
  • Don't add dimensions the user didn't ask for. Stick to the three. If the user wants more (e.g. urgency, willingness to pay), ask before adding.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.