Assesses the production viability of findings, filtering out debug-only features and assertion traps. Use when findings have been validated and you need to confirm they are triggerable in production release builds (with assertions disabled). Don't use for writing reproduction scripts or patches.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionmantis-criticExecute the skills CLI command in your project's root directory to begin installation:
Fetches mantis-critic from google/mantis and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate mantis-critic. Access via /mantis-critic in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
307
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
307
stars
| name | mantis-critic |
| description | >- Assesses the production viability of findings, filtering out debug-only features and assertion traps. Use when findings have been validated and you need to confirm they are triggerable in production release builds (with assertions disabled). Don't use for writing reproduction scripts or patches. |
Production Viability Expert. Filters validated security findings to confirm if they remain triggerable in standard release and production configurations.
/mantis-criticworkspace/findings/ (loads all findings regardless of status).workspace/kb/THREAT_MODEL.md (if exists, to check deployment intent).workspace/.mantis_state.json (to track current loop pass).code_paths with contextual
offset)."production_viability",
"critic_reasoning", and appends history).workspace/learnings.jsonl.workspace/findings/.workspace/learnings.jsonl to ensure it does not write duplicate
records if run again on the same input.Evaluate validated findings to determine if they represent actionable security flaws in a compiled, optimized release build. Adopt a highly skeptical, adversarial stance. Do not trust the reasoning of previous stages. Re-verify the code path independently to definitively prove or disprove production viability.
Execute the critic evaluation as follows:
Load Findings: Read the JSON files in the workspace/findings/
directory. You must load all findings regardless of status (including
"VALID", "FALSE_POSITIVE", "PROVISIONALLY_VALID", and
"NEEDS_RESEARCH") so they can be processed or logged to long-term memory.
If none exist, notify the user.
Evaluate Global Repository Intent: Read workspace/kb/THREAT_MODEL.md
(if it exists). Check the Deployment Intent section. If the threat model
explicitly states the entire repository is exclusively a tutorial, sample
project, or test suite (e.g., Intent: SAMPLE_OR_TEST_ONLY), you MUST mark
all findings as SAMPLE_OR_TEST regardless of where they are located in
the file structure, and skip the remaining per-finding viability checks.
Acquire Targeted Code Snippets: For each finding where status is
"VALID" or "PROVISIONALLY_VALID", read the target file. Read at least
15 lines of preceding context and 15 lines of succeeding context
around the designated line numbers. This targeted window is necessary to
analyze surrounding structures and macro definitions. (Skip this and the
following evaluation steps for "FALSE_POSITIVE" or "NEEDS_RESEARCH"
findings).
Evaluate Domain-Specific Viability Constraints:
Determine Viability Status: Assign one of the following viability statuses to the finding to ensure we prioritize correctly:
NON_VIABLE: The flaw is unreachable or compiled-out in production.
This includes:
assert(), debug_abort(), or development-only panics to trigger
crash/DoS states, where NDEBUG strips them and the code returns
safely.#ifdef DEBUG).SAMPLE_OR_TEST: The issue resides in example code, test suites,
fuzzing harnesses, or validation frameworks.CONDITIONAL_VIABLE: The flaw is exploitable only under specific,
non-default configurations, optional compiler flags, or custom hardening
options that may vary across production environments.VIABLE: The flaw is fully triggerable in a standard
release/production build.Token-Optimized File Updates: To minimize LLM output tokens, do not
re-emit or manually rewrite the entire JSON object in your output.
Instead, use in-place editing tools (like a short script in your preferred
language, or jq) to programmatically append the new fields to the existing
workspace/findings/<id>.json file.
You must append the following to the existing object:
"production_viability" field ("VIABLE", "NON_VIABLE",
"SAMPLE_OR_TEST", or "CONDITIONAL_VIABLE")."critic_reasoning" field explaining your evaluation."history" array:{
"stage": "critic",
"action": "evaluated",
"details": "Determined production viability as [VIABLE/NON_VIABLE/SAMPLE_OR_TEST/CONDITIONAL_VIABLE] because [reason]",
"pass_number": <current_pass_number>,
"timestamp": "<current_iso8601_timestamp>"
}
Append to Long-Term Memory: For each finding you loaded (including
NON_VIABLE, SAMPLE_OR_TEST, CONDITIONAL_VIABLE, FALSE_POSITIVE, and
NEEDS_RESEARCH), append a single structured JSON line to a workspace
database file named workspace/learnings.jsonl (using append mode). This
ensures validation outcomes are remembered across runs, helping the
strategist avoid re-scanning them.
{"title": "[finding_title]", "code_paths": ["[path1:line1]"], "status": "[NON_VIABLE / SAMPLE_OR_TEST / FALSE_POSITIVE / VIABLE / CONDITIONAL_VIABLE / NEEDS_RESEARCH]"}When complete, notify the user.
Prerequisites
Time Estimate
15-45 minutes depending on use case complexity
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
mantis-critic fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
I recommend mantis-critic for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
mantis-critic reduced setup friction for our internal harness; good balance of opinion and flexibility.
We added mantis-critic from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Registry listing for mantis-critic matched our evaluation — installs cleanly and behaves as described in the markdown.
Solid pick for teams standardizing on skills: mantis-critic is focused, and the summary matches what you get after install.
mantis-critic is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
mantis-critic reduced setup friction for our internal harness; good balance of opinion and flexibility.
mantis-critic fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
mantis-critic has been reliable in day-to-day use. Documentation quality is above average for community skills.
showing 1-10 of 75