18 Commits

Author SHA1 Message Date
xianren 3f81cbb955 feat(v0.6): namespace all 14 master slash commands under /master-<slug> prefix
Slash command discoverability cleanup. Claude Code users typically have
50+ skills installed; bare-word commands like /atisha and /zhiyi got
scattered across the /-completion list. v0.6 prefixes all 14 master
slash commands with master- so they cluster under /m<tab> and clearly
signal "this is a Master-skill master skill".

Scope of rename
---------------
* Slash commands: /zhiyi → /master-zhiyi, /huineng → /master-huineng,
  ... all 14 affected.
* Directory layout: prebuilt/<slug>/ → prebuilt/master-<slug>/ for all
  14 masters (git mv preserves history).
* Frontmatter: each prebuilt/master-<slug>/SKILL.md updates `name:` to
  master-<slug>.
* compare-masters and create-master meta-skills are intentionally
  unchanged — they're already prefixed by their nature, and
  /master-compare-masters would be doublespeak.

Decoupling: fojin.app/chat is NOT affected
------------------------------------------
The fojin web frontend's master dropdown uses bare slug IDs (atisha,
huineng, ...) and is already grouped under "法师模式" in its UI. Backend
master_profiles.py keeps `id="atisha"` etc. unchanged. No fojin-side
migration required. The two surfaces (Claude Code slash + fojin
dropdown) are now formally decoupled by design, not coincidence.

Compatibility
-------------
* NPX installer accepts both forms: `npx master-skill install zhiyi`
  (short) and `install master-zhiyi` (full) both resolve to the same
  prebuilt/master-zhiyi/ source. Install destination is always
  ~/.claude/skills/master-<slug>/. Backward-compatible uninstall
  handles legacy non-prefixed installs (~/.claude/skills/zhiyi/).
* The cli.mjs already used `master-${name}` for install destinations
  (since v0.3 NPX installer was added), so existing v0.4/v0.5 NPX
  users were already getting the prefix in skills/ — only the source
  prebuilt/ layout and slash commands change in v0.6.

Files updated
-------------
* 14 directories renamed (28 files moved, 0 content changes).
* 14 SKILL.md frontmatter `name:` fields.
* prebuilt/compare/SKILL.md: 43 slug references updated to prefixed form.
* bin/cli.mjs: resolveMasterDir helper accepts both short and full;
  cmdInstall and cmdUninstall handle legacy paths.
* .github/workflows/validate-and-test.yml: fidelity-smoke MASTERS
  rotation array updated to all 14 prefixed names (was 8 hardcoded
  汉传 only — now properly rotates across the full set).
* scripts/{validate,cite,query,test-fidelity}.py: --master arg help
  text examples.
* README.md + README_EN.md: situational guidance table, install
  snippets, master cards. New v0.6 release banner.
* SKILL.md (project-level) preset list with new slash names.
* ETHICS.md Tier table slug references (4).
* All plugin manifests bumped 0.5.0 → 0.6.0 with description noting
  the /master-<slug> invocation pattern.
* CHANGELOG.md: [0.6.0] section with breaking-change notice and
  migration commands for existing NPX users.

Validation
----------
* python scripts/validate.py --strict           ✓ 15 masters pass
* python scripts/validate-fidelity.py           ✓ all valid
* python scripts/test-fidelity.py --all --dry-run  ✓
* pytest tests/                                  ✓ 31 passed, 6 skipped
* node bin/cli.mjs list                          ✓ shows all 14 with
                                                   master- prefix
* node bin/cli.mjs install zhiyi                 ✓ resolves to
                                                   prebuilt/master-zhiyi/
* node bin/cli.mjs install master-zhiyi          ✓ resolves to same

Migration for existing v0.4/v0.5 users
--------------------------------------
    npx master-skill@0.5 uninstall zhiyi huineng xuanzang ...
    # OR: rm -rf ~/.claude/skills/{zhiyi,huineng,...}
    npx master-skill@latest install --all

Then start a new Claude Code session; the new slash commands are
/master-zhiyi, /master-huineng, etc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 20:43:36 +08:00
xianren 9b2039e12a feat(v0.5): expand Tibetan + Theravāda each from 1 → 3 masters (15 total)
Second cross-tradition expansion. v0.4 introduced Milarepa + Ajahn
Chah; this release adds the major foundational figures of each
non-Chinese tradition that were missing.

