Turn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 250,000+ scientists worldwide. 177 ready-to-use validated skills plus 100+ scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.
This report summarizes scanner evidence for K-Dense-AI/scientific-agent-skills, a Python project with 48,295 GitHub stars. SynthScan examined 612,645 lines of code across 2424 source files, recording 7570 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 15.6 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 6102 finding(s).
Are imports declared and package/API names verified? 702 finding(s).
Are wrappers, guards, and repeated structures necessary? 6217 finding(s).
Which changes need focused human review? 7570 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 7570 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scan_skills.py | 338 | def cache_invalidation_reason(previous: dict | None, max_age_days: int) -> str | None: | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 96 | def test_collection_date_differs_between_instances(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 103 | def test_string_typed_date_is_rejected_not_guessed(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 110 | def test_submission_date_differs_between_instances(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 116 | def test_missing_date_field_raises_with_the_alternatives(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 121 | def test_supports_range_follows_declared_type(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 131 | def test_indexed_column_preferred(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 134 | def test_unindexed_instance_reports_no_index(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 137 | def test_qc_columns_are_not_lineage_columns(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 143 | def test_per_segment_columns_excluded(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 148 | def test_ha_clade_outranks_na_clade(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 155 | def test_no_lineage_column_raises(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 163 | def test_bare_name_stays_exact(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 166 | def test_sublineages_expand_on_an_indexed_column(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 170 | def test_sublineages_refused_without_an_index(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 177 | def test_trailing_star_refused_without_an_index(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 181 | def test_exact_query_still_allowed_without_an_index(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 186 | def test_zero_successes_has_nonzero_upper_bound(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 192 | def test_interval_stays_inside_the_unit_interval(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 198 | def test_interval_brackets_the_estimate(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 203 | def test_interval_narrows_with_n(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 208 | def test_empty_denominator_is_maximally_uncertain(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 224 | def test_rising_series_has_positive_slope(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 231 | def test_falling_series_has_negative_slope(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 237 | def test_flat_series_slope_near_zero(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 243 | def test_all_zero_observations_returns_no_fit(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 250 | def test_too_few_successes_returns_no_fit(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 254 | def test_too_few_nonzero_weeks_returns_no_fit(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 258 | def test_too_few_points_returns_no_fit(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 261 | def test_dispersion_never_shrinks_the_interval_below_binomial(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 271 | def test_overdispersion_widens_the_interval(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 280 | def test_empty_weeks_are_dropped_not_counted(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 289 | def test_iso_week_start_is_monday(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 294 | def test_partial_and_null_dates_are_unparseable(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 298 | def test_undated_rows_are_counted_separately(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 309 | def test_week_range_is_inclusive_and_gapless(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 317 | def test_recent_thin_weeks_are_flagged(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 327 | def test_steady_series_flags_nothing(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 346 | def test_unalias_expands_one_level(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 349 | def test_unalias_full_walks_to_a_fixed_point(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 352 | def test_unalias_stops_at_a_recombinant(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 356 | def test_unalias_leaves_root_lineages_alone(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 359 | def test_recombinant_parents_deduplicated(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 364 | def test_ordinary_lineage_has_no_recombinant_parents(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 367 | def test_unknown_prefix_is_returned_unchanged(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 380 | def test_parent_chain_walks_to_the_root(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 388 | def test_descendants_are_transitive(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 394 | def test_leaf_has_no_descendants(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 461 | def test_parses_status_and_strips_the_marker(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 469 | def test_header_and_blank_lines_ignored(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 474 | def test_redesignation_target_is_extracted(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 479 | def test_withdrawal_without_a_successor(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 484 | def test_blob_hashes_reported_per_file(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 514 | def test_non_json_body_does_not_raise(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 517 | def test_unknown_instance_lists_the_known_ones(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 522 | def test_base_url_overrides_the_registry(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 530 | def test_list_values_repeat_the_key(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 537 | def test_empty_string_preserved(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 543 | def test_valid_field_accepted(self): | CODE |
| LOW⚡ | tests/pathogen-variant-surveillance/test_scripts.py | 548 | def test_range_suffix_accepted(self): | CODE |
| 5378 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/pathogen-variant-surveillance/test_scripts.py | 0 | load a bundled script as a module regardless of cwd. | STRING |
| HIGH | tests/analytical-method-validation/test_scripts.py | 0 | load a bundled script as a module regardless of cwd. | STRING |
| HIGH | tests/ontology-term-resolution/test_scripts.py | 0 | load a bundled script as a module regardless of cwd. | STRING |
| HIGH | tests/genomic-coordinates/test_scripts.py | 0 | load a bundled script as a module regardless of cwd. | STRING |
| HIGH | skills/scikit-survival/scripts/_common.py | 0 | return an argparse converter for a bounded integer. | STRING |
| HIGH | skills/pytdc/scripts/_common.py | 0 | return an argparse converter for a bounded integer. | STRING |
| HIGH | skills/uncertainty-and-units/scripts/_common.py | 0 | return an argparse converter for a bounded integer. | STRING |
| HIGH | skills/scikit-survival/scripts/_common.py | 0 | return a bounded regular local file, rejecting urls and symlinks. | STRING |
| HIGH | skills/simpy/scripts/_common.py | 0 | return a bounded regular local file, rejecting urls and symlinks. | STRING |
| HIGH | skills/uncertainty-and-units/scripts/_common.py | 0 | return a bounded regular local file, rejecting urls and symlinks. | STRING |
| HIGH | skills/scikit-survival/scripts/_common.py | 0 | validate an explicit local output without following symlinks. | STRING |
| HIGH | skills/simpy/scripts/_common.py | 0 | validate an explicit local output without following symlinks. | STRING |
| HIGH | skills/uncertainty-and-units/scripts/_common.py | 0 | validate an explicit local output without following symlinks. | STRING |
| HIGH | skills/scikit-survival/scripts/_common.py | 0 | write bytes through a same-directory temporary file. | STRING |
| HIGH | skills/simpy/scripts/_common.py | 0 | write bytes through a same-directory temporary file. | STRING |
| HIGH | skills/uncertainty-and-units/scripts/_common.py | 0 | write bytes through a same-directory temporary file. | STRING |
| HIGH | skills/scientific-visualization/scripts/_common.py | 0 | write bytes through a same-directory temporary file. | STRING |
| HIGH | skills/exploratory-data-analysis/scripts/_common.py | 0 | run a cli body with concise expected-error handling. | STRING |
| HIGH | skills/neurokit2/scripts/_common.py | 0 | run a cli body with concise expected-error handling. | STRING |
| HIGH | skills/pathml/scripts/_common.py | 0 | run a cli body with concise expected-error handling. | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | ai-powered scientific schematic generation using nano banana 2. this script uses a smart iterative refinement approach: | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | ai-powered scientific schematic generation using nano banana 2. this script uses a smart iterative refinement approach: | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | ai-powered scientific schematic generation using nano banana 2. this script uses a smart iterative refinement approach: | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | ai-powered scientific schematic generation using nano banana 2. this script uses a smart iterative refinement approach: | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 0 | the outcome of one quality review. a named tuple rather than a bare tuple because the review has several failure modes - | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 0 | strip markdown decoration so the rubric's fields can be found. | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 0 | return the reviewer's 0-10 score, or none when there isn't a usable one. none rather than a default: a fabricated score | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 0 | return acceptable / needs_improvement from the verdict line, or none. anchored to the start of a line. the rubric prompt | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | skills/generate-image/scripts/generate_image.py | 0 | resolve the api key from --api-key, the environment, then any .env file. the .env scan walks up from the working directo | STRING |
| HIGH | …scientific-schematics/scripts/generate_schematic_ai.py | 0 | generate infographics using ai with smart iterative refinement. uses gemini 3.7 flash for quality review to determine if | STRING |
| HIGH | …lls/literature-review/scripts/generate_schematic_ai.py | 0 | generate infographics using ai with smart iterative refinement. uses gemini 3.7 flash for quality review to determine if | STRING |
| HIGH | skills/latex-posters/scripts/generate_schematic_ai.py | 0 | generate infographics using ai with smart iterative refinement. uses gemini 3.7 flash for quality review to determine if | STRING |
| HIGH | …lls/scientific-slides/scripts/generate_schematic_ai.py | 0 | generate infographics using ai with smart iterative refinement. uses gemini 3.7 flash for quality review to determine if | STRING |
| HIGH | skills/infographics/scripts/generate_infographic_ai.py | 0 | generate infographics using ai with smart iterative refinement. uses gemini 3.7 flash for quality review to determine if | STRING |
| 95 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/onekgpd/test_scripts.py | 97 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/onekgpd/test_scripts.py | 99 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/onekgpd/test_scripts.py | 522 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/onekgpd/test_scripts.py | 524 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 73 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 75 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 80 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 82 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/alphagenome/test_scripts.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/alphagenome/test_scripts.py | 338 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/alphagenome/test_scripts.py | 340 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/alphagenome/test_scripts.py | 450 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/alphagenome/test_scripts.py | 452 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 62 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 197 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 199 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 384 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 386 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 491 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 493 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 767 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/genomic-coordinates/test_scripts.py | 769 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 55 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 90 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 92 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 156 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 158 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 196 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 198 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 426 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_meta.py | 428 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 49 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 51 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 63 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 65 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 138 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 140 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 257 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 259 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 354 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 356 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 702 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/onekgpd/scripts/onekgpd_api.py | 704 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 18 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 20 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 148 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 151 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 343 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 347 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 428 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_catalog.py | 430 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_common.py | 25 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_common.py | 27 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_common.py | 54 | # -------------------------------------------------------------------------- | COMMENT |
| MEDIUM | skills/analytical-method-validation/scripts/_common.py | 56 | # -------------------------------------------------------------------------- | COMMENT |
| 152 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scan_pr_skills.py | 15 | CODE | |
| LOW | tests/conftest.py | 21 | CODE | |
| LOW | tests/run_all.py | 32 | CODE | |
| LOW | tests/pathogen-variant-surveillance/test_scripts.py | 10 | CODE | |
| LOW | tests/lab-hardware-cad/test_geometry.py | 2 | CODE | |
| LOW | tests/lab-hardware-cad/test_scripts.py | 8 | CODE | |
| LOW | tests/iso-standards-readiness/test_scripts.py | 1 | CODE | |
| LOW | tests/scikit-survival/test_scripts.py | 4 | CODE | |
| LOW | tests/qiskit/test_scripts.py | 17 | CODE | |
| LOW | tests/scientific-brainstorming/test_scripts.py | 3 | CODE | |
| LOW | tests/pymc/test_scripts.py | 20 | CODE | |
| LOW | tests/pymc/test_scripts.py | 30 | CODE | |
| LOW | tests/pkpd-modeling/test_scripts.py | 20 | CODE | |
| LOW | tests/research-lookup/test_research_lookup.py | 3 | CODE | |
| LOW | tests/shap/test_scripts.py | 17 | CODE | |
| LOW | tests/sympy/test_examples.py | 4 | CODE | |
| LOW | tests/marine-carbonate-chemistry/test_scripts.py | 3 | CODE | |
| LOW | tests/onekgpd/test_scripts.py | 21 | CODE | |
| LOW | tests/onekgpd/test_scripts.py | 33 | CODE | |
| LOW | tests/get-available-resources/test_scripts.py | 3 | CODE | |
| LOW | tests/exploratory-data-analysis/test_static.py | 4 | CODE | |
| LOW | tests/exploratory-data-analysis/test_scripts.py | 4 | CODE | |
| LOW | tests/exploratory-data-analysis/test_scripts.py | 318 | CODE | |
| LOW | tests/experimental-design/test_scripts.py | 15 | CODE | |
| LOW | tests/scientific-schematics/test_image_api.py | 2 | CODE | |
| LOW | tests/scientific-schematics/test_scripts.py | 9 | CODE | |
| LOW | tests/arboreto/test_scripts.py | 7 | CODE | |
| LOW | tests/bids/test_scripts.py | 14 | CODE | |
| LOW | tests/geniml/test_upstream_api.py | 2 | CODE | |
| LOW | tests/geniml/test_scripts.py | 3 | CODE | |
| LOW | tests/geopandas/test_static.py | 3 | CODE | |
| LOW | tests/geopandas/test_scripts.py | 3 | CODE | |
| LOW | tests/deeptools/test_scripts.py | 13 | CODE | |
| LOW | tests/protocolsio-integration/test_scripts.py | 3 | CODE | |
| LOW | …alytical-method-validation/test_refresh_regressions.py | 2 | CODE | |
| LOW | …alytical-method-validation/test_refresh_regressions.py | 4 | CODE | |
| LOW | tests/analytical-method-validation/test_scripts.py | 10 | CODE | |
| LOW | tests/medchem/test_scripts.py | 19 | CODE | |
| LOW | tests/fluidsim/test_static.py | 3 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 2 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 4 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 6 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 170 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 171 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 185 | CODE | |
| LOW | tests/fluidsim/test_regressions.py | 186 | CODE | |
| LOW | tests/fluidsim/test_scripts.py | 3 | CODE | |
| LOW | tests/pymatgen/test_static.py | 3 | CODE | |
| LOW | tests/pymatgen/test_current_workflows.py | 3 | CODE | |
| LOW | tests/pymatgen/test_scripts.py | 3 | CODE | |
| LOW | tests/pathway-enrichment/test_scripts.py | 2 | CODE | |
| LOW | tests/citation-management/test_scripts.py | 12 | CODE | |
| LOW | tests/pydicom/test_static.py | 3 | CODE | |
| LOW | tests/pydicom/test_current_api.py | 2 | CODE | |
| LOW | tests/pydicom/test_scripts.py | 3 | CODE | |
| LOW | tests/markitdown/test_current_api.py | 3 | CODE | |
| LOW | tests/markitdown/test_scripts.py | 17 | CODE | |
| LOW | tests/openpiv/test_scripts.py | 19 | CODE | |
| LOW | tests/pytdc/test_runtime.py | 2 | CODE | |
| LOW | tests/pytdc/test_scripts.py | 4 | CODE | |
| 533 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scan_pr_skills.py | 79 | except Exception as exc: # pragma: no cover - defensive | STRING |
| LOW | scan_pr_skills.py | 100 | except Exception as exc: # pragma: no cover - defensive | STRING |
| LOW | scan_skills.py | 443 | except Exception: # counted per skill below when it is scanned | CODE |
| LOW | scan_skills.py | 461 | except Exception as e: | CODE |
| LOW | scan_skills.py | 527 | except Exception as e: | CODE |
| LOW | scripts/generate_skill_image.py | 773 | except Exception as exc: # a worker must not take the batch down with it | CODE |
| MEDIUM | scripts/generate_skill_image.py | 1076 | print(f"Error: {exc}", file=sys.stderr) | CODE |
| LOW | skills/lab-hardware-cad/scripts/gen.py | 64 | except Exception as exc: # noqa: BLE001 - the kernel raises assorted OCCT errors | CODE |
| LOW | skills/lab-hardware-cad/scripts/gen.py | 123 | except Exception as exc: # noqa: BLE001 - model code raises arbitrary errors | CODE |
| LOW | skills/lab-hardware-cad/scripts/_common.py | 412 | except Exception: # noqa: BLE001 - kernel raises assorted OCCT errors | CODE |
| LOW | skills/lab-hardware-cad/scripts/_common.py | 415 | except Exception as exc: # noqa: BLE001 | CODE |
| LOW | skills/lab-hardware-cad/scripts/snapshot.py | 125 | except Exception: # noqa: BLE001 - skip an edge the kernel cannot sample | CODE |
| MEDIUM | skills/networkx/references/io.md | 483 | print(f"Error reading GraphML: {e}") | CODE |
| LOW | skills/scikit-survival/scripts/_common.py | 280 | except Exception as exc: | CODE |
| LOW | skills/qiskit/references/setup.md | 95 | except Exception: | CODE |
| LOW | skills/qiskit/scripts/check_environment.py | 49 | except Exception as error: # Report broken optional environments clearly. | CODE |
| LOW | skills/qiskit/scripts/check_environment.py | 149 | except Exception as error: | CODE |
| LOW | skills/qiskit/scripts/inspect_runtime.py | 205 | except Exception as error: | CODE |
| LOW | skills/research-lookup/scripts/research_lookup.py | 985 | except Exception as exc: | CODE |
| LOW | skills/research-lookup/scripts/research_lookup.py | 1000 | except Exception as fallback_exc: | CODE |
| LOW | skills/research-lookup/scripts/research_lookup.py | 1216 | except Exception as exc: | STRING |
| MEDIUM | skills/research-lookup/scripts/research_lookup.py | 1217 | print(f"Error: {exc}", file=sys.stderr) | STRING |
| LOW | skills/imaging-data-commons/scripts/check_version.py | 55 | except Exception: | CODE |
| LOW | skills/dask/references/futures.md | 512 | except Exception as e: | CODE |
| LOW | skills/dask/references/futures.md | 546 | except Exception: | CODE |
| MEDIUM | …scientific-schematics/scripts/generate_schematic_ai.py | 34 | print("Error: requests library not found. Install with: uv pip install requests") | CODE |
| LOW | …scientific-schematics/scripts/generate_schematic_ai.py | 528 | except Exception as e: | CODE |
| MEDIUM⚡ | …scientific-schematics/scripts/generate_schematic_ai.py | 813 | print("Error: OPENROUTER_API_KEY not found") | STRING |
| MEDIUM⚡ | …scientific-schematics/scripts/generate_schematic_ai.py | 822 | print("Error: Iterations must be between 1 and 2") | STRING |
| LOW | …scientific-schematics/scripts/generate_schematic_ai.py | 850 | except Exception as e: | STRING |
| MEDIUM⚡ | …ls/scientific-schematics/scripts/generate_schematic.py | 162 | print("Error: OPENROUTER_API_KEY not found") | STRING |
| MEDIUM⚡ | …ls/scientific-schematics/scripts/generate_schematic.py | 176 | print(f"Error: AI generation script not found: {ai_script}") | STRING |
| LOW | …ls/scientific-schematics/scripts/generate_schematic.py | 194 | except Exception as e: | STRING |
| MEDIUM | …ls/scientific-schematics/scripts/generate_schematic.py | 195 | print(f"Error executing AI generation: {e}") | STRING |
| LOW | skills/geopandas/scripts/crs_reprojection_plan.py | 218 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | skills/geopandas/scripts/geometry_validity_report.py | 222 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | …s/geopandas/scripts/sensitive_coordinates_checklist.py | 225 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | skills/geopandas/scripts/vector_inventory.py | 135 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | skills/geopandas/scripts/export_plan.py | 300 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | skills/geopandas/scripts/spatial_join_audit.py | 370 | except Exception as exc: # noqa: BLE001 - errors are redacted at CLI boundary | CODE |
| LOW | skills/pyzotero/references/files-attachments.md | 103 | except Exception as e: | CODE |
| LOW | skills/deeptools/scripts/validate_files.py | 136 | except Exception as e: | CODE |
| LOW | skills/protocolsio-integration/scripts/_common.py | 223 | except Exception: | CODE |
| MEDIUM | skills/medchem/scripts/filter_molecules.py | 23 | print(f"Error: Missing required package: {e}") | CODE |
| MEDIUM | skills/medchem/scripts/filter_molecules.py | 50 | print(f"Error: Column '{smiles_column}' not found") | CODE |
| MEDIUM | skills/medchem/scripts/filter_molecules.py | 68 | print(f"Error: Unsupported file format: {suffix}") | CODE |
| MEDIUM | skills/medchem/scripts/filter_molecules.py | 255 | print("Error: Specify at least one filter (--rules, --query, --pains, --nibr, etc.)") | CODE |
| LOW | skills/pymatgen/scripts/mp_query.py | 278 | except Exception as exc: | CODE |
| LOW | skills/pathway-enrichment/scripts/run_enrichment.py | 167 | except Exception as exc: | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 165 | print(f'Error: CrossRef API returned status {response.status_code} for DOI: {doi}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 169 | print(f'Error extracting metadata from DOI {doi}: {e}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 237 | print(f'Error: PubMed API returned status {response.status_code} for PMID: {pmid}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 241 | print(f'Error extracting metadata from PMID {pmid} ({type(e).__name__}); request details omitted', file=sys. | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 337 | print(f'Error: arXiv API returned status {response.status_code} for ID: {arxiv_id}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 341 | print(f'Error extracting metadata from arXiv {arxiv_id}: {e}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 517 | print(f'Error: ID converter returned status {response.status_code} for {pmcid}', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 524 | print(f'Error: Could not resolve {pmcid} to a PMID or DOI', file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/citation-management/scripts/extract_metadata.py | 530 | print(f'Error resolving PMCID {pmcid} ({type(e).__name__}); request details omitted', file=sys.stderr) | CODE |
| MEDIUM | skills/citation-management/scripts/extract_metadata.py | 205 | print(f'Error: No article found for PMID: {pmid}', file=sys.stderr) | CODE |
| MEDIUM | skills/citation-management/scripts/extract_metadata.py | 289 | print(f'Error: No entry found for arXiv ID: {arxiv_id}', file=sys.stderr) | CODE |
| 283 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scan_pr_skills.py | 115 | CODE | |
| LOW | scan_skills.py | 127 | CODE | |
| LOW | scan_skills.py | 373 | CODE | |
| LOW | tests/run_all.py | 115 | CODE | |
| LOW | tests/benchling-integration/test_examples.py | 100 | CODE | |
| LOW | tests/lab-hardware-cad/test_scripts.py | 410 | CODE | |
| LOW | tests/networkx/test_examples.py | 81 | CODE | |
| LOW | tests/anndata/test_api_contracts.py | 92 | CODE | |
| LOW | tests/scientific-brainstorming/test_scripts.py | 132 | CODE | |
| LOW | tests/scientific-brainstorming/test_scripts.py | 320 | CODE | |
| LOW | tests/scientific-brainstorming/test_scripts.py | 333 | CODE | |
| LOW | tests/pkpd-modeling/test_scripts.py | 96 | CODE | |
| LOW | tests/marine-carbonate-chemistry/test_scripts.py | 259 | CODE | |
| LOW | tests/onekgpd/test_scripts.py | 733 | CODE | |
| LOW | tests/exploratory-data-analysis/test_scripts.py | 224 | CODE | |
| LOW | tests/experimental-design/test_scripts.py | 73 | CODE | |
| LOW | tests/bids/test_scripts.py | 77 | CODE | |
| LOW | tests/bids/test_scripts.py | 113 | CODE | |
| LOW | tests/geniml/test_scripts.py | 55 | CODE | |
| LOW | tests/geopandas/test_static.py | 78 | CODE | |
| LOW | tests/geopandas/test_static.py | 111 | CODE | |
| LOW | tests/deeptools/test_scripts.py | 242 | CODE | |
| LOW | tests/fluidsim/test_static.py | 16 | CODE | |
| LOW | tests/pymatgen/test_static.py | 60 | CODE | |
| LOW | tests/pymatgen/test_static.py | 95 | CODE | |
| LOW | tests/pydicom/test_static.py | 87 | CODE | |
| LOW | tests/pydicom/test_current_api.py | 54 | CODE | |
| LOW | tests/openpiv/test_scripts.py | 311 | CODE | |
| LOW | tests/openpiv/test_scripts.py | 330 | CODE | |
| LOW | tests/cobrapy/test_workflows.py | 29 | CODE | |
| LOW | tests/ncats-arax/test_scripts.py | 373 | CODE | |
| LOW | tests/ncats-arax/test_scripts.py | 1217 | CODE | |
| LOW | tests/ncats-arax/test_scripts.py | 1618 | CODE | |
| LOW | tests/timesfm-forecasting/test_scripts.py | 275 | CODE | |
| LOW | tests/opentrons-integration/test_scripts.py | 149 | CODE | |
| LOW | tests/_meta/test_console_output.py | 15 | CODE | |
| LOW | tests/_meta/test_console_output.py | 30 | CODE | |
| LOW | tests/_contract/cli.py | 102 | CODE | |
| LOW | tests/_contract/cli.py | 158 | CODE | |
| LOW | tests/_contract/cli.py | 118 | CODE | |
| LOW | tests/_contract/cli.py | 177 | CODE | |
| LOW | tests/_contract/structure.py | 292 | CODE | |
| LOW | tests/_contract/structure.py | 408 | CODE | |
| LOW | tests/gtars/test_static.py | 18 | CODE | |
| LOW | tests/pptx-posters/test_static.py | 127 | CODE | |
| LOW | tests/pptx-posters/test_static.py | 148 | CODE | |
| LOW | tests/pptx-posters/test_static.py | 162 | CODE | |
| LOW | tests/arbor/test_scripts.py | 429 | CODE | |
| LOW | tests/cellprofiler/test_scripts.py | 169 | CODE | |
| LOW | tests/scientific-writing/test_static.py | 45 | CODE | |
| LOW | tests/neurokit2/test_scripts.py | 213 | CODE | |
| LOW | tests/qutip/test_static.py | 106 | CODE | |
| LOW | tests/qutip/test_static.py | 130 | CODE | |
| LOW | tests/matlab/test_static.py | 131 | CODE | |
| LOW | tests/matlab/test_static.py | 159 | CODE | |
| LOW | tests/zarr-python/test_examples.py | 23 | CODE | |
| LOW | tests/clinical-reports/test_scripts.py | 561 | CODE | |
| LOW | tests/scientific-visualization/test_scripts.py | 374 | CODE | |
| LOW | tests/scientific-visualization/test_scripts.py | 478 | CODE | |
| LOW | tests/neuropixels-analysis/test_scripts.py | 251 | CODE | |
| 306 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/anndata/test_api_contracts.py | 221 | assert result.obs_names.equals(expected.obs_names) | CODE |
| HIGH⚡ | tests/anndata/test_api_contracts.py | 222 | assert result.var_names.equals(expected.var_names) | CODE |
| HIGH⚡ | tests/exploratory-data-analysis/test_scripts.py | 240 | '{"secret_field": [{"value": "secret-value"}, null]}', | CODE |
| HIGH | tests/geopandas/test_scripts.py | 201 | self.assertTrue(arrow_roundtrip.crs.equals(coverage.crs)) | CODE |
| HIGH⚡ | tests/pydeseq2/test_scripts.py | 160 | self.assertTrue(loaded.index.equals(annotations.index)) | CODE |
| HIGH⚡ | tests/pydeseq2/test_scripts.py | 169 | self.assertTrue(counts.index.equals(metadata.index)) | CODE |
| HIGH⚡ | tests/pydeseq2/test_scripts.py | 229 | self.assertTrue(counts.index.equals(metadata.index)) | CODE |
| HIGH⚡ | tests/pacsomatic/test_launcher_contract.py | 307 | assert mod.normalize_module_load("module purge; module load nextflow/26.04.6") == "module purge && module load nextf | CODE |
| HIGH⚡ | tests/pyopenms/test_scripts.py | 271 | peptide.toString() | CODE |
| HIGH | tests/statsmodels/test_examples.py | 111 | assert namespace["forecast"].predicted_mean.index.equals(namespace["test_series"].index) | CODE |
| HIGH | tests/cellxgene-census/test_workflows.py | 26 | "disease": ["COVID-19", "normal", "COVID-19 || diabetes mellitus", "normal"], | CODE |
| HIGH | skills/pymc/scripts/model_comparison.py | 169 | elif layout.dims != reference_layout.dims or layout.sizes != reference_layout.sizes or not layout.coords.equals( | CODE |
| HIGH | skills/pymc/scripts/model_comparison.py | 279 | elif layout.dims != reference.dims or layout.sizes != reference.sizes or not layout.coords.equals(reference.coor | CODE |
| HIGH | skills/pkpd-modeling/scripts/_common.py | 279 | """Missing numerical diagnostics become JSON null, never nonstandard NaN/Infinity.""" | STRING |
| HIGH | skills/research-lookup/scripts/research_lookup.py | 126 | "Find conflicting, contradictory, null, negative, replication, and limitation " | CODE |
| HIGH | skills/geopandas/scripts/export_plan.py | 134 | "Legacy multi-file output has field-name, null, type, encoding, geometry, and size limitations.", | CODE |
| HIGH | skills/geopandas/scripts/export_plan.py | 276 | "null, empty, invalid, geometry type, and dimensionality counts", | CODE |
| HIGH | …al-method-validation/scripts/check_detection_limits.py | 226 | findings.append("QL confirmation: RSD is undefined; precision was not demonstrated") | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 402 | ...Array(nActual).fill(null), | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 410 | dataUsed.push(step.historical_values[i]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 412 | dataUsed.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 412 | dataUsed.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 426 | if (forecastIdx >= 0 && forecastIdx < nForecast) {{ | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 427 | q90Lower.push(step.q10[forecastIdx]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 428 | q90Upper.push(step.q90[forecastIdx]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 429 | q80Lower.push(step.q20[forecastIdx]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 430 | q80Upper.push(step.q80[forecastIdx]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 432 | q90Lower.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 432 | q90Lower.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 433 | q90Upper.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 433 | q90Upper.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 434 | q80Lower.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 434 | q80Lower.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 435 | q80Upper.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 435 | q80Upper.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 447 | if (forecastIdx >= 0 && forecastIdx < nForecast) {{ | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 448 | forecastData.push(step.point_forecast[forecastIdx]); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 450 | forecastData.push(null); | CODE |
| HIGH⚡ | …recasting/examples/global-temperature/generate_html.py | 450 | forecastData.push(null); | CODE |
| HIGH | …recasting/examples/global-temperature/generate_html.py | 228 | let chart = null; | CODE |
| HIGH | …recasting/examples/global-temperature/generate_html.py | 230 | let playInterval = null; | CODE |
| HIGH | …recasting/examples/global-temperature/generate_html.py | 274 | data: [...Array(animationData.actual_data.dates.length).fill(null), ...finalStep.point_forec | CODE |
| HIGH | skills/timesfm-forecasting/scripts/forecast_csv.py | 79 | if not idx.equals(expected): | CODE |
| HIGH | skills/pydeseq2/scripts/run_deseq2_analysis.py | 94 | if not counts_df.index.equals(metadata.index): | CODE |
| HIGH | skills/pydeseq2/scripts/run_deseq2_analysis.py | 140 | if not matrix.index.equals(counts_df.index) or not np.isfinite(matrix.to_numpy()).all(): | CODE |
| HIGH | skills/relsa-severity-assessment/scripts/_common.py | 218 | undefined, which is what ``score_to_percent`` exists to avoid. | STRING |
| HIGH | skills/pacsomatic/scripts/run_pacsomatic.py | 465 | documented shape, e.g. "module purge && module load nextflow/26.04.6". | STRING |
| HIGH | skills/pyopenms/scripts/theoretical_spectrum.py | 53 | print(f"Peptide: {seq.toString()} ({len(spec)} fragment peaks)") | CODE |
| HIGH | skills/pyopenms/scripts/mass_calculator.py | 71 | print(f"Peptide: {seq.toString()}") | CODE |
| HIGH | skills/pyopenms/scripts/mass_calculator.py | 72 | print(f"Formula: {formula.toString()}") | CODE |
| HIGH | skills/pyopenms/scripts/mass_calculator.py | 83 | print(f"\nFormula: {formula.toString()}") | CODE |
| HIGH | skills/pyopenms/scripts/digest_protein.py | 76 | pep_str = pep.toString() | CODE |
| HIGH | skills/uncertainty-and-units/scripts/_common.py | 526 | # At zero the derivative is undefined; do not invent a zero uncertainty. | COMMENT |
| HIGH | skills/flowio/scripts/inspect_fcs.py | 111 | "PnN label to classify as null; repeat for multiple labels. " | CODE |
| HIGH | skills/bulk-rnaseq/scripts/build_counts_matrix.py | 147 | if reference_ids is not None and not names.equals(reference_ids): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/iso-standards-readiness/SKILL.md | 121 | ### Step 1: Declare the standard, purpose, and authorized owners | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 146 | ### Step 2: Freeze source/version evidence | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 157 | ### Step 3: Inventory controlled documents and records | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 171 | ### Step 4: Review process implementation | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 180 | ### Step 5: Run the focused checks that apply to the lane | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 221 | ### Step 6: Address lane-specific regulator evidence separately | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 241 | ### Step 7: Assemble a bounded readiness manifest | COMMENT |
| LOW | skills/iso-standards-readiness/SKILL.md | 276 | ### Step 8: Human review and controlled handoff | COMMENT |
| LOW⚡ | skills/imaging-data-commons/SKILL.md | 348 | # Step 1: Query for series UIDs | STRING |
| LOW⚡ | skills/imaging-data-commons/SKILL.md | 358 | # Step 2: Extract UIDs as a list from the DataFrame | STRING |
| LOW⚡ | skills/imaging-data-commons/SKILL.md | 361 | # Step 3: Pass the list to download_from_selection (NOT the DataFrame itself) | STRING |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 71 | ### Step 1: Fetch Clinical Index | COMMENT |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 83 | ### Step 2: Discover Available Clinical Data | COMMENT |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 95 | ### Step 3: Search for Specific Attributes | COMMENT |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 105 | ### Step 4: Load Clinical Table | COMMENT |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 116 | ### Step 5: Map Coded Values to Descriptions | COMMENT |
| LOW | …imaging-data-commons/references/clinical_data_guide.md | 143 | ### Step 6: Join with Imaging Data | COMMENT |
| LOW⚡ | skills/onekgpd/SKILL.md | 371 | # Step 1: resolve gene -> verified GRCh38 region (authoritative source). | COMMENT |
| LOW⚡ | skills/onekgpd/SKILL.md | 372 | # Step 2: count individuals carrying a qualifying variant in the region. | COMMENT |
| LOW⚡ | skills/onekgpd/SKILL.md | 377 | # Step 3: list those individuals. | COMMENT |
| LOW⚡ | skills/onekgpd/SKILL.md | 382 | # Step 4: count variants for those individuals before selecting. | COMMENT |
| LOW⚡ | skills/dask/references/schedulers.md | 410 | # Step 1: Debug with synchronous scheduler | COMMENT |
| LOW⚡ | skills/dask/references/schedulers.md | 414 | # Step 2: Test with threads | COMMENT |
| LOW⚡ | skills/dask/references/schedulers.md | 418 | # Step 3: Scale with distributed | COMMENT |
| LOW | skills/bids/references/conversion_tools.md | 72 | #### Step 1: Reconnaissance — Discover DICOM series | COMMENT |
| LOW | skills/bids/references/conversion_tools.md | 92 | #### Step 2: Write a heuristic file | COMMENT |
| LOW | skills/bids/references/conversion_tools.md | 196 | #### Step 3: Convert | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 272 | #### Step 1: Scaffold a BIDS directory | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 280 | #### Step 2: Run helper to inspect DICOM metadata | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 288 | #### Step 3: Write configuration file | COMMENT |
| LOW | skills/bids/references/conversion_tools.md | 365 | #### Step 4: Convert | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 409 | # Step 1: Create a bidsmap template by scanning DICOMs | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 412 | # Step 2: Edit the bidsmap (launches GUI) | COMMENT |
| LOW⚡ | skills/bids/references/conversion_tools.md | 415 | # Step 3: Convert using the finalized bidsmap | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 273 | # Step 1: Reconnaissance — discover DICOM series | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 279 | # Step 2: Write a heuristic file (see references/conversion_tools.md) | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 281 | # Step 3: Convert | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 300 | # Step 1: Generate helper output to inspect series | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 303 | # Step 2: Create config file (dcm2bids_config.json) | COMMENT |
| LOW⚡ | skills/bids/references/core_workflows.md | 304 | # Step 3: Convert | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 9 | ### Step 1: Initial Correlation Assessment | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 42 | ### Step 2: Coverage and Depth Assessment | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 58 | ### Step 3: Fragment Size Validation (Paired-end) | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 72 | ### Step 4: GC Bias Detection and Correction | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 97 | ### Step 5: ChIP Signal Strength Assessment | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 121 | ### Step 1: Generate Normalized Coverage Tracks | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 149 | ### Step 2: Create Log2 Ratio Track | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 169 | ### Step 3: Compute Matrix Around TSS | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 189 | ### Step 4: Generate Heatmap | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 207 | ### Step 5: Generate Profile Plot | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 224 | ### Step 6: Enrichment at Peaks | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 276 | ### Step 1: Generate Coverage Files | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 295 | ### Step 2: Compute Multi-Sample Matrix | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 313 | ### Step 3: Multi-Sample Heatmap | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 329 | ### Step 4: Multi-Sample Profile | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 350 | ### Step 1: Shift Reads for Tn5 Correction | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 373 | ### Step 2: Generate Coverage Track | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 386 | ### Step 3: Fragment Size Analysis | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 403 | ### Step 1: Matrix at Peaks | COMMENT |
| LOW | skills/deeptools/references/workflows.md | 419 | ### Step 2: Heatmap at Peaks | COMMENT |
| 103 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | scan_skills.py | 443 | except Exception: # counted per skill below when it is scanned | CODE |
| HIGH | tests/etetoolkit/test_scripts.py | 898 | except ImportError: | CODE |
| HIGH | tests/latchbio-integration/test_scripts.py | 240 | except ImportError: | CODE |
| HIGH | scripts/generate_skill_image.py | 621 | except (json.JSONDecodeError, AttributeError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 384 | except (AttributeError, OSError, RuntimeError, ValueError, | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 396 | except (AttributeError, OSError, ValueError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 433 | except (AttributeError, OSError, RuntimeError, ValueError, | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 472 | except (OSError, TypeError, ValueError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 480 | except (AttributeError, OSError, RuntimeError, ValueError, | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 507 | except (OSError, ValueError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 942 | except (AttributeError, OSError, RuntimeError, ValueError, | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 950 | except (AttributeError, OSError, RuntimeError, ValueError, | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 980 | except (AttributeError, OSError, TypeError, ValueError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 1124 | except (AttributeError, OSError, TypeError, ValueError): | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 1656 | except OSError: | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 251 | except OSError: | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 276 | except OSError: | CODE |
| HIGH | …ls/get-available-resources/scripts/detect_resources.py | 246 | except OSError: | CODE |
| HIGH | skills/protocolsio-integration/scripts/_common.py | 226 | except OSError: | CODE |
| HIGH | …s/citation-management/scripts/search_google_scholar.py | 109 | except ValueError: | CODE |
| HIGH | skills/pydicom/scripts/anonymize_dicom.py | 74 | except (UnicodeError, ValueError): | CODE |
| HIGH | skills/pydicom/scripts/transfer_syntax_inspector.py | 113 | except (NotImplementedError, ValueError): | CODE |
| HIGH | skills/pydicom/scripts/transfer_syntax_inspector.py | 123 | except (NotImplementedError, ValueError): | CODE |
| HIGH | skills/pydicom/scripts/uid_mapping_validator.py | 50 | except (UnicodeError, ValueError): | CODE |
| HIGH | skills/pytdc/scripts/_common.py | 151 | except (TypeError, ValueError): | CODE |
| HIGH | skills/pytdc/scripts/_common.py | 156 | except (TypeError, ValueError): | CODE |
| HIGH | skills/ncats-arax/scripts/arax_client.py | 1591 | except OSError: | CODE |
| HIGH | skills/ncats-arax/scripts/arax_client.py | 1615 | except OSError: | CODE |
| HIGH | skills/ncats-arax/scripts/arax_client.py | 1610 | except OSError: | CODE |
| HIGH | skills/timesfm-forecasting/scripts/check_system.py | 174 | except Exception: | CODE |
| HIGH | skills/timesfm-forecasting/scripts/check_system.py | 227 | except Exception: | CODE |
| HIGH | skills/pptx-posters/scripts/_common.py | 140 | except FileNotFoundError: | CODE |
| HIGH | skills/pptx-posters/scripts/generate_poster.py | 353 | except FileNotFoundError: | CODE |
| HIGH | skills/treatment-plans/scripts/_common.py | 1109 | except OSError: | CODE |
| HIGH | skills/cellprofiler/scripts/nuclei_assay.py | 56 | except ValueError: | CODE |
| HIGH | skills/diffdock/scripts/analyze_results.py | 131 | except Exception: | CODE |
| HIGH | skills/diffdock/scripts/analyze_results.py | 117 | except Exception: | CODE |
| HIGH | skills/bioservices/scripts/protein_analysis_workflow.py | 62 | except: | CODE |
| HIGH | skills/literature-review/scripts/search_databases.py | 220 | except (ValueError, TypeError): | CODE |
| HIGH | skills/matlab/scripts/generate_function_scaffold.py | 112 | except OSError: | CODE |
| HIGH | skills/waypoint-bio/scripts/vocab_coverage.py | 90 | except ImportError: | CODE |
| HIGH | skills/simpy/scripts/resource_monitor.py | 111 | except (AttributeError, TypeError): | CODE |
| HIGH | skills/pyopenms/scripts/accurate_mass_search.py | 84 | except Exception: | CODE |
| HIGH | skills/pysam/scripts/inspect_hts.py | 476 | except OSError: | CODE |
| HIGH | skills/pysam/scripts/alignment_qc.py | 316 | except OSError: | CODE |
| HIGH | skills/pysam/scripts/variant_summary.py | 356 | except OSError: | CODE |
| HIGH | …s/scientific-slides/scripts/generate_slide_image_ai.py | 710 | except Exception: | CODE |
| HIGH | …ills/scientific-visualization/scripts/figure_export.py | 149 | except FileNotFoundError: | CODE |
| HIGH | skills/scientific-visualization/scripts/_common.py | 99 | except FileNotFoundError: | CODE |
| HIGH | skills/generate-image/scripts/generate_image.py | 251 | except (json.JSONDecodeError, AttributeError): | CODE |
| HIGH | skills/generate-image/scripts/generate_image.py | 240 | except ValueError: | CODE |
| HIGH | skills/flowio/scripts/inspect_fcs.py | 439 | except OSError: | CODE |
| HIGH | skills/etetoolkit/scripts/quick_visualize.py | 221 | except (EOFError, KeyboardInterrupt): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | …scientific-schematics/scripts/generate_schematic_ai.py | 815 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …scientific-schematics/scripts/generate_schematic_ai.py | 816 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | …ls/scientific-schematics/scripts/generate_schematic.py | 166 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …ls/scientific-schematics/scripts/generate_schematic.py | 167 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH | skills/pyzotero/SKILL.md | 43 | ZOTERO_API_KEY=your_api_key | CODE |
| HIGH | skills/database-lookup/references/bea.md | 13 | - Pass as query parameter: `&UserID=YOUR_API_KEY` | CODE |
| HIGH | skills/database-lookup/references/lincs-l1000.md | 13 | - Pass via header: `user_key: YOUR_API_KEY` | CODE |
| HIGH | skills/database-lookup/references/omim.md | 10 | - Pass as query parameter: `?apiKey=YOUR_API_KEY` | CODE |
| HIGH | skills/citation-management/references/pubmed_search.md | 388 | api_key=YOUR_API_KEY | CODE |
| HIGH | skills/citation-management/references/pubmed_search.md | 421 | api_key=YOUR_API_KEY | CODE |
| HIGH | skills/citation-management/references/pubmed_search.md | 445 | api_key=YOUR_API_KEY | CODE |
| HIGH⚡ | skills/infographics/scripts/generate_infographic_ai.py | 1327 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/infographics/scripts/generate_infographic_ai.py | 1328 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | skills/infographics/scripts/generate_infographic.py | 250 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/infographics/scripts/generate_infographic.py | 251 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH | skills/paper-lookup/references/core.md | 15 | - **Header:** `Authorization: Bearer YOUR_API_KEY` | CODE |
| HIGH | skills/paper-lookup/references/core.md | 16 | - **Query param:** `?api_key=YOUR_API_KEY` | CODE |
| HIGH⚡ | …lls/literature-review/scripts/generate_schematic_ai.py | 815 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …lls/literature-review/scripts/generate_schematic_ai.py | 816 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | skills/literature-review/scripts/generate_schematic.py | 166 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/literature-review/scripts/generate_schematic.py | 167 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | skills/latex-posters/scripts/generate_schematic_ai.py | 815 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/latex-posters/scripts/generate_schematic_ai.py | 816 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | skills/latex-posters/scripts/generate_schematic.py | 166 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/latex-posters/scripts/generate_schematic.py | 167 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | …lls/scientific-slides/scripts/generate_schematic_ai.py | 815 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …lls/scientific-slides/scripts/generate_schematic_ai.py | 816 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | …s/scientific-slides/scripts/generate_slide_image_ai.py | 784 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …s/scientific-slides/scripts/generate_slide_image_ai.py | 785 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | skills/scientific-slides/scripts/generate_schematic.py | 166 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | skills/scientific-slides/scripts/generate_schematic.py | 167 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| HIGH⚡ | …ills/scientific-slides/scripts/generate_slide_image.py | 159 | print(" export OPENROUTER_API_KEY='your_api_key'") | STRING |
| HIGH⚡ | …ills/scientific-slides/scripts/generate_slide_image.py | 160 | print("\nOr add OPENROUTER_API_KEY=your_api_key to a .env file") | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 130 | # Step 2: Coverage assessment | COMMENT |
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 138 | # Step 3: This QC template requires paired-end input for fragment-size analysis. | COMMENT |
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 145 | # Step 4: ChIP signal strength | COMMENT |
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 379 | # Step 2: Coverage of shifted alignments, not single-base Tn5 insertions. | COMMENT |
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 388 | # Step 3: Fragment size analysis | COMMENT |
| LOW⚡ | skills/deeptools/scripts/workflow_generator.py | 395 | # Step 4: Compute matrix at peaks (if peaks provided) | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 108 | # Step 1: Correlation analysis | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 190 | # Step 1: Generate normalized coverage tracks | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 213 | # Step 2: Create log2 ratio track | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 226 | # Step 3: Compute matrix around TSS | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 240 | # Step 4: Generate heatmap | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 253 | # Step 5: Generate profile plot | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 265 | # Step 6: Enrichment at peaks (if peaks provided) | COMMENT |
| LOW | skills/deeptools/scripts/workflow_generator.py | 365 | # Step 1: Shift reads for Tn5 correction | COMMENT |
| LOW⚡ | skills/bioservices/scripts/compound_cross_reference.py | 383 | # Step 1: Search KEGG | STRING |
| LOW⚡ | skills/bioservices/scripts/compound_cross_reference.py | 389 | # Step 2: Get KEGG details | STRING |
| LOW⚡ | skills/bioservices/scripts/compound_cross_reference.py | 392 | # Step 3: Map to ChEMBL | STRING |
| LOW⚡ | skills/bioservices/scripts/compound_cross_reference.py | 395 | # Step 4: Get ChEBI details | STRING |
| LOW⚡ | skills/bioservices/scripts/compound_cross_reference.py | 400 | # Step 5: Get ChEMBL details | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 328 | # Step 1: Search protein | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 334 | # Step 2: Retrieve sequence | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 339 | # Step 3: BLAST search | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 345 | # Step 4: Pathway discovery | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 350 | # Step 5: Interaction mapping | STRING |
| LOW⚡ | skills/bioservices/scripts/protein_analysis_workflow.py | 355 | # Step 6: GO annotations | STRING |
| LOW | skills/gget/scripts/batch_sequence_analysis.py | 68 | # Step 1: BLAST each sequence | COMMENT |
| LOW⚡ | skills/gget/scripts/batch_sequence_analysis.py | 101 | # Step 2: Multiple sequence alignment | COMMENT |
| LOW⚡ | skills/gget/scripts/batch_sequence_analysis.py | 117 | # Step 3: Structure prediction (optional) | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 41 | # Step 1: Search for the gene | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 61 | # Step 2: Get detailed information | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 75 | # Step 3: Get sequences | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 111 | # Step 5: Find correlated genes | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 127 | # Step 6: Get disease associations | COMMENT |
| LOW⚡ | skills/gget/scripts/gene_analysis.py | 142 | # Step 7: Get drug associations | COMMENT |
| LOW | skills/gget/scripts/gene_analysis.py | 94 | # Step 4: Get tissue expression | COMMENT |
| LOW⚡ | …s/neuropixels-analysis/scripts/neuropixels_pipeline.py | 67 | # Step 1: High-pass filter | COMMENT |
| LOW⚡ | …s/neuropixels-analysis/scripts/neuropixels_pipeline.py | 72 | # Step 2: Detect bad channels | COMMENT |
| LOW⚡ | …s/neuropixels-analysis/scripts/neuropixels_pipeline.py | 80 | # Step 3: Phase shift from acquisition timing metadata | COMMENT |
| LOW⚡ | …s/neuropixels-analysis/scripts/neuropixels_pipeline.py | 85 | # Step 4: Common median reference | COMMENT |
| LOW⚡ | skills/pymoo/scripts/decision_making_example.py | 161 | # Step 1: Run optimization | COMMENT |
| LOW⚡ | skills/pymoo/scripts/decision_making_example.py | 164 | # Step 2: Find extreme solutions | COMMENT |
| LOW⚡ | skills/pymoo/scripts/decision_making_example.py | 167 | # Step 3: Compare different preference weights | COMMENT |
| LOW⚡ | skills/pymoo/scripts/decision_making_example.py | 170 | # Step 4: Visualize selections with petal diagram | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 729 | - **[Agentic Data Scientist: An Open Source AI That Actually Does the Analysis](https://www.k-dense.ai/blog/agentic-data | CODE |
| MEDIUM | README.md | 730 | - **[Karpathy: An Open Source Agentic Machine Learning Engineer](https://www.k-dense.ai/blog/karpathy-agentic-ml-enginee | CODE |
| MEDIUM | skills/exploratory-data-analysis/SKILL.md | 237 | ### 5. Create the report scaffold | COMMENT |
| MEDIUM | skills/markitdown/references/workflows.md | 129 | ## 5. RAG Ingestion | COMMENT |
| MEDIUM | skills/nextflow/references/developing.md | 27 | │ └── mypipeline.nf # the primary workflow (orchestrates subworkflows) | CODE |
| MEDIUM | skills/nextflow/references/testing.md | 35 | nf-test init # creates nf-test.config + tests/ scaffolding in a project | CODE |
| MEDIUM | skills/nextflow/references/nf-core-tools.md | 123 | nf-core pipelines create # scaffold | CODE |
| MEDIUM | skills/datamol/references/fragments_scaffolds.md | 4 | [scaffold API](https://docs.datamol.io/stable/api/datamol.scaffold.html), and released source. | CODE |
| MEDIUM | skills/datamol/references/core_workflows.md | 115 | ## 6. Scaffolds and a toy scaffold-disjoint split | COMMENT |
| MEDIUM | skills/datamol/references/workflow_patterns.md | 79 | ## SAR by scaffold series | COMMENT |
| MEDIUM | skills/datamol/references/review.md | 26 | - [Scaffolds](https://docs.datamol.io/stable/api/datamol.scaffold.html), | CODE |
| MEDIUM | skills/scholar-evaluation/references/local_tooling.md | 206 | ## 7. Report scaffold | COMMENT |
| MEDIUM | skills/market-research-reports/SKILL.md | 141 | #### Measurement guardrails | COMMENT |
| MEDIUM | skills/venue-templates/SKILL.md | 147 | ### Poster scaffold | COMMENT |
| MEDIUM | skills/venue-templates/SKILL.md | 216 | ### Copy and customize a scaffold | COMMENT |
| MEDIUM | …ills/venue-templates/references/grants_requirements.md | 102 | ### Bundled NSF scaffold | COMMENT |
| MEDIUM | skills/scientific-visualization/SKILL.md | 17 | ## Non-negotiable guardrails | COMMENT |
| MEDIUM | …lls/hypothesis-generation/references/tool_reference.md | 211 | ## 7. Preregistration scaffold generator | COMMENT |
| MEDIUM | …generation/assets/preregistration_scaffold_template.md | 1 | # Preregistration scaffold: {{PROJECT_ID}} | COMMENT |
| MEDIUM | skills/rdkit/references/core_capabilities.md | 182 | # Extract Murcko scaffold (not a ring-system count) | COMMENT |
| MEDIUM | skills/rdkit/references/core_capabilities.md | 598 | # Generate Murcko scaffold hash | COMMENT |
| MEDIUM | skills/pylabrobot/references/material-handling.md | 187 | ## Multi-device orchestration | COMMENT |
| MEDIUM | skills/optimize-for-gpu/references/cuvs.md | 447 | ### End-to-End RAG Pipeline Example | COMMENT |
| MEDIUM | skills/peer-review/references/tool_reference.md | 190 | ## Review scaffold generator | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/benchling-integration/test_examples.py | 25 | "BENCHLING_API_KEY": "dummy-key", | CODE |
| LOW | tests/benchling-integration/test_examples.py | 44 | return httpx.Response(200, json={"access_token": "dummy-token", "expires_in": 900, | CODE |
| LOW | tests/benchling-integration/test_examples.py | 83 | client = Benchling(url="https://example.benchling.com", auth_method=ApiKeyAuth("dummy-key")) | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 611 | fake_key = "dummy-test-key" | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 612 | fake_email = "test@example.invalid" | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 613 | with patch.dict("os.environ", {"NCBI_API_KEY": fake_key, "NCBI_EMAIL": fake_email}): | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 626 | f"efetch.fcgi?api_key={fake_key}&email={fake_email}") | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 630 | self.assertNotIn(fake_key, diagnostic.getvalue()) | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 631 | self.assertNotIn(fake_email, diagnostic.getvalue()) | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 729 | "authorships": [{"author": {"display_name": "Jane Doe"}}], | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 735 | self.assertEqual(record["authors"], "Jane Doe") | CODE |
| LOW⚡ | tests/citation-management/test_scripts.py | 745 | "type": "preprint", "authors": "Jane Doe", "title": "A Preprint", | CODE |
| LOW⚡ | tests/pptx-posters/test_scripts.py | 162 | with self.assertRaisesRegex(CliError, "placeholder"): | STRING |
| LOW⚡ | tests/labarchive-integration/test_scripts.py | 177 | setup_config.ENV_ACCESS_KEY_ID: "fake-key", | CODE |
| LOW⚡ | tests/labarchive-integration/test_scripts.py | 179 | setup_config.ENV_USER_ID: "fake-user", | CODE |
| LOW | skills/pptx-posters/references/poster_content_guide.md | 158 | The validator rejects common placeholder forms such as TODO, TBD, Lorem ipsum, | CODE |
| LOW | skills/scientific-writing/scripts/lint_manuscript.py | 24 | re.compile(r"\blorem ipsum\b", re.IGNORECASE), | CODE |
| LOW | skills/latex-posters/assets/poster_quality_checklist.md | 15 | - [ ] No placeholder text remaining (TODO, Lorem ipsum, etc.) | CODE |
| LOW | skills/dnanexus-integration/scripts/validate_dxapp.py | 58 | "placeholder", | CODE |
| LOW | skills/liteparse/references/api_reference.md | 33 | | `image_mode` | `"placeholder"` | Markdown image presentation: `placeholder`, `off`, `embed` | | CODE |
| LOW | skills/liteparse/references/output_formats.md | 10 | Markdown's default `image_mode="placeholder"` emits image references, not image | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/networkx/test_examples.py | 68 | "# Dijkstra:", "# Floyd-Warshall", "# A* algorithm", "# Check if connected", | CODE |
| LOW⚡ | tests/networkx/test_examples.py | 74 | "# Check if graph is tree", "# Maximum flow value", "# Minimum cost flow", | CODE |
| LOW⚡ | tests/networkx/test_examples.py | 75 | "# All maximal cliques", "# Greedy coloring", "# Check if graphs are isomorphic", | CODE |
| LOW | …scientific-schematics/scripts/generate_schematic_ai.py | 693 | # Check if quality is acceptable - STOP EARLY if so | COMMENT |
| LOW | skills/deeptools/scripts/validate_files.py | 238 | # Check if any files were provided | STRING |
| LOW | skills/deeptools/scripts/validate_files.py | 250 | # Print results | STRING |
| LOW | skills/deeptools/scripts/workflow_generator.py | 488 | # Check if workflow was specified | STRING |
| LOW | skills/citation-management/scripts/extract_metadata.py | 56 | # Check if URL | COMMENT |
| LOW | skills/infographics/scripts/generate_infographic_ai.py | 1168 | # Check if quality is acceptable | STRING |
| LOW | skills/bioservices/scripts/protein_analysis_workflow.py | 77 | # Display results | COMMENT |
| LOW | …lls/literature-review/scripts/generate_schematic_ai.py | 693 | # Check if quality is acceptable - STOP EARLY if so | COMMENT |
| LOW | skills/deepchem/scripts/predict_solubility.py | 143 | # Display results | COMMENT |
| LOW | skills/latex-posters/scripts/generate_schematic_ai.py | 693 | # Check if quality is acceptable - STOP EARLY if so | COMMENT |
| LOW | …lls/scientific-slides/scripts/validate_presentation.py | 397 | # Print results | STRING |
| LOW | …lls/scientific-slides/scripts/generate_schematic_ai.py | 693 | # Check if quality is acceptable - STOP EARLY if so | COMMENT |
| LOW | skills/rdkit/scripts/similarity_search.py | 286 | # Output results | STRING |
| LOW | skills/rdkit/scripts/molecular_properties.py | 117 | # Output results | COMMENT |
| LOW | skills/stable-baselines3/scripts/custom_env_template.py | 145 | # Check if goal is reached | COMMENT |
| LOW | skills/pymoo/scripts/many_objective_example.py | 47 | # Print results summary | COMMENT |
| LOW | skills/pymoo/scripts/single_objective_example.py | 45 | # Print results | COMMENT |
| LOW | skills/pymoo/scripts/multi_objective_example.py | 36 | # Print results summary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | skills/exploratory-data-analysis/scripts/_tabular.py | 583 | """Compare robust/classical summaries without deleting or transforming data.""" | STRING |
| MEDIUM | …scientific-schematics/scripts/generate_schematic_ai.py | 173 | # Scientific diagram best practices prompt template | COMMENT |
| MEDIUM | …lls/literature-review/scripts/generate_schematic_ai.py | 173 | # Scientific diagram best practices prompt template | COMMENT |
| MEDIUM | skills/latex-posters/scripts/generate_schematic_ai.py | 173 | # Scientific diagram best practices prompt template | COMMENT |
| MEDIUM | skills/pyopenms/scripts/accurate_mass_search.py | 86 | # Re-read the mzTab text for a robust flat dump of the SML table | COMMENT |
| MEDIUM | skills/matplotlib/scripts/plot_template.py | 320 | """Create a comprehensive figure with multiple subplots.""" | STRING |
| MEDIUM | …lls/scientific-slides/scripts/generate_schematic_ai.py | 173 | # Scientific diagram best practices prompt template | COMMENT |
| MEDIUM | skills/rdkit/scripts/molecular_properties.py | 28 | """Calculate comprehensive molecular properties.""" | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tests/biopython/test_examples.py | 89 | ns = run_block("references/advanced.md", '# Create a feature') | CODE |
| MEDIUM | skills/hypogenic/assets/task_config.example.yaml | 3 | # This file contains no provider choice, credential, budget, or execution approval. | COMMENT |
| MEDIUM | skills/pymoo/scripts/many_objective_example.py | 19 | # Define the problem - DTLZ2 with 5 objectives | COMMENT |
| MEDIUM | skills/pymoo/scripts/single_objective_example.py | 21 | # Define the problem - Sphere function (sum of squared distances from 0.5) | COMMENT |
| MEDIUM | skills/pymoo/scripts/multi_objective_example.py | 18 | # Define the problem - ZDT1 (bi-objective) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 21 | # Required: in prepend/append mode pytest puts tests/ on sys.path, which turns | COMMENT |
| LOW | tests/skill-requirements.toml | 1 | # Per-skill test environments. | COMMENT |
| LOW | skills/bids/references/conversion_tools.md | 221 | # --files : point to specific DICOM files/directories | COMMENT |
| LOW | skills/bids/references/beps.yml | 1 | --- | COMMENT |
| LOW | skills/autoskill/config.yaml | 1 | # autoskill configuration | COMMENT |
| LOW | skills/autoskill/config.yaml | 21 | model: claude-opus-4-7 | COMMENT |
| LOW | skills/autoskill/references/screenpipe-config.yaml | 1 | # Review checklist for Screenpipe capture exclusions, NOT an importable config. | COMMENT |
| LOW | skills/scikit-bio/references/api_reference.md | 761 | #### With QIIME 2 | COMMENT |
| LOW | skills/literature-review/references/example_workflow.md | 41 | # 5. Screen results and extract data | COMMENT |
| LOW | skills/fictiv/scripts/quote_state.js | 1 | // Fictiv quote-page state extractor. | COMMENT |
| LOW | skills/fictiv/scripts/list_dropdown_options.js | 1 | // List every option in the currently OPEN Fictiv dropdown (material, process, | COMMENT |
| LOW | skills/stable-baselines3/scripts/custom_env_template.py | 61 | dtype=np.float32, | COMMENT |
| LOW | skills/stable-baselines3/scripts/custom_env_template.py | 321 | # Test with random actions | COMMENT |
| LOW | skills/optimize-for-gpu/references/installation.md | 41 | # Load it with: python -m cudf.pandas your_script.py | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/pysam/test_native.py | 31 | CODE | |
| LOW | skills/pkpd-modeling/scripts/ddi_static.py | 79 | CODE | |
| LOW | skills/research-lookup/scripts/research_lookup.py | 143 | CODE | |
| LOW | skills/openpiv/scripts/runner.py | 22 | CODE | |
| LOW | skills/infographics/scripts/generate_infographic_ai.py | 981 | CODE | |
| LOW | skills/scvelo/scripts/rna_velocity_workflow.py | 66 | CODE | |
| LOW | …ills/scientific-visualization/scripts/figure_export.py | 167 | CODE | |
| LOW | …ills/scientific-visualization/scripts/figure_export.py | 349 | CODE | |
| LOW | …lls/scientific-visualization/scripts/image_metadata.py | 493 | CODE | |
| LOW | …s/neuropixels-analysis/scripts/preprocess_recording.py | 16 | CODE | |
| LOW | skills/stable-baselines3/scripts/evaluate_agent.py | 16 | CODE | |
| LOW | skills/stable-baselines3/scripts/train_rl_agent.py | 29 | CODE | |
| LOW | skills/phylogenetics/scripts/phylogenetic_analysis.py | 108 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | skills/scientific-brainstorming/references/sources.md | 270 | bibliographic citations generated by ChatGPT,” *Scientific Reports* 13. | CODE |
| HIGH | skills/venue-templates/references/current_sources.md | 18 | | [JAMA author instructions](https://jamanetwork.com/journals/jama/pages/instructions-for-authors) | Original-data abstr | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | skills/pymc/scripts/model_comparison.py | 314 | # Example usage | COMMENT |
| LOW | skills/pymc/scripts/model_diagnostics.py | 240 | # Example usage | COMMENT |
| LOW | …pytorch-lightning/scripts/template_lightning_module.py | 198 | # Example usage | COMMENT |
| LOW | skills/scikit-learn/scripts/clustering_analysis.py | 309 | # Example usage | COMMENT |
| LOW | skills/scikit-learn/scripts/classification_pipeline.py | 263 | # Example usage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/_contract/__init__.py | 35 | __all__ = ["cli", "schematic", "structure"] | CODE |
| LOW | skills/pkpd-modeling/scripts/_common.py | 337 | __all__ = [ | CODE |
| LOW | skills/pkpd-modeling/scripts/_models.py | 687 | __all__ = [ | CODE |