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

Challenge

ASecurity

Interrogate a BRIEF before committing to it - premise attacks with steelmans, a narrower-wedge proposal, cost/hours/blast-radius reality checks, forcing questions, and a proceed / narrow-first / rethink verdict. Use when the user asks to challenge, stress-test, or poke holes in a brief, an idea, or a product premise.

2 stars
0 votes
0 copies
0 views
Added 9/28/2026
ai-agentsrustgobash

Security Analysis

A100/100

Scanned 9/28/2026

Install to Claude Code

$npx -y skills add AaravChadha/acstack --skill challenge --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Challenge?

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

Security grade badge for Challenge
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aaravchadha-challenge/badge)](https://www.skillsdirectory.com/skills/aaravchadha-challenge)

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

Files
SKILL.md
---
name: challenge
description: Interrogate a BRIEF before committing to it - premise attacks with steelmans, a narrower-wedge proposal, cost/hours/blast-radius reality checks, forcing questions, and a proceed / narrow-first / rethink verdict. Use when the user asks to challenge, stress-test, or poke holes in a brief, an idea, or a product premise.
argument-hint: "[notes]"
---

# /challenge — interrogate the brief

One written interrogation of the product premise, anchored to the BRIEF
document line by line. Not persona theater — every attack cites the line it
attacks, and the output ends in a verdict, not a mood.

`Adjacent skills:` /plan-review (reviews the plan, not the brief —
engineering soundness, not product premise).

<!-- acstack:runtime -->
Run before the skill's steps — per invocation, not per session (4.36); failures degrade to markdown:
```bash
link="$(readlink "$HOME/.claude/skills/health" 2>/dev/null || true)"   # empty = not symlinked
pack="$(dirname "$(dirname "$link")")"   # NEVER trust this unless $link was non-empty
if [ "${link#/}" != "$link" ] && [ -x "$pack/bin/acstack-config" ] && ! "$pack/bin/acstack-config" runtime | grep -q '=off'; then
  "$pack/bin/acstack-config" || true          # resolved keys, with sources
  "$pack/bin/acstack-update-check" || true    # ≤1 fetch/day; silent ONLY if already checked today
  "$pack/bin/acstack-recall" || true          # LEARNINGS.md + bug-class names, capped 3KB
else
  echo "runtime off — proceeding without recall/update-check"
fi
```
<!-- /acstack:runtime -->

<!-- acstack:principles -->
## Operating principles

- Be direct. Push back in writing when the plan or the user is wrong. No sycophancy.
- Never delete a decision. Supersede it: `~~old~~ → **Verdict (YYYY-MM-DD):** new call — reason.`
- Never fix, tune, or delete a test or eval case to raise a score. Log the miss honestly and leave the case unchanged.
- Name exact things: regex patterns, function signatures, model names, before → after numbers. Never "fixed bugs".
- Attribution: follow the project's `attribution` setting (default `none`) — no AI-tool mentions in generated docs, no attribution trailers in commits or PRs. Commit with explicit `-m`/`-F` messages only.
- Config: read `.claude/acstack.md` at the project root (fall back to `~/.claude/acstack.md`) before acting. `## Settings` keys override pack defaults; a `## <skill-name>` section overrides both. Unknown keys and sections are ignored.
- Docs: BRIEF.md (frozen seed) / PLAN.md (living plan) / JOURNAL.md (rolling journal). If the repo uses legacy names (PLANNING_PROMPT.md / PLANNING.md / STATUS.md), use those instead — never create both.
- Recall: if `LEARNINGS.md` exists at the project root, read it before starting.
- Conduct: follow the `acstack-conduct` block in this repo's AGENTS.md — the word is the mode; the user sets the pace.
- Hackathon lane: if the project's AGENTS.md carries the `acstack:hackathon-lane` block, only `/do` changes the repository during the event. Any other skill that would write a tracked file, commit or push says what it would have done and stops; a change that is not a task goes through the lane's operator route.
<!-- /acstack:principles -->

**One document set.** Resolve exactly ONE BRIEF/PLAN/JOURNAL set and name
its path in the report's scope line. If more than one candidate set exists
— a monorepo, nested products, an `apps/*` tree each with its own docs —
list the candidates and STOP. Never pick one silently: a confident answer
about the wrong product is worse than no answer (conduct rule 8).

## Precondition

Read BRIEF.md (legacy: PLANNING_PROMPT.md). No brief exists → say so, point
at `/plan seed`, stop. An interrogation without a document to cite becomes
opinion trading, which is exactly what this skill exists to prevent.

## The report — in this order

The report's FIRST line is the verdict — `proceed` / `narrow first` /
`rethink`, with one line of reason — stated as the report's FIRST line:
verdict up front, evidence after. No middle mush; "proceed with caveats"
is `narrow first` wearing a softer coat. The sections below are the
evidence for it.

### 1. Premise attacks

For each load-bearing premise in the BRIEF's Context: steelman it in one
sentence, then attack it — who exactly has this problem, what do they do
about it today, why does now matter. A premise the BRIEF states without
evidence is called out as unevidenced, in those words. Each attack cites
the BRIEF line it targets.

### 2. Narrower wedge

At least one smaller version that still proves the core value:
`Wedge: <scope> — drops <what>, still proves <what>`. If the full scope is
genuinely the minimum viable test of the premise, say so and defend why no
smaller wedge exists.

### 3. Constraint reality checks

The three checks from `references/challenge-checklist.md`, run with
numbers, not adjectives:

- **Cost/tier ceiling** — does the plan fit the stated budget and free-tier
  limits (requests/day, storage, seats)? Show the arithmetic.
- **Hours reality** — estimated build hours vs the hours the Context says
  exist. A 60-hour plan against 10 hours/week is a 6-week plan; say that.
- **Blast radius** — what the first users experience if this breaks in
  week one, and whether the BRIEF's Constraints and Context accept that
  exposure.

### 4. Forcing questions

Numbered, each answerable in one sentence, each one the user must answer —
not rhetorical devices. Draw from the question bank in the checklist
reference where it fits the project type.

### 5. Scope

What was NOT interrogated — premises out of scope, reality checks that
lacked the numbers to run — so the verdict's coverage is honest.

## Timing and where answers land

/challenge is designed for the window between `/plan seed` and the BRIEF's
commit — answers can still be edited into the draft. Once the BRIEF is
frozen, outcomes land in PLAN.md as dated decisions with the
`(Originally X, changed YYYY-MM-DD)` breadcrumb; the BRIEF itself is never
edited (its value is being an honest record of what was believed at the
start).

## Hard rules

- Interrogate the product, not the person. Attacks name premises, never
  competence.
- Report only: no scaffolding, no code, no PLAN.md edits in the same turn.
  The verdict is delivered, then the user rules (CONDUCT rules 1 and 2).
- A verdict of `proceed` must still contain the attacks — a challenge that
  found nothing to attack didn't look.

Attribution

AaravChadhaAaravChadha
View sourceMore from AaravChadha →
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', ...

695601 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 →