{"id":"cmuxiphte0w6had07zbngkyda","slug":"scientific-visualization","publicId":"c9a8c3bc-3a06-41a2-8ca9-3fde1122a353","name":"scientific-visualization","description":"Creates and audits truthful, accessible, publication-ready scientific figures with Matplotlib, Seaborn, or Plotly. Use it for figure design, multi-panel layouts, uncertainty and missing-data displays, color/contrast review, image metadata validation, and journal export planning.","version":"1.4","author":"k-dense-ai","license":"MIT","compatibility":"Requires Python 3.11+ and uv for pinned examples. Bundled CLIs are network-free and load Matplotlib, Pillow, or pypdf only when needed. Plotly static export with Kaleido v1 requires a compatible Chrome/Chromium installation.","status":"completed","overallGrade":"B","scannerVersion":11,"fileCount":18,"hasSkillMd":true,"hasScripts":true,"hasReferences":true,"hasEvals":false,"hasAssets":true,"sourceType":"github","sourceUrl":"https://github.com/k-dense-ai/scientific-agent-skills/tree/main/skills/scientific-visualization","createdAt":"2026-10-07T02:58:06.578Z","completedAt":"2026-10-07T02:58:06.576Z","visibility":"public","publishedAt":"2026-09-10T21:06:02.208Z","category":"","frameworks":[],"badgeStatus":"conditional","downloadCount":0,"verdictRationale":{"summary":"Skill has warnings: 7 warnings in security or structure checks.","verdict":"warn","scanners":[{"source":"vettd","weight":1,"verdict":"warn"},{"source":"cisco","weight":0.8,"verdict":"pass"}],"consensus":"warn","warnTriggers":["Safety bypass flag detected","Safety bypass flag detected","Safety bypass flag detected","Safety bypass flag detected","Safety bypass flag detected","Safety bypass flag detected","References external URL — review for indirect prompt injection risk"],"policyVersion":"consensus-v1","hardFailTriggers":[]},"verdictPolicyVersion":"consensus-v1","skillId":"cmtw0oksabbjqad07wo2bos1p","findings":[{"id":"cmuxiphtf0w6oad0788lcipvm","source":"vettd","category":"security","label":"References external URL — review for indirect prompt injection risk","detail":"External URL(s) detected in SKILL.md — referenced content can change after audit","severity":"medium","ruleId":"VTD-0088","owaspLlmCategory":null,"intent":null,"chainId":null,"fingerprint":"42638a8b7e9fc5df27449992eaebc724","filepath":"SKILL.md"},{"id":"cmuxiphtf0w6iad07s2dsbx63","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/export_plan.py:484 — `parser.add_argument(\"--force\", action=\"store_true\")`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"231ab3d80f033a7fba078264c5231cd3","filepath":"scripts/export_plan.py"},{"id":"cmuxiphtf0w6jad078idsgwwr","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/figure_export.py:620 — `parser.add_argument(\"--force\", action=\"store_true\")`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"ec945e94301f421650377babd8de2269","filepath":"scripts/figure_export.py"},{"id":"cmuxiphtf0w6kad07v2lm5rf4","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/image_metadata.py:721 — `\"--force\", action=\"store_true\", help=\"overwrite an existing JSON report\"`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"e95db83048429c3d57e0a1470a4ca972","filepath":"scripts/image_metadata.py"},{"id":"cmuxiphtf0w6lad07nekmtkcm","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/palette_audit.py:269 — `\"--force\", action=\"store_true\", help=\"overwrite an existing JSON report\"`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"a43a904b0614187bf9635cf18672cfb3","filepath":"scripts/palette_audit.py"},{"id":"cmuxiphtf0w6mad07kh592pqw","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/style_presets.py:453 — `\"--force\", action=\"store_true\", help=\"overwrite an existing style file\"`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"206b5f7820f619de6b80b9ff87fd8378","filepath":"scripts/style_presets.py"},{"id":"cmuxiphtf0w6nad07b5krk6yn","source":"vettd","category":"security","label":"Safety bypass flag detected","detail":"Detected in scripts/style_preview.py:177 — `parser.add_argument(\"--force\", action=\"store_true\")`","severity":"low","ruleId":"VTD-0028","owaspLlmCategory":null,"intent":"negligent","chainId":null,"fingerprint":"c753beba31ae7c0e2da5fb3671042a5e","filepath":"scripts/style_preview.py"}],"scannerRuns":[{"source":"cisco","status":"success","verdict":null,"grade":"A","findingCount":0,"criticalCount":0,"highCount":0},{"source":"vettd","status":"success","verdict":null,"grade":"B","findingCount":7,"criticalCount":0,"highCount":0}],"user":{"name":"Kris Mondlane","image":"https://avatars.githubusercontent.com/u/237055?v=4"},"repository":{"owner":"k-dense-ai","name":"scientific-agent-skills"},"freshness":{"status":"verified_unchanged","reason":null,"retryable":false,"renamedTo":null,"lastCheckedAt":"2026-10-22T02:56:39.527Z","lastVerifiedAt":"2026-10-22T02:56:39.527Z","lastChangeDetectedAt":"2026-10-06T11:47:24.313Z","scannedHash":"292eaa2adb46c1ee678f090efec7780c50b91419","latestUpstreamHash":"292eaa2adb46c1ee678f090efec7780c50b91419","nextCheckDueAt":"2026-10-23T02:40:20.722Z"},"signalCategories":[{"category":"safety","label":"Safety","form":"graded","verdict":null,"rows":[]},{"category":"reliability","label":"Reliability & Quality","form":"graded","verdict":null,"rows":[]},{"category":"performance","label":"Performance","form":"measured","verdict":{"form":"measured","magnitudes":[{"ruleId":"performance/static-context-tokens","label":"Static context tokens","value":3426,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body"}]},"rows":[{"origin":"signal","id":"cmuxiphw80w77ad077txxsz0w","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/static-context-tokens","severity":null,"label":"Static context tokens","detail":null,"valueNum":3426,"valueText":null,"unit":null,"method":"tiktoken/cl100k_base/skill-md-body","derivation":null,"confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxipil00w92ad07s3rbhb37","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"performance","sourceClass":"scan","source":"vettd","ruleId":"performance/progressive-disclosure","severity":null,"label":"Progressive disclosure","detail":null,"valueNum":null,"valueText":"present","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null}]},{"category":"cost","label":"Cost","form":"measured","verdict":null,"rows":[]},{"category":"compatibility","label":"Compatibility","form":"unjudged","verdict":{"form":"unjudged"},"rows":[{"origin":"signal","id":"cmuxiphwg0w79ad07rca62qbo","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-environment-assumptions","severity":null,"label":"Declared environment assumptions","detail":null,"valueNum":null,"valueText":"Requires Python 3.11+ and uv for pinned examples. Bundled CLIs are network-free and load Matplotlib, Pillow, or pypdf only when needed. Plotly static export with Kaleido v1 requires a compatible Chrome/Chromium installation.","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxiphyi0w7nad07zuu04tmr","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Read","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Read","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxipi4v0w7sad07s7czl75z","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Write","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Write","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxiphx50w7fad07b13qwwhl","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Bash","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Bash","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxiphxc0w7had0782q9e8qv","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Edit","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Edit","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxiphxi0w7jad074g7moejs","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Glob","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Glob","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxiphxp0w7lad07c6f5zl2h","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"declared_tool","relatedId":"Grep","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-required-tools","severity":null,"label":"Declared required tool","detail":null,"valueNum":null,"valueText":"Grep","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxipieu0w86ad07u6zzug61","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/declared-name","severity":null,"label":"Declared skill name","detail":null,"valueNum":null,"valueText":"scientific-visualization","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxipil70w96ad070c97iabi","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/cli-help","severity":null,"label":"CLI help","detail":null,"valueNum":null,"valueText":"present","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null},{"origin":"signal","id":"cmuxipilk0w9aad07p08plkip","subjectType":"skill_audit","subjectId":"cmuxiphte0w6had07zbngkyda","relatedType":"","relatedId":"","dataCategory":"compatibility","sourceClass":"scan","source":"vettd","ruleId":"compatibility/structured-output","severity":null,"label":"Structured output","detail":null,"valueNum":null,"valueText":"present","unit":null,"method":null,"derivation":"read","confidence":null,"sampleSize":null,"synthetic":false,"firstParty":true,"observedAt":"2026-10-07T02:58:03.000Z","payload":null}]},{"category":"sentiment","label":"Popularity","form":"unjudged","verdict":null,"rows":[]},{"category":"characteristics","label":"Characteristics","form":"unjudged","verdict":null,"rows":[]}],"signalCount":38,"publisherSupplied":["name","description","author","version","license"]}