Yichen X Slicer logo

Yichen X Slicer

CommunityPopular
mcncarl
yichen-x-slicer

将公开 X 推文、Quote 或同作者 Thread 转为 1080×1440 图片切片和 MP4;也支持显式 source-only 素材桥接。保留所选原生视频及对应音频,不发布。

Overview

Publishermcncarl
Repositoryyichen-skills
Skill nameyichen-x-slicer
Stars
3.3K
Forks
1.4K
Bundled files
9
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.

  • 9 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mcncarl on GitHub. Read the source before you install it.

Installation

Install the Yichen X Slicer 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.
  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/mcncarl/yichen-skills.git /tmp/yichen-skills
mkdir -p .claude/skills
cp -r /tmp/yichen-skills/yichen-x-slicer .claude/skills/yichen-x-slicer
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Yichen X Slicer 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 Yichen X Slicer 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 Yichen X Slicer 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.

Yichen X Slicer(逸尘 X 切片)

Turn one public X status URL into a complete 3:4 image sequence. Use sunset(落日琥珀版)unless the user explicitly chooses another template.

Run

  1. Resolve the directory containing this SKILL.md as SKILL_DIR.
  2. Choose a new output directory under the current task's user-facing outputs/ directory. Never overwrite or delete an earlier run.
  3. Run. This default command generates the image sequence, image ZIP, and MP4:
bash
"<node-bin>" "$SKILL_DIR/scripts/yichen_x_slicer.mjs" \
  --url "<x-status-url>" \
  --output "<absolute-output-directory>"

Use the bundled Codex Node.js executable when available. The script locates bundled Playwright automatically; if discovery fails, set YICHEN_X_SLICER_PLAYWRIGHT_MODULE to <workspace-node-packages>/playwright/index.mjs after loading workspace dependencies.

The default template is sunset. To override it:

bash
"<node-bin>" "$SKILL_DIR/scripts/yichen_x_slicer.mjs" \
  --url "<x-status-url>" \
  --template editorial \
  --output "<absolute-output-directory>"

Use --template all only when the user asks to compare every style. Use --list-templates to print the registry. Read templates.md only when choosing or explaining a non-default template.

Generate images without a video only when the user explicitly asks for images only:

bash
"<node-bin>" "$SKILL_DIR/scripts/yichen_x_slicer.mjs" \
  --url "<x-status-url>" \
  --images-only \
  --output "<absolute-output-directory>"

The normal workflow appends one verified MP4 per selected template after PNG and ZIP verification. With --template all, generate 11 separate videos; never mix templates into one timeline. --images-only is an explicit opt-out. Read video.md for the fixed timing, source-audio, and verification contract.

When another workflow needs a faithful local Markdown source rather than visual slices, use the isolated source bridge:

bash
"<node-bin>" "$SKILL_DIR/scripts/yichen_x_slicer.mjs" \
  --url "<x-status-url>" \
  --source-only \
  --output "<absolute-output-directory>"

--source-only reuses the same verified routing and downloader but does not render. Read source-only.md before invoking or consuming this mode; it defines the five-output contract, Thread markers, media ordering, and mandatory native-MP4 binding.

Content contract

  • Keep the author header's right-side label visually blank on every frame.
  • For a normal Post, include only that Post's own text and media.
  • For a Quote Post, include only the focal Post's own text and media; ignore the Quote completely.
  • For a Thread, include the verified same-author direct-reply chain and each selected node's own media.
  • For a Thread containing Quotes, ignore every Quote. Skip a node that becomes empty after its Quote-only URL is removed and has no own media.
  • Exclude other-author replies, side branches, comments, Quote media, and Quote metrics.
  • When a selected Post or Thread node has a native video, keep its poster in the PNG/ZIP deliverables but play the complete native video visual inside the same media stage in the final MP4. Never silently substitute the poster for the moving video.
  • When that selected native video has a valid source audio stream, retain its own audio over the matching source-video interval on that page and keep it aligned with the source picture. If it has no source audio stream, keep that interval silent. Never include audio from Quote media.

Read content-routing.md when diagnosing routing, branches, missing Thread nodes, or quote_only exclusions.

Visual contract

  • Fix every final image at 1080×1440(3:4).
  • Keep the complete source slice centered; split long text across consecutive frames instead of shrinking it below the readable limit or cropping it.
  • Fit each source image with contain; verify the rendered image bounds remain fully inside the media stage.
  • Add no visible English outside original text, account handles, and original URLs.
  • Outside the source card, keep only one short source-derived hook and up to three verified snapshot metrics: reads, likes, and bookmarks. Omit a metric when the source does not provide it; never turn missing data into zero.
  • Use the small source avatar only in the author header; do not reuse it decoratively.

Verify and deliver

For --source-only, use the separate verification and delivery checklist in source-only.md, not the visual-render checklist below.

For the normal rendering mode, require all of the following before reporting completion:

  1. qa-report.json has zero failures.
  2. manifest.json records the requested template and sunset when no template was passed.
  3. All PNGs are 1080×1440 and the normalized selected text is completely covered in order.
  4. source-label is empty and visually zero-sized on every frame.
  5. No Quote text, Quote media, or excluded Thread node appears in the outputs.
  6. The ZIP contains only numbered final PNGs, and its entries match current PNG hashes.
  7. Inspect contact-sheet.png visually, then inspect the densest text frame and every media frame at full size.

Unless --images-only was explicitly requested, also require:

  1. Every MP4 has one 1080×1440 H.264 video stream at 30fps. It has one audio stream if and only if at least one selected non-Quote native video has a valid source audio stream; otherwise it has zero audio streams.
  2. The frame count and duration exactly match the fixed-reading-v1 plan in video.md, including the complete probed visual duration of every native video page.
  3. Text and photo reading holds are completely static; added motion appears only inside each four-frame page transition. Native video pages may contain only their source motion, with no added shake, pan, zoom, crop, or loop.
  4. The complete MP4 decodes without errors, and manifest/QA hashes match the delivered file.
  5. For every native video page, QA proves that the downloaded MP4 fully decodes, records whether its source has audio, and confirms that transition-free near-start, middle, and near-end source frames match their corresponding embedded frames in the final timeline. For a source-audio page, QA proves the complete transition-free source interval plus every four-frame transition against an independently rebuilt source-audio timeline, and verifies the full sample-accurate complement outside permitted source-audio ranges. For a source-silent page, QA proves that the matching interval is silent. No final audio may appear outside source-audio video-page intervals, and the manifest must bind the artifact to current script/test hashes and FFmpeg/ffprobe versions.

Return links to index.html, contact-sheet.png, the final ZIP, and every verified MP4. State the selected template, frame count, routed input type, and any quote_only exclusions. Omit the MP4 only for an explicit --images-only request.

Boundaries

  • Read only public X data anonymously through FxTwitter; do not use X login state or cookies.
  • Accept runtime media only from HTTPS pbs.twimg.com or video.twimg.com, including every redirect hop. Native MP4 downloads must remain on exact host video.twimg.com. Reject local paths, file:/data: URLs, oversized responses, wrong MIME types, non-image signatures, and non-MP4 video signatures.
  • Fail closed when a Thread node has an invalid numeric status ID, the focal author identity is missing, or a Quote t.co URL cannot be resolved from top-level URL entities.
  • In --source-only, fail with x_article_route_required when any top-level node in the verified same-author chain signals an X Article, including a pure Article card excluded from ordinary text/media selection; this bridge must not turn an Article teaser into the source body.
  • Do not operate WeChat, Jianying, or any publishing UI.
  • Do not generate or add TTS, voice-over, BGM, or music. The only permitted audio is the original audio carried by a selected non-Quote native video, placed on that video's matching page timeline; do not synthesize an empty audio stream when none of the selected videos has audio.
  • Generate the fixed-timing video by default. Suppress it only through an explicit --images-only request; do not add other video pacing modes or free-form FFmpeg filters.
  • Do not delete prior outputs. If a target exists, let the script create a -run-N sibling.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Yichen X Slicer AI skill do?

将公开 X 推文、Quote 或同作者 Thread 转为 1080×1440 图片切片和 MP4;也支持显式 source-only 素材桥接。保留所选原生视频及对应音频,不发布。

Why use Yichen X Slicer on TypingMind?

Because you install it once and use it with any model. Yichen X Slicer 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 Yichen X Slicer in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mcncarl/yichen-skills/tree/main/yichen-x-slicer. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Yichen X Slicer?

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 Yichen X Slicer?

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

Is the Yichen X Slicer AI skill free?

It is published on GitHub by mcncarl. Check the repository for licensing terms. 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 👇