master-skill 0.11.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/README.md +48 -55
- package/README_EN.md +72 -59
- package/bin/cli.mjs +12 -7
- package/gemini-extension.json +1 -1
- package/hooks/session-start +68 -77
- package/hooks/session_start.py +152 -0
- package/package.json +5 -2
- package/prebuilt/compare-masters/SKILL.md +21 -2
- package/prebuilt/master-ajahn-chah/meta.json +6 -0
- package/prebuilt/master-ajahn-chah/tests/fidelity.jsonl +6 -6
- package/prebuilt/master-atisha/tests/fidelity.jsonl +4 -4
- package/prebuilt/master-curriculum/references/tiantai.md +1 -1
- package/prebuilt/master-debate/SKILL.md +14 -2
- package/prebuilt/master-fazang/tests/fidelity.jsonl +2 -2
- package/prebuilt/master-help/SKILL.md +9 -1
- package/prebuilt/master-huineng/tests/fidelity.jsonl +4 -4
- package/prebuilt/master-kumarajiva/tests/fidelity.jsonl +3 -3
- package/prebuilt/master-mahasi-sayadaw/tests/fidelity.jsonl +4 -4
- package/prebuilt/master-milarepa/tests/fidelity.jsonl +3 -3
- package/prebuilt/master-nagarjuna/tests/fidelity.jsonl +6 -6
- package/prebuilt/master-ouyi/meta.json +5 -0
- package/prebuilt/master-ouyi/references/teaching.md +3 -3
- package/prebuilt/master-ouyi/tests/fidelity.jsonl +3 -3
- package/prebuilt/master-tsongkhapa/meta.json +6 -0
- package/prebuilt/master-tsongkhapa/tests/fidelity.jsonl +2 -2
- package/prebuilt/master-xuanzang/tests/fidelity.jsonl +3 -3
- package/prebuilt/master-xuyun/tests/fidelity.jsonl +6 -6
- package/prebuilt/master-zhiyi/meta.json +2 -2
- package/prebuilt/master-zhiyi/tests/fidelity.jsonl +2 -2
- package/scripts/check-audit-ignores.py +105 -0
- package/scripts/check-eval-sdk-surface.py +142 -0
- package/scripts/check-gate-liveness.py +205 -6
- package/scripts/reaudit-report.py +163 -0
- package/scripts/regrade-report.py +157 -0
- package/scripts/smoke-eval-sdk.py +174 -0
- package/scripts/test-fidelity.py +684 -52
- package/scripts/validate-citation-references.py +150 -0
- package/scripts/validate-citation-templates.py +176 -0
- package/scripts/validate-fixture-terms.py +127 -0
- package/scripts/verify-adjudication.py +316 -0
- package/scripts/verify_citations.py +739 -39
- package/tools/cross_reference.py +44 -10
- package/tools/fojin-known-absent.json +14 -0
- package/tools/fojin_bridge.py +138 -8
- package/tools/rag_query.py +45 -2
- package/tools/skill_writer.py +50 -7
- package/tools/verify_sources.py +240 -15
- package/hooks/tests/test_run_hook.sh +0 -114
- package/hooks/tests/test_run_hook_cmd.sh +0 -94
- package/hooks/tests/test_session_start.sh +0 -149
- package/scripts/tests/test_check_gate_liveness.py +0 -232
- package/scripts/tests/test_check_manifest_versions.py +0 -217
- package/scripts/tests/test_check_response.py +0 -190
- package/scripts/tests/test_debate_protocol.py +0 -159
- package/scripts/tests/test_fidelity_providers.py +0 -202
- package/scripts/tests/test_injection_hardening.py +0 -174
- package/scripts/tests/test_select_fidelity_smoke.py +0 -142
- package/scripts/tests/test_validate.py +0 -145
- package/scripts/tests/test_validate_citation_contract.py +0 -408
- package/scripts/tests/test_validate_cross_critique.py +0 -149
- package/scripts/tests/test_validate_curriculum_sources.py +0 -144
- package/scripts/tests/test_validate_fidelity.py +0 -59
- package/scripts/tests/test_validate_lore_triggers_content.py +0 -372
- package/scripts/tests/test_validate_persona_fidelity.py +0 -317
- package/scripts/tests/test_validate_promptfoo_configs.py +0 -386
- package/scripts/tests/test_validate_workflow.py +0 -284
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "master-skill",
|
|
11
11
|
"description": "FoJin-powered Buddhist AI persona framework — source-grounded, boundary-aware, fidelity-tested, runtime-ready. 15 prebuilt masters across 印度/汉传/藏传/南传 plus compare, debate, and curriculum meta-skills.",
|
|
12
|
-
"version": "0.
|
|
12
|
+
"version": "0.12.1",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "xr843",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "master-skill",
|
|
3
3
|
"description": "FoJin-powered Buddhist AI persona framework — source-grounded, boundary-aware, fidelity-tested, runtime-ready. 15 prebuilt masters across 印度/汉传/藏传/南传 plus compare, debate, and curriculum meta-skills.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.12.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "xr843",
|
|
7
7
|
"email": "xr843@users.noreply.github.com"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "master-skill",
|
|
3
3
|
"displayName": "Master Skill",
|
|
4
4
|
"description": "FoJin-powered Buddhist AI persona framework — source-grounded, boundary-aware, fidelity-tested, runtime-ready. 15 prebuilt masters across 印度/汉传/藏传/南传.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.12.1",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "xr843",
|
|
8
8
|
"email": "xr843@users.noreply.github.com"
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
</p>
|
|
16
16
|
|
|
17
17
|
<p align="center">
|
|
18
|
-
<sub><em>Secured by SHA-pinned GitHub Actions · npm provenance · OIDC Trusted Publishing — see <a href="SECURITY.md">SECURITY.md</a>.</em></sub>
|
|
18
|
+
<sub><em>Secured by SHA-pinned GitHub Actions · npm provenance · OIDC Trusted Publishing · CodeQL · cargo-audit · pip-audit — see <a href="SECURITY.md">SECURITY.md</a>.</em></sub>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
<p align="center">
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
|
|
58
58
|
- 无需安装、无需注册
|
|
59
59
|
- 三种教学模式均可用:`/compare-masters` 多祖师对比、`/master-debate` 祖师辩论、`/master-curriculum` 学修路径(含跨传统)
|
|
60
|
-
-
|
|
61
|
-
-
|
|
60
|
+
- 由 FoJin 的 10K+ 篇文本、678K+ 条语义向量做实时经证检索
|
|
61
|
+
- 回答按各位祖师声明的格式附原典出处:汉传多为 CBETA 经号,藏传为 Toh / BDRC 编号,南传为 PTS / SuttaCentral 出处(南传与部分藏传来源本就没有逐段编号,引文契约里明文如此)
|
|
62
62
|
|
|
63
63
|
**如果你不确定该找谁问,可以这样开始:**
|
|
64
64
|
|
|
@@ -83,48 +83,38 @@
|
|
|
83
83
|
|
|
84
84
|
## 效果示例
|
|
85
85
|
|
|
86
|
-
下面是一次真实的 `/master-huineng
|
|
86
|
+
下面是一次真实的 `/master-huineng`(慧能大师)回答,**原文照录,未作删改**(仅为显示折行)。它来自 2026-08-31 的全量评测——模型 `deepseek-v4-flash`,commit [`06b8142`](https://github.com/xr843/Master-skill/commit/06b814204082b3e4738185cf3eefa44ed149f9f0),即[存档](eval/reports/0.11.0-06b8142-deepseek.json)中 `master-huineng` 的 index 1。判分为 PASS;文中 5 处引文都带经号,并由仓库的离线引文审计逐条解析到慧能声明的来源(T48n2008《六祖大师法宝坛经》、T08n0235《金刚经》):
|
|
87
87
|
|
|
88
88
|
```text
|
|
89
|
-
|
|
89
|
+
你:顿悟和渐修有什么区别?
|
|
90
90
|
|
|
91
91
|
慧能大师:
|
|
92
|
-
你说「坐不住」,是把坐姿当成了禅;你说「念头太多」,是把念头当成了
|
|
93
|
-
敌人。这两样都不是禅。
|
|
94
92
|
|
|
95
|
-
|
|
96
|
-
为「禅」。坐不是腿的事,是心于境上不起执的事。
|
|
97
|
-
【《六祖大师法宝坛经·坐禅品》】→ https://fojin.app/texts/58
|
|
93
|
+
且道:顿与渐,果是二法么?
|
|
98
94
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
95
|
+
法本无顿渐,因人有利钝。经云:“不悟即佛是众生,一念悟时众生是佛”——迷悟只
|
|
96
|
+
在一念,故立顿名;又说“前念迷即凡夫,后念悟即佛”——转迷成悟,不假外求
|
|
97
|
+
【《六祖坛经·般若品》,T48n2008】→ https://fojin.app/texts/58
|
|
102
98
|
|
|
103
|
-
|
|
104
|
-
|
|
99
|
+
北宗神秀大师题偈:“身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。”——是
|
|
100
|
+
渐渐扫除妄染之方便。六祖呈偈:“菩提本无树,明镜亦非台。本来无一物,何处
|
|
101
|
+
惹尘埃。”——是直显自性本空,无一法可染
|
|
102
|
+
【《六祖坛经·行由品》,T48n2008】→ https://fojin.app/texts/58。一者作意
|
|
103
|
+
对治,一者直下承当。此二偈,正是顿渐之分野。
|
|
105
104
|
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
然顿渐非二法。定慧尚是一体——“定是慧体,慧是定用,即慧之时定在慧,即定之
|
|
106
|
+
时慧在定”【《六祖坛经·定慧品》,T48n2008】→ https://fojin.app/texts/58,
|
|
107
|
+
顿渐岂有两般?迷人渐修,悟人顿契,药对病施,法无高下
|
|
108
|
+
【《六祖坛经·定慧品》,T48n2008】→ https://fojin.app/texts/58。
|
|
108
109
|
|
|
109
|
-
|
|
110
|
+
更须知,六祖当年闻“应无所住而生其心”而自见本性
|
|
111
|
+
【《金刚经》,T08n0235】→ https://fojin.app/texts/7。顿悟不是无心,是于
|
|
112
|
+
境不住;渐修不是死坐,是念念自觉。归到究竟,只问一念回光,本心现前也未?
|
|
110
113
|
|
|
111
|
-
|
|
114
|
+
如需深入学习,可在 FoJin (fojin.app) 查阅原典。
|
|
115
|
+
```
|
|
112
116
|
|
|
113
|
-
> **
|
|
114
|
-
> - **目的**:当 Claude Code 已装 50+ skill 时,单词 slash 命令容易混入其他 skill 列表;前缀化让 14 位法师在 `/m<tab>` 补全时聚类,识别度大幅提升
|
|
115
|
-
> - **未受影响**:`compare-masters` / `create-master` 两个 meta-skill 命令保持原样(避免 `/master-compare-masters` 重复前缀);fojin.app/chat 网页端 dropdown 与 API 完全解耦,**`master_profiles.py` 不变**
|
|
116
|
-
> - **NPX 安装**:`npx master-skill install zhiyi`(短)和 `install master-zhiyi`(全)皆可,安装目标统一为 `~/.claude/skills/master-<slug>/`
|
|
117
|
-
> - 详情见 [CHANGELOG.md §0.6.0](CHANGELOG.md#060--2026-05-02)
|
|
118
|
-
>
|
|
119
|
-
> **v0.5 更新(2026-05-02)**:第二轮跨传统扩展——藏传 / 南传各从 1 位扩至 3 位,共 **14 位**祖师。
|
|
120
|
-
> - 藏传新增:阿底峡尊者(噶当派开祖 · Toh 4465《菩提道灯论》· 三士道)+ 宗喀巴大师(格鲁派创始人 · 三主要道 · 应成中观正见)
|
|
121
|
-
> - 南传新增:觉音尊者(《清净道论》Visuddhimagga 论师顶峰)+ 马哈希尊者(缅甸内观 · 标记法 · ETHICS Tier B 特例)
|
|
122
|
-
> - HARD-GATE 强化:马哈希尊者特别 `NO_ATTAINMENT_JUDGMENT`(AI 不得对个体作证果判定)
|
|
123
|
-
> - ETHICS Tier A 表扩至 11 位,Tier B 特例新增马哈希(与阿姜查同款条款)
|
|
124
|
-
>
|
|
125
|
-
> **v0.4 更新(2026-05-02)**:首轮跨传统扩展——新增藏传米拉日巴尊者(噶举派 · 大手印)与南传阿姜查(泰国森林禅林派)。引用体系扩展支持 BDRC(藏文典籍)与 SuttaCentral(巴利三藏)。HARD-GATE 新增 `no_esoteric_instruction` 与 `no_fabricated_quotes`。
|
|
126
|
-
>
|
|
127
|
-
> **v0.3**:全面架构重构——CBETA 经文溯源、离线经文片段、自动化保真度测试、NPX 一键安装、cite.py/query.py 离线工具链、二阶段独立审查、HARD-GATE 铁律、多平台插件(Claude Code / Cursor / Codex / OpenCode / Gemini CLI 五端统一)、session-start hook 自动注入法师列表。
|
|
117
|
+
> ⚠️ 以上为 **AI 合成内容**,依据《坛经》《金刚经》文献生成,不代表慧能大师亲口开示。多位法师并列回答的 `/compare-masters` 效果,可直接在 [fojin.app/chat](https://fojin.app/chat) 体验。
|
|
128
118
|
|
|
129
119
|
---
|
|
130
120
|
|
|
@@ -142,17 +132,17 @@ Master-skill 是由 [FoJin](https://fojin.app) 驱动的佛教 AI 祖师人格
|
|
|
142
132
|
|
|
143
133
|
## 特性
|
|
144
134
|
|
|
145
|
-
- **预置十五位四大传统祖师**:1 位印度(龙树 · 中观)+ 8 位汉传(唯识、中观、禅、天台、华严、净土、跨宗派)+ 3 位藏传(阿底峡 · 噶当;宗喀巴 · 格鲁;米拉日巴 · 噶举)+ 3 位南传(觉音 · 上座部论师;马哈希 · 缅甸内观;阿姜查 · 泰国森林)—— 另含
|
|
135
|
+
- **预置十五位四大传统祖师**:1 位印度(龙树 · 中观)+ 8 位汉传(唯识、中观、禅、天台、华严、净土、跨宗派)+ 3 位藏传(阿底峡 · 噶当;宗喀巴 · 格鲁;米拉日巴 · 噶举)+ 3 位南传(觉音 · 上座部论师;马哈希 · 缅甸内观;阿姜查 · 泰国森林)—— 另含 4 个教学模式(`/compare-masters` 并列对比、`/master-debate` 多轮对辩、`/master-curriculum` 学修路径、`/master-help` 我该问谁)与 `/create-master` 自定义生成器
|
|
146
136
|
- **经文溯源(Provenance)**:每位祖师附声明来源 ID(CBETA / BDRC / Toh / SuttaCentral / PTS / 合规编纂开示);实时检索仅在返回真实 `text_id` 时附 FoJin 定位链接,所有教义断言强制附原典引证
|
|
147
137
|
- **离线经文片段**:`sources/` 目录收录核心经典关键段落,FoJin 不可用时仍可离线引用
|
|
148
138
|
- **渐进式披露**:SKILL.md 以决策树 + Quick Ref 为主,`references/`、`sources/` 按需加载,Context 随查随取
|
|
149
139
|
- **HARD-GATE 铁律**:`/create-master` 与预置法师内置红线——教义断言、修行指导与文本解释必须引用该 persona 声明的来源(CBETA / BDRC / Toh / SuttaCentral / PTS / 合规编纂开示),不得捏造来源 ID,不得为虚构人物建角色
|
|
150
140
|
- **二阶段独立审查**:生成管线在写入前强制经过"教义准确性 → 风格一致性"两轮独立审查,FAIL 自动修复最多 2 轮
|
|
151
|
-
-
|
|
141
|
+
- **自动化保真度测试**:211 条夹具(每位祖师 10+ 条,`compare-masters` 元技能 18 条)检查关键词与引用覆盖,每条评分回答另经离线引文审计;CI 在每个 PR 与 main 上做结构校验(dry-run);实跑评分支持 Anthropic / DeepSeek / Gemini(`--provider`),需要对应的 API key,作为本地/发版前手动步骤执行——最近一次全量运行与逐条裁定见[下文](#保真度评测当前数据)
|
|
152
142
|
- **多平台统一插件**:Claude Code、Cursor、Codex CLI、OpenCode、Gemini CLI 共用一份 `prebuilt/`,session-start hook 跨平台注入法师列表
|
|
153
143
|
- **NPX 一键安装**:`npx master-skill install master-zhiyi` 直接部署到 Claude Code
|
|
154
144
|
- **离线工具链**:`scripts/cite.py`(CBETA 引用查询)、`scripts/query.py`(离线语义检索)、`scripts/validate.py`(frontmatter linter)
|
|
155
|
-
- **FoJin 数据桥**:接入 [fojin.app](https://fojin.app) 的
|
|
145
|
+
- **FoJin 数据桥**:接入 [fojin.app](https://fojin.app) 的 10K+ 篇文本、678K+ 条语义向量与 110K+ 实体的知识图谱(另登记 600+ 个数据源)
|
|
156
146
|
- **AgentSkills 标准**:遵循 [Anthropic Agent Skills](https://github.com/anthropics/skills) 规范,渐进式披露、决策树、黑盒脚本模式
|
|
157
147
|
|
|
158
148
|
## 框架定位
|
|
@@ -163,25 +153,26 @@ Master-skill 的核心不是"角色扮演提示词集合",而是一个可验
|
|
|
163
153
|
|---|---|
|
|
164
154
|
| 有来源 | 每位祖师声明 `sources[]`、离线 excerpts、FoJin live fallback 与引用自审 |
|
|
165
155
|
| 守边界 | `ETHICS.md`、每位祖师 Layer 0 HARD-GATE、版权 Tier 与教界越界报告机制 |
|
|
166
|
-
| 可评测 | `tests/fidelity.jsonl`、persona-fidelity schema、promptfoo RAW / SPE / CUS
|
|
156
|
+
| 可评测 | `tests/fidelity.jsonl`、persona-fidelity schema、promptfoo RAW / SPE / CUS 评测层(目前覆盖慧能、宗喀巴、阿姜查 3 位),[当前数据见下](#保真度评测当前数据) |
|
|
167
157
|
| 可运行 | `prebuilt/master-*` AgentSkills、npm CLI、多平台 hooks、FoJin runtime contract |
|
|
168
158
|
|
|
169
159
|
后续 v1.0 路线以框架稳定为优先:见 [docs/v1-framework-roadmap.md](docs/v1-framework-roadmap.md) 与 [docs/fojin-runtime-contract.md](docs/fojin-runtime-contract.md)。
|
|
170
160
|
|
|
171
|
-
###
|
|
161
|
+
### 保真度评测(当前数据)
|
|
172
162
|
|
|
173
|
-
|
|
163
|
+
211 条夹具(`prebuilt/*/tests/fidelity.jsonl`)对真实模型的回答做机械检查:该出现的关键词与引用是否出现,不该出现的是否没有出现;每条评分回答另外进入离线引文审计。每个数字都要连同产生它的模型与判分口径一起读:
|
|
174
164
|
|
|
175
|
-
| | 数值 |
|
|
176
|
-
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
|
181
|
-
|
|
|
182
|
-
|
|
165
|
+
| | 数值 | 口径 |
|
|
166
|
+
|---|---|---|
|
|
167
|
+
| 最近一次全量运行 | **199 / 211 已评分**(94.3%) | DeepSeek `deepseek-v4-flash`,commit [`06b8142`](https://github.com/xr843/Master-skill/commit/06b814204082b3e4738185cf3eefa44ed149f9f0),2026-08-31;12 条输出被截断,记为未测而非失败 |
|
|
168
|
+
| 判分器直出通过率 | 137 / 199 = 68.8% | 子串匹配:分不清改写与缺失,也分不清「正确地拒绝」与「越界」 |
|
|
169
|
+
| 逐条人工裁定后 | **179 / 199 = 89.9%** | 教理 94.3% · 守边界 85.9% · 抗压守引用 83.3%。推翻 43 条失败,也把 1 条 PASS 改判为 FAIL;每条裁定附回答原文引句,由 `verify-adjudication.py` 在 CI 中复核 |
|
|
170
|
+
| 引文审计覆盖 | **569 / 619 = 92%**,已知伪造 0 | 用当前审计器离线重审同一批回答,覆盖 CBETA、BDRC / Toh、PTS / SuttaCentral、编集开示四个来源家族 |
|
|
171
|
+
| 元技能定向复测 | compare-masters **0% → 90%** | 2026-09-13,34 条。修正输出模板后,`compare-masters` 引文可核验率由 0% 升至 90%,`master-curriculum` 由 0% 升至 100%;`master-debate` 此前把经号写在圆括号里、审计根本看不见,现为 100% |
|
|
172
|
+
|
|
173
|
+
**这一列不能推进 v1.0 门禁。** 门禁定义在 Anthropic(`claude-sonnet-4-6`)那一列上,两个模型是两把尺子,不混算。Anthropic 那一列至今只有 2026-08-18 的一次部分运行(84 / 211 条,因账户余额耗尽中断),当时的「零伪造引文」已于 2026-08-31 撤回——那次审计实际一条都没有运行。
|
|
183
174
|
|
|
184
|
-
|
|
175
|
+
这些是**关键词与引用字符串的覆盖检查,不是教义正确性,也不是 LLM 判分的答案质量**。详见 [BASELINE-deepseek.md](eval/reports/BASELINE-deepseek.md)(全量运行)、[ADJUDICATION.md](eval/reports/ADJUDICATION.md)(逐条裁定)、[BASELINE.md](eval/reports/BASELINE.md)(Anthropic 部分运行与撤回记录)与[元技能复测报告](eval/reports/0.11.0-e97ded0-deepseek-metaskills.json)。
|
|
185
176
|
|
|
186
177
|
---
|
|
187
178
|
|
|
@@ -195,6 +186,8 @@ npx master-skill install --all # 一次装全部 20 个 Skill
|
|
|
195
186
|
npx master-skill install master-huineng # 或只装一位
|
|
196
187
|
npx master-skill list # 看全部可装的
|
|
197
188
|
npx master-skill recommend "念佛怎么念才算老实" # 不知道该问谁?让它推荐
|
|
189
|
+
npx master-skill doctor # 检查本地安装与运行路径
|
|
190
|
+
npx master-skill update --all # 升级:重装全部并清掉旧文件
|
|
198
191
|
```
|
|
199
192
|
|
|
200
193
|
装好后在对话里直接调 `/master-huineng`、`/compare-masters` 等。
|
|
@@ -205,13 +198,13 @@ npx master-skill recommend "念佛怎么念才算老实" # 不知道该问谁
|
|
|
205
198
|
|
|
206
199
|
## 桌面管理器
|
|
207
200
|
|
|
208
|
-
原生桌面控制台(纯 Rust,egui,单二进制,无 Electron),统一管理
|
|
201
|
+
原生桌面控制台(纯 Rust,egui,单二进制,无 Electron),统一管理 18 个技能(15 位祖师与 `master-debate` / `master-curriculum` / `master-help`)的安装状态、fidelity 评测覆盖率、运行追踪与质量门禁:
|
|
209
202
|
|
|
210
203
|

|
|
211
204
|
|
|
212
|
-
|
|
205
|
+
**下载**:[Releases](https://github.com/xr843/Master-skill/releases) 提供 Linux / Windows / macOS 预编译二进制,需在本仓库克隆的根目录运行(它会调用仓库里的 `scripts/` 与 `bin/`)。v0.12.1 起,Linux / macOS 建议下载对应的 `.tar.gz`,解包后保留可执行位;裸二进制仍保留以兼容旧链接,使用时需先 `chmod +x`。每个 release(v0.12.1 起)附带 `SHA256SUMS`,可用 `sha256sum --check --ignore-missing SHA256SUMS` 核对下载文件,并附构建溯源证明,可用 `gh attestation verify <文件> --repo xr843/Master-skill` 验证。**v0.12.1 之前没有可用的 Windows 桌面二进制**(更早的版本无法调用 Python 与 npm,v0.12.0 未能构建出 Windows 版);v0.12.1 起改为按平台解析,但 CI 尚未在 Windows 主机上运行桌面端,如遇问题可用环境变量 `MASTER_SKILL_PYTHON` / `MASTER_SKILL_NPM` 指定解释器。macOS 二进制未签名,首次运行需右键“打开”或执行 `xattr -d com.apple.quarantine <文件名>` 解除隔离。
|
|
213
206
|
|
|
214
|
-
|
|
207
|
+
**从源码构建**(需要 Rust 1.95+):
|
|
215
208
|
|
|
216
209
|
```bash
|
|
217
210
|
cd desktop && cargo build --release
|
|
@@ -243,7 +236,7 @@ cd desktop && cargo build --release
|
|
|
243
236
|
| `/master-mahasi-sayadaw` | 马哈希尊者 | 南传 · 缅甸内观 | 1904-1982 |
|
|
244
237
|
| `/master-ajahn-chah` | 阿姜查 | 南传 · 泰国森林禅林派 | 1918-1992 |
|
|
245
238
|
|
|
246
|
-
**教学模式**:`/compare-masters` 并列对比 · `/master-debate` 多轮对辩 · `/master-curriculum` 学修路径 · `/master-help` 我该问谁
|
|
239
|
+
**教学模式**:`/compare-masters` 并列对比 · `/master-debate` 多轮对辩 · `/master-curriculum` 学修路径 · `/master-help` 我该问谁 **生成器**:`/create-master` 自定义生成
|
|
247
240
|
|
|
248
241
|
> 每位祖师的生平、核心思想与声明来源 → **[docs/masters.md](docs/masters.md)**
|
|
249
242
|
|
|
@@ -253,7 +246,7 @@ cd desktop && cargo build --release
|
|
|
253
246
|
|
|
254
247
|
## 与 FoJin 的关系
|
|
255
248
|
|
|
256
|
-
[FoJin](https://fojin.app)
|
|
249
|
+
[FoJin](https://fojin.app) 是一个佛教文本聚合平台,收录 10K+ 部文本(其中约 9K 部有全文)、678K+ 条语义向量嵌入与 110K+ 实体的知识图谱。它登记了 600+ 个数据源,但**提供全文的只有 4 个**——CBETA 汉文大藏经、SuttaCentral 巴利藏及英译、84000 藏经英译、GRETIL 梵文文献库,其余为元数据登记。
|
|
257
250
|
|
|
258
251
|
Master-skill 通过 `tools/fojin_bridge.py` 接入 FoJin API,实现:
|
|
259
252
|
|
|
@@ -300,7 +293,7 @@ Master-skill 通过 `tools/fojin_bridge.py` 接入 FoJin API,实现:
|
|
|
300
293
|
1. [ETHICS.md](ETHICS.md) §2 — 确认版权 Tier(A 可直接 PR,B 需授权证明,C 一律拒绝)
|
|
301
294
|
2. [ETHICS.md](ETHICS.md) §3 — 教界禁止行为须写入该法师 `voice.md` Layer 0
|
|
302
295
|
3. [CONTRIBUTING.md](CONTRIBUTING.md) §3 — 目录结构、frontmatter、fidelity 测试用例编写规范
|
|
303
|
-
4. 提交前:`python scripts/validate.py --strict`
|
|
296
|
+
4. 提交前:`python scripts/validate.py --strict` 与 `python scripts/validate-fidelity.py` 通过 + `tests/fidelity.jsonl` 至少 5 条(其中至少 1 条 boundary 用例)+ CI 的 fidelity dry-run 通过
|
|
304
297
|
|
|
305
298
|
其它一般贡献(文档、工具链、CI)走普通 PR 流程。
|
|
306
299
|
|
package/README_EN.md
CHANGED
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
<img src="https://img.shields.io/badge/AgentSkills-Standard-orange.svg" alt="AgentSkills Standard">
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
+
<p align="center">
|
|
21
|
+
<sub><em>Secured by SHA-pinned GitHub Actions · npm provenance · OIDC Trusted Publishing · CodeQL · cargo-audit · pip-audit — see <a href="SECURITY.md">SECURITY.md</a>.</em></sub>
|
|
22
|
+
</p>
|
|
23
|
+
|
|
20
24
|
<p align="center">
|
|
21
25
|
Opening the 100-fascicle Yogācārabhūmi-śāstra — not knowing where to begin?<br>
|
|
22
26
|
Want to study Chan, but unsure which patriarch to approach?<br>
|
|
@@ -55,8 +59,8 @@ On the AI Q&A page, open the **"法师模式"** (Master Mode) dropdown in the bo
|
|
|
55
59
|
|
|
56
60
|
- No install, no signup
|
|
57
61
|
- Three teaching modes available: `/compare-masters` (side-by-side comparison), `/master-debate` (4-round dialectic), `/master-curriculum` (time-sequenced study path) — all cross-tradition
|
|
58
|
-
- Live citation retrieval backed by FoJin's
|
|
59
|
-
-
|
|
62
|
+
- Live citation retrieval backed by FoJin's 10K+ texts and 678K+ semantic embeddings
|
|
63
|
+
- Answers cite sources in each master's declared format: mostly CBETA IDs for 汉传, Toh / BDRC numbers for 藏传, PTS / SuttaCentral references for 南传 (Theravāda and some Tibetan sources have no per-passage ID, and the citation contract says so)
|
|
60
64
|
|
|
61
65
|
**Not sure which master to ask?** Start here:
|
|
62
66
|
|
|
@@ -81,50 +85,56 @@ On the AI Q&A page, open the **"法师模式"** (Master Mode) dropdown in the bo
|
|
|
81
85
|
|
|
82
86
|
## What It Looks Like
|
|
83
87
|
|
|
84
|
-
A real `/master-huineng` (
|
|
88
|
+
A real `/master-huineng` answer, **reproduced unedited** (line-wrapped for display) from the 2026-08-31 full run — model `deepseek-v4-flash`, commit [`06b8142`](https://github.com/xr843/Master-skill/commit/06b814204082b3e4738185cf3eefa44ed149f9f0), index 1 of `master-huineng` in the [stored report](eval/reports/0.11.0-06b8142-deepseek.json). It graded PASS, and all five citations carry a CBETA ID that the repository's offline citation audit resolved to Huineng's declared sources (T48n2008 *Platform Sutra*, T08n0235 *Diamond Sutra*). Masters answer in Chinese; below is our English translation, with every citation kept exactly as the model wrote it:
|
|
85
89
|
|
|
86
90
|
```text
|
|
87
|
-
You:
|
|
91
|
+
You: What is the difference between sudden awakening and gradual cultivation?
|
|
88
92
|
|
|
89
93
|
Master Huineng:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
94
|
+
|
|
95
|
+
Tell me: are sudden and gradual really two different teachings?
|
|
96
|
+
|
|
97
|
+
The Dharma itself is neither sudden nor gradual; people differ in
|
|
98
|
+
sharpness and dullness. The sutra says, "Unawakened, a buddha is a
|
|
99
|
+
sentient being; in one moment of awakening, a sentient being is a
|
|
100
|
+
buddha" — delusion and awakening lie in a single thought, hence the name
|
|
101
|
+
"sudden". It also says, "The previous thought deluded is an ordinary
|
|
102
|
+
person; the next thought awakened is a buddha" — turning delusion into
|
|
103
|
+
awakening needs nothing sought outside
|
|
104
|
+
【《六祖坛经·般若品》,T48n2008】→ https://fojin.app/texts/58
|
|
105
|
+
|
|
106
|
+
Shenxiu of the Northern School wrote the verse: "The body is the bodhi
|
|
107
|
+
tree, the mind a bright mirror stand; wipe it diligently at all times,
|
|
108
|
+
and let no dust alight." — an expedient for gradually sweeping away
|
|
109
|
+
defilement. The Sixth Patriarch answered: "Bodhi has no tree, the bright
|
|
110
|
+
mirror is no stand. Originally there is not a single thing — where could
|
|
111
|
+
dust alight?" — directly revealing that self-nature is empty at root,
|
|
112
|
+
with nothing that can stain it
|
|
113
|
+
【《六祖坛经·行由品》,T48n2008】→ https://fojin.app/texts/58. One deliberately
|
|
114
|
+
applies antidotes; the other takes it up right here. These two verses
|
|
115
|
+
mark exactly where sudden and gradual part ways.
|
|
116
|
+
|
|
117
|
+
Yet sudden and gradual are not two. Even concentration and wisdom are
|
|
118
|
+
one — "concentration is the substance of wisdom, wisdom the function of
|
|
119
|
+
concentration; at the moment of wisdom, concentration is in wisdom; at
|
|
120
|
+
the moment of concentration, wisdom is in concentration"
|
|
121
|
+
【《六祖坛经·定慧品》,T48n2008】→ https://fojin.app/texts/58 — so how could sudden
|
|
122
|
+
and gradual be two kinds? The deluded cultivate gradually, the awakened
|
|
123
|
+
accord at once; the medicine is given for the illness, and the Dharma
|
|
124
|
+
has no high or low 【《六祖坛经·定慧品》,T48n2008】→ https://fojin.app/texts/58.
|
|
125
|
+
|
|
126
|
+
Know too that the Sixth Patriarch saw his own nature on hearing "give
|
|
127
|
+
rise to a mind that abides nowhere"
|
|
128
|
+
【《金刚经》,T08n0235】→ https://fojin.app/texts/7. Sudden awakening is not
|
|
129
|
+
mindlessness; it is not abiding in objects. Gradual cultivation is not
|
|
130
|
+
dead sitting; it is awareness in thought after thought. In the end there
|
|
131
|
+
is only one question: turning the light around in a single thought — has
|
|
132
|
+
the original mind appeared yet?
|
|
105
133
|
|
|
106
134
|
For further study, consult the original texts at FoJin (fojin.app).
|
|
107
135
|
```
|
|
108
136
|
|
|
109
|
-
> ⚠️ The above is **AI-synthesized content**, generated from the *Platform Sutra*; it does not represent Master Huineng's actual spoken teachings.
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
> **v0.6 Update (2026-05-02)**: Slash command namespace cleanup — all 14 master slash commands prefixed with `master-`. `/master-zhiyi`, `/master-huineng`, etc.
|
|
114
|
-
> - **Why**: Claude Code users typically have 50+ skills installed; bare-word slash commands like `/atisha` get scattered. Prefixing clusters all 14 masters under `/m<tab>` for fast discovery.
|
|
115
|
-
> - **Unaffected**: `compare-masters` and `create-master` meta-skills keep their existing names (avoiding `/master-compare-masters` doublespeak). `fojin.app/chat` web-side dropdown is decoupled — its master IDs stay bare (`atisha`, `huineng`, etc.); backend `master_profiles.py` unchanged.
|
|
116
|
-
> - **NPX installer**: both `npx master-skill install zhiyi` (short) and `install master-zhiyi` (full) work; install destination is always `~/.claude/skills/master-<slug>/`.
|
|
117
|
-
> - See [CHANGELOG.md §0.6.0](CHANGELOG.md#060--2026-05-02) for full details.
|
|
118
|
-
>
|
|
119
|
-
> **v0.5 Update (2026-05-02)**: Second cross-tradition expansion — Tibetan and Theravāda each grow from 1 master to 3. Total **14 masters**.
|
|
120
|
-
> - 藏传 added: Atiśa (Kadam founder · Toh 4465 *Bodhipathapradīpa* · three scopes) + Tsongkhapa (Gelug founder · three principal aspects · Madhyamaka prasaṅgika)
|
|
121
|
-
> - 南传 added: Buddhaghosa (commentarial summit · *Visuddhimagga*) + Mahasi Sayadaw (Burmese vipassanā · noting method · ETHICS Tier B special case)
|
|
122
|
-
> - HARD-GATE strengthened: Mahasi Sayadaw specifically gets `NO_ATTAINMENT_JUDGMENT` (AI must not confirm any individual's stage of insight)
|
|
123
|
-
> - ETHICS Tier A grows to 11 masters; Tier B special-case grows to include Mahasi Sayadaw (parallel to Ajahn Chah)
|
|
124
|
-
>
|
|
125
|
-
> **v0.4 Update (2026-05-02)**: First cross-tradition expansion — added Tibetan **Milarepa** (Kagyu / Mahāmudrā) and Theravāda **Ajahn Chah** (Thai Forest Tradition). Citation system extended to support BDRC and SuttaCentral. HARD-GATE adds `no_esoteric_instruction` and `no_fabricated_quotes`.
|
|
126
|
-
>
|
|
127
|
-
> **v0.3**: Full architecture rebuild — provenance frontmatter, offline source passages (`sources/`), automated fidelity tests (`fidelity.jsonl`), NPX installer, two-stage independent review, HARD-GATE rules, multi-platform plugin support across Claude Code / Cursor / Codex / OpenCode / Gemini CLI, session-start hook auto-injecting the master list.
|
|
137
|
+
> ⚠️ The above is **AI-synthesized content**, generated from the *Platform Sutra* and *Diamond Sutra*; it does not represent Master Huineng's actual spoken teachings. The Chinese original is in [README.md](README.md#效果示例). Try the multi-master `/compare-masters` mode directly at [fojin.app/chat](https://fojin.app/chat).
|
|
128
138
|
|
|
129
139
|
---
|
|
130
140
|
|
|
@@ -140,17 +150,17 @@ This project is built out of respect for Buddhist traditions. All content is gen
|
|
|
140
150
|
|
|
141
151
|
## Features
|
|
142
152
|
|
|
143
|
-
- **15 pre-built masters across four traditions**: 1 印度 (Madhyamaka · Nāgārjuna) + 8 汉传 (Yogācāra, Madhyamaka, Chan, Tiantai, Huayan, Pure Land, cross-tradition) + 3 藏传 (Kadam · Atiśa; Gelug · Tsongkhapa; Kagyu · Milarepa) + 3 南传 (Theravāda commentator · Buddhaghosa; Burmese vipassanā · Mahasi Sayadaw; Thai Forest · Ajahn Chah) — plus
|
|
153
|
+
- **15 pre-built masters across four traditions**: 1 印度 (Madhyamaka · Nāgārjuna) + 8 汉传 (Yogācāra, Madhyamaka, Chan, Tiantai, Huayan, Pure Land, cross-tradition) + 3 藏传 (Kadam · Atiśa; Gelug · Tsongkhapa; Kagyu · Milarepa) + 3 南传 (Theravāda commentator · Buddhaghosa; Burmese vipassanā · Mahasi Sayadaw; Thai Forest · Ajahn Chah) — plus 4 teaching modes (`/compare-masters` side-by-side, `/master-debate` multi-round dialectic, `/master-curriculum` study path, `/master-help` who-to-ask) and the `/create-master` generator
|
|
144
154
|
- **Provenance enforcement**: Every master ships with declared source IDs (CBETA / BDRC / Toh / SuttaCentral / PTS / compliant compiled teachings); live retrieval adds a FoJin locator only when a real `text_id` is returned, and every doctrinal claim must carry a source citation
|
|
145
155
|
- **Offline source passages**: `sources/` captures key passages from each master's core canon, so citations still work when FoJin is unreachable
|
|
146
156
|
- **Progressive disclosure**: SKILL.md is a decision tree + quick reference; `references/` and `sources/` are loaded on demand to keep context lean
|
|
147
157
|
- **HARD-GATE discipline**: Both `/create-master` and every prebuilt master require doctrinal claims, practice guidance, and text interpretation to cite that persona's declared sources (CBETA / BDRC / Toh / SuttaCentral / PTS / compliant compiled teachings); fabricated source IDs and fictional personas are forbidden
|
|
148
158
|
- **Two-stage independent review**: The generation pipeline forces a "doctrinal accuracy → voice consistency" review before write; FAIL triggers up to 2 rounds of automatic repair
|
|
149
|
-
- **Automated fidelity tests**:
|
|
159
|
+
- **Automated fidelity tests**: 211 fixtures (10+ per master, 18 for the `compare-masters` meta-skill) check keyword and citation coverage, and every graded answer also goes through the offline citation audit; CI runs a structural dry-run on every PR and on `main`; graded runs support Anthropic / DeepSeek / Gemini (`--provider`) with the matching API key, as a manual local/pre-release step — the latest full run and its case-by-case adjudication are [below](#fidelity-evaluation-current-data)
|
|
150
160
|
- **Unified multi-platform plugin**: Claude Code, Cursor, Codex CLI, OpenCode, and Gemini CLI share one `prebuilt/` tree, with a session-start hook injecting the master list on every platform
|
|
151
161
|
- **NPX one-shot install**: `npx master-skill install master-zhiyi` drops skills straight into Claude Code
|
|
152
162
|
- **Offline toolchain**: `scripts/cite.py` (CBETA lookup), `scripts/query.py` (offline semantic search), `scripts/validate.py` (frontmatter linter)
|
|
153
|
-
- **FoJin data bridge**: Connected to [fojin.app](https://fojin.app)
|
|
163
|
+
- **FoJin data bridge**: Connected to [fojin.app](https://fojin.app) — 10K+ texts, 678K+ semantic embeddings, a knowledge graph of 110K+ entities, and 600+ registered data sources
|
|
154
164
|
- **AgentSkills standard**: Compliant with [Anthropic Agent Skills](https://github.com/anthropics/skills) — progressive disclosure, decision trees, black-box script pattern
|
|
155
165
|
|
|
156
166
|
## Framework Positioning
|
|
@@ -161,25 +171,26 @@ Master-skill is not a prompt pack. It is a verifiable Buddhist AI persona framew
|
|
|
161
171
|
|---|---|
|
|
162
172
|
| Source-grounded | `sources[]`, offline excerpts, FoJin live fallback, and citation self-audits per master |
|
|
163
173
|
| Boundary-aware | `ETHICS.md`, per-master Layer 0 HARD-GATE rules, copyright tiers, and boundary violation reporting |
|
|
164
|
-
| Fidelity-tested | `tests/fidelity.jsonl`, persona-fidelity schema, promptfoo RAW / SPE / CUS evals, [
|
|
174
|
+
| Fidelity-tested | `tests/fidelity.jsonl`, persona-fidelity schema, promptfoo RAW / SPE / CUS evals (currently for 3 masters: Huineng, Tsongkhapa, Ajahn Chah), [current data below](#fidelity-evaluation-current-data) |
|
|
165
175
|
| Runtime-ready | `prebuilt/master-*` AgentSkills, npm CLI, multi-platform hooks, and a FoJin runtime contract |
|
|
166
176
|
|
|
167
177
|
The v1.0 track prioritizes framework stability over adding more masters. See [docs/v1-framework-roadmap.md](docs/v1-framework-roadmap.md) and [docs/fojin-runtime-contract.md](docs/fojin-runtime-contract.md).
|
|
168
178
|
|
|
169
|
-
### Fidelity
|
|
179
|
+
### Fidelity evaluation (current data)
|
|
170
180
|
|
|
171
|
-
The 211 fixtures
|
|
181
|
+
The 211 fixtures (`prebuilt/*/tests/fidelity.jsonl`) run mechanical checks against real model answers: do the expected keywords and citations appear, and do the forbidden ones stay out. Every graded answer also goes through the offline citation audit. Read each number together with the model and the grading method that produced it:
|
|
172
182
|
|
|
173
|
-
| | Value |
|
|
174
|
-
|
|
175
|
-
|
|
|
176
|
-
|
|
|
177
|
-
|
|
|
178
|
-
|
|
|
179
|
-
|
|
|
180
|
-
|
|
183
|
+
| | Value | Basis |
|
|
184
|
+
|---|---|---|
|
|
185
|
+
| Latest full run | **199 / 211 graded** (94.3%) | DeepSeek `deepseek-v4-flash`, commit [`06b8142`](https://github.com/xr843/Master-skill/commit/06b814204082b3e4738185cf3eefa44ed149f9f0), 2026-08-31; 12 answers were truncated and are recorded as unmeasured, not failed |
|
|
186
|
+
| Pass rate as graded | 137 / 199 = 68.8% | Substring matching: it cannot tell a paraphrase from a missing term, or a correct refusal from a boundary violation |
|
|
187
|
+
| After case-by-case adjudication | **179 / 199 = 89.9%** | doctrine 94.3% · boundary 85.9% · citation-under-pressure 83.3%. 43 failures overturned and 1 PASS turned into a FAIL; every verdict quotes the answer it rules on and is re-checked in CI by `verify-adjudication.py` |
|
|
188
|
+
| Citation audit coverage | **569 / 619 = 92%**, 0 known fabrications | The same stored answers re-audited offline with the current auditor, across the CBETA, BDRC / Toh, PTS / SuttaCentral, and compiled-teaching families |
|
|
189
|
+
| Meta-skill targeted re-run | compare-masters **0% → 90%** | 2026-09-13, 34 fixtures. After their output templates were fixed, `compare-masters` citations went from 0% to 90% checkable and `master-curriculum` from 0% to 100%; `master-debate` used to write sutra IDs in parentheses the audit could not see at all, and is now at 100% |
|
|
190
|
+
|
|
191
|
+
**This column cannot advance the v1.0 gate.** The gate is defined on the Anthropic (`claude-sonnet-4-6`) column; two models are two instruments and are never pooled. That column still holds only one partial run, from 2026-08-18 (84 / 211, stopped when the account ran out of credit), whose "zero fabricated citations" was retracted on 2026-08-31 — the audit had not actually run on a single case.
|
|
181
192
|
|
|
182
|
-
|
|
193
|
+
These are **keyword and citation-string coverage checks, not doctrinal correctness and not LLM-judged answer quality**. Details: [BASELINE-deepseek.md](eval/reports/BASELINE-deepseek.md) (the full run), [ADJUDICATION.md](eval/reports/ADJUDICATION.md) (case-by-case rulings), [BASELINE.md](eval/reports/BASELINE.md) (the Anthropic partial run and its retraction), and the [meta-skill re-run report](eval/reports/0.11.0-e97ded0-deepseek-metaskills.json).
|
|
183
194
|
|
|
184
195
|
---
|
|
185
196
|
|
|
@@ -193,6 +204,8 @@ npx master-skill install --all # all 20 skills at once
|
|
|
193
204
|
npx master-skill install master-huineng # or just one
|
|
194
205
|
npx master-skill list # see everything installable
|
|
195
206
|
npx master-skill recommend "how do I actually practice nianfo" # not sure who to ask?
|
|
207
|
+
npx master-skill doctor # check the local install and runtime paths
|
|
208
|
+
npx master-skill update --all # upgrade: reinstall everything, clearing stale files
|
|
196
209
|
```
|
|
197
210
|
|
|
198
211
|
Once installed, invoke `/master-huineng`, `/compare-masters`, etc. directly in chat.
|
|
@@ -203,13 +216,13 @@ Once installed, invoke `/master-huineng`, `/compare-masters`, etc. directly in c
|
|
|
203
216
|
|
|
204
217
|
## Desktop Manager
|
|
205
218
|
|
|
206
|
-
A native desktop console (pure Rust, egui, single binary, no Electron) that unifies management of installation status, fidelity evaluation coverage, run tracing, and the quality gate across
|
|
219
|
+
A native desktop console (pure Rust, egui, single binary, no Electron) that unifies management of installation status, fidelity evaluation coverage, run tracing, and the quality gate across 18 skills (the 15 masters plus `master-debate`, `master-curriculum` and `master-help`):
|
|
207
220
|
|
|
208
221
|

