Agent skill

Captions

by sorryhyun in sorryhyun/anima_lora

Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both.

MITAuto-check passed

Install Captions

skills CLI
$ npx skills add sorryhyun/anima_lora --skill captions -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sorryhyun/anima_lora captions --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sorryhyun/anima_lora.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/captions .claude/skills/captions && rm -rf skills-src

Use ~/.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/

Facts

Skill name
captions
GitHub stars
125
Token cost
~1.3k tokens
SKILL.md length
598 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both.

  • SKILL.md covers Caption grammar, Trainer targets (each builds… and The OCR clause is a publish,…
  • Calls make

What it does

Captions is an agent skill from sorryhyun/anima_lora. Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both. Load before parsing/editing captions or caption code, running either target, or touching the caption preprocess stages.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: optimized anima lora training script. The licence is MIT.

Example prompts

  • “/captions”

What it can do on your machine

Read from SKILL.md and the folder at commit d16b651. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Captions loads about 1.3k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 598 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~81
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from sorryhyun/anima_lora at commit d16b651, republished under its MIT licence (© sorryhyun). 598 words, ~1,330 tokens.

Download SKILL.mdSave it as .claude/skills/captions/SKILL.md (or your agent's skills folder).
name
captions
description
Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both. Load before parsing/editing captions or caption code, running either target, or touching the caption preprocess stages.

Caption pipeline (trainer-side wiring)

The caption code lives in the anime_tools package. Grammar details, --caption_drop_groups resolution order, autotag modes, the v2 position-clause move rules and gates, and the tuning defaults are in ../anime_tools/.claude/skills/captions/SKILL.md (evidence: ../anime_tools/docs/position_captions.md) — read it before editing caption code. What stays trainer-side is below.

Caption grammar

<flat tag bag>. On the left, akita neru, yellow eyes. On the right, kasane teto. — the period delimits clauses, commas separate tags inside one. A plain caption.split(",") silently corrupts clauses. Never hand-split a caption: anime_tools.captions.position_clauses (parse_caption / compose_caption) is the single grammar; anime_tools.captions.shuffle is the training-time shuffle / @no-artist grammar (library.anima.training re-exports it).

Trainer targets (each builds an anime_tools request object)

Request/stage mechanics — build a request, never spell a flag; ARGS applied through request_with_args — are in the anime-tools skill. Caption-specific: autotag and position share one tagger load in-process under a daemon job, and release_models() frees it before the TE child.

TargetRequest (stage id)Notes
make caption-autotagAutotagRequest (autotag)dry-run default; ARGS="--mode missing|merge|overwrite"; ARGS="--apply" then make preprocess-te. Writes the revised caption (resized/), master read-only
make caption-positionPositionRequest (position)SAM3 → tagger → v2 rewrite; dry-run default, GPU — route through the daemon
make caption-fullPositionRequest → OcrRequest (ocr) → ExportRequest (export)the whole derived-caption chain, one daemon job (re-enters tasks.py caption-full --inline inside it, so the stages share a process). Applies by default (--dry_run to plan) — every step writes the derived tree, which the master's dry-run guard exists to protect. --skip_position / --skip_ocr re-combine from the sidecars already read; --ocr_min_det / --ocr_min_glyph are the floors
make preprocess-captionsCorrectRequest (correct)corrects the revised caption in place (mirrors the master only for an image with none) + .variants.txt under post_image_dataset/resized/; --caption_drop_groups
make caption-indexplain CLI anime_tools.captions.indexpost_image_dataset/captions/caption_index.json (--out spelled by the trainer)
make autotag / make tagger*plain CLIs anime_tools.tagger.cli.*single-image / vocab build / dbv4 ckpt

Stage wiring (scripts/tasks/preprocess.py): autotag runs first (right after resize, apply=True), then position clauses, then correction/variants, then TE — chain order pinned by tests/test_preprocess_tasks.py; the request fields the trainer sets are pinned by tests/test_anime_tools_cli_contract.py. TE caches are mtime-aware (library/preprocess/text.py::_cache_is_current re-encodes a stem whose cache is older than its caption .txt or .variants.txt), so a plain make preprocess-te after an --apply picks up exactly the stems that changed — --overwrite is needed only for what mtime cannot see (a vocab-pack or variant-count change). Always run it: a stale .variants.txt keeps training the old caption. Once an image has a revised caption, a hand-edit of its master no longer reaches it — edit the revised caption, or delete it to re-mirror.

Show full SKILL.md (193 more words)Show less

The OCR clause is a publish, not a caption stage

with_ocr_clause (anime_tools.captions.ocr_sidecar) is the one place an {stem}.ocr.txt meets a caption, and it is reachable only through the export stage's --combine_ocr. The trainer is its own workspace (the caption stages write post_image_dataset/resized directly), so _caption_combine_request runs that export in place: out is the resized tree's parent, because an export writes a caption to out/resized/<rel>.txt. Every row but caption/variants then compares identical and is skipped — no pixel, mask or index churn — and master/excluded_dir keep the package's (absent) workspace defaults, so no row can write back over the hand-written masters under image_dataset/. Pinned by test_caption_full_combine_publishes_in_place.

The combine is idempotent: a text clause the caption already carries is replaced, and a re-run whose sidecar lost its lines removes the clause. Two floors decide which lines reach a caption (--ocr_min_det 0.5, --ocr_min_glyph 16.0) — the sidecar always keeps every line. A dry run of the full chain reports the combine against the sidecars already on disk, not against what its own OCR step would have written.

configs/clause_vocabulary.yaml is the user-editable clause policy; the package ships an identical default used when the file is absent from the curation home.

© sorryhyun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/captions of sorryhyun/anima_lora.

Open the folder on GitHubat commit d16b651

Compare with similar skills

Captions 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.

Captions compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Captions this skillsorryhyun/anima_lora125—~1.3kAutomated safety check: PassMIT
Positioning Ideasphuryn/pm-skills27k—~751Automated safety check: PassMIT
Gtm Positioning Strategygithub/awesome-copilot40k1 repos~3.5kAutomated safety check: PassMIT
Captions Overlay Rulesheygen-com/hyperframes59k1 repos~1.5kAutomated safety check: PassApache-2.0
Remotion Captionsremotion-dev/remotion63k5 repos~294Automated safety check: PassCustom licence
Positioning Icptech-leads-club/agent-skills7k—~6.9kAutomated safety check: PassCustom licence

Similar skills

  • Positioning Ideas

    phuryn/pm-skills

    Brainstorm product positioning ideas differentiated from competitors.

    27k GitHub stars~751 tokensUpdated 24 days ago
    Marketing & SEOAuto-check passed
  • Gtm Positioning Strategy

    github/awesome-copilot

    Official

    Find and own a defensible market position. An agent skill from github/awesome-copilot.

    40k GitHub starsUsed in 1 repo~3.5k tokens
    Marketing & SEOAuto-check passed
  • Captions Overlay Rules

    heygen-com/hyperframes

    Rules for captioning talking-head and launch videos: classify each phrase as drop, rail or embed, and composite captions over the film instead of reserving space.

    59k GitHub starsUsed in 1 repo~1.5k tokens
    Media & CreativeAuto-check passed
  • Remotion Captions

    remotion-dev/remotion

    Official

    Transcribing, displaying and animating captions. An agent skill from remotion-dev/remotion.

    63k GitHub starsUsed in 5 repos~294 tokens
    Media & CreativeAuto-check passed
  • Positioning Icp

    tech-leads-club/agent-skills

    When the user wants to define their ideal customer profile, position an AI product, build messaging architecture, or validate product-market fit.

    7k GitHub stars~6.9k tokensUpdated today
    Marketing & SEOAuto-check passed
  • Hand Drawn Diagrams

    nexu-io/open-design

    Generate hand-drawn Excalidraw diagrams from a prompt — animated SVG, hosted edit link, and PNG export.

    100k GitHub stars~336 tokensUpdated today
    DevelopmentAuto-check passed

More from sorryhyun/anima_lora

All 12 skills in this repo
  • Model Catalog

    sorryhyun/anima_lora

    The model catalog (library/downloads.py) — one Asset row per weight (repo, files, destination, installed probe), packs, resolve() name order, and the rule that loaders import their default paths…

    125 GitHub stars~502 tokensUpdated today
    Auto-check passed
  • Qwen21

    sorryhyun/anima_lora

    Qwen-Image-2.1 LoRA line (NOT Anima) — running cache/train through the daemon, make gui-qwen, the CacheRequest/TrainRequest flag surface and how to add a field, model-dir resolution, cache layout…

    125 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Anime Tools

    sorryhyun/anima_lora

    The trainer ↔ animetools boundary — what the curation split moved out, the typed request/stage API the make targets build, the git-pin dev loop and its stale-venv trap, and the tests that guard the…

    125 GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Bucketing

    sorryhyun/anima_lora

    Free-fit native-shape bucketing — the token bands per edge tier, tier choice at preprocess time, the compiledynamicseq coupling and per-tier graph budget, and why training never needs --targetres.

    125 GitHub stars~932 tokensUpdated today
    Auto-check passed
  • Custom Nodes

    sorryhyun/anima_lora

    The ComfyUI node map — which node lives in which standalone repo vs in-tree under customnodes/, where each is symlinked, and the vendor-sync rule for the vendor/ subsets.

    125 GitHub stars~470 tokensUpdated today
    Auto-check passed
  • Daemon

    sorryhyun/anima_lora

    Submit, monitor, and manage GPU jobs through the anima daemon (make daemon-, make gen, make run-status, MCP bridge, discovery).

    125 GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Questions about Captions

What does Captions do?

Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both. Captions is an agent skill from sorryhyun/anima_lora. Caption pipeline — position-clause grammar (never hand-split a caption), make caption-autotag modes, make caption-position (v2 rewrite rules and gates), and the preprocess-stage wiring for both.

How do I install Captions in Claude Code?

Run `npx skills add sorryhyun/anima_lora --skill captions -a claude-code`. Or copy the skill folder (.claude/skills/captions in sorryhyun/anima_lora) into .claude/skills/captions in your project. Claude Code loads it when a task matches its description.

How do I install Captions in Codex?

Run `npx skills add sorryhyun/anima_lora --skill captions -a codex`. Or copy the skill folder (.claude/skills/captions in sorryhyun/anima_lora) into .agents/skills/captions in your project. Codex loads it when a task matches its description.

Can I use Captions in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sorryhyun/anima_lora --skill captions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/captions, .gemini/skills/captions, .github/skills/captions and .opencode/skills/captions in your project.

What does Captions need to run?

Going by SKILL.md and its folder, Captions needs the command-line tools its instructions call (make).

Does Captions access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Captions safe to install?

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.

What licence does Captions use?

Captions is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Captions use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Captions?

Skills that share tags, products or a category with Captions: Positioning Ideas (phuryn/pm-skills, 27k stars), Gtm Positioning Strategy (github/awesome-copilot, 40k stars), Captions Overlay Rules (heygen-com/hyperframes, 59k stars) and Remotion Captions (remotion-dev/remotion, 63k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Captions?

sorryhyun (a GitHub user) maintains it in sorryhyun/anima_lora, which has 125 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 9, 2026.

Source: sorryhyun/anima_lora on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.