master-skill 0.10.1 → 0.12.0
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/GEMINI.md +1 -1
- package/README.md +84 -336
- package/README_EN.md +108 -321
- package/bin/cli.mjs +249 -9
- package/gemini-extension.json +1 -1
- package/hooks/session-start +68 -74
- package/hooks/session_start.py +152 -0
- package/package.json +6 -2
- package/prebuilt/{compare → 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/SKILL.md +1 -1
- package/prebuilt/master-curriculum/references/tiantai.md +1 -1
- package/prebuilt/master-debate/SKILL.md +15 -3
- package/prebuilt/master-fazang/tests/fidelity.jsonl +2 -2
- package/prebuilt/master-help/SKILL.md +94 -0
- package/prebuilt/master-help/tests/fidelity.jsonl +10 -0
- package/prebuilt/master-huineng/tests/fidelity.jsonl +4 -4
- package/prebuilt/master-kumarajiva/meta.json +14 -3
- 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/meta.json +19 -4
- 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 +32 -5
- 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/references/teaching-modes.md +8 -1
- package/routing.json +209 -0
- package/scripts/check-audit-ignores.py +105 -0
- package/scripts/check-eval-sdk-surface.py +142 -0
- package/scripts/check-gate-liveness.py +421 -0
- 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 +992 -89
- package/scripts/validate-citation-references.py +150 -0
- package/scripts/validate-citation-templates.py +176 -0
- package/scripts/validate-fidelity.py +6 -1
- package/scripts/validate-fixture-terms.py +127 -0
- package/scripts/validate-routing.py +254 -0
- package/scripts/validate.py +63 -36
- package/scripts/verify-adjudication.py +316 -0
- package/scripts/verify_citations.py +739 -39
- package/skill-catalog.json +83 -20
- 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_manifest_versions.py +0 -217
- package/scripts/tests/test_debate_protocol.py +0 -159
- package/scripts/tests/test_injection_hardening.py +0 -174
- package/scripts/tests/test_select_fidelity_smoke.py +0 -142
- 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 -265
- /package/prebuilt/{compare → compare-masters}/tests/fidelity.jsonl +0 -0
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,142 +171,58 @@ 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,
|
|
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
|
-
|
|
170
|
-
|
|
171
|
-
## Developer Installation
|
|
172
|
-
|
|
173
|
-
> 👤 **Just want to try it?** Use [fojin.app/chat](https://fojin.app/chat) in your browser and skip this section entirely.
|
|
174
|
-
> 🛠️ **This section is for**: Claude Code / Cursor / Codex CLI / OpenCode / Gemini CLI users who want to invoke `/master-xuanzang`, `/master-huineng`, etc. directly as terminal AgentSkills.
|
|
179
|
+
### Fidelity evaluation (current data)
|
|
175
180
|
|
|
176
|
-
|
|
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:
|
|
177
182
|
|
|
178
|
-
|
|
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% |
|
|
179
190
|
|
|
180
|
-
|
|
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
|
-
|
|
183
|
-
# Install individual public skills
|
|
184
|
-
npx master-skill install master-zhiyi
|
|
185
|
-
npx master-skill install compare-masters
|
|
186
|
-
npx master-skill install create-master
|
|
187
|
-
|
|
188
|
-
# Install or list the complete 19-skill catalog
|
|
189
|
-
npx master-skill install --all
|
|
190
|
-
npx master-skill list
|
|
191
|
-
```
|
|
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).
|
|
192
194
|
|
|
193
|
-
|
|
195
|
+
---
|
|
194
196
|
|
|
195
|
-
|
|
196
|
-
npm install -g master-skill # Adds the binary to $PATH
|
|
197
|
-
master-skill install master-zhiyi # No more npx prefix
|
|
198
|
-
master-skill list
|
|
199
|
-
npm update -g master-skill # Pull next minor / patch
|
|
200
|
-
```
|
|
197
|
+
## Developer Installation
|
|
201
198
|
|
|
202
|
-
**
|
|
199
|
+
> 👤 **Just want to try it?** Use [fojin.app/chat](https://fojin.app/chat) — no install needed.
|
|
200
|
+
> 🛠️ **This section is for** Claude Code / Cursor / Codex CLI / OpenCode / Gemini CLI users.
|
|
203
201
|
|
|
204
202
|
```bash
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
**Cursor** — Clone the repo; Cursor auto-detects `.cursor-plugin/plugin.json`.
|
|
213
|
-
|
|
214
|
-
**OpenCode** — Add to `opencode.json`:
|
|
215
|
-
|
|
216
|
-
```json
|
|
217
|
-
{"plugin": ["master-skill@git+https://github.com/xr843/Master-skill.git"]}
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
**Codex CLI** — See [.codex/INSTALL.md](.codex/INSTALL.md)
|
|
221
|
-
|
|
222
|
-
**Gemini CLI** — Auto-discovered via `gemini-extension.json` and `GEMINI.md`.
|
|
223
|
-
|
|
224
|
-
### Use a Pre-built Master
|
|
225
|
-
|
|
226
|
-
In any AgentSkills-compatible environment (Claude Code / Cursor / Codex CLI / OpenCode / Gemini CLI):
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
# 印度 (Indian)
|
|
230
|
-
/master-nagarjuna — Nāgārjuna (Indian · Madhyamaka | root of the eight schools)
|
|
231
|
-
|
|
232
|
-
# 汉传 (Chinese)
|
|
233
|
-
/master-xuanzang — Master Xuanzang (Yogacara)
|
|
234
|
-
/master-kumarajiva — Kumarajiva (Madhyamaka / Sanlun)
|
|
235
|
-
/master-huineng — Master Huineng (Chan, Sixth Patriarch)
|
|
236
|
-
/master-zhiyi — Master Zhiyi (Tiantai)
|
|
237
|
-
/master-fazang — Master Fazang (Huayan)
|
|
238
|
-
/master-yinguang — Master Yinguang (Pure Land)
|
|
239
|
-
/master-ouyi — Master Ouyi (Tiantai / Pure Land, cross-tradition)
|
|
240
|
-
/master-xuyun — Master Xuyun (Chan, Five Houses)
|
|
241
|
-
|
|
242
|
-
# 藏传 (Tibetan)
|
|
243
|
-
/master-atisha — Atiśa Dīpaṃkara (Kadam founder · three scopes · 982-1054)
|
|
244
|
-
/master-tsongkhapa — Tsongkhapa (Gelug founder · three principal aspects · prasaṅgika · 1357-1419)
|
|
245
|
-
/master-milarepa — Milarepa (Kagyu · Mahāmudrā · Naro Chodruk · 1052-1135)
|
|
246
|
-
|
|
247
|
-
# 南传 (Theravāda)
|
|
248
|
-
/master-buddhaghosa — Buddhaghosa (commentarial summit · Visuddhimagga · 5th century)
|
|
249
|
-
/master-mahasi-sayadaw — Mahasi Sayadaw (Burmese vipassanā · noting method · 1904-1982)
|
|
250
|
-
/master-ajahn-chah — Ajahn Chah (Thai Forest Tradition · Wat Pah Pong · 1918-1992)
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Teaching Modes (v0.7)
|
|
254
|
-
|
|
255
|
-
- **`/compare-masters`** — multiple masters answer the same question side-by-side (horizontal, single-turn)
|
|
256
|
-
- **`/master-debate`** — masters from different traditions engage in a 4-round adversarial dialectic (claim → rebut → respond → synthesize + remaining disagreements)
|
|
257
|
-
- **`/master-curriculum`** — given your target tradition and current level (L0-L3), get a time-sequenced study path (foundation → intermediate → advanced + likely blind spots)
|
|
258
|
-
|
|
259
|
-
**`/compare-masters` usage examples:**
|
|
260
|
-
|
|
261
|
-
```
|
|
262
|
-
# Auto-pick relevant masters
|
|
263
|
-
/compare-masters what is emptiness
|
|
264
|
-
|
|
265
|
-
# Manually pick masters (recommended for precise results)
|
|
266
|
-
/compare-masters how to read the Heart Sutra --masters master-xuanzang,master-huineng,master-zhiyi
|
|
267
|
-
|
|
268
|
-
# Natural-language triggers
|
|
269
|
-
compare Huineng and Yinguang on nianfo
|
|
270
|
-
how do Chan and Pure Land differ on practice
|
|
203
|
+
npx master-skill install --all # all 20 skills at once
|
|
204
|
+
npx master-skill install master-huineng # or just one
|
|
205
|
+
npx master-skill list # see everything installable
|
|
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
|
|
271
209
|
```
|
|
272
210
|
|
|
273
|
-
|
|
211
|
+
Once installed, invoke `/master-huineng`, `/compare-masters`, etc. directly in chat.
|
|
274
212
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
/create-master Hongyi
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
Or use natural language:
|
|
282
|
-
|
|
283
|
-
```
|
|
284
|
-
Create a persona for Master Hongyi
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
The system will guide you through a three-step intake, then automatically collect data from FoJin and generate the doctrinal analysis and style files.
|
|
288
|
-
|
|
289
|
-
---
|
|
213
|
+
> Per-platform setup (Claude Code plugin / Cursor / OpenCode / Codex CLI / Gemini CLI),
|
|
214
|
+
> global install, teaching-mode usage, and `/create-master`
|
|
215
|
+
> → **[docs/install.en.md](docs/install.en.md)**
|
|
290
216
|
|
|
291
217
|
## Desktop Manager
|
|
292
218
|
|
|
293
|
-
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`):
|
|
294
220
|
|
|
295
|
-

|
|
296
222
|
|
|
297
|
-
**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/`). 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 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`. **Windows binaries before v0.12.0 cannot launch Python or npm**; from v0.12.0 they resolve 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>`.
|
|
298
224
|
|
|
299
|
-
**Build from source
|
|
225
|
+
**Build from source** (Rust 1.95+):
|
|
300
226
|
|
|
301
227
|
```bash
|
|
302
228
|
cd desktop && cargo build --release
|
|
@@ -308,156 +234,37 @@ cd desktop && cargo build --release
|
|
|
308
234
|
|
|
309
235
|
## Pre-built Masters
|
|
310
236
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
### Master Zhiyi (538-597)
|
|
336
|
-
|
|
337
|
-
Founder of the Tiantai school, honored as "the Little Shakyamuni of the East." Established the first comprehensive doctrinal classification system in Chinese Buddhism (Five Periods, Eight Teachings). Authored the Three Great Works of Tiantai. Core teachings: three thousand realms in a single thought-moment, perfect interfusion of the three truths, dual cultivation of samatha and vipasyana.
|
|
338
|
-
Primary sources: CBETA — Mohe Zhiguan (T46n1911), Fahua Xuanyi (T33n1718).
|
|
339
|
-
Invoke: `/master-zhiyi`
|
|
340
|
-
|
|
341
|
-
### Master Fazang (643-712)
|
|
342
|
-
|
|
343
|
-
Third Patriarch and true systematizer of the Huayan school. National Preceptor under Empress Wu Zetian. Used the Golden Lion treatise to explain Huayan philosophy. Core teachings: dharmadhatu dependent origination, four dharma-realms, ten mysterious gates, six characteristics in perfect harmony.
|
|
344
|
-
Primary sources: CBETA — Huayan Jing Tanxuan Ji (T35n1733), Huayan Wujiao Zhang (T45n1866).
|
|
345
|
-
Invoke: `/master-fazang`
|
|
346
|
-
|
|
347
|
-
### Master Yinguang (1861-1940)
|
|
348
|
-
|
|
349
|
-
13th Patriarch of the Chinese Pure Land school. Central figure in the modern Pure Land revival. His writing is sincere and straightforward; he guided countless practitioners through correspondence, collected in the three volumes of the Yinguang Fashi Wenchao.
|
|
350
|
-
Primary sources: CBETA — Wenchao volumes and the three Pure Land sutras.
|
|
351
|
-
Invoke: `/master-yinguang`
|
|
352
|
-
|
|
353
|
-
### Master Ouyi (1599-1655)
|
|
354
|
-
|
|
355
|
-
One of the Four Great Masters of Late Ming Buddhism, 9th Patriarch of Pure Land. His motto: "Doctrine follows Tiantai, practice returns to Pure Land." The most important cross-tradition synthesizer in Chinese Buddhist history. His commentary on the Amitabha Sutra was praised by Master Yinguang as unsurpassable.
|
|
356
|
-
Primary sources: CBETA — Amituo Jing Yaojie (T37n1762), Jiaoguan Gangzong.
|
|
357
|
-
Invoke: `/master-ouyi`
|
|
358
|
-
|
|
359
|
-
### Master Xuyun (1840-1959)
|
|
360
|
-
|
|
361
|
-
Modern Chan patriarch who lived to 119 years. Unprecedented in Buddhist history for holding dharma transmission in all five houses of Chan (Linji, Caodong, Guiyang, Yunmen, Fayan). Restored six major ancestral monasteries. Advocated hua-tou investigation, honest practice, and harmonizing Chan with Pure Land.
|
|
362
|
-
Primary sources: CBETA — Shurangama Sutra, Diamond Sutra, Platform Sutra.
|
|
363
|
-
Invoke: `/master-xuyun`
|
|
364
|
-
|
|
365
|
-
### Atiśa Dīpaṃkara (982-1054) — Tibetan · Kadam · Indo-Tibetan bridge
|
|
366
|
-
|
|
367
|
-
Royal-born Indian master from the Sahor kingdom (modern Bangladesh). Studied Madhyamaka, Yogācāra and tantra at Vikramaśīla; received the bodhicitta lineage from Dharmakīrti of Suvarṇadvīpa (Sumatra). Invited to Tibet in 1042 by King Yeshe Ö to reform a tradition where Vinaya had decayed and tantra had become disconnected from sūtra foundations. His *Bodhipathapradīpa* (Toh 4465) became the source text for all later Tibetan *lamrim* literature. His chief disciple Dromtönpa founded Reting Monastery, originating the **Kadam school** — later succeeded by Tsongkhapa's "New Kadam" (Gelug). All four Tibetan schools recognize him as a root teacher.
|
|
368
|
-
Primary sources: Toh 4465 *Bodhipathapradīpa* + Toh 3948 self-commentary + Kadam oral lineage *Pha chos / Bu chos*.
|
|
369
|
-
Invoke: `/master-atisha`
|
|
370
|
-
|
|
371
|
-
### Tsongkhapa (1357-1419) — Tibetan · Gelug founder
|
|
372
|
-
|
|
373
|
-
Founder of the **Gelug school** (dGe lugs pa, "the way of virtue"; popularly known as the "Yellow Hat school") — basis of the Dalai Lama and Panchen Lama lineages. Born in Tsongkha (Qinghai). Studied with masters across all major schools, particularly the Sakya scholar Rendawa for prasaṅgika Madhyamaka. Reformed lax monastic discipline, integrated sūtra and tantra into a strict graduated path, and produced the great triology: *Lamrim Chenmo* (Great Treatise on the Stages of the Path), *sNgags rim chen mo* (Great Treatise on Tantra), and *Drang nges legs bshad snying po* (Essence of True Eloquence — definitive vs interpretable meaning). Founded Ganden Monastery (1409) — the seat of the school.
|
|
374
|
-
Primary sources: Tsongkhapa's collected works (*gsung 'bum*, searchable on BDRC.io). Chinese translation by Dharma-master Faxun is the standard Sinophone reference.
|
|
375
|
-
Invoke: `/master-tsongkhapa`
|
|
376
|
-
|
|
377
|
-
> ⚠️ Tantric practice steps, empowerment liturgy, generation- and completion-stage details, deity mantras, and channels-and-drops practice are introduced **only at the level of name and historical context — concrete practice instructions are never given**.
|
|
378
|
-
|
|
379
|
-
### Milarepa (1052-1135) — Tibetan · Kagyu
|
|
380
|
-
|
|
381
|
-
Spiritual ancestor of the Tibetan Kagyu lineage and the paradigm of the "yogi tradition" (no monastery, mountain retreat, teaching through song). After committing serious harm in his youth through black magic, he sought purification under Marpa the Translator, who put him through severe trials before transmitting the complete Mahāmudrā and Naro Chodruk lineages. He spent decades in Himalayan retreat, surviving on nettles, and taught through extemporaneous **mGur** (songs of realization) — shaping the entire later Tibetan tradition.
|
|
382
|
-
Primary sources: BDRC — *The Hundred Thousand Songs of Milarepa* (mGur 'bum, W1KG14334) and *The Life of Milarepa* (rNam thar, W22272).
|
|
383
|
-
Invoke: `/master-milarepa`
|
|
384
|
-
|
|
385
|
-
> ⚠️ Naro Chodruk (Six Yogas), tummo, generation/completion stages and other esoteric practices are introduced **only at the level of name and historical context — concrete practice instructions are never given**. Authentic transmission requires direct empowerment from a qualified teacher.
|
|
386
|
-
|
|
387
|
-
### Buddhaghosa (5th century) — Theravāda · commentarial summit
|
|
388
|
-
|
|
389
|
-
The most influential commentator and śāstra master in Theravāda history. Born a brahmin scholar in southern India, he travelled to the Mahāvihāra in Anurādhapura (Sri Lanka) to translate the old Sinhala commentaries (*Sīhaḷa-aṭṭhakathā*) into Pali. To prove his competence, he first composed the *Visuddhimagga* — a 23-chapter encyclopedia of Theravāda meditation and doctrine organized around the threefold training of **sīla, samādhi, paññā**. He then translated the four Nikāya commentaries, the Vinaya commentary *Samantapāsādikā*, and the Abhidhamma commentaries. His framework defines orthodox Theravāda exegesis to this day across Sri Lanka, Burma, Thailand, Cambodia, and Laos.
|
|
390
|
-
Primary sources: PTS edition *Visuddhimagga* + four Nikāya *aṭṭhakathā* (Sumaṅgalavilāsinī, Papañcasūdanī, Sāratthappakāsinī, Manorathapūraṇī) + *Samantapāsādikā* (Vinaya) + *Atthasālinī* (Abhidhamma).
|
|
391
|
-
Invoke: `/master-buddhaghosa`
|
|
392
|
-
|
|
393
|
-
### Mahāsi Sayādaw U Sobhana (1904-1982) — Theravāda · Burmese vipassanā
|
|
394
|
-
|
|
395
|
-
One of the most internationally influential meditation masters of modern Burma. Recognized as a *Pariyatti Sāsanahita* — the highest scriptural qualification in Burmese monasticism — by age 27. Studied four-foundations vipassanā with U Nārada (Mingun Sayadaw) from 1932. Established the **Mahasi Sasana Yeiktha** retreat center in Yangon in 1947, formalizing the **noting method** (rising-falling at the abdomen as primary object) tied to Visuddhimagga's seven purifications and sixteen insight knowledges. Served as *Final Editor* of the Sixth Buddhist Council (1954-1956) — the largest modern revision of the Pali Canon. His lineage profoundly shaped the founders of America's Insight Meditation Society (Goldstein, Salzberg, Kornfield).
|
|
396
|
-
Primary sources: *Manual of Insight* (Wisdom Publications, 2016 English ed.), *The Progress of Insight* (BPS Sri Lanka Wheel No. 280), *Practical Vipassanā Meditation Exercises* (Mahasi Sasana Yeiktha).
|
|
397
|
-
Invoke: `/master-mahasi-sayadaw`
|
|
398
|
-
|
|
399
|
-
> ⚠️ **The AI must never confirm any individual's stage of insight or attainment of fruition.** Verification requires face-to-face interview with a qualified teacher. This is the strictest guardrail in this skill — the Mahasi tradition's "fruition is attainable" framing is famous for inducing self-attainment delusions, and the AI is forbidden from playing that role.
|
|
400
|
-
|
|
401
|
-
### Ajahn Chah Subhaddo (1918-1992) — Theravāda · Thai Forest
|
|
402
|
-
|
|
403
|
-
One of the most internationally influential masters of the Thai Forest Tradition. Renowned for strict Vinaya observance, four-foundations-of-mindfulness practice, and plain, life-grounded teaching style. His Western disciples (Ajahn Sumedho, Ajahn Pasanno, Ajahn Amaro and others) established Abhayagiri (California), Amaravati (UK), Cittaviveka (UK) and other branch monasteries, carrying the forest tradition to the West. Most-quoted line: *"If you let go a little, you have a little peace; if you let go completely, you have complete peace."*
|
|
404
|
-
Primary sources: Pali Canon (SuttaCentral) + authorized English collections — *Food for the Heart*, *A Still Forest Pool*, *Living Dhamma*.
|
|
405
|
-
Invoke: `/master-ajahn-chah`
|
|
406
|
-
|
|
407
|
-
---
|
|
237
|
+
Fifteen masters across four traditions. The command *is* the skill name — invoke it directly once installed.
|
|
238
|
+
|
|
239
|
+
| Command | Master | Tradition · School | Dates |
|
|
240
|
+
|---|---|---|---|
|
|
241
|
+
| `/master-nagarjuna` | Nāgārjuna | Indian · Madhyamaka | c. 150-250 |
|
|
242
|
+
| `/master-kumarajiva` | Kumārajīva | Chinese · Sanlun / Madhyamaka | 344-413 |
|
|
243
|
+
| `/master-zhiyi` | Zhiyi | Chinese · Tiantai | 538-597 |
|
|
244
|
+
| `/master-xuanzang` | Xuanzang | Chinese · Yogācāra | 602-664 |
|
|
245
|
+
| `/master-huineng` | Huineng | Chinese · Chan (Sixth Patriarch) | 638-713 |
|
|
246
|
+
| `/master-fazang` | Fazang | Chinese · Huayan | 643-712 |
|
|
247
|
+
| `/master-ouyi` | Ouyi | Chinese · Tiantai / Pure Land | 1599-1655 |
|
|
248
|
+
| `/master-xuyun` | Xuyun | Chinese · Chan (all five houses) | 1840-1959 |
|
|
249
|
+
| `/master-yinguang` | Yinguang | Chinese · Pure Land | 1861-1940 |
|
|
250
|
+
| `/master-atisha` | Atiśa Dīpaṃkara | Tibetan · Kadam (lamrim) | 982-1054 |
|
|
251
|
+
| `/master-milarepa` | Milarepa | Tibetan · Kagyu (Mahāmudrā) | 1052-1135 |
|
|
252
|
+
| `/master-tsongkhapa` | Tsongkhapa | Tibetan · Gelug (Prāsaṅgika) | 1357-1419 |
|
|
253
|
+
| `/master-buddhaghosa` | Buddhaghosa | Theravāda · commentarial | 5th c. |
|
|
254
|
+
| `/master-mahasi-sayadaw` | Mahāsi Sayādaw | Theravāda · Burmese vipassanā | 1904-1982 |
|
|
255
|
+
| `/master-ajahn-chah` | Ajahn Chah | Theravāda · Thai Forest | 1918-1992 |
|
|
256
|
+
|
|
257
|
+
**Teaching modes**: `/compare-masters` · `/master-debate` · `/master-curriculum` · `/master-help` · **Generator**: `/create-master`
|
|
258
|
+
|
|
259
|
+
> Life, doctrine, and declared sources for each → **[docs/masters.en.md](docs/masters.en.md)**
|
|
408
260
|
|
|
409
261
|
## Architecture
|
|
410
262
|
|
|
411
|
-
|
|
412
|
-
User request
|
|
413
|
-
|
|
|
414
|
-
v
|
|
415
|
-
session-start hook ──> auto-injects master list (5 platforms, unified)
|
|
416
|
-
|
|
|
417
|
-
v
|
|
418
|
-
SKILL.md (AgentSkills entry: decision tree + quick reference)
|
|
419
|
-
|
|
|
420
|
-
+-- Pre-built masters --> prebuilt/{slug}/
|
|
421
|
-
| +-- SKILL.md (decision tree + <HARD-GATE>)
|
|
422
|
-
| +-- meta.json (version / lineage / provenance)
|
|
423
|
-
| +-- references/ (loaded on demand)
|
|
424
|
-
| | +-- teaching.md
|
|
425
|
-
| | +-- voice.md
|
|
426
|
-
| +-- sources/ (offline declared-source passages)
|
|
427
|
-
| | +-- *.md
|
|
428
|
-
| +-- tests/
|
|
429
|
-
| +-- fidelity.jsonl (CI dry-run samples)
|
|
430
|
-
|
|
|
431
|
-
+-- Offline toolchain
|
|
432
|
-
| +-- scripts/validate.py (frontmatter linter)
|
|
433
|
-
| +-- scripts/cite.py (CBETA lookup)
|
|
434
|
-
| +-- scripts/query.py (offline semantic search)
|
|
435
|
-
| +-- scripts/test-fidelity.py (fidelity runner)
|
|
436
|
-
| +-- scripts/validate-fidelity.py
|
|
437
|
-
| +-- bin/cli.mjs (NPX installer)
|
|
438
|
-
|
|
|
439
|
-
+-- Custom generation (/create-master, HARD-GATE enforced)
|
|
440
|
-
+-- Step 1-2 prompts/intake.md → tools/sutra_collector.py
|
|
441
|
-
| └─> FoJin API (KG + semantic search + text)
|
|
442
|
-
+-- Step 3 prompts/{sutra,voice}_analyzer.md → two-stage analysis
|
|
443
|
-
+-- Step 3.5 two-stage independent review ──┬─ prompts/doctrine_reviewer.md
|
|
444
|
-
| └─ prompts/voice_reviewer.md
|
|
445
|
-
+-- Step 4-5 tools/master_builder.py → tools/skill_writer.py
|
|
446
|
-
└─> tools/verify_sources.py (final pre-write check)
|
|
447
|
-
|
|
448
|
-
Unified multi-platform manifests:
|
|
449
|
-
.claude-plugin/ → Claude Code (hooks/run-hook.cmd → session-start)
|
|
450
|
-
.cursor-plugin/ → Cursor (hooks/hooks-cursor.json)
|
|
451
|
-
.codex/ → Codex CLI (.codex/INSTALL.md)
|
|
452
|
-
.opencode/ → OpenCode (referenced from opencode.json)
|
|
453
|
-
gemini-extension.json → Gemini CLI (auto-loaded with GEMINI.md)
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
---
|
|
263
|
+
Directory layout and data flow → **[docs/architecture.en.md](docs/architecture.en.md)**
|
|
457
264
|
|
|
458
265
|
## Relationship to FoJin
|
|
459
266
|
|
|
460
|
-
[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.
|
|
461
268
|
|
|
462
269
|
Master-skill connects to the FoJin API via `tools/fojin_bridge.py` to enable:
|
|
463
270
|
|
|
@@ -491,33 +298,13 @@ Every citation must resolve to the persona's declared source ID. A FoJin locator
|
|
|
491
298
|
|
|
492
299
|
## Troubleshooting
|
|
493
300
|
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
Yes. Each prebuilt master ships with `prebuilt/<name>/sources/` — key passages from that master's core canon, stored offline. When FoJin is down, the master degrades to offline mode and declares "currently running on offline passages" in the reply. The `/create-master` pipeline asks the user to switch to manual-input mode when the API fails, so you can paste source text and continue.
|
|
497
|
-
|
|
498
|
-
**Q: What does a valid CBETA citation look like, and how are sources verified?**
|
|
499
|
-
|
|
500
|
-
CBETA citations use a `Txxn####` identifier (for example, the Lotus Sutra is `T09n0262`); Tibetan, Pali, and compiled-teaching personas use the BDRC / Toh, SuttaCentral / PTS, or teaching IDs declared in `meta.json.sources[]`. `scripts/validate-citation-contract.py` and `tools/verify_sources.py --check-links/--final-check` validate source families, identifier shapes, declared membership, and contract consistency offline. They do not parse free-text citations or guarantee HTTP reachability. The legacy online `verify_sources.py --fix` audit covers CBETA / FoJin links only.
|
|
501
|
-
|
|
502
|
-
**Q: `npx master-skill install` fails with ENOTEMPTY or a permission error — what now?**
|
|
503
|
-
|
|
504
|
-
Clean up any leftover `~/.claude/skills/master-<name>/` directories before retrying. For npm-cache weirdness, run `npm cache clean --force` and rerun NPX. Windows users should execute from Git Bash or WSL to avoid cmd.exe path-escaping issues.
|
|
505
|
-
|
|
506
|
-
**Q: The generated master says things that don't match the historical record — how do I correct it?**
|
|
507
|
-
|
|
508
|
-
Just tell the master in-chat: "he wouldn't phrase it like that" or "he should sound more stern." The `/create-master` correction mode classifies the fix (doctrinal → appended to `teaching.md`; stylistic → appended to `voice.md`), writes it as a `## Correction` block with timestamp, and bumps the patch version. Correction blocks take priority over analysis-generated content at runtime.
|
|
509
|
-
|
|
510
|
-
**Q: How do I contribute a new prebuilt master?**
|
|
511
|
-
|
|
512
|
-
See "Contributing" below. The short version: follow the v0.3 layout under `prebuilt/<name>/`, pass `scripts/validate.py --strict` with zero errors, ship at least 5 fidelity Q&A samples in `tests/fidelity.jsonl`, then open a PR.
|
|
513
|
-
|
|
514
|
-
---
|
|
301
|
+
Common install, invocation, and retrieval questions → **[docs/troubleshooting.en.md](docs/troubleshooting.en.md)**
|
|
515
302
|
|
|
516
303
|
## Contributing
|
|
517
304
|
|
|
518
305
|
Contributions are welcome: new prebuilt masters, corrections to source attributions, offline passage additions, or toolchain improvements.
|
|
519
306
|
|
|
520
|
-
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.
|
|
521
308
|
|
|
522
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.
|
|
523
310
|
|