Install
openclaw skills install @huhoo/cue-catalyst-calendar给你持仓列表 + 时间窗,产出按日期排的盯盘日历:每条事件的日期要么已有披露在场且含明确 YYYY-MM-DD,要么 statute 原文推导且适用条件在锚内可判;未披露的推测事件、任何日期算术都进不了表。机检对评级词与褒贬零容忍(词族以机检现值为准,本文所举为常见例);豁免只有两条口径:类型列整列不扫、官方披露词组按词形豁免。适合:财报季前置、组合盯盘节奏、投研会材料。不适合:涨跌与择时建议、事件影响判断(本件只陈述不判断,也没有留白判断位)。 Do NOT use for: trade timing, impact calls, rumour-sourced events.
openclaw skills install @huhoo/cue-catalyst-calendar交付的是带披露锚的日程表,不是交易信号。日历上每一个日期都必须能回指一条在场公告或一条法条。 铁律与通道契约语法继承姊妹件
cn-earnings-note;本件最大风险=日期幻觉,全部设计围绕它。
| 你要 | 用什么 |
|---|---|
| 「未来三个月这些持仓各有什么确定的日子」的日历 | 本 skill |
| 某只票的深度点评/兑现度对账 | cn-earnings-note(覆盖账本在其契约内) |
| 选股、择时、利好利空判断 | 不做——褒贬类表述全禁(铁律 3) |
| 传闻/预期类「事件」 | 不做——未披露不入表(铁律 2) |
RATING_RE 现值(常见例:买入、增持、目标价——例不穷尽,全量一条命令自查见 §3 +check)。豁免只有两条口径,都写在码里:①类型列整列不扫(封闭枚举内的中性披露词组,如「减持计划预披露」);②按词形豁免=OFFICIAL_USAGE_RE 现值(官方披露词组形,光杆「增持/减持」不豁免)加三个分类学词组(解禁减持一类)。扫描面=表格的事件/状态/窗外余档/来源锚四列 + 非表格正文 + sources 的 claim;日期列不在这一道(它由机检④管格式)。本件比姊妹件更严:没有「[待人工] 留白位」这回事,评级在这里根本不适用。YYYY-MM-DD;或 ②statute 规则推导且适用条件在锚内可判(条件不满足即拒推,快报类无条件者不推)。未披露的推测事件、任何日期算术(如「公告日+360 天」推算截止日——这类推算全线不产行,仅公告原文明写完整日期才可入,锚=该公告)一律不是条目。BANNED_RE ∪ RATING_RE 两条现值(常见例:利好、利空、抄底、必涨——例不穷尽)。本文不再说它是「姊妹件全集+本件六词」——两包各存一份拷贝、互不继承,一边改词另一边不会跟着变,所以全量只能查本包脚本(+check 那条命令)。另有一道本文此前完全没提:自白词道——事件列与状态列含 HALLUCINATION_RE 现值里的措辞(常见例:预计、有望、通常、大概率)即报,理由是「锚证事件在场、不证日期」;这类内容改道「已发生动态」或不产。事件的中性陈述例:「回购方案期限截止日(公告明写)」「问询回复截止日」。sources 的条目,直接从日历删除并在台账记弃条原因;日期一律 YYYY-MM-DD 全格式(机检④),窗口外但确有必要的条目填独立第 5 列「窗外余档」(值=空 或 窗口外余档(YYYY-MM-DD,早于/晚于窗口端);余档列空置即 FAIL——窗外是日期幻觉高发口,锚列永远纯锚不承载余档注)。disclosure_cn 返回的官方全称/代码核对主体唯一性,一名多主体时列候选让用户点、不代选)YYYY-MM-DD~YYYY-MM-DD,缺省=今起 90 天(缺省只作用于输入对齐;+check 一律传定稿后的字面窗口,禁读墙钟,见 §3)./calendar-<日期>-<n>主体/progress.md 台账)+scope:主体集消歧+窗口落表;逐主体 disclosure_cn 拉窗口内公告清单存锚。+events:按 references/event-taxonomy.md 逐类取数——入类先过第一闸(该文件 §1),再归类型封闭枚举:判定=check_calendar.py 里 EVENT_TYPES 现值,该文件 §2 表是给用户读的镜像,两者不一致时以现值为准(一条命令自查见 +check 行);buyback/esop/disclosure_cn/regulatory_cn 域直查(工具与入参 schema 一律当场发现,域清单与工具面以 catalog 现值为准,本文不抄);解禁/减持原表按缺口决定是否发起 research ≤1(可信级 L3 标注+L1 前置见分类学 §4.3;这套来源可信级定义在同仓的财报点评件面,本件只引用不另定义);满窗稀疏时的显式升级路径:原表域内直查零命中→不静默留空,向用户报「升 research 一次的预计耗时与消耗」并默认征询,同意才升、拒绝则该维持「未检索到」——空日历合法,但「可升级」的路要摆到用户面前。股东大会(全部议案类,含临时)/业绩与投资者说明会/风险警示(ST/*ST)实施与撤销生效日/停复牌生效日四类为后收项,镜像表内同列。无事前日期的进度类披露(回购 1%/2% 节点等)入「已发生动态」附注区,不占日历行。omni 仅在公告原文必须解析时调用(域面 section 全文优先,三级路径同姊妹件)。margin 域不入列——能力面=两融折算率,与事件日历无关(Q1 对账定案)。+derive:法定期限类仅对适用条件在法条锚内可判者推导(如定期报告披露期限条款含报告期类型与主体类别),每条挂 statute 当场取回的法条原文锚,锚值规格=statute:<法名>第N条(<要点短引>)——名称+条号+短引三件齐,禁裸串;sources 对应行 kind=statute 且 ref 可复核(反编造法定锚);规则文本不写死在日历里,条件不可判的期限(如未分主体的快报类)拒推不落行。+build:按主体节组装 calendar.md——形制契约:表格六列顺序钉死 日期|事件|类型|状态|窗外余档|来源锚(锚列永远末列纯锚);节名规则:主体节=一级 ## 且标题不属于保留词封闭集 {未来30天要盯 | 已发生动态 | 附录},摘要/附注区的识别只按保留词、禁拿字面「主体」当节前缀;「未来30天要盯」段只列不评;「已发生动态」区收无事前日期的进度类披露(带锚不占日历行);附录=与 sources.jsonl 一一对应的来源索引。+check(不过不交付):
python3 scripts/check_calendar.py <calendar.md> --sources <sources.jsonl> --window <YYYY-MM-DD~YYYY-MM-DD> --evidence <evidence目录>
--window/--sources 必传、--evidence 正式管线必传全量(checker 侧 --evidence 为选传以容旧产物,但文档不写它就等于这道闸形同虚设,故正式调用式一律把它摆上;window 字面值=输入契约定稿值;checker 禁读墙钟——「今起 90 天」只是输入缺省,进入机检前必须落为显式窗口,否则历史产物隔天重跑结论漂移)。机检要点:①声明行 ②六列表头状态机+数据行逐行锚校验(锚型形状=AN_RE/SIX_RE/URL_RE/LETTER_SEG_RE/CONV_RE/STATUTE_SPEC_RE 现值,按类型×锚型映射 TYPE_ANCHORS 判定,无 fallback 放行;六位以上纯数字是合法锚形之一,所以"页上有数字"不等于"这行有锚",读者要核的是那一列指不指得回披露)③禁词+评级词零容忍(豁免口径两条见铁律 1:类型列不扫 + 官方词组按词形) ④日期全格式、按主体节非降序、窗外条目余档列空置 FAIL ⑤正文锚↔sources 双向可解析(「被引用」只认来源锚列解析键,附录文本出现不算)+类型×锚型映射(监管类必函件号,法定类必 statute)⑥主体数 ≤10(判定=码内上限) ⑦锚∈evidence:每条锚(公告索引号/函件号/法名条号三式)须在 evidence/ 某快照内原文匹配到,statute 适用条文文本亦须在档——断链=FAIL;交付物复核面固定挂「evidence 抽 3 对原文」人工审行(语义真值止于证据层,快照造假归人)。FAIL 回改复跑。词面域一条命令自查,任意目录整行粘贴即跑、命令自带安装后路径;装在别处把 ~/.workbuddy/skills/ 换成你的技能安装目录,Windows 路径形如 C:\Users\<用户名>\.workbuddy\skills\catalyst-calendar\scripts\check_calendar.py,两条命令都走 POSIX 工具,Windows 请在 Git Bash/WSL 内跑):grep -n -A3 "BANNED_RE = \|RATING_RE = \|HALLUCINATION_RE = \|OFFICIAL_USAGE_RE = \|EVENT_TYPES = \|TYPE_ANCHORS = \|SIX_RE = " ~/.workbuddy/skills/catalyst-calendar/scripts/check_calendar.py;守护样清单同形现跑:bash ~/.workbuddy/skills/catalyst-calendar/scripts/fixtures/run_fixtures.sh——本文不抄域清单、不抄类型条数、也不抄守护样条数,跑什么是什么。绿灯不证防线:机检全过只证形状合规,不证语义为真。开口请带上时点,输出标数据日期:请求里给出报告期/基准日或回看窗口;成品首行标注数据日期,当它与用户所指日期不一致时,正文禁用「今日」「最新」,一律改写为「截至 <日期>」。
未见于本次返回的一律写「未检索到」:参数名、字段名、枚举值没有出现在本次工具返回里的,不得凭印象填写;写「未检索到」并记入待核清单或覆盖率账,不得留空顶替。
calendar-<日期>-<n>主体/
├── calendar.md 交付物:声明行+主体节(六列正排表)+30 天要盯段+已发生动态附注区+附录来源
│ (节名规则与保留词封闭集见 §3 +build 形制契约)
├── sources.jsonl 行式同姊妹件契约(id/kind/ref/claim/confidence/asof;法定行 kind=statute、
│ ref=法名+条号;research 件带 conv_id+路径)
├── evidence/ 域直查原始快照(一笔查询一个文件 `evidence/<kind>-<query摘要≤40字>-<YYYYMMDDTHHMMSS>.json`,原样落盘禁转写摘要冒充,append-only 不覆盖;机检第⑦道按档内原文匹配)
└── progress.md 台账:各段进度+弃条记录+research 实况
首次开通三层本件自己写全(见本件 README 的「首次开通 Cue」那一节):装本件用 npx skills add huhoo/cue-awesome --skill catalyst-calendar,取证腿三枚 cue-data-mcp / cue-research / cue-omni-reader 由 sensedeal 集合发布(整套 npx skills add sensedeal/cue-skills,单装 --skill cue-data-mcp 换末尾那枚名字);注册→/hub/api-key 取 key 入本地凭据→带 Bearer 按域 routing 实连且 tools/list 有返回才算「已连」,匿名 catalog 有返回只算「目录可达」。不装不报错。降级路径:data-mcp 不可得→用户贴公告清单(标可信级 L2,即用户直供);降级取数(用户直供清单等)同样落 evidence/ 并标来源级别,不留无痕通道。research 不发起→解禁/减持类整类标「未检索到」,不以常识补日。全降级仍可用,代价是日历覆盖度。
catalyst-calendar(Apache-2.0)——日历形态与事件分类的任务结构来源。NOTICE.md。