---
name: energybilltoolkit.co.uk
description: energybilltoolkit.co.uk hosts a set of text analysis skills covering structural counting (characters, words, sentences, paragraphs), readability scoring (Flesch formulas), and word frequency ranking. All skills operate on submitted English text strings and return deterministic, quantitative metrics. No qualitative NLP capabilities such as sentiment, semantics, or grammar correction are provided.
host: energybilltoolkit.co.uk
---

# energybilltoolkit.co.uk

This host provides four overlapping text-metrics endpoints aimed at agents that need quantitative assessments of English prose before publishing, grading, or routing content. The skills share a common input shape (a text string) and differ mainly in output scope: one returns only structural counts, one returns only readability scores, one returns only word frequency, and one returns a combined aggregate of all three. The host appears to be a utility layer attached to an energy-bill-focused domain, repurposed or extended for general text analysis tasks.

## When to use this host

Use this host when an agent needs deterministic, quantitative metrics about English text — structural counts, Flesch readability scores, or word frequency rankings — prior to publishing, grading, or routing content. Prefer analyze-text-metrics for a single-call summary; use the three specialized skills (count-text-metrics, analyze-text-readability, analyze-word-frequency) when you need finer control or outputs not exposed by the combined endpoint. Do not use this host for sentiment analysis, named-entity recognition, grammar correction, semantic similarity, phrase or n-gram frequency, or any non-English text; those tasks require dedicated NLP services. This host has no financial, domain-specific (energy billing), or real-time streaming capabilities despite the domain name.

## Capabilities

### Structural Text Counting

Returns raw structural counts of a text block including characters, words, unique words, sentences, paragraphs, lines, bullet items, and headings, along with derived averages and formatting warnings.

- **`count-text-metrics`** — Counts characters, words, unique words, sentences, paragraphs, lines, bullet items, and headings from submitted text, returning averages and warnings.

### Readability Scoring

Computes Flesch Reading Ease and Flesch-Kincaid Grade Level for English text, along with average sentence length and syllable statistics, to assess reading difficulty against a target threshold.

- **`analyze-text-readability`** — Analyzes a text string and returns Flesch Reading Ease, Flesch-Kincaid Grade Level, average sentence length, syllable counts, and a method caveat.

### Word Frequency Analysis

Tokenizes text and ranks word occurrences by frequency, with optional stopword filtering and normalized frequency shares, to surface the most prominent terms in a body of content.

- **`analyze-word-frequency`** — Counts and ranks word occurrences in a text string, returning token counts, frequency shares, and optional stopword filtering for the top N terms.

### Combined Text Metrics

Returns structural counts, top-token frequency distribution, and Flesch readability scores in a single call, serving as a one-shot alternative to calling the three specialized skills individually.

- **`analyze-text-metrics`** — Analyzes a text string and returns aggregate counts, top-token frequency distribution, and Flesch readability scores.

## Workflows

### Targeted Content Audit

*Use when an agent needs to audit a piece of content in detail: first establish structural shape, then assess reading difficulty, then identify dominant vocabulary — going beyond what the combined endpoint exposes.*

1. **`count-text-metrics`** — Obtain precise structural counts (word count, sentence count, paragraph count, bullet items, headings) and surface any formatting warnings before deeper analysis.
2. **`analyze-text-readability`** — Score reading difficulty via Flesch formulas to verify the content meets a target grade level or ease threshold.
3. **`analyze-word-frequency`** — Rank word tokens with stopword filtering to identify the top content terms and confirm lexical focus aligns with intent.

## Skill reference

### `count-text-metrics`

**TextCount Pro** — Counts characters, words, unique words, sentences, paragraphs, lines, bullet items, and headings from submitted text, returning averages and warnings.

*Use when:* Use when an agent needs deterministic counts of text metrics (word count, sentence count, paragraph count, bullet items, etc.) from a block of text, including edge cases like abbreviations, smart punctuation, and mixed formatting.

