The skill metadata had drifted: every SKILL.md name field lacked the mpi- prefix, contradicting the directory names and the Agent Skills specification. Descriptions were also missing negative triggers, making it easy for the agent to load the wrong skill. Rewrote the pdf-to-docx skill to follow progressive disclosure: the main SKILL.md dropped from 318 lines to 80, with detailed code examples moved to on-demand references. Added uv run instructions and /// script PEP 723 metadata so dependencies are declared inline and installed automatically. Fixed the pptx skill's script paths and added CLI usage messages to both pptx scripts and the normalize script. Removed the empty self-review directory that was superseded by the unified translation-review skill.
3.1 KiB
name, description, category, compatibility
| name | description | category | compatibility |
|---|---|---|---|
| mpi-terms-search | Full-text search across the MPI Buddhist/Dharma term database. Use when translating or reviewing Chinese-English Buddhist terminology. Do not use for general Chinese-English dictionary lookup outside MPI conventions. | research | Requires Python 3; SQLite database is bundled. |
Terms Search
Database: toolkit/terms-database/termlib.sqlite (SQLite)
CLI: toolkit/terms-database/search.py
Server: toolkit/terms-database/server.py
CLI (preferred)
toolkit/terms-database/search.py <query> [limit]
Multi-word queries are ANDed. Searches both zh and en columns.
Python module
import sys
sys.path.insert(0, 'toolkit/terms-database')
from search import search
results = search("空性", limit=5, src="DoT定稿")
# → list of {zh, en, loc, source} dicts
Use this inside execute_code scripts for batch lookups — no subprocess needed.
HTTP API (use only when CLI is insufficient)
Start: python3 toolkit/terms-database/server.py (port 8910)
GET /— plain HTML UI (form + results table, no CSS)GET /— plain HTML UI (form + results table, no CSS)GET /search?q=...&loc=...&src=...&limit=...— JSON{count, results: [{zh, en, loc, source}]}GET /sources— JSON array of{source, count}for all source tables
All params optional. Omit limit for all results. Query terms are ANDed across zh+en.
Errors return {"error": "..."} with HTTP 500 (API) or shown inline (UI).
Source tables
| src | rows | description |
|---|---|---|
| BAICKZ | 7,679 | Main term bank with example sentences |
| 佛教术语 | 1,795 | Buddhist terminology from 定稿书目术语库 |
| DoT定稿 | 896 | DoT final translation decisions |
| DoT初步 | 412 | DoT preliminary queries |
| 偈颂经文名言 | 263 | Verses and sutra quotes |
| 成语俗语 | 184 | Idioms and common expressions |
| 经论名 | 89 | Sutra/shastra titles |
| 内部特色词 | 87 | MPI internal terminology |
| 海内外建筑名称 | 28+9 | MPI building/place names |
| MPI组织架构 | 4+28 | MPI org structure |
| 导师金句 | 24 | Teacher quotes |
| 静心学堂课程 | 17+20 | Course names |
| 禅意项目 | 14+11 | Zen program terms |
| 公案 | 8 | Chan koans |
Direct SQLite
sqlite3 toolkit/terms-database/termlib.sqlite
Key table: terms (zh, en, loc, source).
Rebuilding
Terms data comes from guide/03 术语库/. To rebuild:
- Convert source xlsx/ods → CSV+YAML in
_output/ - Load CSVs into SQLite as the
termstable (zh, en, loc, source)
Full rebuild pipeline: See references/termbase-rebuild.md (absorbed from the termbase-management skill).
Translation Alignment
When aligning translated djot files against the term database, load references/translation-alignment.md for the full workflow. Summary:
- Extract Chinese terms from
{% "..." %}glossary blocks in the translated file - Batch-search via CLI (
./search.py <term>). Query each term individually. - Prioritize DoT定稿 > 内部特色词 > 佛教术语
- Fix both glossary comments AND body-text occurrences
- Verify with grep