Img2mo Learn logo

Img2mo Learn

Community
WU-HAOTIAN34
img2mo-learn

Learn reusable 2D motion-generation knowledge from user-specified action resources with `/img2mo-learn <resource>`. Use when the user provides videos, extracted frame sequences, spritesheets, Spine assets, generated outputs, failed attempts, or reference motion folders and wants to summarize animation timing, pose beats, style traits, prompt patterns, extraction/cropping rules, or failure lessons into the project `img2mo-knowledge/` folder for later `/img2motion` generation.

Overview

PublisherWU-HAOTIAN34
Repository2dimg2motion
Skill nameimg2mo-learn
Stars
233
Forks
10
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by WU-HAOTIAN34 on GitHub. Read the source before you install it.

Installation

Install the Img2mo Learn AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/WU-HAOTIAN34/2dimg2motion/tree/main/skills/img2mo-learn
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/WU-HAOTIAN34/2dimg2motion.git /tmp/2dimg2motion
mkdir -p .claude/skills
cp -r /tmp/2dimg2motion/skills/img2mo-learn .claude/skills/img2mo-learn
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Img2mo Learn in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Img2mo Learn on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Img2mo Learn is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Img2mo-learn

Overview

Use this skill when the user invokes:

text
/img2mo-learn <resource-path-or-folder>
img2mo-learn <resource-path-or-folder>

The goal is to turn finished or reference motion assets into reusable project knowledge. Store learned knowledge in the project-level img2mo-knowledge/ folder, never in the installed Codex skill directory during normal work.

Input Resolution

Resolve the argument after img2mo-learn as follows:

  1. If it is an existing relative or absolute path, use it directly.
  2. If it is a bare name, first try sample\<name>, then output\<name>, then motion\<name>.
  3. If it is a folder, inspect likely assets in this order: manifest.json, preview.gif, contact-sheet.*, spritesheet.*, fullframe/, frames/, Spine .json/.atlas/.skel, then videos.
  4. If no matching resource exists, report the missing path and ask for the correct path.

Supported resources:

  • video files such as .mp4, .mov, .webm;
  • PNG frame folders, spritesheets, contact sheets, or GIF previews;
  • project outputs from this skill such as output/<action-id>/;
  • Spine-style assets such as .json, .atlas, .skel, texture folders;
  • local reference-library folders under motion/.

Knowledge Location

Create this structure if missing:

text
img2mo-knowledge/
|-- index.md
|-- learnings.jsonl
|-- action-patterns.md
|-- style-patterns.md
|-- prompt-patterns.md
`-- failures.md

Append one JSON object per learning session to img2mo-knowledge/learnings.jsonl. Keep Markdown files concise and curated; do not paste huge logs, full prompts, or complete frame listings.

Learning Workflow

  1. Identify the resource type.

    • For video: read frame size, fps, duration, and frame count with ffprobe when available.
    • For frame sequences: count frames, inspect canvas sizes, alpha/background, and contact sheet if present.
    • For spritesheets: infer grid/cell count when possible; otherwise describe visible beats.
    • For Spine assets: inspect animation names, bone/slot names, skins, attachments, timeline names, and texture organization without assuming rendered motion if frames are not available.
  2. Create review surfaces if useful.

    • For video or frame folders, create temporary or output-side contact sheets and preview GIFs if they do not exist.
    • Do not alter the source resource.
    • Do not store bulky extracted frames in img2mo-knowledge/; store outputs under output/ or tmp/ and reference their paths in JSON.
  3. Summarize motion timing.

    • Identify action type: attack, walk, idle, block, suffer, death, born, skill/cast, or other.
    • Record frame count, fps, loop behavior, and major beats.
    • For attacks, prefer beat labels such as guard, anticipation, acceleration, contact, contact hold, follow-through, recovery.
    • Record which frame ranges are most useful as key poses.
  4. Summarize pose and topology lessons.

    • Record active limb/feature, weapon or prop owner, anchor limb/surface, facing direction, and stable baseline behavior.
    • Note silhouette expansion, squash/stretch, center drift, foot/bottom baseline, and whether motion needs extra canvas margin.
  5. Summarize style lessons.

    • Record line weight, palette, shading, material treatment, outline softness, shape language, effects style, and background/keying considerations.
    • Distinguish character style from detached effects.
  6. Summarize prompt lessons.

    • Write reusable prompt clauses that could improve later generation.
    • Keep prompt clauses short and parameterized; avoid overfitting to one character name unless the lesson is character-specific.
  7. Summarize failures and constraints.

    • Record what should be rejected: hand swaps, scale popping, bad alpha, cut weapons, over-crowded sheets, text/watermark contamination, or mismatched style.
  8. Write project knowledge.

    • Append structured session data to learnings.jsonl.
    • Update the relevant Markdown files with durable, reusable lessons.
    • If the learning is only useful for one output, also write output/<action-id>/retro.md.

JSONL Schema

Each line in img2mo-knowledge/learnings.jsonl should be a compact JSON object:

json
{
  "id": "learn-YYYYMMDD-HHMMSS-short-name",
  "date": "YYYY-MM-DD",
  "source": "relative/or/absolute/path",
  "resource_type": "video|frame_sequence|spritesheet|spine|output|reference_folder",
  "action_type": "attack|walk|idle|block|suffer|death|born|skill|unknown",
  "fps": 24,
  "frame_count": 14,
  "loop": true,
  "beats": [
    {"name": "anticipation", "frames": "02-04", "notes": "body compresses before strike"}
  ],
  "key_pose_guidance": ["frame 05 should be the clearest contact silhouette"],
  "topology": {
    "active": "screen-left sword hand",
    "anchor": "screen-right hand",
    "weapon_owner": "screen-left hand"
  },
  "style": ["thick dark outline", "warm orange shadow shapes"],
  "prompt_clauses": ["same foot/bottom baseline in every cell"],
  "failure_lessons": ["reject sheets where the weapon hand swaps"],
  "artifacts": ["output/.../contact-sheet.jpg"]
}

Use null for unknown scalar fields and [] for empty lists. Keep one line per session.

Markdown Update Rules

  • index.md: list recent learning sessions and high-level tags.
  • action-patterns.md: update durable motion timing rules by action type.
  • style-patterns.md: update durable visual style observations.
  • prompt-patterns.md: update short reusable prompt clauses and anti-clauses.
  • failures.md: update rejection checks and known failure modes.

When adding Markdown entries, include the source path and date. Keep entries short enough that /img2motion can read them quickly.

Use During Generation

Later /img2motion work must read img2mo-knowledge/index.md first when it exists. Then read only the relevant knowledge files for the requested action/style:

  • action timing: action-patterns.md;
  • visual style: style-patterns.md;
  • prompt wording: prompt-patterns.md;
  • known pitfalls: failures.md;
  • detailed recent examples: search learnings.jsonl for matching action_type, source tags, or character style.

Do not let learned knowledge override the current user's explicit request or the current baseline image identity. Treat project knowledge as guidance, not ground truth.

Frequently asked questions

What does the Img2mo Learn AI skill do?

Learn reusable 2D motion-generation knowledge from user-specified action resources with `/img2mo-learn <resource>`. Use when the user provides videos, extracted frame sequences, spritesheets, Spine assets, generated outputs, failed attempts, or reference motion folders and wants to summarize animation timing, pose beats, style traits, prompt patterns, extraction/cropping rules, or failure lessons into the project `img2mo-knowledge/` folder for later `/img2motion` generation.

Why use Img2mo Learn on TypingMind?

Because you install it once and use it with any model. Img2mo Learn is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Img2mo Learn in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/WU-HAOTIAN34/2dimg2motion/tree/main/skills/img2mo-learn. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Img2mo Learn?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Img2mo Learn?

As many as you like. As long as a model supports skills, you can use Img2mo Learn with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Img2mo Learn AI skill free?

Yes. It is published on GitHub by WU-HAOTIAN34 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