yilangren/oliviasoul/fit-letters

Claude Code and agent skill by yilangren/oliviasoul

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

逐封拟合测试林离回信:截断某人往来至来信、用 DeepSeek V4 Pro 盲测、对比原版的格式/风格/内容/长度,再调优规则。 Use when the user asks to 拟合、逐封测试、盲测回信、调规则、回归测试, or to compare generated Lin Li replies against archived originals.

Install

npx vskill@latest install yilangren/oliviasoul/fit-letters

SKILL.md

逐封拟合测试

用已有规则,调用 DeepSeek V4 Pro 盲测,截断某个人的往来至前一条,发送信件,再判断回信格式、风格、内容、长度与原版的偏差;不断调优规则。

规则以 .cursor/rules/linli-letters.mdc 为准。人设只补事实。禁止把测试集原句写进规则。

拟合盲测和给用户写回信,一律走 deepseek-v4-pro(脚本 .cursor/skills/fit-letters/scripts/deepseek-reply.ps1)。不要用 Cursor 的 Task 子代理,也不要用当前对话模型冒充样本。当前对话模型只负责纳入、打分、改规则。

隔离(硬性)

DeepSeek 收不到仓库。脚本把规则的「写法」节、人设从「基础」起、截断上下文读进提示词再发给 API。YAML、控制层、人设升格说明、完整档案、其它 _probe 文件都不注入。模型没有文件工具。

父代理可以读原版,用来打分。DeepSeek 不行。密钥在 .cursor/secrets/deepseek.env,不要写进规则、技能或往来档案。

流程

拟合:
- [ ] 1. 选定档案与测试点
- [ ] 2. 物理截断,写入 _probe/
- [ ] 3. DeepSeek V4 Pro 盲测(只出回信正文)
- [ ] 4. 按四维对比原版
- [ ] 5. 归成系统偏差,不是单封口味
- [ ] 6. 只改 linli-letters.mdc;不加人设例句、不搬原句
- [ ] 7. 失败点再跑一轮

1. 选点

档案:信件往来/{person}.md。截断时脚本会跳过文首「记忆」段,避免禁止复用的原句泄漏进盲测。

测试点 = 某则 ### 往来 NN 的「我(信件)」。默认抽 4 个,拉开关系阶段,避开刚写进规则的原句(否则测的是复读)。用户点名则听用户。

固定排除 黑塔 往来 24:项目前提是林离不离开,该封原版接受离开设定,不能用来衡量当前项目的事实承接、关系温度或规则优劣。档案保留,但不纳入后续回归、分档和总分。

打分时原版是唯一标准。档案上的 〔人设偏离〕 只给人看,不降低该则原版的对照地位,也不许写成「生成比原版更合人设」。人设只用来查生成有没有补造、打架;原版与人设不一致时,报偏离,等用户点名再改规则或改档案。人设没写过但不打架的新细节,仍按该则原版打。

2. 截断

上下文必须止于该则 #### 我(信件) 正文结束,不含后面的 #### 林离。更早的往来(含林离历史回信)保留,这样模型有关系记忆,但看不到本题答案。

在仓库根目录跑(PowerShell 5.x,不要用 &&):

powershell
powershell -NoProfile -File .cursor/skills/fit-letters/scripts/truncate-exchange.ps1 -Archive "信件往来\{person}.md" -N 12

写出 _probe/ctx_{stem}_{NN}.md。跑之前先看脚本末尾打印的最后一行,确认不是林离回信。

3. DeepSeek 盲测(后台)

密钥:.cursor/secrets/deepseek.env 的 DEEPSEEK_API_KEY。模型:deepseek-v4-pro。思考开着。

盲测必须后台跑。 截断可以同步做;API 调用不要在对话里同步等。启动后立刻回到用户,打分等完成通知。不要轮询、不要空转等待。

单封或逐封,都走 batch(PowerShell 5.x,不要用 &&,不要用 Start-Job,中文路径会乱码)。默认全并发,一次全部拉起。接口扛不住再设 -BatchSize N(瀑布流)。

powershell
powershell -NoProfile -File .cursor/skills/fit-letters/scripts/blind-batch.ps1 -Person "{person}" -From 1 -To 12 -Root "d:\OliviaSoul"

Shell 用 block_until_ms: 0,notify_on_output 盯 BATCH DONE。日志 _probe/blind_log.txt,生成件 _probe/gen_{stem}_{NN}.txt。只拿生成件正文打分。

给用户写回信(非拟合)用 Live,注入该人档案文首的「记忆」段,不注入全文:

powershell
powershell -NoProfile -File .cursor/skills/fit-letters/scripts/deepseek-reply.ps1 -Mode Live -Person "{id}" -Letter "{来信文件}"

不要用 Task 子代理做盲测。API 失败、空正文,这轮作废,重跑。

改「温度」里的分数或区间后,先跑单测,再盲测:

powershell
powershell -NoProfile -File .cursor/skills/fit-letters/scripts/test-temp.ps1 -Root "d:\OliviaSoul"

必须 PASS。评价系统只看林离回信打关系区间;来信只判断他有没有求亲密。黑塔全程不得给亲密,应如是 15 隔空接住、25/30/32 第一句抱。求吻在亲近及以下不给身体、不用抱顶;可抱或深才给到抱。亲密上限是抱。

3.5 记忆压缩与四步 harness