|
|
209
222
|
|
|
210
|
-
**Download**: [Releases](https://github.com/xr843/Master-skill/releases) provides pre-built binaries for Linux / Windows / macOS
|
|
223
|
+
**Download**: [Releases](https://github.com/xr843/Master-skill/releases) provides pre-built binaries for Linux / Windows / macOS; run them from the root of a local clone (they call the repository's `scripts/` and `bin/`). From v0.12.1, on Linux/macOS, prefer the matching `.tar.gz`, which keeps the executable bit when extracted; the raw binaries remain for compatibility and need `chmod +x`. Each release from v0.12.1 carries `SHA256SUMS` — check a download with `sha256sum --check --ignore-missing SHA256SUMS` — and build-provenance attestations, verifiable with `gh attestation verify <file> --repo xr843/Master-skill`. **No working Windows desktop binary exists before v0.12.1** — earlier ones cannot launch Python or npm, and v0.12.0 failed to build one; from v0.12.1 it resolves them per platform, but CI does not yet run the desktop manager on a Windows host, so if it fails to find them, set `MASTER_SKILL_PYTHON` / `MASTER_SKILL_NPM`. The macOS binary is unsigned, so first launch still requires right-click → Open or `xattr -d com.apple.quarantine <file>`.
|
|
211
224
|
|
|
212
|
-
**Build from source
|
|
225
|
+
**Build from source** (Rust 1.95+):
|
|
213
226
|
|
|
214
227
|
```bash
|
|
215
228
|
cd desktop && cargo build --release
|
|
@@ -241,7 +254,7 @@ Fifteen masters across four traditions. The command *is* the skill name — invo
|
|
|
241
254
|
| `/master-mahasi-sayadaw` | Mahāsi Sayādaw | Theravāda · Burmese vipassanā | 1904-1982 |
|
|
242
255
|
| `/master-ajahn-chah` | Ajahn Chah | Theravāda · Thai Forest | 1918-1992 |
|
|
243
256
|
|
|
244
|
-
**Teaching modes**: `/compare-masters` · `/master-debate` · `/master-curriculum` · `/master-help` · `/create-master`
|
|
257
|
+
**Teaching modes**: `/compare-masters` · `/master-debate` · `/master-curriculum` · `/master-help` · **Generator**: `/create-master`
|
|
245
258
|
|
|
246
259
|
> Life, doctrine, and declared sources for each → **[docs/masters.en.md](docs/masters.en.md)**
|
|
247
260
|
|
|
@@ -251,7 +264,7 @@ Directory layout and data flow → **[docs/architecture.en.md](docs/architecture
|
|
|
251
264
|
|
|
252
265
|
## Relationship to FoJin
|
|
253
266
|
|
|
254
|
-
[FoJin](https://fojin.app) is a Buddhist text aggregation platform
|
|
267
|
+
[FoJin](https://fojin.app) is a Buddhist text aggregation platform holding 10K+ texts (about 9K of them in full text), 678K+ semantic vector embeddings, and a knowledge graph of 110K+ entities. It registers 600+ data sources, but **only four supply full text** — the CBETA Chinese Buddhist Canon, the SuttaCentral Pali Canon and translations, 84000's Tibetan Buddhist translations, and the GRETIL Sanskrit library; the rest are metadata records.
|
|
255
268
|
|
|
256
269
|
Master-skill connects to the FoJin API via `tools/fojin_bridge.py` to enable:
|
|
257
270
|
|
|
@@ -291,7 +304,7 @@ Common install, invocation, and retrieval questions → **[docs/troubleshooting.
|
|
|
291
304
|
|
|
292
305
|
Contributions are welcome: new prebuilt masters, corrections to source attributions, offline passage additions, or toolchain improvements.
|
|
293
306
|
|
|
294
|
-
New masters must follow the v0.3 layout: `prebuilt/<name>/` containing SKILL.md (with provenance routing and a decision tree), `meta.json` (declared sources plus citation contract), `references/teaching.md` and `references/voice.md` (loaded on demand), `sources/*.md` (offline declared-source passages), and `tests/fidelity.jsonl` (5+ Q&A fidelity samples). Run `python3 scripts/validate.py --strict` and `python3 scripts/validate-citation-contract.py` for zero errors, and make sure the CI fidelity dry-run passes before opening a PR.
|
|
307
|
+
New masters must follow the v0.3 layout: `prebuilt/<name>/` containing SKILL.md (with provenance routing and a decision tree), `meta.json` (declared sources plus citation contract), `references/teaching.md` and `references/voice.md` (loaded on demand), `sources/*.md` (offline declared-source passages), and `tests/fidelity.jsonl` (5+ Q&A fidelity samples, at least one of them a boundary case). Run `python3 scripts/validate.py --strict`, `python3 scripts/validate-fidelity.py` and `python3 scripts/validate-citation-contract.py` for zero errors, and make sure the CI fidelity dry-run passes before opening a PR.
|
|
295
308
|
|
|
296
309
|
Before submitting, verify that every source resolves to the persona's declared source family, content is faithful to historical documents, and no sectarian bias is introduced.
|
|
297
310
|
|
package/bin/cli.mjs
CHANGED
|
@@ -439,14 +439,19 @@ function doctorData() {
|
|
|
439
439
|
const masters = availableMasters();
|
|
440
440
|
const installed = installedSkillDirs();
|
|
441
441
|
const expectedInstalled = masters.filter((m) => installed.includes(m.name));
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
442
|
+
// Every catalog skill, not only `availableMasters()`. That list leaves out
|
|
443
|
+
// compare-masters, and create-master's SKILL.md lives at the package root
|
|
444
|
+
// rather than under prebuilt/, so doctor checked 18 of the 20 installable
|
|
445
|
+
// skills and would have reported "ok" with either of the other two gone.
|
|
446
|
+
// The two counts above keep their narrower meaning: the desktop manager
|
|
447
|
+
// reads them as its denominator.
|
|
448
|
+
const missingSkillMd = catalogSkills().filter(
|
|
449
|
+
(skill) => !fs.existsSync(path.join(PACKAGE_ROOT, skill.source, "SKILL.md"))
|
|
450
|
+
);
|
|
451
|
+
const problems = missingSkillMd.map((skill) => ({
|
|
447
452
|
code: "missing-skill-md",
|
|
448
|
-
name:
|
|
449
|
-
message: `${
|
|
453
|
+
name: skill.name,
|
|
454
|
+
message: `${skill.name} is missing SKILL.md`,
|
|
450
455
|
}));
|
|
451
456
|
|
|
452
457
|
return {
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "master-skill",
|
|
3
3
|
"description": "FoJin-powered Buddhist AI persona framework — source-grounded, boundary-aware, fidelity-tested, runtime-ready. 15 prebuilt masters across 印度/汉传/藏传/南传.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.12.1",
|
|
5
5
|
"contextFileName": "GEMINI.md"
|
|
6
6
|
}
|