← All skills
claude-data
94 / 100 · Low risk
Fine to try. Some of what it can do is expected: a data skill usually connects to databases or online services with your credentials.
By JimLiu/baoyu-design (GitHub) · data · 6,426 stars · scanned at commit d9e5123
Use this for a local, data-backed dashboard, metrics page, KPI tracker, scorecard, data visualization or recurring report that opens in the bundled live editor: a page or scroll story of charts, numbers and tables over datasets (a CSV/TSV/JSON or text file the user has, or data you gather and attach), with a Sources panel that shows where every number comes from. Read it when creating, filling, refreshing or revising one. You write the datasets, then the page as plain HTML, into the dashboard's…
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 3 places.
Connects to the internet
This is disclosed by the author in the skill's SKILL.md or README. Expected for a data skill.
Found in 20 places.
Show 17 more
- chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 987
const response = await fetch(`${origins[i]}${HUB_ROUTE}`, { - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 1003
const response = await fetch(`${new URL(state.url).origin}${HUB_ROUTE}`, { - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 1821
var X=XMLHttpRequest.prototype.open; - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 1822
XMLHttpRequest.prototype.open=function(m,u){var a=[].slice.call(arguments);a[1]=under(u);return X.apply(this,a)}; - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 1842
var GUEST_WATCH = "setInterval(function(){fetch('/__share/me',{cache:'no-store'}).then(function(r){if(r.status===403)return location.reload();return r.json().th - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 3082
const response = await fetch(new URL("__share", url), action ? { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(action) } - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 3167
const response = await fetch(new URL("__share", url), { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(action) }); - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 4993
if (/\bfetch\(|XMLHttpRequest|new WebSocket|import\(/.test(s.text)) warn(s.doc, "reaches the network or imports a module; the page has no network: data comes fr - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/artifact.mjs, line 5684
const response = await fetch(new URL(`__comments/agent/wait?timeout=${Math.max(1, Math.round(left))}`, state.url), { - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/local-host.js, line 103
const doFetch = options.fetch ?? ((...args) => fetch(...args)); - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/local-host.js, line 442
var sessionReady = fetch(api("/_api/session"), { cache: "no-store" }).then((r) => r.ok ? r.json() : null).then((s) => { - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/local-host.js, line 455
res = await fetch(url, { cache: "no-store", ...init }); - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/local-host.js, line 581
const res = await fetch(api("/_api/upload"), { - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/share-ui.js, line 88
`;function W(){if(window.__baoyuNativeDownloads===!0)return!1;if(/\bElectron\/\d/.test(navigator.userAgent))return!0;if(window.top===window)return!1;try{return - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/share-ui.js, line 92
`,X=r("div",{"data-baoyu-archive-layer":""}),Ye=X.attachShadow({mode:"open"}),fe=r("div",{class:"wrap"});Ye.append(r("style",{},L+Fe),fe);var F=null,he,K=!1;fun - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/share-ui.js, line 181
`,E=t=>y?t.zh:t.en;function Q(t){let e=new Date(t),n=new Date,o=s=>new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),i=Math.round((o(n)-o(e))/864e5); - chatgpt-plugins/baoyu-data/skills/claude-data/scripts/editor/share-ui.js, line 212
`,I=t=>{let e=t.presence.context;return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:null},B=t=>typeof t=="string"?t:typeof t=="object"&&t!==null&&typeof t
Other copies in this repository
JimLiu/baoyu-design has 1 more folder with a skill named claude-data. This page shows the lowest-scoring copy.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'claude-data' ] || [ -L ~/.agents/skills/'claude-data' ]; then echo 'A skill folder named claude-data already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/JimLiu/baoyu-design' "$d" && git -C "$d" checkout --quiet 'd9e5123f888228cacdab69a157a4e94d2d1c629c' -- 'chatgpt-plugins/baoyu-data/skills/claude-data' && mkdir -p ~/.agents/skills && cp -R "$d"/'chatgpt-plugins/baoyu-data/skills/claude-data' ~/.agents/skills/'claude-data' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'claude-data' ~/.claude/skills/'claude-data' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for JimLiu/baoyu-design shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/JimLiu/baoyu-design/)
Score history
| Date | Version | Score |
|---|
| 2026-11-14 | d9e5123 | 94 |
Also found in
Identical copies of this skill exist at:
- JimLiu/open-artifacts/chatgpt-plugins/baoyu-data/skills/claude-data