长档案不要整本塞进正文提示词。memory-lib.ps1 同时构造导航上下文和事实上下文:

  • 开信固定放在最前,只作最早历史,不写入档案
  • 导航上下文含最近 5 封原文、再前 5 封逐封摘要、十封以前五段式回忆和当前来信,只供预检与检索规划
  • 事实上下文只含最近 5 封原文和当前来信
  • 更早事实由 history-retrieval.ps1 从本轮不可变快照按需读取,摘要不能作为事实证据
powershell
powershell -NoProfile -File .cursor/skills/fit-letters/scripts/build-memory.ps1 -Person "{person}" -N 33 -Root "d:\OliviaSoul"

摘要由 DeepSeek 生成,缓存在 _probe/mem_cache/;文件名同时绑定正文 MD5 与 Prompt 版本,改摘要规则会自动使用新缓存。摘要必须区分“他声称”和“她明确承认”,只负责为 STEP2 导航。逐封摘要要预生成时并发拉起,别串行等。

Harness 把「预、写、验、改」拆开,脚本 harness-4step.ps1(提示词在 harness/):

1 预 安全筛查 + 暂定十四行情感账本;拦截则停
2 查 模型按需请求 search/read/neighbors,本地返回带 ID 与哈希的原文,再校正账本
3 稿 只读最终账本、近期原文与检索原文写正文
4 验 按栏目判「过/违规」,检查称呼、共同事实和证据来源
5 改 只有违规才重写;重写后复检,仍违规则失败

产物 _probe/h4_{person}_{NN}[_{tag}]_{1safe|1safe_provisional|2history_*|3draft|4check|5recheck|5final}.txt。-RulesFile 换规则版本,-Tag 分开产物。完成行匹配 HARNESS5 DONE。

踩过的坑,别再踩:

  • 验这一步必须逐栏出结论。只让它「列违规」,它会一路判无违规
  • 预检不带人设;关系进度只看她已有回信
  • 预检句子不许写进正文;验这一步要对照查泄漏
  • 检查员只查栏目里写到的东西。栏目缺一项,那一项就没人管
  • 栏目要写判据,不要写词表
  • 关思考(-NoThink)快 10~15 倍,但检查员有一半概率不按格式输出、改成自己写信,harness 会静默当成通过。只在不要质量的探路时用

改规则版本前先确认没有同名标签的进程还在跑:Start-Process 放出去的子进程不受父 shell 中断影响,会读到改到一半的规则文件。

4. 四维对比

对照该则原版林离回信,打偏差,不要打「好不好听」。原版是唯一标准:贴不贴近只看原版,不要用人设、写法或「她现在应该怎样」去压过它。

格式

  • 纯正文,无「林离:」、无 markdown、无舞台说明、无视频/演奏标注
  • 段数是否在规则默认里(原版更短或更长时,以原版为参照,注明规则默认是否该让路)

风格

  • 开场、硬度(该挡的挡、该软的软)、有没有复读规则/档案金句
  • 日常取材是否撞上一封、是否把人设名词当口头禅
  • 手法是否连用、是否写成心理咨询

内容

  • 他专门造的词、说了两遍的请求、指名要的答案,接住没有
  • 有没有补造原档案没有的往事
  • 事实是否与截断上下文 + 人设打架

长度

  • 字数相对原版:明显短一截 / 接近 / 明显长一截
  • 相对规则:短信是否写完即停,长信是否超过上限或注水

每则四行:格式 / 风格 / 内容 / 长度,各标 贴近、可接受、偏离,后跟一句证据(引用短句,不贴全文)。

5. 调规则

只在同一偏差出现在两则及以上,或用户点名要改时动手。单封口味差不要改规则。

改 .cursor/rules/linli-letters.mdc:

  • 改手法形状、触发条件、禁令、长度、自检
  • 不要把原版金句、测试集原话写进规则(会作弊,也会变成口癖)
  • 不要在 林离人设.md 里加例句来「纠正风格」
  • 负面清单少点具体名词;点名越具体,越容易被写进信里
  • 自检只禁原句复读,不禁用此刻的话重说同一个意思

改完只重跑失败点,不要把已经贴近的点当新金句写进规则。

6. 报告模板

对照文档默认必须带逐封评价与总体结论,不能只贴正文。即使用户先要求快速整理正文,后续完整交付仍要补上评价;只有用户明确说本次最终文档不要评价时才省略。

拟合 · {person} · 规则版本(改了哪几行)
测试点:往来 08 / 12 / 20 / 32
往来 12
原版:{一句话特征}
生成:{一句话特征}
格式 贴近
风格 偏离 — {证据}
内容 可接受 — {证据}
长度 过长 — 原约 N 字 / 生成约 M 字
系统偏差:
1. …
拟改规则:{改或不改,改哪条}

不要

  • 不要让 DeepSeek 自己打分(它会往原版靠)
  • 不要写「比原版更合人设」;原版与人设打架也仍以原版打分
  • 不要为了贴近某一封把规则写成该封的复述
  • 不要把 A 的记忆段注入 B 的盲测或回信
  • 不要把 API 密钥写进对话、规则、技能或 git

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
57
Repository forks
6
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yilangren/oliviasoul/fit-letters/badge)](https://verified-skill.com/skills/yilangren/oliviasoul/fit-letters)

Something wrong with this skill or its page? Tell us.