@v587d/capital-generation 2.7.6 → 2.7.8
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/CHANGELOG.md +78 -0
- package/README.md +5 -4
- package/THIRD_PARTY_NOTICES.md +14 -3
- package/capital-config/client.js +4 -4
- package/capital-config/package.json +1 -1
- package/capital-watchlist/package.json +1 -1
- package/chart-ui/package.json +1 -1
- package/lib/agents/selected-skills-provider.js +91 -41
- package/lib/index.js +3 -2
- package/lib/web-retriever/local-fetch.d.ts +1 -1
- package/lib/web-retriever/local-fetch.js +1 -1
- package/lib/web-retriever/wind-client.d.ts +1 -1
- package/lib/web-retriever/wind-client.js +1 -1
- package/package.json +2 -1
- package/selected-skills/README.md +3 -1
- package/selected-skills/catalog.js +155 -0
- package/selected-skills/financeskills/LICENSE +21 -0
- package/selected-skills/financeskills/UPSTREAM.md +202 -0
- package/selected-skills/financeskills/skills/ai-anomaly-detection/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/ai-anomaly-detection/SKILL.md +84 -0
- package/selected-skills/financeskills/skills/ai-anomaly-detection/references/feature-engineering.md +20 -0
- package/selected-skills/financeskills/skills/ai-anomaly-detection/references/ml-algorithms.md +28 -0
- package/selected-skills/financeskills/skills/aro-computation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/aro-computation/SKILL.md +82 -0
- package/selected-skills/financeskills/skills/aro-computation/references/aro-standards.md +22 -0
- package/selected-skills/financeskills/skills/aro-computation/references/pv-math.md +27 -0
- package/selected-skills/financeskills/skills/audit-checklist/EXAMPLE.md +17 -0
- package/selected-skills/financeskills/skills/audit-checklist/SKILL.md +77 -0
- package/selected-skills/financeskills/skills/audit-checklist/references/internal-controls.md +36 -0
- package/selected-skills/financeskills/skills/audit-checklist/references/isa-standards.md +26 -0
- package/selected-skills/financeskills/skills/automated-reconciliation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/automated-reconciliation/SKILL.md +87 -0
- package/selected-skills/financeskills/skills/automated-reconciliation/assets/reconciliation-statement-template.md +31 -0
- package/selected-skills/financeskills/skills/automated-reconciliation/references/fuzzy-logic.md +27 -0
- package/selected-skills/financeskills/skills/automated-reconciliation/references/rec-controls.md +28 -0
- package/selected-skills/financeskills/skills/banking-compliance/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/banking-compliance/SKILL.md +82 -0
- package/selected-skills/financeskills/skills/banking-compliance/references/basel-iii-framework.md +26 -0
- package/selected-skills/financeskills/skills/banking-compliance/references/risk-weights.md +32 -0
- package/selected-skills/financeskills/skills/budget-forecast/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/budget-forecast/SKILL.md +87 -0
- package/selected-skills/financeskills/skills/budget-forecast/references/forecasting-best-practices.md +26 -0
- package/selected-skills/financeskills/skills/budget-forecast/references/scenario-analysis.md +25 -0
- package/selected-skills/financeskills/skills/close-management/EXAMPLE.md +17 -0
- package/selected-skills/financeskills/skills/close-management/SKILL.md +85 -0
- package/selected-skills/financeskills/skills/close-management/references/close-task-library.md +32 -0
- package/selected-skills/financeskills/skills/company-valuation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/company-valuation/SKILL.md +80 -0
- package/selected-skills/financeskills/skills/company-valuation/references/terminal-value-guide.md +33 -0
- package/selected-skills/financeskills/skills/corporate-consolidation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/corporate-consolidation/SKILL.md +84 -0
- package/selected-skills/financeskills/skills/corporate-consolidation/references/consolidation-standard.md +28 -0
- package/selected-skills/financeskills/skills/corporate-consolidation/references/minority-interest.md +25 -0
- package/selected-skills/financeskills/skills/credit-analysis/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/credit-analysis/SKILL.md +84 -0
- package/selected-skills/financeskills/skills/credit-analysis/references/covenant-guide.md +26 -0
- package/selected-skills/financeskills/skills/crypto-accounting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/crypto-accounting/SKILL.md +81 -0
- package/selected-skills/financeskills/skills/crypto-accounting/references/fasb-crypto.md +26 -0
- package/selected-skills/financeskills/skills/crypto-accounting/references/ifrs-crypto.md +25 -0
- package/selected-skills/financeskills/skills/cvp-breakeven/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/cvp-breakeven/SKILL.md +78 -0
- package/selected-skills/financeskills/skills/cvp-breakeven/references/cvp-patterns.md +28 -0
- package/selected-skills/financeskills/skills/debt-payoff/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/debt-payoff/SKILL.md +94 -0
- package/selected-skills/financeskills/skills/debt-payoff/references/debt-strategies.md +32 -0
- package/selected-skills/financeskills/skills/debt-payoff/references/interest-calculations.md +27 -0
- package/selected-skills/financeskills/skills/debt-restructuring/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/debt-restructuring/SKILL.md +79 -0
- package/selected-skills/financeskills/skills/debt-restructuring/references/creditor-priority.md +26 -0
- package/selected-skills/financeskills/skills/debt-restructuring/references/restructuring-types.md +24 -0
- package/selected-skills/financeskills/skills/deferred-tax/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/deferred-tax/SKILL.md +86 -0
- package/selected-skills/financeskills/skills/deferred-tax/references/td-catalogue.md +39 -0
- package/selected-skills/financeskills/skills/earned-value-mgmt/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/earned-value-mgmt/SKILL.md +79 -0
- package/selected-skills/financeskills/skills/earned-value-mgmt/references/forecasting-eac.md +27 -0
- package/selected-skills/financeskills/skills/earned-value-mgmt/references/pmi-evm.md +29 -0
- package/selected-skills/financeskills/skills/ecl-computation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/ecl-computation/SKILL.md +85 -0
- package/selected-skills/financeskills/skills/ecl-computation/references/ifrs9-standard.md +27 -0
- package/selected-skills/financeskills/skills/ecl-computation/references/risk-modeling.md +26 -0
- package/selected-skills/financeskills/skills/esg-reporting/EXAMPLE.md +17 -0
- package/selected-skills/financeskills/skills/esg-reporting/SKILL.md +79 -0
- package/selected-skills/financeskills/skills/esg-reporting/references/ghg-protocol.md +22 -0
- package/selected-skills/financeskills/skills/esg-reporting/references/sasb-map.md +25 -0
- package/selected-skills/financeskills/skills/financial-analysis/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/financial-analysis/SKILL.md +108 -0
- package/selected-skills/financeskills/skills/financial-analysis/assets/analysis-memo-template.md +31 -0
- package/selected-skills/financeskills/skills/financial-analysis/references/accounting-standards.md +45 -0
- package/selected-skills/financeskills/skills/financial-analysis/references/ratio-definitions.md +14 -0
- package/selected-skills/financeskills/skills/fixed-asset-accounting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/fixed-asset-accounting/SKILL.md +78 -0
- package/selected-skills/financeskills/skills/fixed-asset-accounting/references/useful-life-guide.md +30 -0
- package/selected-skills/financeskills/skills/forensic-accounting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/forensic-accounting/SKILL.md +91 -0
- package/selected-skills/financeskills/skills/forensic-accounting/references/benfords-law.md +24 -0
- package/selected-skills/financeskills/skills/forensic-accounting/references/fraud-triangle.md +26 -0
- package/selected-skills/financeskills/skills/insurance-reserving/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/insurance-reserving/SKILL.md +82 -0
- package/selected-skills/financeskills/skills/insurance-reserving/references/actuarial-methods.md +33 -0
- package/selected-skills/financeskills/skills/insurance-reserving/references/insurance-metrics.md +26 -0
- package/selected-skills/financeskills/skills/intercompany-accounting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/intercompany-accounting/SKILL.md +79 -0
- package/selected-skills/financeskills/skills/intercompany-accounting/references/elimination-entries.md +35 -0
- package/selected-skills/financeskills/skills/inventory-costing/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/inventory-costing/SKILL.md +80 -0
- package/selected-skills/financeskills/skills/inventory-costing/references/costing-examples.md +31 -0
- package/selected-skills/financeskills/skills/investment-analysis/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/investment-analysis/SKILL.md +82 -0
- package/selected-skills/financeskills/skills/investment-analysis/references/competitive-advantage.md +31 -0
- package/selected-skills/financeskills/skills/investment-analysis/references/valuation-guide.md +29 -0
- package/selected-skills/financeskills/skills/journal-entry/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/journal-entry/SKILL.md +94 -0
- package/selected-skills/financeskills/skills/journal-entry/assets/journal-entry-template.md +21 -0
- package/selected-skills/financeskills/skills/journal-entry/references/entry-patterns.md +51 -0
- package/selected-skills/financeskills/skills/lbo-modeling/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/lbo-modeling/SKILL.md +88 -0
- package/selected-skills/financeskills/skills/lbo-modeling/references/debt-structures.md +22 -0
- package/selected-skills/financeskills/skills/lbo-modeling/references/lbo-best-practices.md +27 -0
- package/selected-skills/financeskills/skills/lease-accounting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/lease-accounting/SKILL.md +88 -0
- package/selected-skills/financeskills/skills/lease-accounting/assets/commencement-summary-template.md +28 -0
- package/selected-skills/financeskills/skills/lease-accounting/references/ibr-guide.md +26 -0
- package/selected-skills/financeskills/skills/net-worth-tracker/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/net-worth-tracker/SKILL.md +98 -0
- package/selected-skills/financeskills/skills/net-worth-tracker/references/asset-valuation.md +40 -0
- package/selected-skills/financeskills/skills/net-worth-tracker/references/net-worth-benchmarks.md +33 -0
- package/selected-skills/financeskills/skills/nlp-earnings-sentiment/EXAMPLE.md +17 -0
- package/selected-skills/financeskills/skills/nlp-earnings-sentiment/SKILL.md +77 -0
- package/selected-skills/financeskills/skills/nlp-earnings-sentiment/references/finbert-guide.md +26 -0
- package/selected-skills/financeskills/skills/nlp-earnings-sentiment/references/linguistic-finance.md +23 -0
- package/selected-skills/financeskills/skills/oil-gas-valuation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/oil-gas-valuation/SKILL.md +86 -0
- package/selected-skills/financeskills/skills/oil-gas-valuation/references/sec-reporting.md +22 -0
- package/selected-skills/financeskills/skills/oil-gas-valuation/references/spe-standards.md +25 -0
- package/selected-skills/financeskills/skills/personal-budgeting/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/personal-budgeting/SKILL.md +100 -0
- package/selected-skills/financeskills/skills/personal-budgeting/references/budgeting-methods.md +40 -0
- package/selected-skills/financeskills/skills/personal-budgeting/references/spending-categories.md +40 -0
- package/selected-skills/financeskills/skills/predictive-burn-rate/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/predictive-burn-rate/SKILL.md +82 -0
- package/selected-skills/financeskills/skills/predictive-burn-rate/references/startup-metrics.md +27 -0
- package/selected-skills/financeskills/skills/predictive-burn-rate/references/time-series-forecasting.md +22 -0
- package/selected-skills/financeskills/skills/product-profitability/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/product-profitability/SKILL.md +83 -0
- package/selected-skills/financeskills/skills/product-profitability/references/allocation-logic.md +28 -0
- package/selected-skills/financeskills/skills/product-profitability/references/unit-economics.md +30 -0
- package/selected-skills/financeskills/skills/retirement-planning/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/retirement-planning/SKILL.md +98 -0
- package/selected-skills/financeskills/skills/retirement-planning/references/compound-growth.md +38 -0
- package/selected-skills/financeskills/skills/retirement-planning/references/retirement-fundamentals.md +29 -0
- package/selected-skills/financeskills/skills/revenue-recognition/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/revenue-recognition/SKILL.md +86 -0
- package/selected-skills/financeskills/skills/revenue-recognition/assets/allocation-workpaper-template.md +30 -0
- package/selected-skills/financeskills/skills/revenue-recognition/references/ifrs15-guide.md +28 -0
- package/selected-skills/financeskills/skills/revenue-recognition/references/saas-rev-rec.md +26 -0
- package/selected-skills/financeskills/skills/risk-assessment/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/risk-assessment/SKILL.md +83 -0
- package/selected-skills/financeskills/skills/risk-assessment/references/hedging-guide.md +24 -0
- package/selected-skills/financeskills/skills/risk-assessment/references/risk-metrics.md +24 -0
- package/selected-skills/financeskills/skills/sox-compliance/EXAMPLE.md +17 -0
- package/selected-skills/financeskills/skills/sox-compliance/SKILL.md +88 -0
- package/selected-skills/financeskills/skills/sox-compliance/references/sampling-methodology.md +27 -0
- package/selected-skills/financeskills/skills/startup-valuation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/startup-valuation/SKILL.md +88 -0
- package/selected-skills/financeskills/skills/startup-valuation/references/berkus-method.md +25 -0
- package/selected-skills/financeskills/skills/startup-valuation/references/vc-method.md +23 -0
- package/selected-skills/financeskills/skills/statement-preparation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/statement-preparation/SKILL.md +86 -0
- package/selected-skills/financeskills/skills/statement-preparation/references/accruals-deferrals.md +24 -0
- package/selected-skills/financeskills/skills/statement-preparation/references/cash-flow-method.md +32 -0
- package/selected-skills/financeskills/skills/tax-efficient-investing/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/tax-efficient-investing/SKILL.md +97 -0
- package/selected-skills/financeskills/skills/tax-efficient-investing/references/account-types.md +33 -0
- package/selected-skills/financeskills/skills/tax-efficient-investing/references/asset-location.md +36 -0
- package/selected-skills/financeskills/skills/tax-planning/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/tax-planning/SKILL.md +93 -0
- package/selected-skills/financeskills/skills/tax-planning/references/common-deductions.md +28 -0
- package/selected-skills/financeskills/skills/tax-planning/references/tax-code-lookup.md +25 -0
- package/selected-skills/financeskills/skills/three-statement-modeling/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/three-statement-modeling/SKILL.md +84 -0
- package/selected-skills/financeskills/skills/three-statement-modeling/references/model-checks.md +32 -0
- package/selected-skills/financeskills/skills/treasury-management/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/treasury-management/SKILL.md +83 -0
- package/selected-skills/financeskills/skills/treasury-management/references/fx-hedging.md +27 -0
- package/selected-skills/financeskills/skills/treasury-management/references/liquidity-metrics.md +24 -0
- package/selected-skills/financeskills/skills/variance-analysis/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/variance-analysis/SKILL.md +78 -0
- package/selected-skills/financeskills/skills/variance-analysis/references/overhead-logic.md +24 -0
- package/selected-skills/financeskills/skills/variance-analysis/references/variance-math.md +35 -0
- package/selected-skills/financeskills/skills/venture-debt/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/venture-debt/SKILL.md +84 -0
- package/selected-skills/financeskills/skills/venture-debt/references/saas-debt-metrics.md +26 -0
- package/selected-skills/financeskills/skills/venture-debt/references/venture-lending.md +23 -0
- package/selected-skills/financeskills/skills/wacc-computation/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/wacc-computation/SKILL.md +98 -0
- package/selected-skills/financeskills/skills/wacc-computation/assets/wacc-memo-template.md +40 -0
- package/selected-skills/financeskills/skills/wacc-computation/references/beta-math.md +24 -0
- package/selected-skills/financeskills/skills/wacc-computation/references/capm-basics.md +24 -0
- package/selected-skills/financeskills/skills/working-capital-analysis/EXAMPLE.md +21 -0
- package/selected-skills/financeskills/skills/working-capital-analysis/SKILL.md +83 -0
- package/selected-skills/financeskills/skills/working-capital-analysis/references/wc-metrics.md +30 -0
package/chart-ui/package.json
CHANGED
|
@@ -22,6 +22,17 @@ function selectedNames(selection) {
|
|
|
22
22
|
function readSelection(source) {
|
|
23
23
|
return typeof source === 'function' ? source() : source;
|
|
24
24
|
}
|
|
25
|
+
// 选择指纹只认 catalog 的 key 集合:pre-step 每轮拿它对比"上次交给注册表的选择",
|
|
26
|
+
// 变了才失效目录缓存,未变就零成本放行。
|
|
27
|
+
function selectionFingerprint(selection) {
|
|
28
|
+
return SELECTED_SKILL_CATALOG.map(({ key }) => (selection[key] === true ? '1' : '0')).join('');
|
|
29
|
+
}
|
|
30
|
+
// agent/pre-step 是 dsh-agent 声明的事件,类型不在本包的 import 面里;按结构挂到注入后的
|
|
31
|
+
// Agent context(其 scope tag 就是该 Agent,dispatch 的 scope filter 才放行这条监听)。
|
|
32
|
+
function onPreStepEvent(ctx, listener) {
|
|
33
|
+
const events = ctx;
|
|
34
|
+
return events.on?.('agent/pre-step', listener);
|
|
35
|
+
}
|
|
25
36
|
function strictCapitalPreset(ctx, agent) {
|
|
26
37
|
try {
|
|
27
38
|
const presets = ctx.get?.('agentPresets');
|
|
@@ -35,62 +46,101 @@ function strictCapitalPreset(ctx, agent) {
|
|
|
35
46
|
/** Register explicitly selected community experiments on the Capital root Agent only. */
|
|
36
47
|
export function registerRootSelectedSkills(ctx, selection, createFilesystemProvider = createFilesystemSkillProvider) {
|
|
37
48
|
// Static callers retain the cheap all-disabled fast path. The Capital plugin
|
|
38
|
-
// passes a reader so a settings toggle is observed
|
|
49
|
+
// passes a reader so a settings toggle is observed at the next step of every
|
|
50
|
+
// live root Agent: list()/get() filter against the current selection, and the
|
|
51
|
+
// pre-step hook below refreshes the visible catalog when the selection changes.
|
|
39
52
|
if (typeof selection !== 'function' && selectedNames(selection).size === 0)
|
|
40
53
|
return;
|
|
41
54
|
const listenCtx = ctx.root ?? ctx;
|
|
42
55
|
if (typeof listenCtx.on !== 'function')
|
|
43
56
|
return;
|
|
44
|
-
const stop = listenCtx.on('agent/created', ({ agent }) => {
|
|
57
|
+
const stop = listenCtx.on('agent/created', async ({ agent }) => {
|
|
45
58
|
if (!agent || !isRootAgent(agent) || !strictCapitalPreset(ctx, agent))
|
|
46
59
|
return;
|
|
47
|
-
const enabled = selectedNames(readSelection(selection));
|
|
48
|
-
if (enabled.size === 0)
|
|
49
|
-
return;
|
|
50
60
|
const agentCtx = agent.ctx;
|
|
51
61
|
if (!agentCtx || typeof agentCtx.inject !== 'function') {
|
|
52
62
|
ctx.logger?.warn?.('capital-generation: selected skills are unavailable (root Agent cannot inject skills)');
|
|
53
63
|
return;
|
|
54
64
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
try {
|
|
66
|
+
// agent/created 是串行事件、DSH 等监听器 settle 才继续创建:await 注入 Fiber,
|
|
67
|
+
// provider 与 pre-step 钩子都在首轮 prompt 前落位(首轮 catalog 不与注册竞态)。
|
|
68
|
+
await agentCtx.inject(['skills'], (injectedCtx) => {
|
|
69
|
+
const skills = injectedCtx.skills;
|
|
70
|
+
if (typeof skills?.registerProvider !== 'function') {
|
|
71
|
+
ctx.logger?.warn?.('capital-generation: selected skills are unavailable (root Agent has no skills registry)');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
let filesystemProvider;
|
|
75
|
+
let control;
|
|
76
|
+
// 上次交给 skills 注册表的选择指纹。开关是 settings 偏好,不在 Agent 创建时定格:
|
|
77
|
+
// 全关也照常注册 provider(否则会话创建后打开开关永远不出现),靠下面的 pre-step
|
|
78
|
+
// 钩子每轮对齐设置。
|
|
79
|
+
let served = selectionFingerprint(readSelection(selection));
|
|
80
|
+
injectedCtx.effect(() => {
|
|
81
|
+
const unregister = skills.registerProvider((registration) => {
|
|
82
|
+
control = registration;
|
|
83
|
+
filesystemProvider = createFilesystemProvider(injectedCtx, registration, {
|
|
84
|
+
providerName: PROVIDER_NAME,
|
|
85
|
+
includeDefaultRoots: false,
|
|
86
|
+
customSkillDirs: SKILL_ROOTS,
|
|
87
|
+
watch: true,
|
|
88
|
+
});
|
|
89
|
+
const provider = {
|
|
90
|
+
name: PROVIDER_NAME,
|
|
91
|
+
async list(options) {
|
|
92
|
+
// 调用期现读:开关是 settings 偏好,不许在 Agent 创建时定格。
|
|
93
|
+
const enabled = selectedNames(readSelection(selection));
|
|
94
|
+
// 全关是默认常态:短路掉,不碰快照目录(filesystem watcher 在它的 list()
|
|
95
|
+
// 里才启动,短路保证默认关闭的会话不起任何 watcher)。
|
|
96
|
+
if (enabled.size === 0)
|
|
97
|
+
return [];
|
|
98
|
+
const result = await filesystemProvider.list(options);
|
|
99
|
+
if (Array.isArray(result))
|
|
100
|
+
return result.filter((candidate) => enabled.has(candidate.name));
|
|
101
|
+
return { ...result, candidates: result.candidates.filter((candidate) => enabled.has(candidate.name)) };
|
|
102
|
+
},
|
|
103
|
+
get(candidate, options) {
|
|
104
|
+
if (!selectedNames(readSelection(selection)).has(candidate.name)) {
|
|
105
|
+
throw new Error(`selected skill is not enabled: ${candidate.name}`);
|
|
106
|
+
}
|
|
107
|
+
return filesystemProvider.get(candidate, options);
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
return provider;
|
|
69
111
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
112
|
+
// 每轮 pre-step 重读开关:集合变了就调 provider control 的 invalidate(),失效
|
|
113
|
+
// skills 的目录缓存(revision++),tool-skill 随后的 catalog 快照因此按最新开关
|
|
114
|
+
// 重算;未变则 digest 不变、catalog 不重发。必须在放行 next() 之前做完——
|
|
115
|
+
// waterfall 里 tool-skill 是 await next() 之后才快照,但监听器注册顺序不归我们
|
|
116
|
+
// 管,先做完再放行在两种顺序下都赶得上本轮快照。设置读取失败只降级,不阻断本轮。
|
|
117
|
+
const stopPreStep = onPreStepEvent(injectedCtx, (_payload, next) => {
|
|
118
|
+
try {
|
|
119
|
+
const fingerprint = selectionFingerprint(readSelection(selection));
|
|
120
|
+
if (fingerprint !== served) {
|
|
121
|
+
served = fingerprint;
|
|
122
|
+
control?.invalidate();
|
|
81
123
|
}
|
|
82
|
-
|
|
83
|
-
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
ctx.logger?.warn?.(`capital-generation: selected skill settings unreadable (${String(error)})`);
|
|
127
|
+
}
|
|
128
|
+
return next();
|
|
129
|
+
});
|
|
130
|
+
return () => {
|
|
131
|
+
if (typeof stopPreStep === 'function')
|
|
132
|
+
stopPreStep();
|
|
133
|
+
unregister();
|
|
134
|
+
void filesystemProvider?.dispose();
|
|
135
|
+
filesystemProvider = undefined;
|
|
84
136
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}, `capital-generation: selected skills for ${agentSessionId(agent) ?? 'root'}`);
|
|
93
|
-
});
|
|
137
|
+
}, `capital-generation: selected skills for ${agentSessionId(agent) ?? 'root'}`);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
// selected skills 是可选能力:注入失败只降级告警,不能把整个 Agent 创建挡掉。
|
|
142
|
+
ctx.logger?.warn?.(`capital-generation: selected skills are unavailable (${String(error)})`);
|
|
143
|
+
}
|
|
94
144
|
});
|
|
95
145
|
ctx.effect?.(() => () => {
|
|
96
146
|
if (typeof stop === 'function')
|
package/lib/index.js
CHANGED
|
@@ -205,8 +205,9 @@ export function apply(ctx, config) {
|
|
|
205
205
|
return resolvedConfig;
|
|
206
206
|
};
|
|
207
207
|
const effectiveConfig = readEffectiveConfig();
|
|
208
|
-
// selectedSkills 是 live 的 settings
|
|
209
|
-
//
|
|
208
|
+
// selectedSkills 是 live 的 settings 偏好:provider 在每轮 agent/pre-step 与每次
|
|
209
|
+
// list()/get() 调用现读,切换开关不需要新建会话(见 docs/dev/selected-skills.md);
|
|
210
|
+
// 无 settings 服务时沿用 preset 配置,避免为静态关闭配置额外挂一个永远空转的监听器。
|
|
210
211
|
const selectedSkills = typeof settings?.describe === 'function'
|
|
211
212
|
? () => readEffectiveConfig().selectedSkills ?? {}
|
|
212
213
|
: effectiveConfig.selectedSkills ?? {};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* between validation and connect. Closing that window would require a custom
|
|
7
7
|
* dispatcher; this module keeps the same explicit trade-off as dsh-search-first.
|
|
8
8
|
*/
|
|
9
|
-
export declare const LOCAL_FETCH_CLIENT_VERSION = "2.7.
|
|
9
|
+
export declare const LOCAL_FETCH_CLIENT_VERSION = "2.7.8";
|
|
10
10
|
export declare const LOCAL_FETCH_MAX_URL_LENGTH = 2048;
|
|
11
11
|
export type LocalFetchErrorCode = 'ABORTED' | 'TIMEOUT' | 'INVALID_URL' | 'BLOCKED_URL' | 'DNS' | 'REDIRECT' | 'HTTP' | 'TOO_LARGE' | 'UNSUPPORTED_CONTENT_TYPE';
|
|
12
12
|
export declare class LocalFetchError extends Error {
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* dispatcher; this module keeps the same explicit trade-off as dsh-search-first.
|
|
8
8
|
*/
|
|
9
9
|
import { htmlToMarkdown, stripInvisibleText } from './html-markdown.js';
|
|
10
|
-
export const LOCAL_FETCH_CLIENT_VERSION = '2.7.
|
|
10
|
+
export const LOCAL_FETCH_CLIENT_VERSION = '2.7.8';
|
|
11
11
|
export const LOCAL_FETCH_MAX_URL_LENGTH = 2048;
|
|
12
12
|
export class LocalFetchError extends Error {
|
|
13
13
|
code;
|
|
@@ -52,7 +52,7 @@ export interface WindCallResult {
|
|
|
52
52
|
* `test/chart-composition.test.mjs` 守着(会因漂移而失败),这里原本是写死的第二处,
|
|
53
53
|
* 一次发版就得记得改两遍。所以本常量由测试一并核对(见 `test/wind-client.test.mjs`)。
|
|
54
54
|
*/
|
|
55
|
-
export declare const WIND_CLIENT_VERSION = "2.7.
|
|
55
|
+
export declare const WIND_CLIENT_VERSION = "2.7.8";
|
|
56
56
|
export interface WindClient {
|
|
57
57
|
callTool(toolName: string, args: Record<string, unknown>, signal?: AbortSignal): Promise<WindCallResult>;
|
|
58
58
|
}
|
|
@@ -35,7 +35,7 @@ export const WIND_SERVER_ENDPOINTS = {
|
|
|
35
35
|
* `test/chart-composition.test.mjs` 守着(会因漂移而失败),这里原本是写死的第二处,
|
|
36
36
|
* 一次发版就得记得改两遍。所以本常量由测试一并核对(见 `test/wind-client.test.mjs`)。
|
|
37
37
|
*/
|
|
38
|
-
export const WIND_CLIENT_VERSION = '2.7.
|
|
38
|
+
export const WIND_CLIENT_VERSION = '2.7.8';
|
|
39
39
|
function errorText(error) {
|
|
40
40
|
return error instanceof Error ? error.message : String(error);
|
|
41
41
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@v587d/capital-generation",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.8",
|
|
4
4
|
"description": "Capital Generation:面向中国散户的 AI 投资助手插件(Capital mode Agent Preset)",
|
|
5
5
|
"icon": "assets/cg-icon.png",
|
|
6
6
|
"author": "v587d",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"selected-skills/peter-lynch-skill",
|
|
41
41
|
"selected-skills/trading-skills",
|
|
42
42
|
"selected-skills/claude-for-financial-services-cn",
|
|
43
|
+
"selected-skills/financeskills",
|
|
43
44
|
"cordis.patch.yml",
|
|
44
45
|
"assets/cg-icon.png",
|
|
45
46
|
"README.md",
|
|
@@ -17,7 +17,9 @@ for the user to review the source and decide whether it fits the task.
|
|
|
17
17
|
(`catalog.js`), because upstreams lay skills out differently: one buries them under a
|
|
18
18
|
plugin directory, one groups them two levels deep, and the A-share snapshot has six
|
|
19
19
|
parallel roots, of which exactly one is registered (the line upstream itself calls the
|
|
20
|
-
source of truth).
|
|
20
|
+
source of truth). The newest snapshot needed none of these — its 48 skills sit flat under
|
|
21
|
+
`skills/`, each frontmatter `name` already matching its directory, and no prose links
|
|
22
|
+
outside its own folder. Everything else in the snapshot stays unregistered material.
|
|
21
23
|
- `<project>/UPSTREAM.md`: repository URL, owner, commit, license, runtime scope,
|
|
22
24
|
maintenance notes, and local changes.
|
|
23
25
|
- `<project>/LICENSE`: original upstream license.
|
|
@@ -17,6 +17,9 @@ export const SELECTED_SKILL_SKILL_DIRS = Object.freeze({
|
|
|
17
17
|
// 因此只登记规范根那一条线:vertical-plugins/china-finance/skills —— 上游自己写明 skill 正文就 authored 在这里。
|
|
18
18
|
// 另外五条线(投行 / PE / 基金运营 / 财富 / 账户)与副本留在快照里当材料,不进可选清单。
|
|
19
19
|
'claude-for-financial-services-cn': 'vertical-plugins/china-finance/skills',
|
|
20
|
+
// 上游就是扁平的 skills/<name>/SKILL.md(48 颗一层到底,frontmatter name 与目录名逐颗一致,
|
|
21
|
+
// 正文链接全部落在自己目录内),所以前六颗踩过的套一层 / 平铺 / 多根取一都不用做。
|
|
22
|
+
financeskills: 'skills',
|
|
20
23
|
})
|
|
21
24
|
|
|
22
25
|
// Selected-skill metadata owned by Capital Generation. Upstream snapshots remain unchanged.
|
|
@@ -1144,6 +1147,158 @@ export const SELECTED_SKILL_CATALOG = Object.freeze([
|
|
|
1144
1147
|
en: 'Cold-start experiment; upstream last moved on 2026-09-14, so review the sources before use. The Long / Short directions, conviction tiers and sizing suggestions on the list are a rehearsal exercise, not orders: this plugin holds no broker interface and places nothing for you on them. Numbers a screen needs but retrieval cannot get are named as gaps rather than filled from memory.',
|
|
1145
1148
|
},
|
|
1146
1149
|
},
|
|
1150
|
+
{
|
|
1151
|
+
key: 'companyValuation',
|
|
1152
|
+
name: 'company-valuation',
|
|
1153
|
+
label: { zh: '企业估值与股权价值桥', en: 'Company Valuation' },
|
|
1154
|
+
description: {
|
|
1155
|
+
zh: '三条路估企业价值与股权价值:先剥离一次性项目做 DCF,再用同业倍数与先例交易交叉验证,最后把企业价值换成股权价值——有息负债、少数股东权益、参股公司、养老金缺口逐笔列出。',
|
|
1156
|
+
en: 'Triangulates enterprise and equity value: a DCF on normalized earnings, cross-checked against peer multiples and precedent deal multiples, then an explicit enterprise-to-equity bridge that itemizes debt-like charges, minority interests, associates and any pension deficit.',
|
|
1157
|
+
},
|
|
1158
|
+
owner: 'GAJETOso',
|
|
1159
|
+
repository: 'financeskills',
|
|
1160
|
+
status: 'watchlist',
|
|
1161
|
+
lastCommit: '2026-10-01',
|
|
1162
|
+
reviewBy: '2026-11-15',
|
|
1163
|
+
tags: ['valuation', 'cash-flow', 'us-stock'],
|
|
1164
|
+
riskNote: {
|
|
1165
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。这颗按 IFRS 与美股估值惯例写:先例交易倍数、控制权溢价 20–35% 与 EV/EBITDA 那套倍数在 A 股披露里常常拿不到同口径数据,取不到就点名缺口,不用记忆里的数补齐。它给出的估值区间与"哪几条假设真正决定答案"属于方法推演,不是订单——本插件没有券商接口,也不据它下单。',
|
|
1166
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. The method is written to IFRS and US valuation practice: precedent-transaction multiples, the 20–35% control premium and the EV/EBITDA comp set often have no same-basis counterpart in A-share disclosure — name the gap instead of filling it from memory. The concluded range and the "assumptions that actually move the answer" are a rehearsal exercise, not orders: this plugin holds no broker interface and places nothing for you.',
|
|
1167
|
+
},
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
key: 'waccComputation',
|
|
1171
|
+
name: 'wacc-computation',
|
|
1172
|
+
label: { zh: 'WACC 与资本成本估算', en: 'WACC Computation' },
|
|
1173
|
+
description: {
|
|
1174
|
+
zh: '把折现率拆开估:CAPM 各输入(无风险利率、β、股权风险溢价、规模与国家风险溢价)、可比 β 的去杠杆与再杠杆、按市值加权的税后债务成本,最后交出一张 β × 风险溢价的敏感性区间。',
|
|
1175
|
+
en: 'Builds the discount rate piece by piece — CAPM inputs (risk-free rate, beta, equity risk premium, size and country premia), unlevering and relevering peer betas on the target\u0027s capital structure, market-value weights on the after-tax cost of debt — and ends on a beta-by-premium sensitivity range.',
|
|
1176
|
+
},
|
|
1177
|
+
owner: 'GAJETOso',
|
|
1178
|
+
repository: 'financeskills',
|
|
1179
|
+
status: 'watchlist',
|
|
1180
|
+
lastCommit: '2026-10-01',
|
|
1181
|
+
reviewBy: '2026-11-15',
|
|
1182
|
+
tags: ['valuation', 'risk', 'us-stock'],
|
|
1183
|
+
riskNote: {
|
|
1184
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。正文的数字基准是美国的:无风险利率取 10 年期美债、风险溢价用美股 ERP、税率按美国边际税率。用于 A 股要换成中国 10 年期国债、境内 ERP 与 15% / 25% 那一档实际税率,这些替换值本插件没有现成来源时一律留空点名,不凭记忆填。算出的 WACC 是推演输入,不是对任何标的的判断。',
|
|
1185
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Its numeric anchors are American: a 10-year Treasury as the risk-free rate, US equity risk premium, a US marginal tax rate. Applying it to A-shares means a China 10-year government bond yield, a local ERP and the 15% / 25% statutory rate actually paid — where this plugin has no source for the replacement value, leave it blank and say so rather than quoting memory. The computed WACC is an input to a rehearsal, not a verdict on anything.',
|
|
1186
|
+
},
|
|
1187
|
+
},
|
|
1188
|
+
{
|
|
1189
|
+
key: 'threeStatementModeling',
|
|
1190
|
+
name: 'three-statement-modeling',
|
|
1191
|
+
label: { zh: '三表勾稽建模与诊断', en: 'Three-Statement Modeling' },
|
|
1192
|
+
description: {
|
|
1193
|
+
zh: '按固定顺序搭一张联动的三表模型:驱动因子集中一处、收入构建利润表、固定资产与营运资本与债务三张附表推动资产负债表、现金流量表完全由前两表的差额倒推,每一期都摆一行"不平就点名"的平衡检查。',
|
|
1194
|
+
en: 'Assembles a linked three-statement model in a fixed order — one place for drivers, an income statement built from revenue, PP&E / working-capital / debt schedules driving the balance sheet, a cash flow statement derived entirely from the deltas — with a balance check on every period that names the ones that do not tie.',
|
|
1195
|
+
},
|
|
1196
|
+
owner: 'GAJETOso',
|
|
1197
|
+
repository: 'financeskills',
|
|
1198
|
+
status: 'watchlist',
|
|
1199
|
+
lastCommit: '2026-10-01',
|
|
1200
|
+
reviewBy: '2026-11-15',
|
|
1201
|
+
tags: ['financial-health', 'cash-flow', 'business-analysis'],
|
|
1202
|
+
riskNote: {
|
|
1203
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。科目表按 IFRS / US GAAP 列示,A 股报表另有一批需要自己映射的行次(其他应收、合同资产与合同负债、少数股东权益等)——这颗只讲勾稽形状,不替你判断哪一笔该归哪一科目。它建的是模型骨架,产出的预测数字属于推演;需要的历史报表或附注明细取不到就点名缺口。',
|
|
1204
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Its chart of accounts is IFRS / US GAAP, so A-share statements need their own mapping for lines such as other receivables, contract assets and liabilities, and minority interests — this skill teaches the linkage, not where a given item belongs. What it produces is a model skeleton whose projected numbers are a rehearsal; historical statements or note detail it cannot retrieve are named as gaps.',
|
|
1205
|
+
},
|
|
1206
|
+
},
|
|
1207
|
+
{
|
|
1208
|
+
key: 'creditAnalysis',
|
|
1209
|
+
name: 'credit-analysis',
|
|
1210
|
+
label: { zh: '偿债能力与债务容量分析', en: 'Credit Analysis' },
|
|
1211
|
+
description: {
|
|
1212
|
+
zh: '回答一件事:这家公司能不能穿过周期把钱还上。杠杆、利息覆盖、DSCR、自由现金流对债务、流动性五组算式各算正常口径与压力口径,再看担保折价、清收顺序、契约余量与"谁替它兜底"。',
|
|
1213
|
+
en: 'Answers one question: can this borrower service and repay through the cycle. Five ratio families — leverage, interest coverage, DSCR, free cash flow to debt, liquidity — each on a normalized and a stressed basis, then collateral haircuts, recovery ranking, covenant headroom and who actually stands behind it.',
|
|
1214
|
+
},
|
|
1215
|
+
owner: 'GAJETOso',
|
|
1216
|
+
repository: 'financeskills',
|
|
1217
|
+
status: 'watchlist',
|
|
1218
|
+
lastCommit: '2026-10-01',
|
|
1219
|
+
reviewBy: '2026-11-15',
|
|
1220
|
+
tags: ['risk', 'financial-health', 'us-stock'],
|
|
1221
|
+
riskNote: {
|
|
1222
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。正文的"舒适阈值"(杠杆 3.0x、DSCR 1.2x 一类)是国际公司贷款的惯例值,不是任何市场的监管线;境内公司债、可转债与银行授信的契约条款和定义各不相同,要按募集说明书与年报原文核对。它写出的 approve / decline / 结构建议属信用侧的方法推演,既不是授信意见也不是订单——本插件不代你下单。',
|
|
1223
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Its comfort thresholds (3.0x leverage, 1.2x DSCR and the rest) are international corporate-lending conventions, not any market\u0027s regulatory line; domestic bond, convertible and bank-facility covenants differ in both level and definition, so check them against the offering circular and the annual report as filed. The approve / decline / restructure it writes is a credit-side rehearsal, neither a credit opinion nor an order — this plugin places nothing for you.',
|
|
1224
|
+
},
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
key: 'eclComputation',
|
|
1228
|
+
name: 'ecl-computation',
|
|
1229
|
+
label: { zh: '预期信用损失与三阶段减值', en: 'Expected Credit Loss' },
|
|
1230
|
+
description: {
|
|
1231
|
+
zh: '按 IFRS 9 的三阶段思路把减值拆开:阶段划分与迁徙判断、PD / LGD / EAD 三参数、应收账龄的准备矩阵简化法、宏观情景加权与覆盖率,再问一句"下行情景概率提高 10% 会怎样"。',
|
|
1232
|
+
en: 'Takes the IFRS 9 impairment logic apart: stage assignment and migration, the PD / LGD / EAD parameters, the simplified provision matrix over aging buckets, macro scenario weighting and coverage ratios, then one more question — what changes if the downside scenario gains ten points of probability.',
|
|
1233
|
+
},
|
|
1234
|
+
owner: 'GAJETOso',
|
|
1235
|
+
repository: 'financeskills',
|
|
1236
|
+
status: 'watchlist',
|
|
1237
|
+
lastCommit: '2026-10-01',
|
|
1238
|
+
reviewBy: '2026-11-15',
|
|
1239
|
+
tags: ['risk', 'financial-health', 'filings'],
|
|
1240
|
+
riskNote: {
|
|
1241
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。中国《企业会计准则第 22 号》已与 IFRS 9 的三阶段框架对齐,但披露粒度不同:上市公司年报给出阶段余额与减值准备,不给出 PD / LGD 参数。所以这颗更适合用来判断别人披露的减值合不合理,而不是自己算出一个准备数;需要而取不到的明细一律点名缺口,不用合计倒推。',
|
|
1242
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. China\u0027s Accounting Standard for Business Enterprises No. 22 already follows the IFRS 9 three-stage framework, but disclosure granularity differs: listed issuers give stage balances and impairment charges, not PD / LGD parameters. Use this skill to judge whether a disclosed provision is defensible rather than to compute your own; detail that retrieval cannot get is named as a gap, never back-derived from a total.',
|
|
1243
|
+
},
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
key: 'insuranceReserving',
|
|
1247
|
+
name: 'insurance-reserving',
|
|
1248
|
+
label: { zh: '保险准备金与综合成本率', en: 'Insurance Reserving' },
|
|
1249
|
+
description: {
|
|
1250
|
+
zh: '一条准备金链条走到底:赔款发展三角、年龄到年龄因子、链式法与 Bornhuetter-Ferguson、IBNR,再落到综合成本率——把"未决赔款估得准不准"和"这单承保业务到底赚不赚钱"分成两件事。',
|
|
1251
|
+
en: 'Runs the reserve chain end to end: loss development triangles, age-to-age factors, chain ladder and Bornhuetter-Ferguson, IBNR, then the combined ratio — keeping "are unpaid claims estimated well" and "does this book actually earn" as two separate questions.',
|
|
1252
|
+
},
|
|
1253
|
+
owner: 'GAJETOso',
|
|
1254
|
+
repository: 'financeskills',
|
|
1255
|
+
status: 'watchlist',
|
|
1256
|
+
lastCommit: '2026-10-01',
|
|
1257
|
+
reviewBy: '2026-11-15',
|
|
1258
|
+
tags: ['risk', 'financial-health'],
|
|
1259
|
+
riskNote: {
|
|
1260
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。精算假设、折现与负债计量按 IFRS 17 与一般精算惯例写,境内上市险企的法定准备金、折现率参考曲线与保户储金口径另有规定。发展三角要按险种和年度拆开的赔款明细,这类粒度在公开披露里常常取不到——点名缺口,不要拿合计数摊。',
|
|
1261
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Its actuarial assumptions, discounting and measurement follow IFRS 17 and general actuarial practice; statutory reserves, the reference yield curve and policyholder-deposit treatment for listed Chinese insurers follow separate rules. A development triangle needs claims detail split by line and accident year — granularity public disclosure often does not give, so name the gap instead of spreading a total across it.',
|
|
1262
|
+
},
|
|
1263
|
+
},
|
|
1264
|
+
{
|
|
1265
|
+
key: 'bankingCompliance',
|
|
1266
|
+
name: 'banking-compliance',
|
|
1267
|
+
label: { zh: '银行资本与流动性指标', en: 'Bank Capital Ratios' },
|
|
1268
|
+
description: {
|
|
1269
|
+
zh: '银行股最硬的几张表:CET1 / Tier 1 / 总资本充足率、风险加权资产及其权重结构、杠杆率与 LCR / NSFR,加一套"违约打进来后资本够不够"的压力形状。',
|
|
1270
|
+
en: 'The hardest numbers on a bank name: CET1 / Tier 1 / total capital adequacy, risk-weighted assets and their weight structure, the leverage ratio, LCR and NSFR, plus a pass that asks whether capital still holds once defaults arrive.',
|
|
1271
|
+
},
|
|
1272
|
+
owner: 'GAJETOso',
|
|
1273
|
+
repository: 'financeskills',
|
|
1274
|
+
status: 'watchlist',
|
|
1275
|
+
lastCommit: '2026-10-01',
|
|
1276
|
+
reviewBy: '2026-11-15',
|
|
1277
|
+
tags: ['risk', 'financial-health', 'macro'],
|
|
1278
|
+
riskNote: {
|
|
1279
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。阈值按巴塞尔原值写(4.5% / 6% / 8%):中国大陆适用《商业银行资本管理办法》,核心一级最低 5% 之上还有储备资本与系统重要性附加,资本定义与风险权重也另有表——这颗的比率形状可以用,数字只能当境外参照,不能当境内合规判断。风险权重明细与 LCR 分项在 A 股年报里的披露粒度不一,取不到就点名缺口。',
|
|
1280
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Its thresholds are Basel originals (4.5% / 6% / 8%): mainland China applies the Capital Rules for Commercial Banks, where the 5% minimum CET1 sits on top of a conservation buffer and system-importance add-ons, and capital definitions and risk-weight tables differ again. Use the ratio shapes, treat the numbers as an overseas reference, and never as a domestic compliance judgement; risk-weight and LCR detail varies by filing, so missing lines are named as gaps.',
|
|
1281
|
+
},
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
key: 'forensicAccounting',
|
|
1285
|
+
name: 'forensic-accounting',
|
|
1286
|
+
label: { zh: '账务异常与数字分布排查', en: 'Forensic Ledger Screening' },
|
|
1287
|
+
description: {
|
|
1288
|
+
zh: '拿账和数字做取证式排查:首位数字的 Benford 分布检验、整数与重复金额、资金循环路径、供应商与关联方重合,并把结论写成一条经得起复核与质询的证据链。',
|
|
1289
|
+
en: 'Screens a ledger forensically: Benford first-digit tests, round-number and repeated-amount patterns, round-trip flows, vendor and related-party overlaps — written up as an evidence chain that can survive review and cross-examination.',
|
|
1290
|
+
},
|
|
1291
|
+
owner: 'GAJETOso',
|
|
1292
|
+
repository: 'financeskills',
|
|
1293
|
+
status: 'watchlist',
|
|
1294
|
+
lastCommit: '2026-10-01',
|
|
1295
|
+
reviewBy: '2026-11-15',
|
|
1296
|
+
tags: ['verification', 'risk', 'financial-health'],
|
|
1297
|
+
riskNote: {
|
|
1298
|
+
zh: '冷启动实验;上游最近一次提交是 2026-10-01,启用前请自行复核来源。除首位数字检验可以只对公开报表做以外,这颗的主要路径(银行流水、员工与供应商信息比对、企业内部系统)需要使用者自己提供账务明细:本插件不连企业内部系统,也没有那些数据源。它给出的"疑似"清单是排查线索,不是舞弊认定,也不构成审计或法律意见;样本量不足时首位数字检验本身不成立,正文的门槛要照做。',
|
|
1299
|
+
en: 'Cold-start experiment; upstream last moved on 2026-10-01, so review the sources before use. Only the first-digit test can run on published statements; the rest of this skill\u0027s paths — bank statements, employee-versus-vendor matching, internal ERP systems — require the user to supply the accounting detail, since this plugin connects to no corporate system and holds no such source. What it returns is a list of leads, not a fraud finding, and neither an audit nor a legal opinion; a Benford test on too small a sample is void, and the sample thresholds in the text stand.',
|
|
1300
|
+
},
|
|
1301
|
+
},
|
|
1147
1302
|
])
|
|
1148
1303
|
|
|
1149
1304
|
export const SELECTED_SKILL_TAG_LABELS = Object.freeze({
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 KOMVIA
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|