# Question bank coverage audit

- Human page: https://happytails.ai/en/education-tools/question-bank-coverage-audit/
- Markdown: https://happytails.ai/en/education-tools/question-bank-coverage-audit.md
- Structured JSON: https://happytails.ai/agents/en/education-tools/question-bank-coverage-audit/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `question-bank-coverage-audit` |
| Category | education-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Enter question and target rows. Coverage is counted on this device and nothing is uploaded.

### Inputs and settings

Text input: Questions and targets (CSV).

Example or placeholder shown in the interface (not a validated fixture):

```text
kind,id,objective,band,value
target,,Fractions,Easy,6
question,Q1,Fractions,Easy,2
```

Start with the header row. Target rows leave id empty; question rows give an id and the marks. Up to 200,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `measure` | Coverage measure | select | "Marks" | Allowed: Marks, Question count |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Up to 2,000 rows and 200,000 characters, each cell up to 2,000 characters. Marks and targets have at most two decimal places; question count targets are whole numbers. Everything is computed on your device and nothing is uploaded. Downloads: JSON report, CSV of every cell and a printable HTML matrix.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "question-bank-coverage-audit",
  "category": "education-tools",
  "built": true,
  "requirements": "Up to 2,000 rows and 200,000 characters, each cell up to 2,000 characters. Marks and targets have at most two decimal places; question count targets are whole numbers. Everything is computed on your device and nothing is uploaded. Downloads: JSON report, CSV of every cell and a printable HTML matrix.",
  "implementation": {
    "fields": [
      {
        "key": "measure",
        "label": "Coverage measure",
        "value": "Marks",
        "type": "select",
        "values": [
          "Marks",
          "Question count"
        ]
      }
    ],
    "registrationFamily": "assessment-blueprint",
    "inputMaxLength": 200000,
    "inputErrorCode": "ASSESSMENT_BLUEPRINT_TOO_LONG_COVERAGE",
    "note": "Enter question and target rows. Coverage is counted on this device and nothing is uploaded.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 200000,
      "inputMode": "text",
      "label": "Questions and targets (CSV)",
      "placeholder": "kind,id,objective,band,value\ntarget,,Fractions,Easy,6\nquestion,Q1,Fractions,Easy,2",
      "help": "Start with the header row. Target rows leave id empty; question rows give an id and the marks. Up to 200,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Compare the questions in your bank with the blueprint you intended, objective by objective and difficulty band by band. Gaps, overages and untargeted cells are listed so you know what to write next.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Question bank coverage audit

1. Paste a CSV with the header kind,id,objective,band,value.
2. Add one target row per objective and band, then one question row per question with its marks.
3. Choose whether to compare marks or the number of questions.
4. Run the audit, then download the coverage report, the CSV and the printable matrix.

## Useful next steps

- [Dataset coverage matrix](https://happytails.ai/en/data-tools/dataset-coverage-matrix/) ([Markdown](https://happytails.ai/en/data-tools/dataset-coverage-matrix.md))

- [CSV pivot](https://happytails.ai/en/spreadsheet-tools/csv-pivot/) ([Markdown](https://happytails.ai/en/spreadsheet-tools/csv-pivot.md))

- [Multiple Choice Answer Sheet Maker](https://happytails.ai/en/education-tools/multiple-choice-answer-sheet-maker/) ([Markdown](https://happytails.ai/en/education-tools/multiple-choice-answer-sheet-maker.md))

## How coverage is counted

Each question adds its marks, or 1 when counting questions, to the cell for its objective and band. The difference is the actual value minus the target, so a negative difference is a gap and a positive one an overage. Cells with questions but no target are listed as untargeted. This is the table of specifications method described by Notar, Zuelke, Wilson and Yunker, Journal of Instructional Psychology 31(2), 2004, checked 2026-10-16.

### Input rules

Target rows use kind target and leave id empty. Question rows use kind question and need a unique id. Objective and band names must match exactly, including letter case. Marks may have at most two decimal places, and a target of 0 is allowed.

### Limits

The audit checks counts and marks only. It does not judge whether a question really tests its objective or really belongs in its band.
