Imagine
Skill indigokarasu/imagine
Imagine: art-direction engine for text-to-image generation — applies narrative style creation and transfer methodology.
npx -y skills add indigokarasu/imagineAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Art-direction engine for text-to-image generation. Separates Style from Content to keep aesthetic identity consistent across an image series. Use when generating, rendering, or illustrating images (especially across a series), capturing the style of a reference image for reuse, or producing an image in a named/saved style. Not for captioning, image analysis for decisions (use ocas-look), or photo editing.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
13.3 KB, as published. Nobody here has run it
Imagine
Imagine is an art-direction engine that treats image generation as a two-part process: Style Prompting and Content Prompting. Decoupling aesthetic DNA from subject matter lets a series of images share one visual identity while their content varies. This separation exists because style and content have different reuse patterns — style is stable across many images while content changes per request.
Interactive Menu
When invoked interactively, present a two-level menu. See references/interactive-menu.md for the full menu structure.
When to Use
- Create a series of images with a consistent visual identity (comics, storyboards, concept art).
- Translate a specific artistic style from a reference image into a reusable Style Prompt.
- Generate images using the current active text-to-image mode exposed by Hermes.
- Art-direct an LLM to produce a prompt that is style-pure (no content bleed).
When NOT to Use
- Analyzing user-provided images to drive downstream decisions → use
ocas-look - General web research on aesthetics or art history → use
ocas-sift - Editing or post-processing existing images → use an image editor
- Image captioning or description → use
ocas-look
Responsibility Boundary
Imagine does: style library management, style extraction from reference images, art-directed prompt synthesis, image generation through the current active conversation model when that model is text-to-image capable, and journaling of every generation and extraction run.
Imagine does not: analyze user-provided images to drive downstream decisions (that is ocas-look), perform general web research on aesthetics (that is ocas-sift), edit/post-process existing images, call the separate image_generate tool, or bypass the active model by calling Pollinations/Pollination/FAL/direct provider endpoints.
Adjacent responsibility: ocas-look consumes images as decision inputs; Imagine produces images as creative output. If a request is "look at this image and do X with the info," route to Look; if it is "make an image that looks like this," route to Imagine.
Optional Skill Cooperation
Imagine functions standalone. When present it may cooperate with:
- ocas-sift — research on a referenced artist, movement, or visual vocabulary before extraction.
- ocas-weave — resolving references to known people (portrait subjects) for identity context.
Imagine never depends on these skills and must run normally if they are absent.
Journal Outputs
- Action Journal — emitted by
imagine.generateandimagine.style.save(external HTTP side effect or persistent state write). - Observation Journal — emitted by
imagine.extractandimagine.library.list(analysis or read-only enumeration, no side effects).
Every run produces exactly one journal file. See references/journal.md for the record schema.
Core Methodology
See references/style_prompt_guide.md for the full Style-Content separation methodology, the five standard style sections, and the overspecification rule.
Operational Flows
Flow 1: Image Generation (existing style)
Use when the user wants an image in a known or predefined style.
Checklist:
- Style selected from default_styles.md or styles.jsonl
- Content Prompt describes only what is in the scene (no style/color/lighting keywords)
- Final prompt = Style Prompt + Content Prompt (style first)
- API call executed successfully
- Action Journal record written with final prompt + image URL
- Select Style: retrieve a style definition from
references/default_styles.mdor a previously saved Style Prompt in{agent_root}/commons/data/ocas-imagine/styles.jsonl. - Expand Content: turn the user's subject request into a detailed Content Prompt.
- Constraint: describe what is in the scene, never how it looks (no colors, no style keywords, no lighting direction).
- Synthesis: concatenate Style + Content into the final API call.
- Execute: submit the synthesized prompt to the current active conversation model when it is text-to-image capable. Do not call the separate
image_generatetool. Do not call Pollinations/Pollination, FAL, or any direct provider endpoint unless <operator> explicitly asks for that backend. - Journal: write an Action Journal record with the final synthesized prompt and the resulting image URL.
I/O Example:
- Input:
imagine.generate --style noir --content "a detective standing under a streetlight at night" - Output:
{"status": "ok", "image": "<active-mode image URL or file path>", "journal_id": "2026-06-27_abc123"}
Flow 2: Style Extraction (image → style)
Use when the user provides an image and wants to capture its soul for future use.
Checklist:
- Reference image loaded (path or URL)
- Multi-modal analysis completed
- Style extracted in exhaustive detail (no object/content names)
- Organized into five standard sections
- Style Test image generated and verified (no content bleed)
- Style Prompt saved to styles.jsonl
- Observation Journal record written
- Visual Analysis: use a multi-modal LLM (via
vision_analyzeor equivalent) to analyze the reference image. - Exhaustive Extraction: apply the extraction prompt in
references/style_prompt_guide.md.- Requirement: describe the style in exhaustive detail without naming any object or content.
- Semantic Organization: organize the raw description into the five standard sections:
- Perspective & Composition
- Lighting & Shadow
- Color Palette
- Brushwork & Technique
- Image Framing & Balance
- Verification: generate a Style Test image of an unrelated, simple subject to confirm the prompt is robust and free of content bleed.
- Save: append the resulting Style Prompt to
{agent_root}/commons/data/ocas-imagine/styles.jsonl. - Journal: write an Observation Journal record for the extraction.
I/O Example:
- Input:
imagine.extract --image https://example.com/ref-photo.jpg - Output:
{"status": "ok", "style_name": "extracted-noir", "style_prompt": "...", "test_image_url": "...", "journal_id": "2026-06-27_def456"}
Commands
imagine.generate --style <name|prompt> --content <description>— generate an image in a specific style.imagine.extract --image <path|url>— analyze an image and produce a structured Style Prompt.imagine.library.list— list all available predefined and saved styles.imagine.style.save --name <name> --prompt <prompt>— save a new custom style to the library.imagine.journal— read the most recent run record (final prompt + resulting image URL).
Recovery Behavior
This skill implements the recovery contract from spec-ocas-recovery.md.
- Evidence: Every generation/extraction run writes an evidence record to
{agent_root}/commons/data/ocas-imagine/evidence.jsonl, including no-op runs. Thenot_activity_reasonfield is mandatory when no side effects occur. - Gap detection: Not applicable — on-demand only.
- Degraded mode: When the current active conversation model cannot emit image attachments through the current surface, logs
degraded: current_model_t2i_unavailableand returns the interface error without using fallback backends. - Log compaction: Evidence and history logs older than 30 days compacted. Last 7 days retained.
Storage Layout
{agent_root}/commons/data/ocas-imagine/
config.json # ConfigBase fields + Imagine defaults
styles.jsonl # Custom user-created style prompts (append-only)
history.jsonl # Append-only log of generation prompts and results
intents.jsonl # Append-only log of user intents per run
evidence.jsonl # Append-only evidence records (recovery contract)
{agent_root}/commons/journals/ocas-imagine/
YYYY-MM-DD/
{run_id}.json # One journal file per run
Config follows ConfigBase from spec-ocas-shared-schemas.md. All paths use the {agent_root}/commons/ root per spec-ocas-storage-conventions.md.
Implementation Details
See references/api_reference.md for the current-model execution contract and failure handling.
Background Tasks
Imagine has no operational background tasks. The universal imagine:update self-update cron is standard and is not enumerated here.
Self-Update
See references/self-update-imagine.md.
Visibility
Public.
Gotchas
- Content bleed invalidates a Style Prompt — If a Style Prompt references specific objects, people, or scene content, it will produce inconsistent results across subjects. Always verify with a Style Test image of an unrelated, simple subject before saving.
- On-demand only — no background tasks — Imagine has no scheduled cron jobs or heartbeat tasks. It runs purely on invocation. A generation failure won't be retried automatically.
- Style-content concatenation order matters — The final API prompt must be Style Prompt first, then Content Prompt. Reversing the order causes the model to prioritize subject over aesthetics.
- Current-model failures are terminal — When the active conversation model cannot emit image bytes/attachments through the current surface, there is no built-in retry in the skill itself. Log degraded mode and report the interface problem. Do not route around it via
image_generate, Pollinations/Pollination, FAL, or direct provider calls. - Validation triple is mandatory — Every generation must produce entries in
history.jsonl, a journal file, ANDevidence.jsonl. A generation missing any of these is considered invalid per the OKR data_integrity target.
Error Handling
| Failure | Handling |
|---|---|
| Current model image path unavailable (interface/tooling error) | Log degraded: current_model_t2i_unavailable to evidence.jsonl, return the interface error to the user, and do not use fallback backends |
| vision_analyze fails on reference image | Retry once with explicit prompt asking for visual style description; if still failing, report error to user with image format requirements |
| styles.jsonl is corrupted or unreadable | Initialize fresh styles.jsonl with only built-in defaults from references/default_styles.md; log corruption event to evidence.jsonl |
| Content Prompt accidentally contains style keywords | Halt generation, report content bleed to user, request pure content description |
| Style Test image shows content bleed | Do NOT save the Style Prompt; report extraction failure, suggest providing a cleaner reference image |
| Journal write fails (permissions/disk) | Log failure to stderr, still return generation result to user, flag evidence record with journal_write_failed: true |
| Invalid image path or URL in extract command | Return error with accepted formats: local file path, http(s) URL; do not attempt download of unsupported schemes |
Support File Map
| File | When to read |
|---|---|
references/style_prompt_guide.md | During Flow 2 step 2 — when extracting style from a reference image |
references/default_styles.md | During Flow 1 step 1 — before picking a style, to browse available presets |
references/soma.md | When user requests or you identify a soft luminous gradient aesthetic |
references/noir.md | When user requests or you identify a flat silhouette + low sun aesthetic |
references/hiro.md | When user requests or you identify a woodblock print aesthetic |
references/comic.md | When user requests or you identify an ink linework + warm ground aesthetic |
references/candy.md | When user requests or you identify a plein-air + opaque color field aesthetic |
references/vaporware.md | When user requests or you identify a retro consumer electronics aesthetic |
references/api_reference.md | When executing generation; contains the current-model routing contract |
references/journal.md | Before writing any journal file; contains the record schema |
Validation Rules
- Every generation writes to both
history.jsonland a journal file. A generation with no journal is invalid. - Style Prompts must not reference specific objects, people, or scene content.
- Content Prompts must not reference colors, lighting, materials, or style keywords already covered by the selected Style Prompt.
- All filesystem writes stay within
{agent_root}/commons/data/ocas-imagine/and{agent_root}/commons/journals/ocas-imagine/.
OKRs
- schedule_adherence: 100% — on-demand only; every invocation completes or reports error within timeout. Measured via evidence.jsonl timestamps.
- data_integrity: 100% — every run produces valid history.jsonl + journal + evidence.jsonl records. A run missing any record is invalid.
Gives 0 of the 12 instructions most images graphics skills give
Counted across 371 of the 372 authors here whose files we hold, read 2026-08-06
- create a complete brand world in one imagein 19 of 371, across 5 files
- infer the brand strategy before generatingin 19 of 371, across 5 files
- use a clean presentation gridin 19 of 371, across 5 files
- confirm connection status is activein 19 of 371, across 4 files
- base the visual system on meaningin 17 of 371, across 3 files
- use very little textin 17 of 371, across 3 files
- make every panel feel connectedin 17 of 371, across 3 files
- call RUBE_SEARCH_TOOLS firstin 17 of 371, across 3 files
- convert dash-format node IDs to colon formatin 17 of 371, across 5 files
- match reference quality and rhythm if providedin 16 of 371, across 2 files
- narrow scope or reduce depth to avoid oversized payloadsin 16 of 371, across 4 files
- generate a simple and memorable logoin 15 of 371, across 1 file
Said here and by no other author read
- separate style prompting from content prompting
- present a two-level menu when invoked interactively
- format final prompt as style prompt plus content prompt
- describe scene content without using style keywords
- organize extracted style into five standard sections
- generate a style test image of an unrelated subject
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.