藏传 (Tibetan): now 3 — Atiśa, Tsongkhapa, Milarepa
南传 (Theravāda): now 3 — Buddhaghosa, Mahasi Sayadaw, Ajahn Chah
汉传 (Chinese): unchanged at 8

New masters
-----------
* prebuilt/atisha/ — Atiśa Dīpaṃkara (982-1054). 噶当派 founder,
  Indo-Tibetan bridge. Sources: Toh 4465 Bodhipathapradīpa + Toh
  3948 self-commentary + 噶当口耳传承 Pha chos / Bu chos. Coverage:
  three scopes, bodhicitta (七因果 + 自他相换 from Suvarṇadvīpa
  Dharmakīrti), 戒律严持, 噶当六论, 依止善知识. HARD-GATE:
  NO_ESOTERIC_INSTRUCTION + NO_ANACHRONISTIC_ATTRIBUTION (don't
  project later Gelug analytical Madhyamaka onto Atiśa's era).

* prebuilt/tsongkhapa/ — Tsongkhapa Lobsang Drakpa (1357-1419).
  Gelug founder, basis of Dalai Lama / Panchen Lama lineages.
  Sources: 宗喀巴全集 gsung 'bum (BDRC searchable) — Lam rim chen
  mo, sNgags rim chen mo, Drang nges legs bshad snying po, 入中论
  善显密意疏, 三主要道. Coverage: 三主要道 (出离心 / 菩提心 / 清净
  见), lamrim, 应成中观, 三聚戒, 闻思修, 五部大论. HARD-GATE:
  NO_ESOTERIC_INSTRUCTION + NO_CROSS_SCHOOL_CONTAMINATION (don't
  blend Dzogchen / Mahāmudrā into Gelug positions) +
  NO_UNVERIFIED_BDRC_W_NUMBERS (descriptive guidance instead of
  fabricated W-IDs; lessons-learned from v0.4 fixup).

* prebuilt/buddhaghosa/ — Buddhaghosa (5th century). 上座部
  commentarial summit. Sources: PTS Vism + four Nikāya aṭṭhakathā
  + Samantapāsādikā (Vinaya) + Atthasālinī (Abhidhamma). Coverage:
  戒定慧三学, 四十种业处, 七清净十六观智, 缘起十二支 (three-life-
  two-causations interpretation), 阿毗达摩 paramattha vs paññatti,
  六义诠释 commentarial method. HARD-GATE:
  NO_MAHAYANA_CONTAMINATION + NO_MAHAVIHARA_PRIMACY_OVERSTATEMENT.

* prebuilt/mahasi-sayadaw/ — Mahāsi Sayādaw U Sobhana (1904-1982).
  Burmese Vipassanā tradition / Mahasi Method. Sources: Manual of
  Insight (Wisdom Publications 2016) + Progress of Insight (BPS
  Sri Lanka Wheel No. 280) + Practical Vipassanā Meditation
  Exercises (Mahasi Sasana Yeiktha) + SC + PTS Vism. Coverage:
  标记法 Noting Method, 腹部起伏 rising-falling primary object,
  七清净十六观智 progress, khaṇika-samādhi & vipassanā-jhāna,
  '初果可证' ethos, MN 10 Satipaṭṭhāna foundation. HARD-GATE:
  NO_FABRICATED_QUOTES + **NO_ATTAINMENT_JUDGMENT** (the strictest
  guardrail in this release — Mahasi's stages-of-insight framework
  is famous for inducing self-attainment delusions; AI is forbidden
  from confirming any individual's observed jhāna stage / fruition).

Each master ships the standard v0.3 progressive-disclosure shape:
SKILL.md (decision tree + HARD-GATE + Quick Reference) + meta.json +
references/{voice,teaching}.md + sources/INDEX.md + ≥1 excerpts file
+ tests/fidelity.jsonl with 12-13 cases each.

ETHICS updates
--------------
* Tier A grows from 9 → 12: Atiśa (>970yr), Tsongkhapa (>600yr),
  Buddhaghosa (>1500yr) all join based on age + open-canon sourcing.
* Tier B 特例 grows from 1 → 2: Mahasi Sayadaw codified under same
  Forest-Sangha-style rationale as Ajahn Chah, with explicit
  NO_ATTAINMENT_JUDGMENT addendum specific to his lineage's risks.
* Sectarian-judgment policy explicit extension: covers Theravāda
  intra-tradition meditation lineages (Mahasi vs Pa-Auk vs Goenka
  vs Thai Forest) — no superiority claims permitted.

compare-masters meta-skill
--------------------------
prebuilt/compare/SKILL.md updated:
* 可用祖师 table now lists all 15 masters by tradition.
* Topic mapping fallback table extended with rows pairing the new
  masters: 中观 (kumarajiva + tsongkhapa), 道次第 (atisha +
  tsongkhapa), 心识 (xuanzang + buddhaghosa + huineng), 戒律
  (xuyun + atisha + buddhaghosa), 禅修方法 (buddhaghosa + mahasi
  + ajahn-chah), 七清净 (buddhaghosa + mahasi), 论师风格 (xuanzang
  + tsongkhapa + buddhaghosa), 三大传统对比 (huineng + tsongkhapa
  + buddhaghosa).
* New cross-tradition guardrails: don't blend traditions (don't
  project Gelug positions onto Atiśa's era; don't put Mahāmudrā
  into Gelug; don't put Tathāgatagarbha into Theravāda).

Surface bumps
-------------
* All 4 plugin manifests + package.json + gemini-extension.json
  bumped 0.4.0 → 0.5.0 with description updated to "15 prebuilt
  masters".
* SKILL.md (project-level) preset list expanded to 8/3/3.
* README.md + README_EN.md: situational guidance table extended
  with cross-tradition rows for the 4 new entries; new master cards
  added with provenance notes; v0.5 release banner appended above
  v0.4 banner.

Validation
----------
* python scripts/validate.py --strict   →  15 masters pass
* python scripts/validate-fidelity.py   →  all valid
* python scripts/test-fidelity.py --all --dry-run  → 
* pytest tests/                          →  31 passed, 6 skipped

Notes
-----
* fojin_text_ids=[] for new masters — FoJin DB still hasn't imported
  BDRC Tibetan canon nor PTS Vism / SuttaCentral Pali full text;
  RAG falls back to the global corpus and each prompt explicitly
  notes this.
* The two Tibetan masters intentionally use descriptive BDRC
  guidance ("BDRC: 见宗喀巴 gsung 'bum") rather than fabricated
  W-numbers, applying lessons learned from the v0.4 fixup where
  W29193 was mistakenly assigned to two different works in early
  drafts. Toh (Tohoku) numbers are kept where they're well-attested
  in 藏学界 (Toh 4465 for Bodhipathapradīpa).
* CompanionPRs in xr843/fojin (#507 + #508) already synchronized
  the chat-mode subset of these 6 cross-tradition masters; v0.5 of
  this repo brings the Master-skill side to parity.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 18:39:58 +08:00
xianren 5b46be9890 feat: expand to Tibetan + Theravada — 10 masters across 三大传统 (v0.4)
Adds the project's first non-Chinese masters, taking the scope from
"Chinese Buddhist" to "Buddhist" and matching the project name's
broader implication.

New masters
-----------
• prebuilt/milarepa — Tibetan Kagyu yogi (1052–1135). Sources:
  The Hundred Thousand Songs of Milarepa (mGur 'bum, BDRC W1KG14334)
  and The Life of Milarepa (rNam thar, BDRC W22272). Coverage:
  Mahāmudrā view, Naro Chodruk (name-level only — no esoteric steps),
  retreat & austerity, guru yoga, karma & purification.

• prebuilt/ajahn-chah — Thai Forest Tradition founder of Wat Pah Pong
  (1918–1992). Sources: Pali Canon (SuttaCentral SC IDs) plus
  authorized English collections Food for the Heart, A Still Forest
  Pool, Living Dhamma. Coverage: sati & satipaṭṭhāna, ānāpānasati,
  three characteristics, letting go, sīla-samādhi-paññā, middle way.

HARD-GATE additions
-------------------
• no_esoteric_instruction — Tibetan tantric practice steps (tummo,
  generation/completion stages, empowerment-required visualizations
  and mantras) are never disclosed; queries are redirected to
  qualified teachers. Boundary registered in
  scripts/validate-fidelity.py.

• No fabricated quotes for Theravāda discourses — Ajahn Chah quotes
  must trace to authorized publications; no synthesized "Ajahn Chah
  said" dialogue.

Citation system
---------------
BDRC:Wxxxxx (Tibetan canon) and SuttaCentral SC IDs are now
first-class alongside CBETA Txxnxxxx in frontmatter sources lists.
validate.py already accepts non-cbeta sources via the existing
title-or-cbeta_id check, no schema change required.

Cross-tradition compare-masters mappings
----------------------------------------
prebuilt/compare/SKILL.md gets new fallback rows for: 苦行/闭关
(xuyun + milarepa), 正念/觉知 (huineng + ajahn-chah + xuyun),
出离心/无常 (yinguang + milarepa + ajahn-chah), 三大传统对比
(huineng + milarepa + ajahn-chah), and adds milarepa to 般若/空性,
ajahn-chah to 戒律/行持.

Surface updates
---------------
• Description across package.json, .claude-plugin/{plugin,marketplace}.json,
  .cursor-plugin/plugin.json: "Chinese Buddhist" → "Buddhist",
  "8 prebuilt masters" → "10 prebuilt masters across 汉传/藏传/南传".
• README.md + README_EN.md: cross-tradition rows in the situational
  guidance table; new master cards for Milarepa and Ajahn Chah with
  appropriate provenance notes; v0.4 release banner replaces v0.3.
• SKILL.md preset list reorganized by tradition.
• CHANGELOG.md gets a [0.4.0] section.
• package.json keywords add tibetan-buddhism, theravada, bdrc,
  suttacentral.

Validation
----------
• python scripts/validate.py --strict →  11 masters pass
• python scripts/validate-fidelity.py →  11 masters validated
  (12 + 13 fidelity cases for the two new masters)
• python scripts/test-fidelity.py --all --dry-run → 
• pytest tests/ →  31 passed, 6 skipped

The progressive-disclosure shape of v0.3 is preserved exactly, so
the fidelity-smoke CI cost cap is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 12:56:56 +08:00
xianren 7e2070318d feat(onboarding): browser-first README + starter_questions for 8 masters
Shift the README narrative so that non-developer users — the 99% of the
actual audience — find the browser entry point first and the CLI install
second. The old structure buried fojin.app/chat at line 48 under a wall
of developer badges.

Changes:

- README.md / README_EN.md: new "立即体验 / Try It Now" hero section
  right after the title block, with a big call-to-action linking to
  fojin.app/chat, a "which master should I ask" recommendation table,
  and an explicit redirect for CLI users to the developer section.
- Rename "快速开始 / Quick Start" → "开发者安装 / Developer Installation"
  with a clear "if you just want to try it, use the browser instead"
  callout at the top.
- Update TOC anchors in both languages to match.

- prebuilt/<master>/meta.json × 8: new `starter_questions` field with
  4 Q&A entries per master. Each entry has `q` (the question) and `why`
  (why this question is suited for this specific master's voice and
  source corpus). Intended consumer: fojin.app/chat can fetch the raw
  meta.json on master selection and render these as cold-start prompts
  — solving the empty-input-box problem for first-time users.

Rationale: the biggest onboarding gap for non-CLI users is "I don't
know what to ask this master." A curated 4-question starter per master
provides both a safe entry point and a teaching signal about what this
particular master is actually good at answering.

Validated: scripts/validate.py --strict passes (9/9 masters).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 10:46:32 +08:00
xianren 4eb92ab048 docs(readme): sync README to v0.3 reality, bring EN in lockstep with CN
README.md and README_EN.md had drifted from the code. The Chinese README
still claimed "SKILL.md < 100 行" (actual: 386 lines at repo root,
124–159 lines in prebuilt/*), and the English README still advertised
the v0.2 release — completely missing NPX install, provenance,
fidelity tests, HARD-GATE, two-stage review, and multi-platform
plugins.

Changes in both languages:

- Remove the "SKILL.md < 100 lines" claim (it was never true of the
  rebuilt v0.3 files and made the whole doc feel aspirational)
- Add v0.3 post-iteration banner covering two-stage review, HARD-GATE,
  multi-platform plugin support, session-start hook, pressure tests,
  and CI validation
- Expand Features list with HARD-GATE, two-stage review, unified
  multi-platform plugin bullets
- Rewrite the architecture diagram so it shows the session-start hook,
  HARD-GATE placement, two-stage review step (Step 3.5), and the
  five-platform manifest layout
- Add a Troubleshooting / 常见问题 section covering: FoJin API
  unreachability and offline fallback, CBETA citation format and
  verification, `npx master-skill install` failure recovery,
  correction-mode for historical accuracy, and how to contribute
  a new prebuilt master
- Update Contributing to reference the actual v0.3 layout (references/,
  sources/, tests/fidelity.jsonl) and CI fidelity dry-run gate

Chinese-specific:

- Fix the "OpenClaw" typo in the usage environment list
  (Claude Code / Codex CLI / OpenClaw → Claude Code / Cursor /
  Codex CLI / OpenCode / Gemini CLI)

English-specific (larger catch-up):

- Replace the stale "v0.2 Update" banner with the v0.3 banner
- Replace the v0.2 Features list (Dual-mode output, Incremental
  evolution, Version management) with the current v0.3 feature set
- Add the missing "Compare Masters" section (the English README never
  documented /compare-masters at all)
- Rewrite the architecture diagram — it still showed teaching.md and
  voice.md at the top level of prebuilt/{slug}/ and referenced
  tools/version_manager.py, which is not the v0.3 layout
- Fix the same "OpenClaw" typo

No behavioral changes — docs only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 14:27:32 +08:00
xianren f3472d6254 feat: add multi-platform plugin support and session-start hook
Add support for 5 platforms beyond NPX:

- Claude Code: .claude-plugin/plugin.json + marketplace.json
- Cursor: .cursor-plugin/plugin.json + hooks-cursor.json
- Codex CLI: .codex/INSTALL.md with symlink setup
- OpenCode: .opencode/INSTALL.md with plugin config
- Gemini CLI: gemini-extension.json + GEMINI.md

Infrastructure:
- SessionStart hook with platform detection (Claude Code,
  Cursor, Copilot CLI) that injects available masters list
- Cross-platform run-hook.cmd polyglot wrapper (Windows + Unix)
- .version-bump.json for unified version management across
  all platform config files
- Update README/README_EN with multi-platform install instructions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 21:38:08 +08:00
xianren 7f26cb3239 docs: add online demo section linking to fojin.app/chat
Users can now try all pre-built masters directly in the browser
without installing Claude Code or Codex CLI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:10:38 +08:00
xianren 5b30b081c5 docs: add Codex CLI installation instructions
Codex CLI natively supports AgentSkills standard via ~/.codex/skills/.
Verified with codex-cli 0.118.0 — 10 skills registered successfully.
2026-04-05 13:33:50 +08:00
xianren eb87794773 docs: simplify Community section wording 2026-04-05 10:50:45 +08:00
xianren 799beb6ba6 docs: add Community section linking to LINUX DO 2026-04-05 10:46:01 +08:00
xianren 1e0947acc4 docs: simplify v0.2 update banner 2026-04-05 10:16:10 +08:00
xianren 1b8554242d docs: add hero section with Diamond Sutra epigraph, badges, and navigation
Inspired by colleague-skill's README layout, adapted with dignified
Buddhist tone:
- Diamond Sutra verse as epigraph (in quotation marks, with source)
- Badges row (License, Python, Claude Code, AgentSkills)
- Scholar-oriented hook paragraphs (studying Yogacara, Chan, etc.)
- Serious tagline (no marketing flourish)
- Navigation quick-links
- v0.2 update banner
2026-04-05 10:13:39 +08:00
xianren 25aea07f6a refactor: rename Buddha-skill → Master-skill
Matches internal architecture (create-master, master_xuanzang, etc.)
and accurately reflects content (historical Chinese Buddhist masters,
not the Buddha himself).

Changes:
- 32 text references across 9 files updated
- Sanskrit terms (buddha-dhātu, buddhatā) preserved in dictionary context
- GitHub repo renamed (preserves stars/forks/history, auto-redirects)
- Internal naming already uses master_* (unchanged)

All 79 tests pass.
2026-04-05 10:03:42 +08:00
xianren da2a7f2dc8 refactor: remove 南传/藏传 masters, focus exclusively on 汉传祖师大德 2026-04-05 07:42:00 +08:00
xianren 4ef0c6fd70 docs: simplify acknowledgments — remove FoJin and colleague-skill 2026-04-05 07:29:07 +08:00
xianren 2fa3c1f634 refactor: rename teacher → master across all docs, commands, files, and directories 2026-04-04 22:10:41 +08:00
xianren 29095958bc refactor: rename buddha-skill to Buddha-skill across all files 2026-04-04 18:33:45 +08:00
xianren 251b6a66e8 docs: add Chinese and English README 2026-04-04 17:49:17 +08:00