From 4edbc43bf93005b06e4c6f7f3caed422cf7837db Mon Sep 17 00:00:00 2001 From: 732642856 <732642856@qq.com> Date: Sat, 27 Jun 2026 12:27:13 +0800 Subject: [PATCH] Fill high-value skill registry gaps --- SKILL.md | 2 +- references/technique_registry.json | 146 ++++++++++++++++++ ...st_skill_registry_high_value_techniques.py | 34 ++++ 3 files changed, 181 insertions(+), 1 deletion(-) create mode 100644 tests/test_skill_registry_high_value_techniques.py diff --git a/SKILL.md b/SKILL.md index c4dbc745..b919ac53 100644 --- a/SKILL.md +++ b/SKILL.md @@ -218,7 +218,7 @@ description: 印度占星(Jyotish)专业解盘与推运系统。核心能力 | **出生时间矫正** | 八大方法、自动化流程、验证报告 | `birth-time-rectification-advanced.md` | | **PDF读取** | JH/PL PDF全量提取、完整性门、交叉校验 | `pdf-chart-reading-guide.md` `data-bridge-mapping.md` | | **Prashna问事** | 十步断卦、AL、Sphuta、Sahams、失物查询 | `prashna-complete-guide.md` `single-event-inquiry-protocol.md` | -| **多元技法** | Yogi/Ava Yogi、Tithi Lord、Rashi Tulya Navamsa、BCP、Bhrigu Pada、Pancha Pakshi、Ashwini/Abhijit/Ketu星宿专题(需保留成熟度边界) | `yogi-avayogi-system.md` `yogi-asc-tight-orb-wealth-freeze-guide.md` `tithi-lord-relationship-system.md` `tithi-lord-freeze-execution-guide.md` `rtn-high-order-d9-freeze-execution-guide.md` `bhrigu-pada-all-event-freeze-execution-guide.md` `ashwini-abhijit-ketu-nakshatra-freeze-guide.md` `bhrigu-chakra-paddhati.md` | +| **多元技法** | Yogi/Ava Yogi、Tithi Lord、Rashi Tulya Navamsa、BCP、Bhrigu Pada、Pancha Pakshi、Tara Bala、Deha/Jeeva、Moolatrikona、Shodasavarga/Vimsopaka、Ashwini/Abhijit/Ketu星宿专题(需保留成熟度边界) | `yogi-avayogi-system.md` `yogi-asc-tight-orb-wealth-freeze-guide.md` `tithi-lord-relationship-system.md` `tithi-lord-freeze-execution-guide.md` `rtn-high-order-d9-freeze-execution-guide.md` `bhrigu-pada-all-event-freeze-execution-guide.md` `ashwini-abhijit-ketu-nakshatra-freeze-guide.md` `bhrigu-chakra-paddhati.md` `shodasavarga-complete-guide.md` `planetary-dignity-complete-reference.md` `alternative-dasha-systems.md` | | **精准方法论** | PACDARES框架、九层复合方法、L3矛盾检查、三级置信度 | `precision-reading-methodology.md` | | **现代解读** | 现代措辞映射、现代生活场景、常见误判纠错 | `modern-language-guide.md` `common-misconceptions.md` | | **实战智慧** | ⭐反教条主义经验精华(全球占星师真实案例反馈总结) | `practitioner-wisdom-anti-dogma.md` | diff --git a/references/technique_registry.json b/references/technique_registry.json index b24c347f..9341c58d 100644 --- a/references/technique_registry.json +++ b/references/technique_registry.json @@ -344,6 +344,31 @@ "audit_label": "Sphuta/Trisphuta", "missing_impact": "Prashna energy convergence and life-sensitivity markers are absent, leaving horary and life-risk reading thinner than classical toolchains." }, + "deha_jeeva": { + "name": "Deha / Jeeva Framework", + "domains": [ + "dasha", + "prashna", + "health", + "spiritual" + ], + "status": "covered", + "knowledge_refs": [ + "references/alternative-dasha-systems.md", + "references/prashna-complete-guide.md" + ], + "commands": [ + "full-reading", + "prashna" + ], + "output_paths": [ + "modules.prashna.deha_jeeva", + "modules.alternative_dasha_frameworks.deha_jeeva" + ], + "audit_label": "Deha/Jeeva", + "missing_impact": "Without Deha/Jeeva routing, body-vs-consciousness event classification and some classical alternative Dasha judgments stay shallow.", + "note": "Current role is primarily interpretive and workflow-level. Keep maturity at covered until more explicit engine-level outputs and external cases are frozen." + }, "shadbala": { "name": "Shadbala", "domains": [ @@ -472,6 +497,31 @@ "audit_label": "Gandanta", "missing_impact": "Water-fire knot transitions are not surfaced, weakening crisis and karmic transition interpretation." }, + "moolatrikona": { + "name": "Moolatrikona / 原始三方", + "domains": [ + "dignity", + "strength", + "static" + ], + "status": "covered", + "knowledge_refs": [ + "references/planetary-dignity-complete-reference.md", + "references/planets.md" + ], + "commands": [ + "chart", + "shadbala", + "full-reading" + ], + "output_paths": [ + "modules.chart.planets.*.dignity", + "modules.shadbala.sthana_bala" + ], + "audit_label": "Moolatrikona", + "missing_impact": "Without a first-class Moolatrikona layer, dignity ranking, Sthana Bala nuance and several yoga-strength judgments become too coarse.", + "note": "Degree-band details vary by lineage. Current skill already uses Moolatrikona in dignity reasoning and strength interpretation, but should keep lineage notes explicit." + }, "vargottama": { "name": "Vargottama", "domains": [ @@ -512,6 +562,54 @@ "audit_label": "Pushkara", "missing_impact": "D9 grace/support layer may be undercounted." }, + "shodasavarga": { + "name": "Shodasavarga / 十六分盘体系", + "domains": [ + "varga", + "strength", + "classification" + ], + "status": "covered", + "knowledge_refs": [ + "references/shodasavarga-complete-guide.md", + "references/varga-system-quick-reference.md" + ], + "commands": [ + "full-reading", + "chart" + ], + "output_paths": [ + "modules.chart.divisional_charts", + "modules.varga_strength_overview" + ], + "audit_label": "Shodasavarga", + "missing_impact": "Without a first-class 16-varga map, divisional interpretation and traditional weighting logic remain fragmented across isolated chart outputs.", + "note": "Registry entry covers the traditional 16-varga framework and teaching layer; not a claim that every Vimsopaka weighting path is already fully benchmark-closed." + }, + "vimsopaka_bala": { + "name": "Vimsopaka Bala / 分盘综合力量", + "domains": [ + "varga", + "strength", + "timing" + ], + "status": "covered", + "knowledge_refs": [ + "references/shodasavarga-complete-guide.md", + "references/shadbala-interpretation-methodology.md", + "references/dasha-calculation-tool.md" + ], + "commands": [ + "full-reading" + ], + "output_paths": [ + "analysis_natal_full.vimsopaka_bala", + "modules.vimsopaka_bala" + ], + "audit_label": "Vimsopaka Bala", + "missing_impact": "Without Vimsopaka Bala, cross-varga strength synthesis stays under-modeled, weakening Dasha-lord judgment and deep divisional confidence calibration.", + "note": "Keep maturity at covered: the interpretive layer and reference doctrine exist, but external benchmark closure for all weighting schemes is still incomplete." + }, "navamsa_64th": { "name": "64th Navamsa / Chatushashti Navamsa", "domains": [ @@ -851,6 +949,28 @@ "version": "7.0", "note": "v7.0 — 6种解除条件(dispositor在Lagna角宫/Moon角宫+擢升星主在角宫+互容+Navamsa入庙)+量化解除程度+dashaflow参考对齐" }, + "neechabhanga": { + "name": "Neechabhanga / 落陷取消(别名入口)", + "domains": [ + "yoga", + "debilitation", + "recovery" + ], + "status": "complete", + "knowledge_refs": [ + "references/neechabhanga-raja-yoga.md", + "references/common-misconceptions.md" + ], + "commands": [ + "full-reading" + ], + "output_paths": [ + "modules.yogas_doshas.nicha_bhanga_raj" + ], + "audit_label": "Neechabhanga", + "missing_impact": "Debilitation cancellation logic becomes harder to discover when users ask with the common spelling only.", + "note": "Alias entry to keep common terminology aligned with nicha_bhanga_raj. Do not interpret this alias as a separate extra technique." + }, "mangal_dosha": { "name": "Mangal Dosha / 火星煞", "domains": [ @@ -1266,6 +1386,32 @@ "audit_label": "Nakshatra Advanced", "missing_impact": "N/A - implemented in v6.0.22" }, + "tara_bala": { + "name": "Tara Bala / Tarabala / 星宿力", + "domains": [ + "nakshatra", + "muhurta", + "timing", + "strength" + ], + "status": "covered", + "knowledge_refs": [ + "references/pancha-pakshi-nakshatra-systems.md", + "references/navatara-kantaka-shani-guide.md", + "references/quick-reference-guide.md" + ], + "commands": [ + "nakshatra-adv", + "full-reading" + ], + "output_paths": [ + "modules.nakshatra_advanced.tara_bala", + "modules.nakshatra_advanced.tara_chandra_combined" + ], + "audit_label": "Tara Bala", + "missing_impact": "Without a first-class Tara Bala entry, personalized Muhurta filtering and Nakshatra-based caution windows stay hidden behind generic Nakshatra outputs.", + "note": "This is a first-class view over the existing Nakshatra Advanced layer, not a claim that every Navatara branch has already been benchmark-closed." + }, "nakshatra_dasha": { "name": "Nakshatra Dasha / 星宿大运推演(Ashtottari + Nakshatra-level Vimshottari)", "domains": [ diff --git a/tests/test_skill_registry_high_value_techniques.py b/tests/test_skill_registry_high_value_techniques.py new file mode 100644 index 00000000..6e4c50f6 --- /dev/null +++ b/tests/test_skill_registry_high_value_techniques.py @@ -0,0 +1,34 @@ +from __future__ import annotations + +import json +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +REGISTRY = ROOT / "references" / "technique_registry.json" + + +def test_registry_includes_high_value_traditional_techniques() -> None: + techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"] + + required = { + "tara_bala": "covered", + "vimsopaka_bala": "covered", + "deha_jeeva": "covered", + "shodasavarga": "covered", + "moolatrikona": "covered", + } + for key, status in required.items(): + assert key in techniques, key + assert techniques[key]["status"] == status + assert techniques[key]["knowledge_refs"] + assert techniques[key]["commands"] + assert techniques[key]["output_paths"] + + +def test_registry_keeps_neechabhanga_alias_aligned() -> None: + techniques = json.loads(REGISTRY.read_text(encoding="utf-8"))["techniques"] + + assert "nicha_bhanga_raj" in techniques + assert "neechabhanga" in techniques + assert techniques["neechabhanga"]["status"] == techniques["nicha_bhanga_raj"]["status"]