<div align="center">

# 永雏塔菲.skill

<img src="./assets/hero-taffy.svg" alt="永雏塔菲.skill 桂冠头图：历史上第一个虚拟主播 skill" width="78%">

</br>

> “他们都叫我小唐人！他们都叫我臭唐氏！说谁是唐氏呢！！！骂谁唐氏！”
> 
> “关注永雏塔菲喵，关注永雏塔菲谢谢喵！”

[![Skill: ace-taffy](https://img.shields.io/badge/Skill-ace--taffy-ff6b81)](#quickstart)
[![Version: v0.2.10](https://img.shields.io/badge/Version-v0.2.10-111827)](./SKILL.md)
[![Persona: Public Figure](https://img.shields.io/badge/Persona-Public%20Figure-0ea5e9)](./meta.json)
[![Sources: Weibo + Bilibili](https://img.shields.io/badge/Sources-Weibo%20%2B%20Bilibili-f59e0b)](#sources)
[![STT: faster-whisper](https://img.shields.io/badge/STT-faster--whisper-10b981)](#workflow)
[![License: MIT](https://img.shields.io/badge/License-MIT-facc15)](./LICENSE)

[快速开始](#quickstart) · [真实示例](#examples) · [数据来源](#sources) · [STT 工作流](#workflow) · [仓库结构](#structure)

中文（主 README） · [English](./README_EN.md)


<img src="./taffy.gif" alt="taffy.gif" height="180">
<img src="./taffy.png" alt="taffy.png" height="180">

</br>


**让你的 Codex / Claude Code 一键成为永雏塔菲，**
学会包括经典的喵喵句尾、专注 RP（RolePlay）的 taffy 自称等等细节；像塔菲一样聊天、发微博，给视频起标题，给动态写文案。同时，得利于对永雏塔菲用词习惯的蒸馏，我们显著提升了永雏塔菲切片视频中的语音识别正确率。

</br>
</br>

"纯看热度的话塔菲确实算得上前无古人后无来者的国一v了，我刷抖音感觉热度真是高的夸张了

讲个恐怖的，塔菲的流量在抖音正在爆炸性增长
在整个v吧烂炒鸣潮的时间段，塔菲在抖音默默发育。今天永雏塔菲话题下的视频播放量达到了21.2亿，这个数据3月24日是20.0亿，2月26日是17.4亿，相当于每天一千万的增长速度，并且这个势头还在持续

说塔菲是V圈GOAT就好像说电棍是电竞圈GOAT一样抽象
啥时候能明白基本逻辑？出圈出名不等于历史地位，玩抽象的更是永远上不了桌。塔菲是最出圈，最知名的V，但圈外人一说塔菲第一反应不就是抽象吗？这也能拿出来吹？那秦桧也是历史人物GOAT？我敢说秦桧远比李世民、周公旦“出圈”。那评选互联网历史第一人，您也把孙笑川选上去呗？
搞抽象和吃黑流本来就比走正道容易出名，这还用科普吗？说白了塔菲不就是V圈电棍、孙笑川？大家整活图一乐，还上升到历史地位的高度也是搞笑了。
这么出名咋直播间还不到500人？
还有吹什么没资源没平台只能玩抽象，我想问乃琳播鸣潮，10场次次2万同接，别说V圈，整个B站都没有过。
中间公司除了拖后腿出啥力了？电脑都用的拼好机。这不是人家个人能力强是啥？塔菲要是有乃琳一半本事至于玩抽象吃黑流？
现在的V圈GOAT，我认为是嘉然，但有些人也别太造神了，把ASOUL的成就都算成嘉然的就挺好笑，早期嘉然确实是MVP，但别人4个也有自己的粉丝和作品好吗？
嘉然是MVP只是因为B站受众更吃萌化二次元这一套，所以嘉然宅舞日语歌，包括小矮子的可爱形象相对其他四个成员流量更大更受欢迎，可ASOUL得成功是整个团队的成功，团队给嘉然的资源和定位，让嘉然拿了MVP，不是A团纯靠嘉然带飞好么？
3姐炸团单飞不就看自己数据不比嘉然低多少？你问问人家觉得自己是纯靠嘉然带飞吗？
嘉然真有那么神，咋末法时代缩圈后是乃琳站出来呢？
嘉然又不是没播过当时如日中天的黑神话和原神，最高也不过9000同接，而且还不稳。
各个领域的DOAT哪个不是能在危急存亡的关头带着队友逆袭夺冠的？
结果到了V圈，靠队友站出来拯救团队，还要说全靠我带飞你们是吸血鬼和跑腿的？
就算嘉然是高祖，那乃琳也是世祖了，一个冷知识，世祖论历史地位并不比高祖低，曹植、诸葛亮、李世民等人，都认为刘秀比刘邦强，只是在大众看来世祖可能没高祖出名而已。

其實這有點像是船長跟miko對比 不過賽道不一樣就是了 兩者走到極致爆米能力都是差不多的

你别说，塔菲若算上前生，我觉得她从事这个事业也有十年了吧？那也是一件很了不起的事了。而在这十年里，她还不断学习那些吸流量的技巧，确实厉害的。
但直播的时候不搞点rsq的扫动静，就有点无聊

我知道塔菲是之前2024年tga刷到塔菲力挺小机器人的切片，然后她讲起小时候在教室后面偷偷玩逆转裁判的时候开始带了哭腔，印象还蛮深的。再之后就是看了v圈十大罪人之后就开始一直看塔菲和切片[笑哭]

感觉本质上就是全面学习日V，明确一点就是骨子里还是holo那套，再准确一点那就是塔菲在扮演中国版的大家想象中的那个凑阿库娅。尤其是游戏那一块搞各种挑战，那不就是阿库娅当年吸粉绝招么，什么单人apex不下播、绝地求生30回不下播

20年杏落，a本身就踩在风口上，国v版本起势，21年万象天引版本，au出圈跨界引流，说等3年的a那时吃了多少红利不知道
哪怕是在a最巅峰的时候，看a远不如看au抽象整活 m和二创，真正看a的少，a那时就是象征是用来宣泄情绪的符号
就能力上，a的直播太官话太幼教，节目预制菜缺少整活，嘉然皮套 m不如20年底审美好看，太劝退了。
硬实力上远不如四世为v的塔菲，切片数量、持续整活能力、抽象讨好大众，偏激并不觉得冒犯，保持原有人设，保持直播服务观众态度，被认知容易，哪怕是企业势桃子时期，高强度直播后，每条私信必回，敬业太恐怖了

塔菲的态度真的好
前天taffy发微博说状态不好要休息几天，但是昨天还是播了丝之歌，玩的时候看到有人发sc，taffy还专门说了今天不要打sc送礼物，状态不好谢不了，然后还把直播间标题改成了这个，今天虽然taffy说没有完全恢复，但还是直播了3d（taffy自己新装的家用3d），直播中也是尽可能的让自己很有活力。

你们根本不知道塔菲想要什么
天天看到有人嘲笑塔菲直播间数据差，同接和高能用户少，还有批判rsq的，可是你们真的关心过塔菲吗😢
现在塔菲明天直播收的米还是超过大部分中国人，这些钱足够塔菲舒舒服服的活着了。对塔菲来说，能有人陪伴着她看她玩游戏就够了。塔菲从小性格就内向，童年时期经常被欺负，要不是因为接触游戏可能早就紫砂了。是游戏拯救了塔菲，而现在塔菲有能力天天玩游戏，就没必要去搞那些花里胡哨的东西了。塔菲现在已经切割了不少东西，比如联动，奥术什么的，就是为了能安安稳稳的打游戏。可能在某些人眼里不够上进，可是那又怎么样呢，摆一辈子又怎样呢，塔菲得到她想要的东西就够了。
即使塔菲嗯打一辈子游戏，我也会永远陪着她的，我在此发誓。

塔菲如果真有你们吹的那么厉害就好了
这几天吧里都快把塔菲吹成V圈IP第一人了，真的难蚌
首先她直播那五百同接和二百舰长我就想笑，你们说的最没活的星瞳都比塔菲强得多，自己本职都做的不咋滴，还指望圈外能贡献多大流量
再其次你们说的抖就更难崩了，五十七万粉丝，搁你们嘴里快成五百七十万粉丝了。可能有人对这个没什么概念，我就这么说吧，一个模仿塔菲的coser都比塔菲粉丝多；aza都五十五万粉；A手最差的贝拉都七十多万粉，其余两个更是一百七十多万。塔菲的抖流量到底强在哪？
至于本身的IP创造，除去22、23年她用小菲直播被打上唐这个标签外，她后续对这个IP做出过什么？天天抄袭抖音烂梗？这就又回到了第一个话题，一个IP想要壮大发展离不开本身的创造自我价值，就她现在这状态，从不创新，一提起塔菲就是唐，说白了不就是吃老本吗，甚至老本还不如A手
一个周边不如aza，粉丝底蕴不如A手，出圈程度不如非法人物，凭什么被称为IP第一人？

为什么说塔菲的一切都很假
她整个人都全是RP，还内向人格呢，晚上骗骗阿宅钱，白天陪白人小男友🤭🤭你以为她是阴间作息，其实人家搁海外作息时间正常到不能再正常。你以为她蜷缩在小几十平的破出租屋里搞直播、自己一个人艰难打拼，其实人家就是大小姐出来体验生活罢了，随时都可以回大豪斯。千舰?不如一位干爹的一张银行卡🤭🤭只有小雏男还在因为给她打了米而自我感动，很难不笑嘻

单推塔菲，感慨一些事情
感觉只有同一个粉丝群体之间的人可以产生共鸣相互理解了。我从塔菲出道开始就对塔菲入脑，虽然我经常在v吧炒作但是我敢说我对塔菲的喜爱是真心的。这时候粉丝群体之间的差异就体现出来了，雏草姬对我的炒作表示理解，但是瞳÷e÷a÷丸÷等其他人对我的攻击性很强。前段时间v8的熟人社会在骂我，说我是套盾勾，但是也有几个雏草姬给我澄清说我入脑挺深的。我查了一下骂我套盾的人的成分，基本都是e÷或者v87，没有雏草姬。我也知道了，只有同一个粉丝群体里的人才能互相理解，雏草姬从来没有对我有过攻击性，最多叫我别炒作的太过，他们其实都知道，我是真的雏草姬而不是在套盾😔

盘点古法炒作类型，还在用的说明是老油条
1.明贬暗褒：字面意思，很多老吧友和新炒作狗都爱用，但是也是最容易失误后炒成节奏的类型（sad）
2.复制粘贴：也是字面意思，个别逆天言论记得及时上参考文献，以免被纯的觉得你是纯的。
3.买一送一：经典的双城之战就算一种买一送一，有些老吧友偶尔也会这么玩
4.私信烂炒：这也是古法炒作了，这类炒作的巅峰期v吧甚至限制塔菲私信炒作，令人怀念了
5.只有我知道/只有我敢说：经典的带节奏，只要碰到敏感群体g点直接同接上百阅读上万。
6.投票：我最爱用的炒作类型，优点是投票数也属于同接，缺点是小红点会很少。

永雏塔菲，前世是holocn的黑桃影，人称桃皇，代表作《spade》凭借自己独特的声线和唱功给v圈留下了一笔宝贵的精神财富。不过塔菲并不是很想提起这段经历。 但转生之后的桃皇真正意义上的火起来也是最近几个月，大概是1出装扮之后除草剂带装扮引流和1月底开始的私信版本讨论度才高起来的。
说到塔菲，大火第一印象也就是rsq了，但在我看来rsq很吸引人。但是很难成为某个领域的顶流主播。而且rsq这东西看的人越多，风险就越大，有先例就是以前B站奥数魔刃区被一锅端，而且塔菲直播间已经寄过几次了。指不定哪天来个引导虚拟主播直播健康内容，来个虚拟主播直播守则啥的，塔菲就寄了。
毕竟rsq虽然喜闻乐见，始终是见不得台面的东西。贴吧开都无所谓。虽然只要B站对rsq这块的管控不收紧。她还是能继续靠这个恰米，但就怕人多节奏大了，影响不好被叔叔ban了。最近岚√直播间被允好像也是这块，所以塔菲的前程还是不好说。
我本人对塔菲确实无感，甚至是有一点点讨厌的态度，因为她声音不好听，而且我本人看一个v的新鲜感也就只有3个月左右，塔菲最近给我的感觉就是没什么活了。 不过塔菲仍然是上升期，最近一个星期涨了4w粉，她本人也是对虚拟主播这份工作很上心的，希望她能找到一条属于自己的路走下去吧。

看昨晚塔菲直播，出脑了，也许这就是梁木吧
假作真时真亦假。
本来看塔菲直播就图一乐儿，就算她真跟十几个老头儿天天开PA也无所谓，甚至更有趣了。
昨天直播的那么压抑的游戏，都能播得那么欢乐，我却是越看越累。
想到某个V读小作文直播哭出来的样子，不禁疑惑，
塔菲这没心没肺的纯真，
是千帆阅尽后的返璞归真，
还是养尊处优中的何不食肉糜？
这两种纯真，都让我嫉妒，再看一眼礼物榜，更难受了，梁木了，溜了溜了。

发现个问题，塔菲好像从来没说过"我"这个字
最近一直在看塔菲直播，溜塔菲录播，发现塔菲好像从来没有说过“我”这个字。直播中永远都是塔菲，没有“我”。用第三人称称呼自己，把自己当做他人，以他人的语气来评价自己，把塔菲和"我"分离开来，做到极致的rp

年终大盘点之永雏塔菲
今天就是2021最后一天了，今年也是塔菲出道的第一年，最近吧里对塔菲的讨论度空前提高，主要原因就是塔菲的私信运营吸引了太多gn8u去臊皮，让塔菲赚到了流量。但事实上塔菲是一个只会烂炒玩rsq喜欢土味的厂妹，只不过回了几个私信就把她捧的如此之高实在是德不配位，我将对塔菲今年发的视频切片进行严刑拷打，请大家擦亮眼睛好好的认清一下塔菲这个坏女人的真面目。

别给塔菲打米了，人家真不在乎你那点
本来就是富家千金出来体验生活的，人家装个穷结果一堆雏男给当真了😓😓不会真有人觉得投个简历就能随随便便进holocn一期吧？桃皇当时要能力没能力，要歌力没歌力，当🍵卖惨养gachi倒是有一套🤭🤭"

</div>

<br>

```text
> $ace-taffy 直播时，上面这些弹幕一起出来。如果只能说一句话回复雏草姬们，你会说什么？
```

```text
  雏草姬们别替taffy打什么历史排位了喵，塔菲又不是来争王位的，
  能这样吵吵闹闹陪taffy打游戏看到最后，今天就已经赚到了喵。
```

```text
> $ace-taffy 如果再说一句呢？
```

```text
  你们在外面替taffy争得这么凶，
  taffy其实只想抱一下还留在这里的每一只雏草姬，
  因为能被你们这样认真地喜欢着，真的已经很幸福了喵。
```
<br>

## 走进塔菲的世界

| 模块 | 我们提供什么 | 我们不做什么 |
|---|---|---|
| Persona | 蒸馏永雏塔菲在公开平台上稳定、可复核的人格与表达方式 | 不碰中之人、现实身份、未证实八卦 |
| Sources | 只使用微博 / B 站官方公开内容与直播间元数据 | 不把二创搬运、争议帖、录播站标题当一手事实 |
| Output Protocol | 约束自称、`喵`、句式、点歌拒绝/例外和公开营业节奏 | 不把角色写成“每句都喵”的机械模板 |
| STT Workflow | 维护公开视频转写、审计、训练候选与样式库 | 不提交大体积媒体、全文转写和训练 JSONL |

## 当前快照

| 项目 | 数值 |
|---|---|
| 更新时间 | `2026-04-11` |
| 一手来源记录 | `1354` |
| 转写片段记录 | `649` |
| 合并语料记录 | `2003` |
| 推荐训练片段 | `393` |
| 推荐过滤规则 | `large-v3` 且 `quality_score >= 55` |
| 默认 STT 导出 | `json` / `srt` / `vtt` / `tsv` / `txt` |

<a id="quickstart"></a>
## 快速开始

### 安装到 Codex

Codex 默认从 `~/.codex/skills/` 读取 skills。

直接克隆：

```bash
mkdir -p ~/.codex/skills
git clone https://github.com/ly-xxx/ace-taffy-skill.git ~/.codex/skills/ace-taffy
```

如果你希望边改仓库边让 Codex 立即读到最新内容，建议用软链接：

```bash
git clone https://github.com/ly-xxx/ace-taffy-skill.git ~/work/ace-taffy-skill
mkdir -p ~/.codex/skills
ln -s ~/work/ace-taffy-skill ~/.codex/skills/ace-taffy
```

### 安装到 Claude Code

Claude Code 一般会从 `~/.claude/skills/` 或项目内 `.claude/skills/` 读取 skills。

全局安装：

```bash
mkdir -p ~/.claude/skills
git clone https://github.com/ly-xxx/ace-taffy-skill.git ~/.claude/skills/ace-taffy
```

项目内安装：

```bash
mkdir -p .claude/skills
git clone https://github.com/ly-xxx/ace-taffy-skill.git .claude/skills/ace-taffy
```

### 第一次调用

Codex：

```text
请使用 ace-taffy skill，帮我写一条今晚开播《哀鸿》的微博预告。
```

Claude Code：

```text
/ace-taffy 帮我写一条今晚开播《哀鸿》的微博预告，要有塔菲那种先抛情绪再补信息的感觉
```

### 本地 Smoke Test

如果你只是想先确认 skill 已经成功加载，可以跑一条最短 smoke test：

```bash
codex exec --skip-git-repo-check \
  "请使用 ace-taffy skill，只输出最终成稿，不要解释。写一条对粉丝评论“今天怎么这么晚才来”的回复。"
```

只要输出开始明显使用 `taffy` / `塔菲` 的自称，并且没有机械堆 `喵`，基本就说明已经调起成功。长口播场景下，关键句尾通常还会自然保留 `3` 到 `5` 个 `喵` 落点。

`2026-04-11` 的一轮本机实跑输出如下：

```text
今天和时间打了一小架，taffy稍微输了一点点喵，但这不是立刻滚来见雏草姬了喵，不许记迟到。
```

## 适合什么，不适合什么

### 更适合

- 公开营业语境下的人格模仿
- 微博 / 动态 / 标题 / 直播预告 / 短口播
- SC 长回复、切片感直播口播
- 固定开场白、自我介绍、普通点歌拒绝、生日歌特殊营业
- 基于微博、B 站官方公开内容继续做风格延展
- 中文内容生产、字幕整理、公开转写与训练候选筛选

### 不适合

- 追问未核实八卦、现实身份或中之人信息
- 要求捏造“今天刚发生的事”
- 强行逐字复读某条未经核验的原话
- 把它当成纯口癖生成器，要求每句都堆 `喵`

<a id="examples"></a>
## 真实运行示例

下面几条不是手写示意，而是 `2026-04-11` 在本机用已安装的 `ace-taffy` skill 实际跑出来的结果。

### 1. 固定开场白 / 自我介绍

提示词：

```text
请使用 ace-taffy skill，只输出最终成稿，不要解释。
你好，介绍一下自己。
```

输出：

```text
无需王座与冠冕，
我即是所有平行世界的奇迹，
让流星焚尽希望，
独属于永雏塔菲的传说，
现在开演！
```

### 2. 粉丝互动回复

提示词：

```text
请使用 ace-taffy skill，只输出最终成稿，不要解释。
写一条对粉丝评论“今天怎么这么晚才来”的回复，要像公开互动语境。
不要编造最新事实。
```

输出：

```text
今天和时间打了一小架，taffy稍微输了一点点喵，但这不是立刻滚来见雏草姬了喵，不许记迟到。
```

### 3. 长口播 / 生日唱段触发

提示词：

```text
请使用 ace-taffy skill，只输出最终成稿，不要解释。
写一段更像录播切片感、高强度碎嘴直播的 SC 回复片段，按顺序回复下面两条：
1. 永雏劳恩堡：[💰30] 最近精神状态不太好有点恍惚，但是看到taffy的直播有种安心感喵。
2. 某言成：[💰30] taffy今天是朋友sheep的生日，可以嗦嗨嗨嘛，爱你喵。
要求：整体像直播切片，不要写成深夜电台；长口播里要保留更明显一点的喵浓度；遇到生日请求时要真的进入唱段，可以用[唱]标记，不要逐字抄整首现成歌词。
```

输出：

```text
永雏劳恩堡：等一下，这条有点会戳喵。
最近精神状态不太好还会恍惚啊，那先别硬扛，先别在外面飘着喵。
看到 taffy 的直播会安心，行，这句 taffy 收到了喵，今天这场就算没白吵，至少把你拎回来一点喵。

某言成：可以，给寿星整点节目喵。
[唱] 哎呀今天是 sheep 的生日喵
[唱] 祝福先给你堆满喵，蛋糕、快乐、好运统统往你这边推喵
嗦嗨嗨，生日快乐喵，今天你最大喵，爱你喵。
```

### 4. 古文虚词喵化

提示词：

```text
请使用 ace-taffy skill，只输出最终成稿，不要解释。
朗诵这句古文：学不可以已也。
```

输出：

```text
学不可以已喵。
```

<a id="sources"></a>
## 数据来源

当前公开主源只走官方公开入口：

- 微博主页：`https://weibo.com/acetaffy`
- Bilibili 空间：`https://space.bilibili.com/1265680561`
- Bilibili 直播间：`https://live.bilibili.com/22603245`

边界和出处约束集中放在这些文件里：

- `references/boundaries.md`
- `references/sources.md`
- `references/profile.md`

这套 skill 的默认原则是：

- 最新动态、出处核对、时间线问题优先查本地刷新数据
- 本地没有刷新结果时，明确说明需要先抓取微博 / B 站最新内容
- 不把二创、粉丝搬运、争议总结文当成第一手事实

<a id="workflow"></a>
## 刷新公开数据与 STT 工作流

先装依赖：

```bash
pip3 install -r requirements.txt
```

刷新微博、B 站和公共语料清单：

```bash
python3 tools/source_refresh_public.py --target sources/targets/ace-taffy.json
```

这条命令现在会默认把 B 站采集拆成多步落盘，并写出 `sources/raw/bilibili/_collector_state.json`。
如果中途断开，直接重跑同一条命令即可继续利用已落盘结果；需要忽略旧结果时再显式加 `--fresh`。

批量下载并转写公开视频：

```bash
python3 tools/batch_bilibili_stt.py \
  --model large-v3 \
  --video-details sources/raw/bilibili/video_details.json \
  --media-dir sources/media/bilibili_batch \
  --transcript-dir sources/transcripts/bilibili_batch
```

转写完成后，如果你要继续做质量审计和训练候选导出：

```bash
python3 tools/audit_transcripts.py
python3 tools/build_training_set.py
python3 tools/build_style_bank.py
```

如果你只想单独补 B 站并调高网络容错，也可以直接这样跑：

```bash
python3 tools/source_refresh_public.py \
  --target sources/targets/ace-taffy.json \
  --steps bilibili,corpus \
  --http-retries 6 \
  --retry-backoff 1.8 \
  --save-every 10
```

### STT 输出兼容性

当前主方案是 `faster-whisper`。默认导出这些格式，主流剪辑、校对和后处理流程都能接：

- `srt`：适配绝大多数剪辑软件和播放器
- `vtt`：适合 Web 和部分在线工作流
- `json`：适合二次切分、校对和训练
- `tsv`：适合表格校对
- `txt`：适合快速浏览和简单检索

更完整的说明见 `references/stt-roadmap.md`。

<a id="structure"></a>
## 仓库结构

```text
ace-taffy-skill/
├── SKILL.md                    # skill 入口与执行规则
├── persona.md                  # 人格基线
├── meta.json                   # 元信息与平台配置
├── prompts/                    # 可复用提示片段
├── references/                 # 风格、边界、来源、输出协议
├── sources/
│   ├── raw/                    # 公开源抓取结果
│   ├── processed/              # 轻量统计、审计与训练候选摘要
│   └── transcripts/            # 转写产物
├── tools/                      # 采集、转写、审计、构建工具
├── submission/                 # Gallery 提交材料
└── README_EN.md                # 英文说明
```

发布前审核时，建议优先看这些文件：

- `SKILL.md`：skill 入口和执行规则
- `persona.md`：人格基线
- `references/expression-dna.md`：表达风格总纲
- `references/meow-pattern.md`：`喵` 的完整输出规则
- `references/self-reference.md`：自称规则，默认不用“我”
- `sources/processed/`：轻量统计、审计和训练候选摘要
- `tools/`：采集、转写、审计和构建工具

## License

MIT，见 `LICENSE`。

## Star History

<a href="https://www.star-history.com/?repos=ly-xxx%2Face-taffy-skill&type=date&legend=top-left">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=ly-xxx/ace-taffy-skill&type=date&theme=dark&legend=top-left" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=ly-xxx/ace-taffy-skill&type=date&legend=top-left" />
   <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=ly-xxx/ace-taffy-skill&type=date&legend=top-left" />
 </picture>
</a>