*Not for:* Do not use for sentiment analysis, readability scoring, or grammar checking; this endpoint returns only structural counts, not qualitative assessments.

**Inputs:**

- `text` (string, required) — The raw text to analyze. Supports multi-line content including headings, bullet lists, abbreviations, and smart punctuation.

**Returns:** Returns a counts object with 12 text metrics (characters, words, sentences, paragraphs, bullet items, headings, averages, etc.) and a warnings array.

**Example:** `{"text": "Executive Summary\n\nThis toolkit helps teams measure writing quality. It counts characters, words, sentences, paragraphs, headings, and bullet items.\n\n- First bullet item.\n- Second bullet item."}`

---

### `analyze-text-readability`

**Readability Score Tool** — Analyzes a text string and returns Flesch Reading Ease, Flesch-Kincaid Grade Level, average sentence length, syllable counts, and a method caveat.

*Use when:* Use when an agent needs to assess the reading difficulty of a block of text, such as verifying that content meets a target grade level or readability threshold before publishing.

*Not for:* Do not use for real-time streaming text analysis or for languages other than English; the method uses English Flesch formulas and results are directional, not authoritative for non-English content.

**Inputs:**

- `text` (string, required) — The plain text string to analyze for readability metrics.

**Returns:** Returns a readability object with Flesch Reading Ease (65.73), Flesch-Kincaid Grade (6.11), average sentence length, average syllables per word, total syllable count, a method caveat string, and an empty warnings array.

**Example:** `{"text": "If you know your tariff and approximate annual usage, you can estimate future costs more reliably. Always check the final unit rate, not just the headline price."}`

---

### `analyze-word-frequency`

**Word Frequency Analyzer** — Counts and ranks word occurrences in a text string, returning token counts, frequency shares, and optional stopword filtering for the top N terms.

*Use when:* Use when an agent needs to identify the most frequently used words in a body of text, with optional stopword removal and normalized frequency shares, for lexical analysis or content summarization tasks.

*Not for:* Do not use for semantic similarity, sentiment analysis, or phrase/n-gram frequency; this tool counts individual word tokens only.

**Inputs:**

- `text` (string, required) — The input text to analyze for word frequency.
- `top_n` (integer) — Number of top tokens to return in the ranked results.
- `normalize` (boolean) — When true, includes normalized frequency share (count / total_tokens) for each token.
- `stopwords` (boolean) — When true, removes common stopwords from the frequency analysis.

**Returns:** Returns metric='frequency', total and unique token counts, stopword inclusion flag, and a ranked 'top' array of up to top_n tokens each with count and normalized share.

**Example:** `{"text":"Energy prices rise, energy bills rise! In 2024, energy energy energy is everywhere. The bill toolkit helps you cut your energy bill; the toolkit also shows energy usage. Energy, energy—bill, bill, prices.","top_n":7,"normalize":true,"stopwords":true}`

---

### `analyze-text-metrics`

**Text Metrics Analyzer** — Analyzes a text string and returns aggregate counts, top-token frequency distribution, and Flesch readability scores.

*Use when:* Use when an agent needs quantitative metrics about a block of text — word/sentence/paragraph counts, unique word ratio, top content tokens, or Flesch reading ease and grade level — before summarizing, grading, or routing content.

*Not for:* Do not use for sentiment analysis, named-entity recognition, or grammar correction; those require dedicated NLP endpoints. Not suitable for real-time streaming text analysis.

**Inputs:**

- `text` (string, required) — The plain-text string to analyze. May include multiple paragraphs, punctuation, and special characters.

**Returns:** Returns an aggregate object with character/word/sentence/paragraph counts, a top-20 content-token frequency table (stopwords excluded), Flesch reading ease and Kincaid grade scores, and an empty warnings array when no issues are detected.

**Example:** `{"text": "This report reviews energy usage patterns across the United Kingdom. In April, our households consumed 19.6% more electricity than in March—primarily due to longer evenings and additional kitchen activity."}`

---
