Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add elevanaltd/HestAI-MCP --skill stub-detectiongit clone --depth 1 https://github.com/elevanaltd/HestAI-MCPWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/elevanaltd/hestai-mcp/stub-detection)<a href="https://agentmods.dev/skills/elevanaltd/hestai-mcp/stub-detection"><img src="https://agentmods.dev/badge/skills/elevanaltd/hestai-mcp/stub-detection/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/elevanaltd/hestai-mcp/stub-detection"><img src="https://agentmods.dev/badge/skills/elevanaltd/hestai-mcp/stub-detection.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00025 | $0.02024 |
| Opus 5 | $0.00013 | $0.01012 |
| Sonnet 5 | $0.00005 | $0.00405 |
| Haiku 4.5 | $0.00003 | $0.00202 |
Grade A, and why
stub-detection scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 256 lines — stays where its author put it; the contents beside it link to each section on GitHub.
===STUB_DETECTION=== META: TYPE::SKILL VERSION::"1.0.0" STATUS::ACTIVE PURPOSE::Systematic_detection_of_placeholder_implementations ORIGIN::Derived_from_OCTAVE_MCP_audit_discovering_9_hidden_stubs
CORE_PRINCIPLE::"Not all placeholders leave obvious traces -> Silent failures most dangerous"
===PATTERN_TAXONOMY===
// Three severity patterns for stub detection
PATTERN_1_OBVIOUS::[ DETECTION::easy[grep_finds_immediately], SIGNALS::[ "raise NotImplementedError()", "# TODO:", "# FIXME:", "pass # stub", "pass # placeholder", "throw new Error('Not implemented')" ], SEARCH::"grep -r 'NotImplementedError|TODO:|FIXME:|pass\s*#' src/", SEVERITY::LOW[explicit_and_visible] ]
PATTERN_2_HIDDEN::[ DETECTION::moderate[requires_context_patterns], SIGNALS::[ "# For minimal implementation", "# For now, return", "# For now, skip", "# Reserved for future", "# Could implement", "# deferred to", "return full_data_but_set_lossy_true", "accept_parameter_but_never_use_it", "commented_out_function_calls" ], SEARCH::"grep -r 'minimal implementation|For now|deferred|reserved for future|Could implement' src/", SEVERITY::MEDIUM[misleading_but_discoverable] ]
PATTERN_3_SILENT::[ DETECTION::hard[requires_behavior_analysis], SIGNALS::[ "function_accepts_param_but_ignores_it", "returns_success_but_does_nothing", "metadata_claims_work_done_but_wasn't", "docstring_promises_feature_not_implemented", "API_parameter_documented_but_dead_code" ], SEARCH::manual_code_review[trace_params_through_functions], SEVERITY::HIGH[false_success_dangerous] ]
===SEARCH_STRATEGY===
// Execute in this order for comprehensive detection
PHASE_1_KEYWORD_SCAN::[ COMMANDS::[ "grep -rn 'NotImplementedError\|TODO:\|FIXME:' src/", "grep -rn 'raise.*Error.*not.*implement' src/", "grep -rn 'pass$' src/ | grep -v 'init'", "grep -rn '# stub\|# placeholder' src/" ], OUTPUT::list_of_obvious_stubs ]
PHASE_2_CONTEXT_SCAN::[ COMMANDS::[ "grep -rn 'minimal implementation\|For now' src/", "grep -rn 'deferred\|reserved for future' src/", "grep -rn 'Could implement\|not yet\|skip' src/", "grep -rn '# self\._.*().*commented' src/" ], OUTPUT::list_of_hidden_stubs ]
PHASE_3_DEAD_PARAMETER_SCAN::[ TECHNIQUE::find_params_accepted_but_unused, COMMANDS::[ "grep -rn 'def.param.:' src/ | xargs -I {} grep -L 'param' {}", "grep -rn '# .*=.Reserved\|# .=.*future' src/" ], MANUAL::trace_function_parameters_to_usage, OUTPUT::list_of_ignored_parameters ]
PHASE_4_DOCSTRING_VS_IMPLEMENTATION::[ TECHNIQUE::compare_promises_to_reality, SIGNALS::[ "docstring_says_validates_but_validation_None", "docstring_says_filters_but_returns_full", "docstring_says_transforms_but_returns_unchanged", "API_docs_claim_feature_code_ignores" ], OUTPUT::list_of_broken_promises ]
PHASE_5_METADATA_LIES::[ TECHNIQUE::check_return_metadata_truthfulness, SIGNALS::[ "lossy=True_but_nothing_removed", "fields_omitted=X_but_all_fields_present", "repairs=[]_but_fix=True_requested", "validated=True_but_no_validation_occurred" ], OUTPUT::list_of_false_functionality ]
===SEVERITY_CLASSIFICATION===
HIGH::[ CRITERIA::[ "Core_feature_bypassed", "Parameter_accepted_but_ignored", "Returns_success_but_doesn't_work", "UX_failure_user_thinks_it_worked" ], EXAMPLES::[ "schema_name_param_ignored->no_validation", "filter_mode_returns_full_document", "fix=true_repairs_nothing" ], ACTION::immediate_fix_or_explicit_error ]
MEDIUM::[ CRITERIA::[ "Feature_incomplete", "Commented_out_functionality", "Pass_statement_with_TODO", "Partial_implementation" ], EXAMPLES::[ "_load_builtin_schemas()_commented_out", "_validate_section()_is_just_pass", "load_schema()_returns_minimal_stub" ], ACTION::document_and_plan_implementation ]
LOW::[ CRITERIA::[ "Feature_deferred_and_documented", "Explicit_fallback_behavior", "Parameter_reserved_for_future" ], EXAMPLES::[ "output_format!=octave_shows_message", "tier_param_commented_as_reserved", "json/yaml_export_not_yet_implemented" ], ACTION::track_as_technical_debt ]
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 256 lines · 25 tokens per session scan A e26e91537762
stub-detection is a skill published in the GitHub repository elevanaltd/HestAI-MCP (0 stars, last pushed yesterday), licensed Apache-2.0. It adds 25 tokens to every session and 2,024 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
adversarial-reviewer
Adversarial code review that assumes bugs exist and hunts for them. Use when asked to review code, find bugs, audit for correctness, stress-test a PR, or when someone says "tear this apart" or "what's wrong with this". Give no benefit of the doubt — every line is guilty until proven innocent.
gsd-ns-review
Route to the appropriate quality / review skill based on the user's intent. gsd-code-review-fix was absorbed by gsd-code-review --fix in #2790.
issue
Use when starting a chain from a GitHub issue — turning an issue URL or number into a triaged, planned, dispatched, and reviewed pull request. Classifies the thread (bug → root-cause discipline, feature → plan chain, question → drafted reply), synthesizes a spec from the issue's own acceptance criteria, then runs the…
gitnexus
A code-graph analysis add-on for examining an existing codebase, including symbols, call paths, execution flows, and effects across repositories. It can query GitNexus through its command-line or MCP interfaces.
cleanup-code-inspections
Reduce technical debt and improve code quality by systematically resolving static analysis warnings.
sonarqube-mcp
Provides SonarQube and SonarCloud integration patterns via the Model Context Protocol (MCP) server. Enables quality gate monitoring, issue discovery and triaging, pre-push code analysis, and rule education directly in the agent workflow. Use when the user wants to check quality gates, search for Sonar issues, analyze…