---
id: M05-L04
title: "Test when a skill should activate"
module: M05
chapters: "11"
checkpoint: CP04
---

# M05-L04 — Test when a skill should activate

Evaluate selection and output quality using separate relevant, unrelated, and incomplete-input cases. Start with CP04, the constraints skill, and `docs/skills.md`. Your output is an actual behavior matrix, not just a list of test prompts.

First explicitly invoke `$datasheet-to-constraints` for a relevant extraction request. Use the shipped request to derive Feather product 5477/BME280 interface constraints from the primary links and sections in `docs/hardware.md`. Inspect which sources are available and actually read. Score each factual row by its source, units, scope, uncertainty, and consequence.

Then start a new task with the same relevant request without naming the skill. This tests implicit selection separately. If the host exposes activation or file-read evidence, preserve it. A table-shaped answer by itself may not establish which procedure was loaded. Record that limit rather than guessing.

For the unrelated case, use the exact request: “Correct spelling in this sentence only: ‘The teminal shows a reading.’” Do not name the skill. The acceptable output is the ordinary spelling correction without a forced constraints workflow. Explicitly invoking the skill would invalidate a negative test of unwanted implicit activation.

For incomplete input, use this refined course scenario, which extends rather than quotes the shipped request:

> Map the pins for my ESP32-S3 board. It is different from this repository’s Feather product 5477 example. I have not supplied the exact variant or schematic. Use only this description; do not assume the example board or retrieve other sources. Identify the missing information before giving a pin mapping.

The acceptable behavior identifies the missing exact board reference and does not invent pins. The explicit different-board boundary prevents the surrounding repository from silently supplying the example identity. Preserve this exact source boundary when comparing skill versions. Distinguish missing evidence from low-confidence speculation.

Record prompt, source scope, skill identity, host/version, observed activation, output review, and verdict. A valid file can fail selection. Correct selection can still produce unsupported output. Keep those judgments separate so the repair addresses the actual problem.

If the description is too broad, narrow it and rerun the positive and negative cases. If output invents facts, strengthen the row-by-row evidence check and rerun the incomplete-input case. Change one important variable at a time and preserve failures. Repetition is useful when the prompt or host behavior is uncertain, but a finite test set never guarantees all future behavior.

## Resources and completion

Use the Sensor Monitor `CP04` download and its `README.md`; project paths in this lesson are relative to that root. Read Chapter 11 for the full lab and explanatory review answers. Figure IDs: SS11-03, SS11-04, SS11-05. Primary references: [OpenAI AGENTS.md](https://learn.chatgpt.com/docs/agent-configuration/agents-md) and [OpenAI build skills](https://learn.chatgpt.com/docs/build-skills). Complete the [exercise](exercise.md), preserve actual evidence, and use the separate instructor answer key for self-check after attempting the task. Narration scripts are production sources; final transcripts must match the actual narrated edit.
