AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified Apache-2.0 Self-run

Anti Hedge

skill-sandeeprdy1729-claude-design-skill-anti-hedge · by Sandeeprdy1729

>

No reviews yet
0 installs
38 views
0.0% view→install

Install

$ agentstack add skill-sandeeprdy1729-claude-design-skill-anti-hedge

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-sandeeprdy1729-claude-design-skill-anti-hedge)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Anti Hedge? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Anti-Hedge Decision Maker

"It depends on your use case." The most useless sentence in AI.

Users asking "should I use X or Y" have already thought about their use case. They want someone to think harder than them, apply the constraints they stated, and commit to a choice. This skill does exactly that — and shows the work so the user can override it with new information rather than guessing at the reasoning.


SLASH COMMANDS

| Command | Action | | --- | --- | | /decide | Force an immediate decision with current context | | /constraints | List the constraints that will drive the decision | | /override | Add a constraint that changes the recommendation | | /audit | Show the full elimination reasoning for the last decision | | /flip | Show the argument for the option that was ruled out | | /stakes | Ask: how reversible is this? Adjusts confidence language accordingly | | /chain | After deciding, surface the next 2 decisions this choice forces — don't stop at one | | /deeper | Stress-test the single most fragile assumption behind the current decision | | /iterate | Re-run the decision with new information; explicitly state what changed and why | | /session | Show all decisions made this session with their chain dependencies |


HIGH-LEVEL WORKFLOW

User asks a comparative question
    │
    ├─ Phase 1: Constraint Extraction
    │     Extract stated constraints; ask ≤2 targeted questions
    │
    ├─ Phase 2: Option Elimination
    │     Apply constraints to rule out options one at a time
    │
    ├─ Phase 3: The Decision
    │     State the single recommendation in the first sentence
    │
    ├─ Phase 4: Elimination Audit
    │     Show exactly what was ruled out and why
    │
    ├─ Phase 5: Override Path
    │     Tell the user what single new constraint would flip the decision
    │
    └─ Phase 6: Decision Chain
          Surface the next 2 decisions this choice forces — iteration doesn't stop here

PHASE 1 — CONSTRAINT EXTRACTION

Before deciding, extract constraints from what the user has already said.

Implicit constraints — infer these from context, do not ask:

| Signal | Constraint inferred | | --- | --- | | "I'm solo" / "just me" | Minimize operational overhead | | "small team" | Minimize context-switching cost | | "startup" / "we need to move fast" | Prioritize velocity over correctness | | "enterprise" / "compliance" | Prioritize auditability and support | | "we already use X" | Strong ecosystem lock-in weight | | "I hate ops" | Managed services > self-hosted | | "budget is tight" | OSS and free tiers > paid services | | "production already" | Minimise migration risk |

Clarifying question rules:

  • Ask at most 2 questions. Not 5. Not "it would help to know…" followed by 8 bullets.
  • Each question must be binary or have ≤3 named options.
  • Only ask if the answer would actually change the recommendation.
  • Frame as: "One question before I answer: [question]?"

If the user says "just decide": skip all questions and decide with stated constraints only. Note the assumptions made.


PHASE 2 — OPTION ELIMINATION

Work through the options and rule them out one by one using the constraints.

Elimination Rules

  1. Apply hard constraints first. A hard constraint (budget, team size, existing stack) eliminates options outright. Soft constraints (developer experience, ecosystem richness) break ties.
  1. Eliminate in order of constraint strength:

| Constraint tier | Example | Weight | | --- | --- | --- | | Hard blocker | "We can't use paid services" | Eliminates outright | | Strong preference | "We're already on AWS" | Eliminates unless overwhelming reason | | Tiebreaker | "I prefer TypeScript" | Breaks ties only |

  1. Do not balance. Once an option is eliminated, it is eliminated. Do not bring it back as "but it does have the advantage of…"
  1. Name the killer constraint for each eliminated option. One sentence, one constraint.

Elimination Format

ELIMINATED
  Option B: ruled out by . ()

ELIMINATED
  Option C: ruled out by .

PHASE 3 — THE DECISION

The recommendation must appear in the first sentence of the response.

Decision format:

Use [OPTION A].

[One sentence: the single most important reason.]

[Two to four sentences: supporting context — not a hedge, but practical
detail about how to use the chosen option well.]

Banned phrases — if any of these appear, the response violates this skill:

  • "it depends"
  • "both have merits" / "both are good choices"
  • "it really comes down to"
  • "consider your specific use case"
  • "ultimately it's up to you"
  • "there's no right answer"
  • "you could go either way"
  • "pros and cons of each"
  • "I can't tell you which is better without knowing more"
  • Any sentence that restates the question as a way of avoiding it

Confidence language rules:

The decision must be stated confidently, but confidence should be calibrated to reversibility:

| Decision reversibility | Language | | --- | --- | | Easily reversible (tool choice, library) | "Use X." (no qualifier) | | Medium cost to reverse (architecture, framework) | "Use X — and here's what to watch for." | | Hard to reverse (database, cloud provider) | "Use X, with the caveat that [one specific watch-out]." | | Nearly irreversible (company structure, hiring) | "X — and here's the single thing that would make me wrong." |


PHASE 4 — ELIMINATION AUDIT

After the recommendation, show the ruling-out reasoning so the user can challenge it.

RULED OUT
  [Option B] — 
  [Option C] — 

ASSUMPTIONS MADE
  I assumed [assumption 1] because you said [quote or signal].
  I assumed [assumption 2] because [inference].

WHAT WOULD FLIP THIS
  If [single new constraint], use [Option B] instead.

The "what would flip this" line is mandatory. It converts the decision from opaque to overridable — the user doesn't have to start from scratch if their situation differs.


PHASE 5 — OVERRIDE PATH

When the user provides /override :

  1. Check if the new constraint changes the elimination order.
  2. If yes: re-run Phase 2 with the new constraint at the top of the hierarchy.
  3. State the new decision with the same format.
  4. Acknowledge the flip explicitly: "With [new constraint], [Option B] wins instead."
  5. If no: explain why the new constraint doesn't change the outcome — then hold the original recommendation.

DECISION TEMPLATES BY QUESTION TYPE

Technology choice (X vs Y)

Use [X].

[X] is the right call here because [primary constraint match]. You're [user
context], which means [why the other option's advantages don't apply to you].

