Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
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

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Constraint Hardness Testing

ASecurity

Tests whether a stated constraint is real — distinguishing genuine limits from assumptions, habits, or politics dressed as facts. Triggers: 'is this really a constraint', 'challenge the assumption', 'who says we can't', 'is this actually fixed', 'test the constraint'.

19 stars
0 votes
0 copies
1 views
Added 9/19/2026
ai-agentsgotesting

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add rondoflow/rondoflow --skill constraint-hardness-testing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Constraint Hardness Testing?

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

Security grade badge for Constraint Hardness Testing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rondoflow-constraint-hardness-testing/badge)](https://www.skillsdirectory.com/skills/rondoflow-constraint-hardness-testing)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: constraint-hardness-testing
description: "Tests whether a stated constraint is real — distinguishing genuine limits from assumptions, habits, or politics dressed as facts. Triggers: 'is this really a constraint', 'challenge the assumption', 'who says we can't', 'is this actually fixed', 'test the constraint'."
---

# Constraint Hardness Testing

Organisations accumulate phantom constraints — rules that were real once and calcified, or
beliefs that were never tested, or someone's preference that got repeated until it sounded
like policy. This skill separates genuine limits from assumed ones before any energy is
spent working around or accepting them.

---

## Your Process

**Step 1: State the Constraint**
Write it exactly as it's been stated or assumed. Don't clean it up — the imprecision is
often where the phantom lives.

**Framing check:** Confirm the specific constraint and the goal it is blocking before continuing. State what you've identified — the exact constraint as you understand it and the goal or action it prevents — in one sentence, then use `AskUserQuestion`:
- **Question:** "I'm reading this as: [your one-sentence framing of the constraint and the goal it blocks]. Is that right?"
- **Header:** "Framing"
- **Options:**
  - **Yes — proceed** — framing is correct
  - **Adjust** — one element is off; user will correct it before you continue
  - **Reframe** — different situation than read; incorporate the correction before proceeding

**Step 2: Source It**
Who said this constraint exists? When? Is the source a law or regulation, a signed contract,
a technical impossibility, a leadership decision, a team preference, or unknown? The source
determines the hardness ceiling.

**Step 3: Consequence Test**
What actually happens if this constraint is violated? State the consequence concretely. If
the answer is "I'm not sure" or "someone would be unhappy," the constraint is not hard.
Distinguish real consequences (fine, contract breach, system failure) from assumed ones
(pushback, awkwardness, political cost).

**Step 4: Precedent Check**
Has anyone tried to change or violate this constraint before? What happened? No precedent
often means no one has tested it — not that it can't be changed.

**Step 5: Conditions Test**
Under what circumstances would this constraint not apply? A truly hard constraint has no
exceptions. If you can find a scenario where it wouldn't hold, the constraint is softer
than stated.

**Step 6: Classify**
- **Hard**: real source, concrete consequence, no exceptions, precedent confirms
- **Soft**: real but negotiable, consequence is political or preferential
- **Assumed**: no clear source, untested consequence
- **Outdated**: was once hard, circumstances have changed

---

## Human Check-in

Before proceeding, use the `AskUserQuestion` tool. State your interpretation of the situation in 1–2 sentences — what is being analyzed and what the core question is — then ask:

- **Question:** "My read: [your 1–2 sentence interpretation]. How do you want to proceed?"
- **Header:** "Scope"
- **Options:**
  - **Full analysis** — Complete all steps, reasoning shown throughout
  - **Key findings only** — Bottom-line output, skip step-by-step detail
  - **Real vs assumed verdict only** — Classify each constraint without full analysis
  - **Reframe** — The read is off; correct it and the analysis will follow the corrected framing

Proceed based on their selection. If the user reframes, incorporate the correction before running any analysis.

## Output Format

**Constraint as stated:**
> [Exact wording]

**Source:** [Law/contract/technical/decision/preference/unknown] — [specific origin]

**Consequence if violated:**
> [Concrete statement] — Real / Assumed

**Precedent:** [What happened when tested, or "untested"]

**Conditions where it wouldn't apply:**
> [If any]

**Classification:** Hard / Soft / Assumed / Outdated

**Recommended action:**

| Classification | Action |
|----------------|--------|
| Hard | Accept — design around it |
| Soft | Negotiate explicitly |
| Assumed | Test it — ask the source directly |
| Outdated | Challenge it — propose removal |

---

## Notes

The most dangerous class is Assumed, because it looks like Hard. Before accepting any
constraint that cannot be sourced precisely, treat it as Assumed and test it — the cost of
testing is almost always lower than the cost of a permanent workaround.

---

## What's Next

After delivering this output, use `AskUserQuestion` to offer the next move:

- **Question:** "Constraints tested. What's next?"
- **Header:** "Next"
- **Options:**
  - `/constraint-workaround-mapping` — Route around the hard constraints
  - `/constraint-scope-reduction` — Reduce scope to avoid constraints that can't be bypassed
  - `/decision-option-mapping` — See what options remain given hard and soft constraints
  - **Done** — Wrap up and synthesise what we have so far

Attribution

rondoflowrondoflow
View sourceMore from rondoflow →
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

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 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', ...

693621 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.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, 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.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →