bupt-gamma/igraph/finance-ownership-workflow
Claude Code and agent skill by bupt-gamma/igraph
- community
Checking that the SKILL.md file is still in the repository.
基于当前会话股权数据查询第一大股东、控股链、最终控制根、集团树和经济权益穿透,先检查快照与主体再执行专用金融工具。适用于企业持股和控制关系分析,不用于证券价格预测、普通社交网络社区或一般最短路。
Install
npx vskill@latest install bupt-gamma/igraph/finance-ownership-workflowSKILL.md
股权分析工作流
从当前会话已加载的属性图生成股权业务投影,在服务端计算;这里只解释工具返回的事实、候选、状态和证据,不自编算法或补造规则。
当前实际控股人口径
当前项目中的“实际控股人”“实际控制人”默认只看股权,检查和计算统一使用 policy.mode="equity_only"。根据 finance_control_chain 返回的严格表决权控制链识别股权口径控制根;不能用第一大股东、单条持股路径乘积或普通图可达性代替控制判定。只有用户明确要求其他控制口径时,才另行检查相应规则。
默认任务不把 GP、法人、任职或协议控制作为额外判定条件,不因这些规则缺失而停止股权分析、集团树展示或高亮。保留工具返回的状态和 rule_status,将结果标明“股权口径实际控股人/控制根”;这不等于确认完整业务或法律意义的最终控制人。股权数据冲突、覆盖不足、环路待复核和计算截断仍按工具结果说明,不能借股权口径忽略这些限制。
先检查数据和主体
- 读取本技能后先调用
finance_inspect_ownership。用户给出目标时传query检索该目标,否则先用空参数检查快照。需要展开直接股东事实时,再以已解析的target_id定向检查,并核对展示是否完整;不能从全图有界 facts 中筛出几条就当成目标的全部股东。该工具直接读取当前会话图,不传入自己猜测的 graph_id、session_id 或文件路径。 - 若工具明确说明当前没有可用图,按数据集状态流程加载用户指定且已 ready 的版本,再重新检查。不为金融查询重新构图,不调用
get_constructed_graph拉回完整图,也不以 workspace Python、普通可达性或社区工具替代金融计算。 - 从返回的质量报告核对输入是否可投影、快照、主体/持股数量、比例格式、重复及股份总和异常。构图 ready 不代表金融数据已通过质检;算法 complete 也不等于业务规则齐备。质量问题由专用工具决定对当前目标的影响,不忽略冲突,也不因无关目标的异常擅自推翻所有结果。
纯机构持股图可以没有个人记录,不为满足表数量虚构个人;如果持股记录引用个人而个人资料缺失,按工具的缺表或引用错误处理。
- 用
query搜索用户给出的业务 ID 或名称,读取result.entities的entity_id、business_id、name和来源标识。后续优先使用返回的entity_id。名称仅用于检索,不能据同名合并个人或认定法人身份。匹配多个主体或返回AMBIGUOUS_ID时先缩小查询;仍不明确则请用户选定主体,不自行挑第一条。
以下调用中的中文字符串是参数位置说明,执行时替换为用户原查询或工具已经返回的主体 ID;不是测试样例或预设答案。
按问题选择专用计算
使用同一快照和同一 policy。检索得到 ID 后,只执行用户问题需要的分支;独立分支可以一批调用,依赖前一结果的分支要等待真实返回。
每个独立 policy 分支都先调用 finance_inspect_ownership 并传入与该分支计算相同的 policy;切换或新增停止、排除策略时必须重新检查。默认策略的检查或普通身份检索不能替代该分支的策略检查。
| 问题 | 工具与解释 | |
|---|---|---|
| 第一大股东、首大候选 | finance_first_holder。保留所有并列候选,区分直接股东锚点和累计经济根;不能把首大候选改称最终控制人。 | |
| 谁控制这家公司、控股链、最终控制根 | finance_control_chain。根据工具的严格控制结果解释中间主体、最终根和贡献链;经济权益路径乘积不替代表决权闭包。 | |
| 指定根的控股集团、集团树 | finance_group_tree。root_id 为用户指定并已解析的根。若用户只给成员公司而要其所属控制集团,先运行 finance_control_chain,再对其返回的股权口径根调用集团工具,并保留质量与规则限制;没有唯一根就呈现未决/多候选,不能把首大或社区中心当作根。 | |
| 股权穿透比例、间接经济权益、经济根排名 | finance_economic_interest。未指定出资主体时解释最终经济根排名;用户指定某个上游主体时传可选 root_id,读取 requested_interest。该主体可以是中间股东或控制根,不要求是输入图边界根。遇 SCC 采用工具方程求解状态,不能手工删环或将展示的简单路径相加代替完整累计。 |
用户询问“控制根对目标的经济穿透”时,先取得 finance_control_chain 返回的对应控制根,再将该根原样作为经济工具的 root_id;equity_controller_id 只表示当前股权口径的根,仍保留 rule_status 的业务规则缺失说明。多个根分别查询或明确列为候选,不自行挑选或相加。用户直接指定上游主体时,用检查工具解析该主体后传入,不必先把它认定为控制人。
控制链衔接集团树或经济权益时,优先传 equity_controller_entity_id 或 ultimate_controller_entity_ids 中带 I:/P: 的主体标识。集团树边按 source_entity_id 和 target_entity_id 对齐成员,控制证明按 controller_entity_id 和 controlled_entity_id 对齐;不将机构与个人中相同的原始业务 ID 合并,也不据此误画自环。原始业务 ID 仍用于展示。
分别解释三种数值:requested_interest 是指定主体对目标的完整累计经济权益;展示路径的 product 是该条路径的乘积;最终经济根 ranking 是按输入图边界根累计后的排名。控制链的单链乘积或有限 Top-K 路径之和都不能代替 requested_interest,控制根也不必出现在最终经济根排名中。
target_interest 是方程 (I-A)s=d; d[target]+=1 中目标节点自身的解:无回流时为单位注入 1,有回流时可能超过 1。它不是目标的实收资本、直接持股合计、股东覆盖率或“已查明 100% 股权”,不把它列成这些业务指标。覆盖率判断只使用直接持股事实及对应质量字段。
root_interests 也不是对 100% 股权的互斥分割,尤其环内多个边界根的游走可能重叠。不得用 1 减根累计值之和推算“剩余权益”,更不能把差额分配给中间主体、环成员或未记录股东。expanded_states 是路径搜索扩展状态数,不是路径总数;未返回完整路径计数时,只列展示条数和 evidence.complete,不猜测完整路径数。
解释指定主体的路径贡献前,核对 evidence.path_scope="requested_upstream"、requested_root_entity_id 及路径起终点均对应本次 root_id → target_id;未指定主体的 boundary_roots 是另一范围。范围缺失或不一致时只报告工具返回的总值,明确该路径不能支持其分解。root_interests 及其他经济根的路径不能混入该主体贡献、相加或与 requested_interest 求差。展示路径只是有界证据,不自行用总值减 Top-K 合计推算“其余路径贡献”;有 SCC 时,简单路径展示尤其不能与包含循环游走的累计总值求剩余。工具若直接提供同一范围、同一计算口径的贡献分解,才可引用该分解。
集团的主视图只使用工具返回的 CONTROL 成员和关系,确认范围仍受质量与规则状态约束。优先依据 finance_group_tree 的 tree_edges 和 additional_edges,用层级文本、表或 Mermaid 展示;节点业务名称和 ID 必须取自返回结果。树边是展示结构,控制判定仍依据 control_dag,不能将每条展示边改称独立确认控制。
默认 equity_only 下称“股权口径成员/集团层级”;primary_faction_id 为空时,不能宣称已经确认完整业务集团。CONTROL 计算得到成员也不补足缺失的 GP、法人或特殊主体规则。
PATH 是经济证据,AFFINITY 是关联候选,不能加入已确认 primary。工具提供的跨分支贡献、多父关系或 SCC 不能为画成单树而删除。文字或 Mermaid 可用于解释集团层级,但用户明确要求“在图中展示/高亮集团树、节点或路径”时,必须在专用计算之后调用 visualize_subgraph,不能只返回文字、表格或 Mermaid 并称已高亮。
用户重复要求高亮时,可复用同一图与快照下已核验的专用结果,但本轮仍须重新调用一次 visualize_subgraph。历史调用不能代替本轮展示,重复请求本身也不能证明画布渲染失败;不得自行宣称前端故障、拒绝重做或改成图片输出。只有本轮工具实际返回失败时才按失败结果处理。
第一大股东分析完成后,将目标、第一大股东候选与已返回的直接股东一并调用 visualize_subgraph 高亮,便于对照原始持股证据。以本轮 result.direct_holders 为准,不能沿用旧回答中可能错误的股东 ID;有 direct_holders_truncated=true 时说明只展示了部分。目标与直接股东放在同一个 highlights.subgraphs.nodes 分组,自动补齐中间持股记录与真实关系边;另用 highlights.nodes 区分目标和候选。通常不传 node_names,保留普通背景。标注使用本轮界面语言。
金融图支持业务 ID 和 I:/P: 主体 ID 的精确节点映射,但优先使用返回的 source_node_ids。节点不存在时核对本轮返回的来源 ID;这不等于金融三表图不支持高亮,不要编造这种限制。
高亮使用专用结果中主体的 source_node_ids 和对应持股事实的来源节点/边,映射回当前原始图的真实 ID;业务 entity_id 不一定是画布节点 ID,不得混用。PK/FK 图中的持股记录节点也须纳入连接路径,边的方向与端点以原始图为准;不能臆造主体之间的直接边。用 highlights.nodes 标记成员,用 highlights.paths 或 highlights.subgraphs 标记真实关系边,边优先采用橙色 #f97316 等醒目颜色;节点默认由前端显示为星形。来源不完整时先取得缺少的映射,只高亮已核实部分并说明范围。高亮应叠加在原图背景中,保留非高亮节点和边。
画布显示的是专用集团结果对应的原始图证据,不能将原始记录关系图或通用生成树本身称为金融集团,也不能把额外关联边当成 CONTROL 结论。普通非股权路径分析继续使用其原有可视化流程。
循环持股与 SCC 高亮
“股权业务层循环持股”使用股权投影的强连通分量,不能用原始 FK 图的有向环检测代替。按返回的每个 SCC 分组高亮成员,并包含组内全部持股事实对应的来源记录节点及真实 FK 边;保留闭环边、反向持股、多条持股记录,不能只画生成树、最短路或部分邻居。可将每个 SCC 的真实成员节点作为一个 highlights.nodes 分组交给可视化,PK/FK 可视化会补齐该组内部真实存在的持股记录与连接边。跨 SCC 的关联保留为普通背景,不混入同一个环。
节点是星形高亮,内部持股关系边使用橙色等醒目颜色,原图普通节点和边继续显示。必须核对返回的组成员、关系和截断信息;若受来源或服务端预算限制未完整返回,明确标为“部分展示”,不能称全部 SCC 已完整高亮。原始 FK 箭头仍表示记录到主体的引用,业务持股方向以金融事实为准。
规则、完整性和有界返回
- 默认
policy是equity_only,只使用输入股权事实;返回RULE_DATA_MISSING时说明更广业务规则未齐备,但不把补齐 GP/法人及特殊主体规则列为当前股权分析的必需步骤。按股权范围报告控制根或候选,不扩展为完整业务确认。不得靠姓名补出 GP/法人关系,或自行填入 rule_relations / rule_coverage 制造确认。 - 注销停止默认没有启用。用户明确要求在注销主体中止时,为检查及相关计算一致传
policy: {"stop_statuses":["注销"]};其它停止/排除名单只用用户提供或数据中已验证的 ID。没有指令时保留默认并在结果说明采用的政策,不默默切换过滤策略。min_edge_ratio不为降低工作量而自行提高。 - 控制采用严格
>0.5;恰0.5只说明该边本身不足以确认控制,不能据此断言整个目标不存在控制人。控制贡献按受控股东计,不能把多条到同一股东的路径重复累计为表决权。
第一大股东并列的依据是工具返回的候选集合及相等的累计值,不是“没有直接股东过半”;没有直接过半股东时,累计经济根仍可能有唯一首大候选。
- 每个目标先读取顶层
status、quality对该目标的影响及review_reasons,以此决定能否给确定结论;analysis_status、control_status保留的算法诊断不能越过该门槛。DATA_CONFLICT下的NO_SINGLE_CONTROLLER只能报告“当前算式未识别单一控制人,但数据冲突使结论无法确认”,不能改写成“确认没有严格控制人”。上游异常会影响目标,目标直接持股合计正常或某条边恰为一半,均不能推翻工具已报告的上游冲突。 DATA_CONFLICT不得转成已确认首大/控制/primary;首大返回的候选 ID 仍可能只是诊断候选。保留同时返回的全部复核原因,SCC_REVIEW不代表一个环已经合并成控制人;NON_CONVERGENT不得编造精确权益值。
首大候选只能逐项引用 first_holder_ids;该数组为空且 first_holder_id=null 时必须写“未返回首大候选”,不能凭直接持股事实或控制工具的候选另行填入首大。控制候选与首大候选分属不同结果,即使直接股东持有 100%,也不能跨分支复制候选。 多个限制彼此独立:解决持股合计冲突不会自动解除 SCC_REVIEW 或 RULE_DATA_MISSING。下一步只能说“核实后重新运行全部相关检查”,不能预告“修正总和后该主体即可确认为首大或最终控制人”。
evidence_top_k只影响展示证据,display_limit只影响返回列表;它们不应改变完整计算中的候选排名。默认先用少量证据,缺少展示细节时才调整展示参数,不从有限展示反推出“只有这些股东/成员”。max_nodes、max_edges、max_seconds是计算预算。预算截断、未算全、数据覆盖不足、规则未齐和纯展示分页分别解释;不可只因工具 HTTP 成功或有候选值就称完整。不要通过删除小股比边、增加任意阈值或用 Top-K 路径代替完整累计来消除截断。- 不支持的输入、规则或资源规模,按工具返回说明缺失条件和下一步。确定性失败不重复提交同一请求,不切换到临时 Python 猜算“成功结果”。
回答和证据
先回答用户实际问的首大、控制链、集团成员或经济权益,每个目标的结论同时说明其状态与受影响范围,不能只在末尾附上一条通用风险提示。再给快照日期、使用的规则范围、关键比例/贡献和来源边证据。把确认结果、并列/候选、质量冲突和不完整状态分开;经济权益不自动等于最终受益人。比例展示可转百分数,但不得修改工具用于阈值和排名的精度。
最终报告按所执行的分支保留以下字段,并在发送前逐项核对工具返回:
- 每个主体先列“顶层状态:
status”,另列“算法诊断:analysis_status/control_status”;不要将算法诊断标成总体状态。诊断或字段未返回时明确缺失,不自行补全。
confirmed_id=null 或 RULE_DATA_MISSING 时,结论统一称“股权口径首大候选”“股权口径控制根”;可以说“该股权算式成立”,不能单独标成“已确认最终控制人”或“结论可确认”。NO_SINGLE_CONTROLLER 仅是当前输入和策略下未识别单一严格控制人,不等于排除未提供的协议或其他控制安排。
- 首大说明分别列“直接持股合计:
direct_ownership_total”和“单一主体严格过半数量:direct_strict_majority_holder_count”。threshold_semantics="per_single_holder"的过半判断针对单一主体;所有股东合计超过一半不表示存在过半股东,也不能把“没有单一主体过半”写成“直接持股合计未过半”。
直接股东表或来源事实可能是有界展示。对照 matched_fact_count / fact_count、实际返回长度及截断字段;不完整时表标题必须写“展示的部分直接股东”。直接持股总额只引用 direct_ownership_total,不对有限事实列表自行求和并称为全体合计,经济路径证据也不能冒充直接股东名单。
- 集团规模分别列
node_count及node_count_includes_root、不含根的controlled_member_count,再分别列tree_edge_count、additional_edge_count、control_dag_edge_count。按count_scope说明计数范围,不用有界展示列表长度代替完整计算计数,不把不同边集合的计数混称为同一项,不自行将树边与附加边合并改称控制 DAG。primary_faction_id为空时始终使用“股权口径成员/集团层级”的限定。 - 环路结论分别说明经济数值与控制判定:经济方程收敛只支持该口径的数值计算,不能解除
SCC_REVIEW或控制候选的确认门槛,不能据此声称环路不影响控制人判定。
首大即使存在直接严格过半股东,也必须核对返回的 economic_status、component_solutions 和全部 review_reasons。NON_CONVERGENT 时不得将直接持股候选说成已确定首大,仍可列出原始直接持股事实。需要完整经济排名或数值而首大只返回直接股东证据时,再以同一目标和策略调用 finance_economic_interest;不从直接比例推断环路已经收敛。外部经济根的首大算法诊断可以是 COMPLETE,不能因图中任意位置有环就自行改写成 SCC_REVIEW;控制结论始终读取控制工具。
- 数据修正建议须核实权威原始记录后更正。持股合计超过百分之百时,不得按该合计归一化或同比缩放,以此消除异常或制造可确认结果。
不收敛时也不能建议新增虚构外部股东、删环或设置 stop/exclude 策略来制造可解结果。GP/法人权威规则只影响相应业务判定,不会改变原始持股矩阵或让经济方程收敛;只有核实并纠正实际股权来源后才重新计算。用户明确要求的情景分析需标注为另一输入/策略,不能替代原始图的结论。
- 统计说明区分快照全图统计与当前目标的组件。策略前后 SCC 等数量变化不能证明某个目标或关系导致该变化;没有目标组件及来源边证据时只报告各自统计范围,不猜测因果或关联。
coverage_gap_institutions 是直接持股合计小于 1 的机构数量,包含完全无股东记录和只有部分股东记录的机构;不能把这个计数说成“这些机构全部未记录上层股东”,也不能据此推断目标路径或全图数据完整。
优先引用返回的业务 ID、名称、直接比例、可支配表决权或经济权益及有界来源链。不要打印完整输入图、内部会话元数据或服务器文件路径。证据没有返回的部分应明确缺失,不能用常识或公司名称补全。
对照参考案例与 ground truth
用户要求验算时,分开记录案例声明的 expected、参考程序实际输出和系统工具输出。声明与参考程序不一致时明确指出,不把旧断言冒充实际 ground truth,也不为追平断言修改原始比例或取消质量校验。
按同一持股方向、主体类型、快照、比例单位及过滤策略比较。控制比较最终根、中间控制人及严格表决权;经济比较完整根排名、各根累计数值和 SCC 成员/收敛状态。规则名称差异先解释语义,显示路径条数受 Top-K 与深度限制,不能直接充当完整权益的正确性标准。浮点参考值与工具的 Decimal 字符串比较时使用并注明容差,不提前四舍五入改变排名。
分别报告“计算是否跑通”“数值是否一致”“业务结论能否确认”。参考程序不检查股份总和时,系统的 DATA_CONFLICT 可以与相同的经济数值同时成立;按目标列出冲突来源、顶层状态与算法诊断,不将其笼统归为算法失败。经济路径和可能超过 100%,按工具原值展示并保留质量与模型口径说明,不截成 100% 或归一化。保留并列候选;相同股比的不同证据路径不能去重为一条。
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingagent_runtime/resources/skills/finance-ownership-workflow/SKILL.md
Popularity
- Repository stars
- 79
- Repository forks
- 6
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bupt-gamma/igraph/finance-ownership-workflow)