Generates or edits images with AI models through the OpenRouter Image API (Gemini, Seedream, Recraft, GPT-Image, Riverflow). Use for photos, illustrations, artwork, concept art, visual assets, logos, and image editing or compositing from reference images. For flowcharts, circuits, pathways, and other technical diagrams, use the scientific-schematics skill instead.
○ declared by the publisher, as-is
Safety
CC: 3 or more mediums, or any high5 severity-bearing
Safety · gate= 92ace75 · assessed 2w ago
C5 severity-bearing
Graded from 5 severity-bearing findings on this release.
A gate; it passes or fails, never weighed against price or quality.
Reliability & Quality
B0 findings
Reliability & Quality= 92ace75 · assessed 2w ago
B0 findings
Graded from 0 severity-bearing findings on this release.
Findings with severity, graded on the same letter scale as safety.
Cost
n/anot assessed
Cost= 92ace75 · assessed 2w ago
n/anot assessed
Not assessed; no producer has emitted into this category. An absence, not a zero.
Declared external service dependencies. Never a monetary figure.
not assessed
Popularity
4335Forks
Popularity · not a figure= 92ace75 · assessed 2w ago
4335Forks
Read off the linked repository, not off this record. It carries no verdict and enters no grade.
Context read off the linked repository. It enters no ranking and no grade.
Performance tested for◌ not assessed
no controlled task evaluation on this release
Repo★ 48.2k○·4.3k forks·203 watchers·23 open issues·last commit 4d old when scanned
◌ Vettd does not install assets; this record describes a copy you obtain yourself.
Custody chainSource ↗○ linked, not verified by Vettd
k-dense-ai◐→k-dense-ai/scientific-agent-skills○→version = 92ace75◐→sha256:0d7d…ab4e◐→signature △ not assessed|MIT○record 4ac6a68f-b66f-4554-865e-4c7ad5fecd89 · live
◌ public recordYou are signed out, so you see the record and nothing else. sign in
▲Base64-decoded content stored in variableflaggedsoft spot 1Detected in scripts/generate_image.py:510 — `content = base64.b64decode(payload, validate=True)`vettd · scan · 2wHigh
▲References external URL — review for indirect prompt injection riskflaggedExternal URL(s) detected in SKILL.md — referenced content can change after auditvettd · scan · 2wMedium
▲Code makes network requestsflaggedSKILL.md — Skill code makes network requests. While not controlled by allowed-tools, network access should be documented and justified in the skill description.cisco · scan · 2wMedium
▲Outbound network request primitives that can transmit data externallyflaggedscripts/generate_image.py:194 — Pattern detected: urllib.request.Request(cisco · scan · 2wMedium
▲Outbound network request primitives that can transmit data externallyflaggedscripts/generate_image.py:196 — Pattern detected: urllib.request.urlopen(cisco · scan · 2wMedium
◌behavioral scan passednothing foundNo prompt-injection or jailbreak signals were detected.vettd · scan · 2wnothing found
◌Name validation passednothing foundThe declared skill name follows the supported naming rules.vettd · scan · 2wnothing found
Not assessed; no producer has emitted into cost for this asset. That is different from a check that ran and found nothing, which the record would carry as a row of its own.
▪Declared environment assumptionsreadvettd · scan · 2wRequires Python 3.9+ and network access to openrouter.ai. The bundled script uses only the standard library. Image generation requires the OPENROUTER_API_KEY credential and bills per request; listing models, inspecting a model, and --dry-run do not. Targets the OpenRouter Image API (POST /api/v1/images) documentation and public discovery reviewed on 2026-09-30.
▲References external URL — review for indirect prompt injection riskMedium
▲Code makes network requestsMedium
▲Outbound network request primitives that can transmit data externallyMedium
▲Outbound network request primitives that can transmit data externallyMedium
◌behavioral scan passednothing found
◌Name validation passednothing found
Reliability & Quality
▲Unresolvable internal referencesMedium
▪Checklist patternabsent
▪Description usage contextpresent
▪Examplespresent
▪Gotchas sectionabsent
▪Step-by-step workflowpresent
▪Validation looppresent
Performance
▪Progressive disclosurepresent
●Static context tokens4165
Compatibility
▪CLI helppresent
▪Declared environment assumptionsRequires Python 3.9+ and network access to openrouter.ai. The bundled script uses only the standard library. Image generation requires the OPENROUTER_API_KEY credential and bills per request; listing models, inspecting a model, and --dry-run do not. Targets the OpenRouter Image API (POST /api/v1/images) documentation and public discovery reviewed on 2026-09-30.
▪Declared skill namegenerate-image
▪Declared required toolBash
▪Declared required toolEdit
▪Declared required toolRead
▪Declared required toolWrite
▪Structured outputpresent
Popularity
●Forks4335
●Days since last commit4 days
●Open issues23
●Stars48163
●Watchers203
Characteristics
▪Declared licenseMIT
◆Primary bundle languageMarkdown
▪Repository linkabsent
▪Archivedfalse
‹ › or arrow keys move through 33
Coverage6 of 7 categories assessed · shown
Safety
✓ assessed
behavioral scan passed · Name validation passed
Reliability & Quality
✓ assessed
7 signals recorded
Performance
✓ assessed
2 signals recorded
Cost
△ not assessed
no producer has emitted for this category
Compatibility
✓ assessed
8 signals recorded
Popularity
✓ assessed
5 signals recorded
Characteristics
✓ assessed
4 signals recorded
Freshness & re-evaluation
assessed2w ago · Cisco AI Defense · Vettd core● current
source stateThe source matches what was scanned. No changes detected.Up to date
re-check policyre-checked against the upstream source on the scheduler's cadencenext check in 4h
re-run whena new release ships, the upstream source changes, or the scanner ruleset is revisedauto-scheduled
Limitations & open conflicts
limitationCost is not assessed: behaviour there is unmeasured, not clean△ gap
conflictno two sources report the same quantity on this record
Verify: does this record describe your copy?
What record 4ac6a68f-b66f-4554-865e-4c7ad5fecd89 covers
scannerv11● current
validityassessed 2w ago · Up to date
$vettd scan folder <path>
this record was taken at digest sha256:0d7d7a6e7139… compare it against the digest your own scan prints
Reproduce: re-run the evidence yourself
$vettd scan folder /path/to/your/copy
runs the same scanners against your own copy; the published record is never overwritten
How this record comparesagainst other published records · full comparison →
Signal kinds
▲ finding: something to act on, carries a severity● measurement: a reproducible quantityƒ estimate: inferred from a sample▪ fact: read directly off the artifact◆ classification: assigned from a taxonomy◌ nothing found: a producer looked and emitted no object◇ context only: described, never graded
Custody marks
◐ computed by vettd○ declared by the publisher, as-is△ not assessed: nothing looked
Weigh generate-image against other published skills: the safety grade, its finding counts and each category’s verdict, one row apiece. The full comparison page carries every signal and framework coverage.