Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Exploratory Testing

ASecurity

Run structured exploratory testing sessions using test charters, timeboxing, and heuristics. Use when user says "exploratory testing", "charter-based testing", "explore the app", "unscripted testing", "session-based testing", "find unknown bugs", or needs to test an area without predefined scripts - even if they don't explicitly say "exploratory".

20 stars
0 votes
0 copies
6 views
Added 10/4/2026
ai-agentsgotestingapisecurity

Works with

cliapi

Security Analysis

A100/100

Scanned 10/4/2026

$npx -y skills add qa-aman/claude-skills --skill exploratory-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Exploratory Testing?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Exploratory Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qa-aman-exploratory-testing/badge)](https://www.skillsdirectory.com/skills/qa-aman-exploratory-testing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: exploratory-testing
description: >
  Run structured exploratory testing sessions using test charters, timeboxing, and heuristics.
  Use when user says "exploratory testing", "charter-based testing", "explore the app", "unscripted
  testing", "session-based testing", "find unknown bugs", or needs to test an area without predefined
  scripts - even if they don't explicitly say "exploratory".
---

## Overview

Exploratory testing is simultaneous learning, test design, and execution. Based on "Exploratory
Software Testing" by Elisabeth Hendrickson and "Explore It!" (same author), this approach replaces
rigid test scripts with structured investigation using charters, timeboxes, and heuristics.

The core insight: scripted tests only find bugs you already imagined. Exploratory testing finds the
bugs you didn't anticipate - the ones that emerge from real usage patterns, unexpected interactions,
and system behaviors that scripted coverage can never reach.

## Workflow

### Step 1: Write a test charter

A charter defines the scope and mission of one exploratory session. Format:

```
Explore [area or feature]
Using [technique, tool, or approach]
To discover [information or risk type]
```

Examples:
- "Explore the checkout flow using rapid input variations to discover validation gaps."
- "Explore file upload using boundary conditions (0 bytes, max size, wrong MIME type) to discover error handling failures."
- "Explore user permissions using role-switching sequences to discover authorization gaps."

One charter = one session. Keep scope narrow enough to complete in 60-90 minutes.

### Step 2: Set a timebox

Sessions should be 60-90 minutes. Beyond 90 minutes, attention degrades and notes become inconsistent.

Structure your timebox:
- First 10 minutes: orient - understand the feature, review existing docs, set up test data
- Next 60-70 minutes: execute - follow the charter, take notes, log anomalies
- Last 10 minutes: debrief - summarize findings, classify bugs, identify follow-up charters

Use a timer. When time is up, stop even if you're mid-investigation. Log what you found and write a
follow-up charter for the remaining thread.

### Step 3: Apply heuristics to guide investigation

Heuristics are structured prompts that direct attention to known failure patterns. The HICCUPPS
heuristics (based on Hendrickson and Cem Kaner) are a reliable starting set:

- **H - History**: Has this feature broken before? Test the same paths.
- **I - Image**: Does behavior match the product's intended reputation (reliable, secure, etc.)?
- **C - Comparable products**: How do competitors handle this? Does this product match expectations?
- **C - Claims**: Does the product do what the docs, UI labels, and tooltips say it does?
- **U - User expectations**: What would a typical user assume? Does the product match that assumption?
- **P - Product**: Are there inconsistencies with how other parts of the product behave?
- **P - Purpose**: Does this serve the intended use case, or does it break under realistic usage?
- **S - Standards**: Does it conform to accessibility, security, or platform standards?

Apply at least 3 heuristics per session. Different heuristics reveal different bug classes.

### Step 4: Take structured notes during the session

Notes should capture three categories:

- **Observations**: What you saw (neutral, factual)
- **Anomalies**: What looked wrong or unexpected (potential bugs)
- **Questions**: What you don't know and need to follow up on

Example note format:
```
[Observation] Uploading a 4.9 MB file succeeds in 800ms on 3G emulation.
[Anomaly] Uploading a 5.1 MB file shows no error - just hangs indefinitely.
[Question] Is there a max file size limit enforced server-side? Not mentioned in UI.
```

Do not triage during the session. Log everything, evaluate afterward.

### Step 5: Debrief and classify findings

After the timebox ends, review your notes and classify each anomaly:

| Category | Description |
|----------|-------------|
| **Bug** | Confirmed unexpected behavior - file for the team |
- **Risk** | Potential issue, needs more investigation - write follow-up charter |
| **Question** | Unclear behavior - needs spec or product clarification |
| **Learning** | New understanding of how the system works - no action needed |

Write follow-up charters for every Risk item. These become inputs for future sessions.

### Step 6: Report the session

Share a session note with the team after each session:

```
Charter: [charter text]
Duration: [actual minutes]
Tester: [your role]
Coverage: [what was explored]
Bugs found: [count and severity]
Risks identified: [count]
Follow-up charters: [count]
```

Session notes build a coverage record that shows where exploratory effort has been invested.

## Anti-Patterns

**1. Exploring without a charter**
Bad: "I'll just click around and see what I find."
Good: Write a charter before starting. Aimless exploration wastes time and leaves inconsistent coverage.

**2. Ignoring the timebox**
Bad: Running an open-ended session for 3 hours.
Good: 60-90 minutes per session. Longer sessions produce diminishing returns and poor note quality.

**3. Triaging bugs during the session**
Bad: Stopping to file detailed bug reports mid-session.
Good: Log anomalies briefly during the session, classify and file after the timebox ends.

**4. Using only one heuristic**
Bad: Always testing with "what does the UI claim" and nothing else.
Good: Apply at least 3 different heuristics per session to surface different bug classes.

**5. No follow-up charters**
Bad: Session ends, risks are noted, nothing is scheduled to investigate them.
Good: Every Risk item from debrief becomes a charter for the next session.

**6. Treating exploratory testing as informal**
Bad: No notes, no debrief, no session report - "I tested it."
Good: Structured notes, timebox discipline, and a session report make exploratory testing auditable
and reproducible.

## Quality Checklist

- [ ] Charter written before starting (Explore / Using / To discover)
- [ ] Timebox set (60-90 minutes) and respected
- [ ] At least 3 HICCUPPS heuristics applied during session
- [ ] Notes taken in three categories: Observations, Anomalies, Questions
- [ ] Findings classified after timebox: Bug, Risk, Question, Learning
- [ ] Follow-up charters written for all Risk items
- [ ] Session note produced and shared with the team
- [ ] No personal names, project-specific paths, or internal tool references in output

Attribution

qa-amanqa-aman
View sourceSee grades on GitHubMore from qa-aman →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →