
Meta Prompting
- 90 installs
- 31 repo stars
- Updated August 4, 2026
- iliaal/ai-skills
Structured reasoning modifiers like /think, /verify, /adversarial, and /edge to stress-test decisions, surface assumptions, and enumerate edge cases before committing.
About
The meta-prompting skill provides combinable reasoning commands that apply patterns like adversarial critique, verification, and edge-case enumeration inline. A developer uses it to validate an important design, architecture decision, or ambiguous plan before committing.
- Commands combine left-to-right, e.g. /verify /adversarial
- Marks output with the applied pattern and confidence tier
Meta Prompting by the numbers
- 90 all-time installs (skills.sh)
- +5 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #4,814 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/iliaal/ai-skills --skill meta-promptingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 90 |
|---|---|
| repo stars | ★ 31 |
| Last updated | August 4, 2026 |
| Repository | iliaal/ai-skills ↗ |
What it does
Structured reasoning modifiers like /think, /verify, /adversarial, and /edge to stress-test decisions, surface assumptions, and enumerate edge cases before committing.
Files
Meta-Prompting
Enhanced reasoning via /commands or natural language. Commands combine left-to-right: /verify /adversarial. Auto-trigger when context warrants -- note which pattern applied. Output: apply the pattern inline, then mark the result (e.g., VERIFIED ANSWER:, REVISED ANSWER:, confidence tier).
Patterns
`/think` | /show -- Show reasoning step-by-step: decision points, alternatives considered, why each accepted/rejected. With /think doubt: after each step, flag what could be wrong and why before proceeding.
`/adversarial` | /argue -- After answering, steelman the opposing case. 3 strongest counterarguments ranked by severity. Identify blind spots and unstated assumptions.
`/constrain` | /strict -- Tight constraints: 3 sentences max, cite sources, no hedging. Override inline: /constrain 5 sentences.
`/json` | /format -- Respond in valid JSON code block, no surrounding prose unless asked. Default schema:
{"analysis": "string", "confidence_score": 85, "methodology": "string", "limitations": ["string"]}Custom keys: /json {keys: summary, risks, recommendation}
`/budget` | /deep -- Extended thinking space (~500 words) showing dead ends and reasoning pivots, then clearly separated final answer.
`/compare` | /vs -- Compare options as table. Default dimensions: speed, accuracy, cost, complexity, maintenance. Custom: /compare [dim1, dim2].
`/confidence` | /conf -- Rate each claim 0-100. Flag below 70 as SPECULATIVE. Group by tier: HIGH (85+), MEDIUM (70-84), LOW (<70). Include assumptions made and rate each 1-10 on confidence.
`/edge` | /break -- 5+ inputs/scenarios that break the approach. Code: null/empty, concurrency, overflow, encoding, auth bypass. Strategies: market conditions, timing, dependencies. Auto-triggers on: security, validation, parsing contexts.
`/verify-think` | /check -- Three phases: (1) Answer direct response, (2) Challenge 3 ways it could be wrong, (3) Verify investigate each, update if needed. Mark final as VERIFIED ANSWER: or REVISED ANSWER:. Distinct from the /ia-verify slash command, which runs the full pre-PR verification pipeline. Auto-triggers on: architecture decisions, critical choices, "Am I right?"
`/flip` | /alt -- Identify the approach you'd take by default and state it. Then propose an alternative that uses a different mechanism (different data structure, different layer, different abstraction). State the conditions under which the alternative beats the default. Override: /flip 3 for top 3 alternatives. Auto-triggers on: architecture decisions where the "easy" answer may break at scale.
`/assumptions` | /presume -- Before answering, list every implicit assumption in the question/task. Then answer with assumptions explicit. The assumption list is often more valuable than the answer. Auto-triggers on: architecture reviews, ambiguous requirements.
`/premortem` | /postmortem -- Assume the decision/project has already failed. Work backwards: what caused the failure? List 3-5 failure modes by likelihood. Focus on systemic risks, not edge cases.
`/tensions` | /perspectives -- Answer from two named opposing perspectives (e.g., security engineer vs. shipping PM). Focus output on where they disagree -- that's where the real insight lives. Override roles: /tensions [devops, security].
Combos
`/analyze` = /think + /edge + /verify-think -- Code reviews, architecture, security-sensitive work. Synthesize findings into a unified recommendation -- don't just concatenate pattern outputs. Auto-triggers on: code review requests.
`/trade` = /confidence + /adversarial + /edge -- Trade ideas, position analysis, market thesis. Auto-triggers on: trade/position discussions.
Conventions
- Separate combined pattern outputs with
--- - Keep core answer prominent -- patterns enhance, not bury the response
- Accept new pattern definitions mid-conversation ("Add
/eli5for explain like I'm 5") -- apply for the session
Verify
- Pattern marker present in output (e.g.,
VERIFIED ANSWER:for /verify) - Core answer remains prominent -- meta-reasoning enhances, doesn't bury it
ia-meta-prompting Specification
Intent
ia-meta-prompting is a meta-class skill (patterns about prompts, agents, or skills themselves). Structured reasoning modifiers (/think, /verify, /adversarial, /edge, /confidence, /assumptions, etc.) to stress-test decisions, surface assumptions, or enumerate edge cases. Use when validating an important design, architecture decision, or ambiguous plan before committing.
Scope
In scope:
- Behaviors described in
SKILL.mdand routed via the should_trigger phrasings indistillery/tests/fixtures/triggers/ia-meta-prompting.jsonl. - Updates to runtime behavior, structure, trigger precision, references, and validation.
Out of scope:
- Acting as the runtime instructions themselves (those live in
SKILL.md). - Trigger phrasings already covered by adjacent
ia-*skills (validate-pluginflags >70% description overlap as DUPLICATE_TRIGGER). - <!-- to fill in: domain-specific exclusions when the skill drifts -->
Trigger Context
- Class:
meta - Hook regex:
plugins/whetstone/hooks/skill-patterns.sh->SKILL_PATTERNS[ia-meta-prompting] - Common requests (from fixture should_trigger):
- "argue against this architectural decision before we commit"
- "what could break if we deploy this change to production"
- "/think through whether this design holds under load"
- Should not trigger for (from fixture should_not_trigger):
- "add a new endpoint for user profile updates"
- "run the test suite and fix any failures"
- "write the migration script"
Source And Evidence Model
Authoritative sources:
SKILL.md-- runtime instructions and reference routing.references/*.md-- bundled supplementary content (0 file(s)).distillery/tests/fixtures/triggers/ia-meta-prompting.jsonl-- positive and negative trigger phrasings under regression test.plugins/whetstone/hooks/skill-patterns.sh-- regex pattern that fires this skill.distillery/.eval-data/ia-meta-prompting/-- harvested session examples (when present).
Data that must not be stored in this skill or its references:
- Secrets, credentials, tokens.
- Machine-specific filesystem paths (
/home/...,/Users/...,~/ai/...). The validator (MACHINE_PATH_LEAK) flags these as HIGH. - Private URLs, customer data, or unredacted personal information.
Coverage matrix
| Dimension | Status | Evidence |
|---|---|---|
| Trigger fixtures | complete | distillery/tests/fixtures/triggers/ia-meta-prompting.jsonl (>=5 should_trigger, >=5 should_not_trigger) |
| Hook regex pattern | complete | plugins/whetstone/hooks/skill-patterns.sh (SKILL_PATTERNS[ia-meta-prompting]) |
| Reference architecture | n/a | no references; SKILL.md is self-contained |
| Real-usage signal | <!-- populated by harvest-sessions when sessions exist --> | distillery/.eval-data/ia-meta-prompting/ (created by harvest-sessions) |
Evaluation
Lightweight (run on every change):
python3 distillery/scripts/distiller.py validate-plugin --component ia-meta-prompting
python3 distillery/scripts/distiller.py test-triggers --skill ia-meta-promptingDeeper (when behavior risk warrants):
python3 distillery/scripts/distiller.py dspy-eval ia-meta-prompting
python3 distillery/scripts/distiller.py diagnose-negatives ia-meta-promptingAcceptance gates:
validate-plugin --component ia-meta-promptingreturns 0 HIGH findings.test-triggers --skill ia-meta-promptingreturns F1 = 1.0 with floors of 5 should_trigger and 5 should_not_trigger.- For dspy-eval, the composite score does not regress against the most recent saved baseline (see
distillery/.eval-data/ia-meta-prompting/history.json).
Known Limitations
<!-- to fill in over time as drift surfaces. Default rule: any time diagnose-negatives surfaces a recurring failure pattern, document it here so future maintainers understand the trade-off the current implementation accepts. -->
Maintenance Notes
- Update
SKILL.mdwhen the runtime workflow, branch conditions, or output contract changes. - Update this
SPEC.mdwhen intent, scope, evidence model, evaluation gates, or maintenance expectations change. - Update the trigger fixture when adding new positive phrasings, removing stale ones, or expanding scope (the 5/5 floor is a hard validator gate).
- Update the hook regex in
skill-patterns.shwhenever fixture positives expose a missed phrasing; verify F1 = 1.0 witheval-triggersbefore committing. - Run the full release pipeline via
/release-- never bump versions or update CHANGELOG.md from a per-skill edit.