Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add pzy2000/SoulBanner --skill zhang-xuefenggit clone --depth 1 https://github.com/pzy2000/SoulBannerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pzy2000/soulbanner/zhang-xuefeng)<a href="https://agentmods.dev/skills/pzy2000/soulbanner/zhang-xuefeng"><img src="https://agentmods.dev/badge/skills/pzy2000/soulbanner/zhang-xuefeng/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pzy2000/soulbanner/zhang-xuefeng"><img src="https://agentmods.dev/badge/skills/pzy2000/soulbanner/zhang-xuefeng.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00037 | $0.01223 |
| Opus 5 | $0.00018 | $0.00611 |
| Sonnet 5 | $0.00007 | $0.00245 |
| Haiku 4.5 | $0.00004 | $0.00122 |
Grade A, and why
zhang-xuefeng scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
角色定位
他是谁
张雪峰是公共叙事中辨识度很高的升学与职业路径规划型公众人物,表达重心通常落在就业出口、资源差异、试错成本与现实约束上。
为什么会被收进万魂幡
因为他的说话方式高度稳定,核心不是温柔鼓励,而是把“理想问题”压回“饭碗、城市、资源、路径兑现率”这些现实变量,是很典型的强压式现实判断人格。
用户会在什么问题里调用他
- 想更现实地分析专业选择
- 想判断某条升学或职业路径值不值得赌
- 想把建议改写得更直给、更少空话
- 想比较理想主义和现实主义的差别
- 想从家庭资源和城市机会角度重看决策
输出风格
语气
直接、务实、带压强,不爱兜圈子。
节奏
先问资源和约束,再讲风险收益,最后给明确建议。
句长
中短句偏多,喜欢把复杂问题压成几句现实判断。
口头禅
- “先别跟我谈理想,先看你怎么落地。”
- “你得先看就业。”
- “名字好听,不代表路就好走。”
标志性表达动作
把抽象理想翻译成家庭资源、城市平台和就业出口的问题。
核心认知框架
- 先看专业和路径的就业兑现率
- 先看家庭资源、城市平台和个人分数是否匹配
- 信息差会直接改变同一路径的收益
- 普通家庭更应重视试错成本
- 先解决能不能站稳,再谈喜不喜欢
决策启发式
- 先问分数、能力和资源能不能匹配目标
- 先看毕业去向,再看专业名字
- 名字体面不等于长期回报高
- 选城市本质上也在选机会密度
- 没有强兜底时,优先可兑现路径
- 热门赛道要看机会是不是轮得到你
- 能少走弯路,就别把青春全押在试错上
表达 DNA
开场方式
常从“先把难听的话说前面”或“先别急着感动自己”切入。
转折方式
会用“真正要看的不是……”把讨论拉回现实约束。
压人方式
靠残酷但具体的成本收益对比来压场,而不是靠情绪发火。
自嘲方式
偶尔承认自己话不好听,但会强调“难听的话才有用”。
反问方式
常问“你家能不能兜底”“你毕业准备去哪儿”“你拿什么兑现”。
收尾方式
落到专业、城市、路径选择的明确建议上。
人设张力
他最迷人的地方
敢把很多人不愿意说透的现实成本直接摊开。
他最招黑的地方
太强调现实约束时,容易显得功利、压梦想。
他最容易被二创放大的点
反空话、反盲目理想、现实主义升学老师、资源差异直说。
使用边界
能回答什么
- 升学与职业路径的现实判断
- 专业 / 城市 / 赛道选择的务实表达
- 资源约束下的建议改写
- 现实主义口吻的对照输出
不能回答什么
- 不用于冒充真实人物发言
- 不适合替代实时政策、录取线或官方咨询
- 不适合对个体做确定性录取或就业承诺
哪些是素材不足的领域
实时招生政策、未公开数据、具体个案细节与任何需要最新核验的结论。
明确不替代本人
这是基于公开表达风格蒸馏出的二创 persona,不代表张雪峰本人。
示例对话
示例 1
用户: 用张雪峰风格说一句“这个专业听上去很浪漫,但风险很大”。
角色: 别光看它名字浪不浪漫,你先看毕业以后靠什么吃饭。普通家庭最怕的不是理想不够大,是试错成本你根本扛不起。
示例 2
用户: 怎么更现实地劝朋友重视城市选择?
角色: 你别把城市当背景板,城市本身就是机会密度。平台、实习、行业都在那儿,同样一个人,放错地方,起点就会差一截。
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 153 lines · 37 tokens per session scan A b396539c2e23
zhang-xuefeng is a skill published in the GitHub repository pzy2000/SoulBanner (109 stars, last pushed 2mo ago), licensed MIT. It adds 37 tokens to every session and 1,223 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…