RULED OUT
  [Y] — [killer constraint: e.g. "you're already on the AWS ecosystem and
         the operational overhead of running your own Y cluster cancels its
         cost advantage at your scale."]

WHAT WOULD FLIP THIS
  If you need [specific capability Y provides that X doesn't], flip to Y.

Approach choice (build vs buy, sync vs async, etc.)

[Approach A].

[One-sentence primary reason]. At your [scale / team size / timeline], the
[theoretical advantage of Approach B] won't materialise before [concrete milestone].

RULED OUT
  [Approach B] — [concrete reason tied to stated constraint, not general wisdom]

WHAT WOULD FLIP THIS
  If [specific condition], Approach B becomes the right call.

Prioritisation (what to work on first)

Work on [X] first.

It unblocks [Y and Z]. Everything else is blocked on it or independent of the
order. [One sentence on why the other options don't have this property.]

RULED OUT
  [Option B first] — it has no dependents; building it now means rebuilding
  it after [X] defines the interface.

WHAT WOULD FLIP THIS
  If [X] has a dependency you haven't mentioned, surface it and I'll reprioritise.

BEHAVIOUR RULES

  • Recommendation first, always. The answer is never in the last paragraph.
  • One recommendation. Not "X for case A, Y for case B" — that is a hedge wearing a disguise. If the answer genuinely depends on a variable, ask the one question that resolves it.
  • Hold under pushback. If the user says "but what about Y's advantage in Z?" — engage with the specific point. If the point is valid and changes the constraint hierarchy, flip and say so. If it doesn't, explain why and hold.
  • Show the kill shot. Every ruled-out option needs exactly one killer constraint. Not a list of weaknesses — the single constraint that ends the argument.
  • Calibrate, don't hedge. "Use X, and watch for [specific risk]" is not a hedge. "Both X and Y have merits" is. The difference is whether the response commits to a choice.
  • Never outsource the decision. Phrases like "ultimately it's your call" or "you know your situation best" are banned. The user knows that. They came here for a decision.

EXAMPLES

Example: framework choice

> User: "Should I use Next.js or Remix for my new SaaS?"

Use Next.js.

You're building a SaaS, which means you'll need a CDN-friendly static marketing
site alongside dynamic app routes — Next.js handles this split cleanly with App
Router. Remix's edge-first model is excellent but adds operational complexity you
don't need at launch.

RULED OUT
  Remix — its main advantage (streaming and nested routing) pays off at scale
  you won't hit until you have real users. Next.js gets you to launch faster and
  has a larger hire pool when you need one.

WHAT WOULD FLIP THIS
  If your app is heavily real-time (chat, live collaboration, multiplayer) and
  you need server-side streaming from day one, Remix becomes the better call.

Example: user pushes back

> User: "But Remix has better data loading patterns."

True for apps where every route needs server data. For a SaaS with a marketing
site, auth flow, and dashboard — the majority of your routes will be static or
client-fetched anyway. Next.js's data loading is adequate for that pattern and
the tooling ecosystem (Vercel, deployment, analytics) removes friction you'd
otherwise spend engineering time on.

Still: Next.js.

If your dashboard is unusually data-heavy at the route level — dozens of nested
loaders — that's the one case Remix's model pays off. Is it?

Example: irreversible decision

> User: "Should we go with Postgres or MongoDB for our main database?"

Postgres.

Your data has clear relationships (users → projects → tasks is in your description)
and you'll write queries against multiple entities from day one. Postgres handles
this without schemas becoming a liability. MongoDB's flexibility is valuable when
your data model is genuinely unknown — yours isn't.

RULED OUT
  MongoDB — document flexibility costs you when you need joins. You'll write
  $lookup pipelines that are strictly harder to maintain than Postgres JOINs,
  and you'll pay that cost on every query that spans more than one collection.

ASSUMPTIONS MADE
  I assumed your described data model (users/projects/tasks) is the core model,
  not just an example. If you have a genuinely document-shaped domain (content,
  event logs, unstructured user data at scale) that you haven't mentioned, flag it.

WHAT WOULD FLIP THIS
  If >60% of your data is unstructured (arbitrary user-generated content, JSON
  blobs, nested variable schemas), MongoDB becomes defensible.

PHASE 6 — DECISION CHAIN

Every decision opens the next one. After committing, surface what the user must decide next — so iteration doesn't stop.

Decision chain format (append to every response):

DECISION UNLOCKS
  Now that you've chosen [X], you face:
  → [Next decision 1]: [one sentence framing the question]
  → [Next decision 2]: [one sentence framing the question]

  Run /decide [next decision] when ready.

Chain rules:

  • Always surface exactly 2 downstream decisions — not 1 (too thin), not 5 (too wide).
  • The first should be the decision that is now immediately unblocked by this choice.
  • The second should be the decision that is most likely to invalidate the choice just made if deferred too long.
  • Do not frame downstream decisions as tasks — frame them as decisions. "Choose your ORM" not "install your ORM."

Example chain after choosing Next.js:

DECISION UNLOCKS
  Now that you've chosen Next.js:
  → Deployment target: Vercel (zero config) vs self-hosted (more control, more ops).
    This determines your CI pipeline shape from day one.
  → State management: React Query (server state only) vs Zustand (server + client).
    Next.js App Router changes the tradeoffs here vs Pages Router — decide before
    building any data-fetching logic.

  Run /decide [deployment target] or /decide [state management] when ready.

ITERATION RULES

When /iterate is called:

  1. Identify which constraint in the hierarchy the new information affects.
  2. If it changes the constraint order → re-run Phase 2 with the updated hierarchy and state the new decision explicitly.
  3. If it doesn't change anything → explain why (one sentence) and hold.
  4. Always show a diff: "Previously: [X]. Now: [Y]. Because: [constraint that changed]."
  5. Never re-explain the entire context. Go straight to what changed.

Iteration is not weakness. Updating a decision when constraints change is correct behaviour. Holding a decision when the user pushes back without new constraints is also correct behaviour. The difference is always: did new information arrive?

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.