Yida Aggregate Table logo

Yida Aggregate Table

Organization
openyida
yida-aggregate-table

宜搭聚合表(virtualView)管理。用于列出、创建空聚合表、读取/预览设计配置、保存草稿、发布配置和查询构建状态;严格区分 stash 与 live revision,并在写入前校验固定前端已确认的六数组契约。

Overview

Publisheropenyida
Repositoryopenyida
Skill nameyida-aggregate-table
Stars
228
Forks
50
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by openyida on GitHub. Read the source before you install it.

Installation

Install the Yida Aggregate Table AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-aggregate-table
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/openyida/openyida.git /tmp/openyida
mkdir -p .claude/skills
cp -r /tmp/openyida/yida-skills/skills/yida-aggregate-table .claude/skills/yida-aggregate-table
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Yida Aggregate Table in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Yida Aggregate Table on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Yida Aggregate Table is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

宜搭聚合表技能

触发条件

用户明确提到“聚合表”“虚拟视图”“virtualView”,或要检查、预览、保存、发布已有聚合表时使用本技能。普通统计报表使用 yida-report;自定义看板使用 yida-dashboard / yida-rechart,不要混用。

本技能只编排 openyida aggregate-table 已有的确定性窄命令,不生成通用高层 DSL,不复刻聚合公式引擎,不调用前端 AI authoring 接口。

安全边界

  • 写操作前必须从当前资源上下文取得精确 appType 和聚合表 formUuid,不得按名称猜 ID。
  • preview 是远端计算请求但不持久化;save 写草稿;publish 写 live 配置并触发构建。
  • save 的并发轴是 stashGmtModified,publish 的并发轴是 gmtModified。对应 GET readback 轴必须存在且前进;响应包含 revision 时还必须与该 readback 轴一致,不能用响应替代回读证据。
  • 设计 JSON 的六个顶层数组是 relationForms、relationships、aggregatedFields、auxFields、formulaFields、validators。显式错误类型必须失败,不能改成空数组继续写。
  • 不实现或猜测整表 delete。当前没有固定前端证据证明删除 API;物理 cleanup 必须报告 remote_cleanup_unsupported,不能声称删除成功。域内真实 E2E 只能在 exact runId/name ownership 证明成立后写入,并以 live revision 条件恢复至写前 canonical 配置;并发或归属证据变化时必须 restore_blocked,不得覆盖。
  • 动态租户 limits、真实公式语法、stash/live 可见性延迟、published runtime 查询和删除协议均为 PLATFORM_PROBE_REQUIRED。

工作流

1. 读取目标与现状

bash
openyida aggregate-table list <appType> --json
openyida aggregate-table inspect <appType> <formUuid> --json

需要新建资源且用户已授权时,才执行:

bash
openyida aggregate-table create-empty <appType> "<名称>" --no-open

2. 准备设计 JSON

设计 JSON 放在 <projectRoot>/.cache/openyida/<任务名>/aggregate-design.json,通过结构化文件写入工具创建。不要用 shell heredoc、cat、echo、printf、tee 或重定向生成。

发布前至少满足:

  • 每个 relationship 的 relationshipInfos 数量与 relationForms 数量一致。
  • relationId 唯一,并与 aggregatedFields[].id 一一对应。
  • 指标包含唯一 id、非空 name 和 formula。
  • validator 同时包含 formula 与非空 text.zh_CN。
  • filter rules 不超过固定前端默认上限 10,且每条 rule 有 operator。
  • aux field 包含唯一 id 与非空 name。

以上只做结构与引用完整性校验,不在本地判断聚合公式业务语义。

3. 预览、保存与发布

bash
openyida aggregate-table preview <appType> <formUuid> <design.json> --json
openyida aggregate-table save <appType> <formUuid> <design.json> --json --no-open
openyida aggregate-table publish <appType> <formUuid> <design.json> --json --no-open
openyida aggregate-table status <appType> <formUuid> --json

不要跳过 preview 后直接发布未经平台计算验证的复杂配置。发布成功只证明配置持久化;构建状态还必须精确读取到 SUCCESS。FAIL 时保留 errorMsg,不要无修改重复发布。

完成契约

  • 只读任务:返回精确 appType/formUuid、当前六数组摘要与 revision 状态。
  • 草稿任务:revisionAxis=stashGmtModified、stash readback revision 已前进且六数组 canonical readback 一致;响应 revision 存在时须与 stash readback 一致。
  • 发布任务:revisionAxis=gmtModified、live readback revision 已前进且六数组 canonical readback 一致;响应 revision 存在时须与 live readback 一致,并读取构建终态。
  • 真实运行态结果与物理 cleanup 在平台协议未探明前必须明确标注 PLATFORM_PROBE_REQUIRED / remote_cleanup_unsupported;域内 E2E 的 conditional restore 还必须单独给出 exact readback 证据,不能用命令退出 0 替代。

WHEN NOT(明确不做)

  • 整表 delete、模糊名称清理或跨 run 清理。
  • AI 文生聚合表、拖拽设计器复制、每个 UI 动作一个 CLI 子命令。
  • 通用 high-level DSL、动态 limits 平台或本地公式引擎。

Frequently asked questions

What does the Yida Aggregate Table AI skill do?

宜搭聚合表(virtualView)管理。用于列出、创建空聚合表、读取/预览设计配置、保存草稿、发布配置和查询构建状态;严格区分 stash 与 live revision,并在写入前校验固定前端已确认的六数组契约。

Why use Yida Aggregate Table on TypingMind?

Because you install it once and use it with any model. Yida Aggregate Table is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Yida Aggregate Table in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-aggregate-table. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Yida Aggregate Table?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Yida Aggregate Table?

As many as you like. As long as a model supports skills, you can use Yida Aggregate Table with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Yida Aggregate Table AI skill free?

Yes. It is published on GitHub by openyida under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