AI Image Generation and Editing
zhayujie/CowAgent
Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.
Generates a new image in the style and layout of a reference image with new content, using caption extraction, caption rewriting and a layout-consistency check.
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/sn-image-imitate .claude/skills/sn-image-imitate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .claude/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/sn-image-imitate .agents/skills/sn-image-imitate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .agents/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/sn-image-imitate .cursor/skills/sn-image-imitate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .cursor/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/OpenSenseNova/SenseNova-Skills.git --path skills/sn-image-imitate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/sn-image-imitate .gemini/skills/sn-image-imitate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .gemini/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/sn-image-imitate .github/skills/sn-image-imitate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .github/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OpenSenseNova/SenseNova-Skills sn-image-imitate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenSenseNova/SenseNova-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/sn-image-imitate .opencode/skills/sn-image-imitate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sn-image-imitate" agent skill from https://github.com/OpenSenseNova/SenseNova-Skills/tree/main/skills/sn-image-imitate into .opencode/skills/sn-image-imitate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sn-image-imitate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sn-image-imitateGenerates a new image in the style and layout of a reference image with new content, using caption extraction, caption rewriting and a layout-consistency check.
Given a reference image and a description of the new content, the skill extracts a detailed long caption from the reference, rewrites it to carry the requested change while locking style and layout, and sends the result to image generation. After generation it scores layout consistency against a threshold and retries a bounded number of times.
Inputs are reference_image, target_content, output_mode, aspect_ratio, image_size, max_attempts and layout_threshold, and the output includes structured process artifacts for debugging. It relies on the recognize, text-optimize and generate tools from sn-image-base and needs SenseNova API settings such as SN_BASE_URL and SN_API_KEY. It handles one static image at a time and does not do inpainting, video input, batch runs or pixel-exact reproduction.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7838651. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
token.sensenova.cnAlso links to:
platform.sensenova.cnFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SN_API_KEYSN_CHAT_API_KEYSN_TEXT_API_KEYSN_VISION_API_KEYSN_IMAGE_GEN_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Image Style Imitation loads about 3.8k tokens when it runs. Until then it costs about 83 tokens; SKILL.md has 1,203 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from OpenSenseNova/SenseNova-Skills at commit 7838651, republished under its MIT licence (© OpenSenseNova). 1,203 words, ~3,844 tokens.
.claude/skills/sn-image-imitate/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Image style imitation scene skill (tier 1), relying on the sn-image-recognize, sn-text-optimize, and sn-image-generate tools provided by sn-image-base (tier 0).
Features:
reference_image (string, required): local path or URL of the style reference imagetarget_content (string, required): new content user wants in the generated imageoutput_mode (string, default friendly): output mode, friendly or verboseaspect_ratio (string, default 16:9): output aspect ratio for generationimage_size (string, default 2k): output image size presetmax_attempts (int, default 3): maximum generation attempts for meeting layout consistencylayout_threshold (float, default 0.75): minimum layout similarity score to accept resultDependency installation and API key configuration are for sn-image-base skill.
The minimum environment variables to configure sn-image-base skill running with SenseNova Token Plan:
SN_BASE_URL="https://token.sensenova.cn/v1"
SN_API_KEY="your-api-key"Fallback priority is dedicated variable > domain shared variable > global variable. Text calls use SN_TEXT_API_KEY -> SN_CHAT_API_KEY -> SN_API_KEY; vision calls use SN_VISION_API_KEY -> SN_CHAT_API_KEY -> SN_API_KEY; image generation uses SN_IMAGE_GEN_API_KEY -> SN_API_KEY.
Please refer to the Python dependencies and API keys section in sn-image-generate_en.md for more configurations.
All API calls in this skill are executed through the sn_agent_runner.py of the sn-image-base skill,
please refer to the sn-image-base skill (README.md) for more details.
sn-image-recognize (Step 1 & 3)sn-text-optimize (Step 2)sn-image-generate (Step 3)When encountering MissingApiKeyError or needing explicit model control: pass model and auth params explicitly via CLI arguments. See $SN_IMAGE_BASE/references/api_spec.md.
$SN_IMAGE_BASE path explanation: $SN_IMAGE_BASE is the installation directory of the sn-image-base skill (SKILL.md exists). The agent can locate this path by skill name sn-image-base.
This skill uses a two-tier agent architecture:
Responsibility Boundaries:
reference_image, target_content, output_mode (default friendly), aspect_ratio (default 16:9), image_size (default 2k), max_attempts (default 3), and layout_threshold (default 0.75)reference_image is provided and resolvabletarget_content is non-empty"Using sn-image-imitate skill to generate a style-consistent image, please wait..."status=ok: send final summary and generated imagestatus=error: report the actual errorWorker Agent receives reference_image, target_content, output_mode, aspect_ratio, image_size, max_attempts, layout_threshold, and the working directory of this skill ($SKILL_DIR).
Error Handling Strategy:
All sn_agent_runner.py calls share the same error handling rules:
status=error with the actual error message from stderr or the system error stringresult field: return status=error, do not silently continue with empty or default valuestask_id with format YYYYMMDD_HHMMSS/tmp/openclaw/sn-image-imitate/<task_id>/ as TEMP_DIRREFERENCE_IMAGEecho "$TARGET_CONTENT" > "$TEMP_DIR/target-content.txt"Use prompts/image_annotate.md as system prompt and call sn-image-recognize on reference image.
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \
--system-prompt-path "$SKILL_DIR/prompts/image_annotate.md" \
--user-prompt "Please annotate this reference image and follow the required output format." \
--images "$REFERENCE_IMAGE" \
--output-format jsonParse JSON result, then parse three blocks:
SHORT_CAPTION: ...LONG_CAPTION: ...LAYOUT_BLUEPRINT_JSON: { ... }If parsing fails, LONG_CAPTION is empty, or LAYOUT_BLUEPRINT_JSON is invalid JSON, return status=error.
Persist outputs:
echo "$SHORT_CAPTION" > "$TEMP_DIR/reference-short-caption.txt"
echo "$LONG_CAPTION" > "$TEMP_DIR/reference-long-caption.txt"
echo "$LAYOUT_BLUEPRINT_JSON" > "$TEMP_DIR/layout-blueprint.json"Goal: preserve style/layout/visual language from reference long caption while replacing core content by target_content.
Hard constraints to preserve (guided by layout-blueprint.json):
Preferred system prompt: prompts/caption_rewrite.md (recommended to add).
If missing, use inline fallback system prompt:
Rewrite the long caption by preserving style and layout constraints while replacing semantic content according to user target. Do not change block topology, reading order, or visual hierarchy. Keep the caption detailed and directly usable for image generation.
Call sn-text-optimize:
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-text-optimize \
--system-prompt-path "$SKILL_DIR/prompts/caption_rewrite.md" \
--user-prompt "Reference long caption:\n$LONG_CAPTION\n\nLayout blueprint JSON:\n$LAYOUT_BLUEPRINT_JSON\n\nTarget content:\n$TARGET_CONTENT\n\nReturn only the rewritten long caption." \
--output-format jsonParse JSON result as NEW_LONG_CAPTION. If empty, return status=error.
Persist output:
echo "$NEW_LONG_CAPTION" > "$TEMP_DIR/new-long-caption.txt"Execute attempt from 1 to max_attempts sequentially:
Generate Image (using sn-image-base's sn-image-generate tool):
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-generate \
--prompt "$CURRENT_PROMPT" \
--aspect-ratio "$ASPECT_RATIO" \
--image-size "$IMAGE_SIZE" \
--save-path "$TEMP_DIR/attempt_<N>.png" \
--output-format jsonVLM configuration requirements:
max_attempts > 1, VLM review is required for each attemptmax_attempts to 1 to skip reviewLayout Consistency Review (only executed when max_attempts > 1):
Review candidate vs reference using prompts/layout_review.md (with blueprint as structural oracle):
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \
--system-prompt-path "$SKILL_DIR/prompts/layout_review.md" \
--user-prompt "Reference is image[0], candidate is image[1]. Layout blueprint JSON:\n$LAYOUT_BLUEPRINT_JSON\n\nEvaluate layout similarity and return JSON only." \
--images "$REFERENCE_IMAGE" "$TEMP_DIR/attempt_<N>.png" \
--output-format jsonExpected review JSON (inside result):
{
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"fix_hints": []
}Save Attempt Result:
{
"attempt": 1,
"image": "$TEMP_DIR/attempt_1.png",
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"timing": {
"image_generation": { "elapsed_seconds": 12.34, "model": "sn_image_model" },
"vlm_review": { "elapsed_seconds": 5.67, "model": "sensenova-122b" }
}
}Note: elapsed_seconds is read from the --output-format json return of each CLI call; image_generation.model is fixed to the hardcoded placeholder "sn_image_model" (sn-image-generate does not return the model field); vlm_review.model is read from the JSON return of sn-image-recognize. timing.vlm_review is omitted when max_attempts=1.
Early Termination Check (only executed when max_attempts > 1):
Pass criteria:
layout_similarity_score >= layout_threshold
pass = true
If pass: immediately exit the loop, do not continue generating
If fail and attempts remain, append correction hints to prompt:
Layout correction requirements:
- <fix_hint_1>
- <fix_hint_2>
...layout_passed=falseWorker Agent final response must be bare JSON (no extra text, no code fence).
{
"status": "ok",
"need_main_agent_send": true,
"output_mode": "friendly|verbose",
"result": {
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"reference_image": "<resolved_reference_image>",
"reference_short_caption": "<short caption from step 1>",
"reference_long_caption": "<long caption from step 1>",
"layout_blueprint": { "...": "..." },
"new_long_caption": "<rewritten long caption from step 2>",
"layout_passed": true,
"selected_attempt": 2
},
"attempts": [
{
"attempt": 1,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_1.png",
"layout_similarity_score": 0.62,
"style_similarity_score": 0.79,
"pass": false,
"major_deviations": ["center panel too narrow", "title block moved to top-right"]
},
{
"attempt": 2,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"layout_similarity_score": 0.81,
"style_similarity_score": 0.84,
"pass": true,
"major_deviations": []
}
],
"review": {
"threshold": 0.75
},
"timing": {
"total_elapsed_seconds": 24.56,
"annotate": { "elapsed_seconds": 3.21, "model": "sensenova-122b" },
"rewrite": { "elapsed_seconds": 2.45, "model": "sensenova-122b" },
"generation_total": { "elapsed_seconds": 11.90, "model": "sn_image_model" },
"review_total": { "elapsed_seconds": 7.00, "model": "sensenova-122b" }
}
}{
"status": "error",
"error": "<actual_error_message>"
}Rules:
status=ok must include need_main_agent_send: trueresult.image must be an existing generated image pathtiming.total_elapsed_seconds covers full worker executionstatus=error (do not silently continue)attempts must record each generation + review attemptresult.layout_passed=falseresult.imageStyle imitation result
---
Reference short caption: <reference_short_caption>
---
Style/layout cues:
<brief extraction from reference_long_caption + layout_blueprint>
---
New long caption:
<new_long_caption>
---
#1 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false> [selected]
deviations: <major_deviations or none>
#2 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false>
deviations: <major_deviations or none>
...
---
Layout threshold: <0.75> | Passed: <true|false> | Selected: attempt <n>
Time statistics: Total <total>s | Annotation <t>s | Rewrite <t>s | Generation <t>s×<n> attempts | Review <t>s×<n> attempts
---
Images (selected image)sn-image-base → sn-image-recognize, sn-text-optimize, sn-image-generateprompts/image_annotate.md - Image annotation + layout blueprint system prompt (Step 1, required)prompts/caption_rewrite.md - Caption rewrite system prompt with layout-lock constraints (Step 2, required)prompts/layout_review.md - Candidate-vs-reference layout/style review prompt (Step 3, required)../sn-image-base/SKILL.md - Base tool behavior and parameter defaults© OpenSenseNova, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files in skills/sn-image-imitate of OpenSenseNova/SenseNova-Skills.
Open the folder on GitHubat commit 7838651
Image Style Imitation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Image Style Imitation this skillOpenSenseNova/SenseNova-Skills | 5.7k | — | ~3.8k | Automated safety check: Pass | MIT | |
| AI Image Generation and Editingzhayujie/CowAgent | 47k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Structured Image Generationbytedance/deer-flow | 84k | 4 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Canghe Comicfreestylefly/canghe-skills | 461 | 8 repos | ~3.2k | Automated safety check: Pass | None | |
| Generate Imageynulihao/AgentSkillOS | 618 | 10 repos | ~1.7k | Automated safety check: Notes | None | |
| GPT Image Generation CLIwuyoscar/GPT-Image2-Skill | 5.7k | — | ~2.5k | Automated safety check: Notes | MIT |
zhayujie/CowAgent
Generates or edits images from text prompts through a Python script that picks an image backend based on which API keys are configured.
bytedance/deer-flow
Turns an image request into a structured JSON prompt and runs a bundled Python script to generate the picture, optionally guided by reference images.
freestylefly/canghe-skills
Knowledge comic creator supporting multiple art styles and tones.
ynulihao/AgentSkillOS
Generate or edit images using AI models (FLUX, Gemini). An agent skill from ynulihao/AgentSkillOS.
wuyoscar/GPT-Image2-Skill
Generates and edits images with GPT Image 2 or 2.5 through a packaged CLI and a prompt gallery, after settling which model fits the request.
LiamGvchi/gc-minimal-zine-poster
Creates or analyzes quiet, paper-texture zine posters with big negative space, one color accent and experimental type, returning an image prompt and the generated poster.
OpenSenseNova/SenseNova-Skills
Builds HTML stories where one continuous camera journey advances with page progress, using researched structure, AI stills, Seedance video clips and browser QA.
OpenSenseNova/SenseNova-Skills
Fallback scripts for web search, image search and download, and image generation that PPT skills use only when the host agent lacks or fails its own tools.
OpenSenseNova/SenseNova-Skills
Opens the PPT Workbench web editor for an existing SenseNova HTML slide deck so you can preview, inspect and visually edit it without regenerating.
OpenSenseNova/SenseNova-Skills
Turns an approved slide outline into a full-page image for every slide, one 16:9 PNG per page, and optionally packages the set into a PPTX.
OpenSenseNova/SenseNova-Skills
Entry point for SenseNova presentation generation: creates a task folder, picks depth, output format and design richness, and routes to the right PPT skill.
OpenSenseNova/SenseNova-Skills
Researches Chinese market, macro, trade, procurement, listed-company and regulatory information from free official sources that need no sign-up or API key.
Categories
Generates a new image in the style and layout of a reference image with new content, using caption extraction, caption rewriting and a layout-consistency check. Given a reference image and a description of the new content, the skill extracts a detailed long caption from the reference, rewrites it to carry the requested change while locking style and layout, and sends the result to image generation. After generation it scores layout consistency against a threshold and retries a bounded number of times.
Image Style Imitation fits situations like: redrawing a reference image in the same style with new subject matter; producing visuals that keep the layout of an existing graphic; generating variants of a design with updated text or content.
Run `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a claude-code`. Or copy the skill folder (skills/sn-image-imitate in OpenSenseNova/SenseNova-Skills) into .claude/skills/sn-image-imitate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a codex`. Or copy the skill folder (skills/sn-image-imitate in OpenSenseNova/SenseNova-Skills) into .agents/skills/sn-image-imitate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-image-imitate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sn-image-imitate, .gemini/skills/sn-image-imitate, .github/skills/sn-image-imitate and .opencode/skills/sn-image-imitate in your project.
Going by SKILL.md and its folder, Image Style Imitation needs the command-line tools its instructions call (python) and credentials named SN_API_KEY, SN_CHAT_API_KEY, SN_TEXT_API_KEY and SN_VISION_API_KEY. Our summary lists: The sn-image-base skill, installed and configured; A SenseNova API key set as SN_API_KEY; Python dependencies installed as described for sn-image-base.
SKILL.md names 2 domains. In commands or code: token.sensenova.cn; the agent is likely to contact it when it follows the instructions. As links in the text: platform.sensenova.cn. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Image Style Imitation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Image Style Imitation: AI Image Generation and Editing (zhayujie/CowAgent, 47k stars), Structured Image Generation (bytedance/deer-flow, 84k stars), Canghe Comic (freestylefly/canghe-skills, 461 stars) and Generate Image (ynulihao/AgentSkillOS, 618 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OpenSenseNova (a GitHub organization) maintains it in OpenSenseNova/SenseNova-Skills, which has 5,749 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 9, 2026.
Source: OpenSenseNova/SenseNova-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.