Corezoid Dashboard Manager logo

Corezoid Dashboard Manager

Organization
corezoid
corezoid-dashboard-manager

Creates and manages Corezoid dashboards — adds charts (column, pie, funnel, table), binds metrics to process nodes, configures real-time mode, and sets up drill-down linking between dashboards. Activate whenever a user asks to create a dashboard, add a chart, visualize process metrics, set up reporting for a Corezoid process, configure real-time monitoring, or asks what dashboards or charts exist. Also activate when the user wants to show task counts, completion rates, error rates, or any other process statistics visually in Corezoid.

Overview

Publishercorezoid
Repositorycorezoid-ai-plugin
Skill namecorezoid-dashboard-manager
Stars
74
Forks
26
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 corezoid on GitHub. Read the source before you install it.

Installation

Install the Corezoid Dashboard Manager 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/corezoid/corezoid-ai-plugin/tree/main/plugins/corezoid/skills/corezoid-dashboard-manager
  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/corezoid/corezoid-ai-plugin.git /tmp/corezoid-ai-plugin
mkdir -p .claude/skills
cp -r /tmp/corezoid-ai-plugin/plugins/corezoid/skills/corezoid-dashboard-manager .claude/skills/corezoid-dashboard-manager
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Corezoid Dashboard Manager 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 Corezoid Dashboard Manager 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 Corezoid Dashboard Manager 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.

Corezoid Dashboard Manager

How to call these tools

Every operation in this skill is an action of the single cz-dashboards MCP tool — the individual names below are action strings, not tools of their own:

cz-dashboards {"action": "add-chart", "args": {"dashboard_id": 1234, "name": "Errors", "chart_type": "column", "series": "[…]"}}

Arguments always go inside args; the shorthand used in the examples below — add-chart(dashboard_id=1234, …) — means exactly that call. When unsure about an action's arguments, call cz-dashboards {"action": "<action>", "help": true} — it returns the full schema and runs nothing.

What dashboards are

A Corezoid dashboard visualizes task counters in process nodes — it shows how many tasks are accumulated in (or have passed through) specific nodes. The data comes directly from running processes, not from external databases.

Key implication: processes must be deployed and have tasks flowing through them for data to appear.


Actions of cz-dashboards

ActionPurpose
create-dashboardCreate a new dashboard, returns obj_id (= dashboard_id)
get-dashboardGet dashboard details including all charts and series
add-chartAdd a chart to a dashboard, returns obj_id (hex chart ID)
get-chartGet a single chart with its series
modify-chartModify an existing chart — always provide full series array
set-dashboard-layoutSave chart positions on the grid — required to make charts visible

pull-process is a tool of its own (not an action): call it directly to pull the process JSON and find the node IDs a series points at.


Workflow: Create a dashboard with charts

Step 1 — Identify the process (MANDATORY FIRST STEP)

Before doing anything else, resolve the target process:

  1. Check whether the user already provided a process identifier — a file path, process name, or process ID — in the current message or conversation history.

  2. If no identifier is provided, ask:

    "Which process(es) do you want to monitor? You can provide a file path (e.g. 123_payment.conv.json), a process name, or a process ID."

    Do not call any MCP tools until the user provides an identifier.

  3. If the user gave a name or ID (not a file path), search the local working directory for the matching .conv.json file using the find or grep Bash tools (the project is already pulled locally).

  4. Once the file path is known and the file exists locally, open and read it to find node IDs in scheme.nodes[].id — note the IDs of nodes you want to measure. End nodes are best as primary metric sources.

    If the process is not available locally, fall back to:

    pull-process(process_id=<PROC_ID>)
  5. Also clarify with the user (if not already clear):

    • Which nodes represent the metrics they care about?
    • What kind of visualization: comparison (column), proportions (pie), sequential drop-off (funnel), or tabular (table)?

Step 2 — Create the dashboard

create-dashboard(title="Payment Monitoring", description="Real-time payment flow metrics")

Note the returned dashboard_id — needed for adding charts.

Step 3 — Add charts

One chart per visualization. The add-chart action returns a hex obj_id for the chart — save it for modify-chart calls.

add-chart(
  dashboard_id=<dashboard_id>,
  name="Payment Outcomes",
  chart_type="column",
  series='[{"conv_id": 123456, "node_id": "507f1f77bcf86cd799439016", "title": "Success"}, {"conv_id": 123456, "node_id": "507f1f77bcf86cd799439017", "title": "Error"}]'
)

Chart types:

TypeWhen to use
columnComparing values across nodes or time periods
pieShowing how tasks split across outcomes
funnelVisualizing sequential drop-off through a flow
tableTabular display of metric values

Critical: Use column (NOT bar) — bar is not a valid Corezoid chart type.

Step 4 — Verify series after creation

After creating a chart, call the get-chart action to verify that series is populated. If it's empty, use modify-chart to add the series.

get-chart(chart_id=<hex_obj_id>, dashboard_id=<dashboard_id>)

If series is empty, call the modify-chart action with the full series array.

Step 5 — Save the dashboard layout (MANDATORY)

Charts are invisible until the grid layout is saved. After all charts are created and have series, call the set-dashboard-layout action:

set-dashboard-layout(
  dashboard_id=<dashboard_id>,
  grid='[
    {"chart_id":"<hex1>","x":0,"y":0,"width":6,"height":4},
    {"chart_id":"<hex2>","x":6,"y":0,"width":6,"height":4},
    {"chart_id":"<hex3>","x":0,"y":4,"width":12,"height":4}
  ]'
)

Grid layout rules:

  • Grid is 12 columns wide
  • x + width must not exceed 12
  • Standard chart: width: 6, height: 4 (two charts per row)
  • Wide chart: width: 12, height: 4 (full row)
  • Charts stack vertically by incrementing y (use the previous row's height as the next y)
  • chart_id is the hex obj_id returned by add-chart

Step 6 — Advise on real-time mode

Real-time mode works ONLY for these node types:

  • End nodes (obj_type: 2) — tasks that finished the process
  • Waiting for Callback — tasks waiting for external HTTP callback
  • Delay — tasks paused for a time period
  • Set State — tasks in a named state

Intermediate nodes (Code, API Call, Condition) pass tasks through instantly — real-time shows 0.


Modifying charts — full payload required

When modifying a chart, always include the full series array. Partial updates are NOT supported — omitting any field returns a validation error.

  • chart_id — hex string from add-chart response (obj_id)
  • chart_type sets obj_type in the API — must be "column", "pie", "funnel", or "table"
modify-chart(
  chart_id="6a043a89e552e86e908941aa",
  dashboard_id=136542,
  name="Updated Chart Title",
  chart_type="column",
  series='[{"conv_id": 123456, "node_id": "507f1f77bcf86cd799439016", "title": "Success"}]'
)

Dashboard grid layout

Charts are positioned on a grid. Use width and height fields (NOT w/h) — using w/h causes a validation error. Standard sizes: width: 6, height: 4.


Funnel chart — node ordering matters

For funnel charts, add metrics in the same order as the process flow:

json
[
  {"conv_id": 123, "node_id": "start-node-id", "title": "Started"},
  {"conv_id": 123, "node_id": "mid-node-id",   "title": "Processed"},
  {"conv_id": 123, "node_id": "final-node-id", "title": "Completed"}
]

The funnel visualizes drop-off from each step to the next.


Best practices

  • Use End nodes as primary metric sources — they reliably accumulate completed tasks
  • For error rate charts: add both Final (success) and Error end nodes as metrics on one column chart
  • Name metrics descriptively — labels appear directly on charts
  • Create separate dashboards: one for real-time ops monitoring, one for historical reporting
  • Group all metrics from one business flow (e.g., payment processing) on a single dashboard
  • Always verify series after chart creation — empty series means the chart won't render
  • Always call the set-dashboard-layout action after all charts are ready — charts are invisible without it
  • For drill-down: create the high-level dashboard first, then the detail dashboard, then link charts

Dashboard operations reference

GoalTool / operation
Create dashboardcreate-dashboard → returns obj_id (dashboard_id)
View dashboard + charts listget-dashboard(dashboard_id=...)
Add chartadd-chart → returns obj_id (hex chart ID)
Get chart details + seriesget-chart(chart_id=<hex>, dashboard_id=...)
Modify chartmodify-chart(chart_id=<hex>, dashboard_id=..., ...)
Make charts visibleset-dashboard-layout(dashboard_id=..., grid='[...]')
Get node IDs for seriespull-process → read scheme.nodes[].id

ID types to remember:

  • dashboard_id — integer (e.g. 136542)
  • chart_id — hex string (e.g. "6a043a89e552e86e908941aa")
  • node_id in series — 24-char hex string from scheme.nodes[].id

Frequently asked questions

What does the Corezoid Dashboard Manager AI skill do?

Creates and manages Corezoid dashboards — adds charts (column, pie, funnel, table), binds metrics to process nodes, configures real-time mode, and sets up drill-down linking between dashboards. Activate whenever a user asks to create a dashboard, add a chart, visualize process metrics, set up reporting for a Corezoid process, configure real-time monitoring, or asks what dashboards or charts exist. Also activate when the user wants to show task counts, completion rates, error rates, or any other process statistics visually in Corezoid.

Why use Corezoid Dashboard Manager on TypingMind?

Because you install it once and use it with any model. Corezoid Dashboard Manager 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 Corezoid Dashboard Manager in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/corezoid/corezoid-ai-plugin/tree/main/plugins/corezoid/skills/corezoid-dashboard-manager. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Corezoid Dashboard Manager?

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 Corezoid Dashboard Manager?

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

Is the Corezoid Dashboard Manager AI skill free?

Yes. It is published on GitHub by corezoid 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 👇