TimesFM Forecasting
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
Observe a running LunCoSim through its API: read entities, telemetry ports, Modelica or cosimulation variables, time series, and viewport screenshots.
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install LunCoSim/lunco-sim inspect-simulation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/inspect-simulation .claude/skills/inspect-simulation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .claude/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install LunCoSim/lunco-sim inspect-simulation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/inspect-simulation .agents/skills/inspect-simulation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .agents/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install LunCoSim/lunco-sim inspect-simulation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/inspect-simulation .cursor/skills/inspect-simulation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .cursor/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/LunCoSim/lunco-sim.git --path skills/inspect-simulation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install LunCoSim/lunco-sim inspect-simulation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/inspect-simulation .gemini/skills/inspect-simulation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .gemini/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install LunCoSim/lunco-sim inspect-simulationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/inspect-simulation .github/skills/inspect-simulation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .github/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install LunCoSim/lunco-sim inspect-simulation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/LunCoSim/lunco-sim.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/inspect-simulation .opencode/skills/inspect-simulation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "inspect-simulation" agent skill from https://github.com/LunCoSim/lunco-sim/tree/main/skills/inspect-simulation into .opencode/skills/inspect-simulation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "inspect-simulation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
inspect-simulationObserve a running LunCoSim through its API: read entities, telemetry ports, Modelica or cosimulation variables, time series, and viewport screenshots.
Inspect Simulation is an agent skill from LunCoSim/lunco-sim. Observe a running LunCoSim through its API: read entities, telemetry ports, Modelica or cosimulation variables, time series, and viewport screenshots. Use for questions about live values, motion, scene contents, or visual state. This is the read-only complement to test-via-api, which drives and verifies; use build-usd-scene when the task is authoring.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering Forecasting and time series. The repository describes itself as: Collaborative Multiphysics Cosimulator For Space Missions 🌎🚀🌚. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d1c6f00. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
curlFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use curl, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Inspect Simulation loads about 3.1k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,406 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from LunCoSim/lunco-sim at commit d1c6f00, republished under its Apache-2.0 licence (© LunCoSim). 1,406 words, ~3,103 tokens.
.claude/skills/inspect-simulation/SKILL.md (or your agent's skills folder).Observe over the HTTP API / MCP — never by polling logs or asking the user. The
app must be running with --api (default port 4101; launch per
test-via-api). Drive from curl POST /api/commands,
or the mcp__lunco__* tools if wired.
For scene, motion, Editor, or viewport inspection, require the visible
headful production window and keep it open while reading state. Pair typed
queries with CaptureScreenshot and inspect the resulting image so the user
can see the same state being diagnosed. A headless session is acceptable only
for telemetry-only inspection with no visual or user-observation claim; never
switch to it silently when a visual check is requested.
Read the ports, not the log. A telemetry port snapshot is the authoritative current value.
tail -f/sleep-polling a log for a number is the anti-pattern.
| Tool / query | Answers |
|---|---|
list_entities (ListEntities) | every registered entity → {api_id, name, type, pos}. Start here — most reads need an api_id. |
query_entity (QueryEntity {id}) | one entity's pose/name/type blob. |
QueryUsdPrim | composed USD attributes and the resolved world position for a prim; use it to verify xformOpOrder, placement heading and mounted-part dimensions. Add topology:true for one scoped visual/collider/material/joint/bounds/projection record. |
InspectUsdViewport | the explicit focused USD preview/view handles, document IDs, edit targets, projection generations, and projection_ready state; use this to identify the exact editor item visible in a screenshot and wait for a ready preview before editing. |
InspectUsdInspectionPresets | persisted view-only USD inspection camera presets; use it to verify the named settings state and the active preset without treating camera presentation as authored USD. |
read_ports | live telemetry. With api_id: that entity's ports [{name,value,direction,kind}]. Without: EVERY port-bearing entity (large — pass name_filter substring and/or ports:[…] to narrow). One-shot. |
read_port {api_id, port} | a single named port value. |
watch_ports {api_id, …} | a time-series of ports (use when you need change over time, not a single sample). |
snapshot_variables (SnapshotVariables) | current Modelica variable values (the solver's state). |
ListTelemetryChannels / QueryTelemetryHistory | retained scalar catalog and history. Keep the returned channel key; an archived channel remains queryable under its captured api/<GlobalEntityId>:<name> key after its source disappears. |
cosim_status | every USD-driven cosim entity end-to-end: {name, y, vy, netForce, force_y_input, buoyancy, modelica_*} — verify a Modelica → physics chain without logs. |
rover_status | rover-specific convenience readout. |
capture_screenshot (CaptureScreenshot) | raw PNG — save -o /tmp/x.png, then Read it. Confirms what numbers can't (did it tip over?). |
When the question is about a reusable USD assembly rather than only a spawned
entity, use the namespaced Rhai model_authoring reads with the exact document
id and root path:
let context = model_authoring::model_context(doc, root, edit_target);
let ready = model_authoring::readiness_report(doc, root, edit_target, policy);
let graph = model_authoring::port_graph(doc, root, edit_target);context is the complete composed tree and ready is the explicit
topology/physicality/mount/connection/control/runtime preflight. These reads
preserve the document generation and complement InspectUsdViewport and
LintReport; they do not mutate or save the document. Use the returned exact
paths for selection, reveal, framing, and follow-up typed commands. The
scripting guide
documents the authoring facades and dry-plan boundaries.
For generic authoring evidence, use the authoring_inspection Rhai library
with the same exact document and preview identities:
let diff = authoring_inspection::candidate_diff(before_doc, after_doc, affected_paths);
let groups = authoring_inspection::group_diagnostics(lint_findings);
let evidence = authoring_inspection::inspection_snapshot(doc, root, path);
let mode = authoring_inspection::inspection_mode(doc, root, path, true);candidate_diff is path-scoped and reports consequences plus lint readiness;
group_diagnostics preserves raw findings; and inspection_snapshot keeps
visual, collision, joints, frames, materials, provenance, schemas, and
connections in one read-only record. Absence is evidence, not permission to
invent a bound or provenance. To act on one finding, pass its absolute
subject to authoring_inspection::navigate_diagnostic(preview, view, finding); it uses the canonical selection owner and exact
FrameUsdPreviewSelection path.
For screenshots, query InspectUsdViewport first, require
projection_ready:true, and correlate the returned UsdPreviewId and
UsdPreviewViewId with the screenshot. View-only camera state is persisted
through the assembly_edit wrappers save_inspection_preset,
apply_inspection_preset, delete_inspection_preset, and
inspection_presets; verify it with InspectUsdInspectionPresets and the
viewport's active_preset. These presets do not modify USD or simulation
state.
To perturb-then-observe: set_input / SetPorts {target, writes:[[name,val]], producer_id} to poke a live input through the next fixed tick; reuse one stable
nonzero producer id for the same external caller, then re-read. Use
ReleasePort / ReleaseControl with the same producer id when releasing a
live hold to return an input to authored wiring. Apply a safe state with
explicit named SetPorts values and keep that hold active while it is wanted.
Use possess_vessel when the
target also requires an explicit control claim.
list_entities → find the api_id of the thing you care about (by name).read_ports {api_id, ports:[…]} (or read_port) for the value(s) — filter, don't dump.watch_ports for a series instead of hammering read_ports.snapshot_variables for solver state, or cosim_status for the whole chain.capture_screenshot → /tmp/x.png → Read it, to confirm the physical picture.If the scene has no authored window camera, the windowed luncosim host may use its explicit standalone presentation policy after finite USD bounds settle; it reports the generated owner in the Camera menu and status history. Headless and recording hosts do not opt into that policy. A transient camera-less projection, or a boundless standalone scene, is a presentation diagnostic rather than a terrain or physics failure.
Before interpreting a live read as a finished scene, check
GET /api/ready and require ready:true, world_hold:false, and
pending_count:0. A port may be absent while its Modelica island is still
compiling; that is different from a valid zero.
For DEM terrain, read the typed TerrainLodStatus query as the authoritative
geometry stream state. A settled visual terrain requires wanted == resident
and pending == 0; the status-bar text is presentation history and is not a
readiness signal. Streamed Lit terrain also waits for its USD material source
projection and any required off-thread derived surface/normal product before
exposing the initial tile set. During startup, a status entry may intentionally
remain live at resident == wanted while pending > 0: that is render-material
publication, not a completed tile bar. Observe the live terrain-derived status
entry and the typed query rather than treating a historical terrain event as
proof that materials are settled. Static USD DEM terrain keeps its UsdShade
appearance intent on the terrain owner while the generated mesh is assembled.
For an interactive USD edit, query InspectUsdViewport before describing or
changing the visible item, then correlate its explicit view/preview handle with
CaptureScreenshot and ListOpenDocuments. Use the returned document ID,
edit target, and projected generation in typed USD commands; do not infer the
target from a tab title, file name, or entity name.
For a fixed solar deck, list the rover-root network entity and read its
boundary ports plus the panel and battery member outputs. The useful minimum
is solar_power, solar_incidence, panel power_out/generated_current_a,
and battery terminal_current_a/soc_out. A positive mesh count or a visible
SolarPanel prim does not prove that current reaches the battery.
For a placed rover, pair the live pose with QueryUsdPrim on the composed rover
prim. Confirm the local forward-axis contract, the effective rotation op and
its xformOpOrder; do not infer orientation from a screenshot chosen on a
symmetry axis.
For a selected Editor prim, use QueryUsdPrim { topology: true } when the
question is why a part is visible, collidable, or not attached as expected.
Inspect topology.parts for the visual/collider flags, inherited purpose,
collision state, per-shape canonical bounds, local/world transforms,
source-layer/material/shader bindings, and topology.joints for body targets.
Treat non-empty topology.diagnostics as an authored-data or projection issue;
do not fill a null bound with a guessed box. topology.projection reports the
document/live-stage generation, while topology.binding reports the existing
visual-sync and physics markers for the selected runtime entity.
# what's spawned?
curl -s -X POST http://127.0.0.1:4101/api/commands -H 'Content-Type: application/json' \
-d '{"type":"ListEntities"}'
# read selected lander ports; use ListPorts to discover exact names
curl -s -X POST http://127.0.0.1:4101/api/commands -H 'Content-Type: application/json' \
-d '{"type":"ExecuteCommand","command":"ReadPorts","params":{"api_id":<lander-api-id>,"port_names":["altitude","descent_rate"]}}'
# confirm visually
curl -s -X POST http://127.0.0.1:4101/api/commands -H 'Content-Type: application/json' \
-d '{"type":"ExecuteCommand","command":"CaptureScreenshot","params":{}}' -o /tmp/x.png # then Read /tmp/x.pngDirection tracker: inspect the entire coordinate chain together: the
world-to-mount direction ports, controller setpoints, measured joint angles,
and the rendered boresight. A locked or low-error controller output alone
can validate the same incorrect frame convention that points the mechanism
away from its target.
read_ports without an api_id is huge — always name_filter and/or ports.
api_id (API-stable) ≠ the rhai GlobalEntityId — get api_id from list_entities, don't reuse a gid from a script.
Port not found / empty? The entity may be pre-compile (Modelica hasn't produced variables yet — cosim_status shows nulls until it does), or the name is a USD-path substring you haven't matched. List its ports first with read_ports {api_id} (no ports filter) to see the real names.
Wrong port? The canonical API port is 4101; set LUNCO_API_PORT=4101 if the MCP tools miss.
Don't restart to "get clean state" — read the running instance; see the ⚠️ in test-via-api.
One-shot vs series: read_ports samples once (call again for fresh values); use watch_ports for a time-series — don't sleep-loop read_ports.
For continuously updated wheel tracks, pair InspectVehicleTrail history and
publication reads with screenshots after sustained movement past a waypoint.
CPU publication alone cannot establish that a resized annotation image reached
the material's GPU binding. The render binder owns descriptor-change rebinding;
ordinary content uploads must preserve readiness.
© LunCoSim, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/inspect-simulation of LunCoSim/lunco-sim.
Open the folder on GitHubat commit d1c6f00
Inspect Simulation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Inspect Simulation this skillLunCoSim/lunco-sim | 107 | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| TimesFM Forecastinggoogle-research/timesfm | 34k | — | ~4.7k | Automated safety check: Pass | Apache-2.0 | |
| StatsmodelszLanqing/codex-claude-academic-skills | 4.7k | 15 repos | ~4.9k | Automated safety check: Pass | BSD-3-Clause | |
| Timesfm ForecastingzLanqing/codex-claude-academic-skills | 4.7k | 3 repos | ~7.5k | Automated safety check: Notes | Apache-2.0 | |
| Find Hypertable Candidatestimescale/pg-aiguide | 1.9k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Pensieve Searcharkohut/pensieve | 1.4k | — | ~8.2k | Automated safety check: Pass | Apache-2.0 |
google-research/timesfm
Forecasts any univariate time series zero-shot with Google's TimesFM model, returning point forecasts and calibrated prediction intervals without training.
zLanqing/codex-claude-academic-skills
Statistical models library for Python. An agent skill from zLanqing/codex-claude-academic-skills.
zLanqing/codex-claude-academic-skills
Zero-shot time series forecasting with Google's TimesFM foundation model.
timescale/pg-aiguide
A skill your agent uses to analyze an existing PostgreSQL database and identify which tables should be converted to Timescale/TimescaleDB hypertables.
arkohut/pensieve
Search the user's local Pensieve screenshot archive by text, app, or time range.
ninehills/skills
Market prediction skill using Kronos. An agent skill from ninehills/skills.
LunCoSim/lunco-sim
Generate concise LunCoSim nightly GitHub release notes with platform downloads, installation guidance, an AI-agent mission prompt, and a changelog link.
LunCoSim/lunco-sim
Build or repair a reusable scene component through a live LunCoSim Editor session.
LunCoSim/lunco-sim
Build or review a componentized LunCoSim USD assembly with a realistic, dimensionally checkable presentation.
LunCoSim/lunco-sim
Author and review LunCoSim behavioral, asset-backed, component, mission, visual, and requirements-verification tests.
LunCoSim/lunco-sim
Create, extend, register, or debug a reusable LunCoSim Rhai tool library for live USD authoring, component linting, inspection, or test support.
LunCoSim/lunco-sim
Author an interactive tutorial, guided lesson, onboarding flow, coach-mark tour, or objectives checklist in LunCoSim.
Categories
Observe a running LunCoSim through its API: read entities, telemetry ports, Modelica or cosimulation variables, time series, and viewport screenshots. Inspect Simulation is an agent skill from LunCoSim/lunco-sim. Observe a running LunCoSim through its API: read entities, telemetry ports, Modelica or cosimulation variables, time series, and viewport screenshots.
Inspect Simulation fits situations like: questions about live values; tasks that involve Forecasting and time series.
Run `npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a claude-code`. Or copy the skill folder (skills/inspect-simulation in LunCoSim/lunco-sim) into .claude/skills/inspect-simulation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a codex`. Or copy the skill folder (skills/inspect-simulation in LunCoSim/lunco-sim) into .agents/skills/inspect-simulation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LunCoSim/lunco-sim --skill inspect-simulation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/inspect-simulation, .gemini/skills/inspect-simulation, .github/skills/inspect-simulation and .opencode/skills/inspect-simulation in your project.
Going by SKILL.md and its folder, Inspect Simulation needs the command-line tools its instructions call (curl).
SKILL.md contains no URLs. Its commands use curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Inspect Simulation is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Inspect Simulation: TimesFM Forecasting (google-research/timesfm, 34k stars), Statsmodels (zLanqing/codex-claude-academic-skills, 4.7k stars), Timesfm Forecasting (zLanqing/codex-claude-academic-skills, 4.7k stars) and Find Hypertable Candidates (timescale/pg-aiguide, 1.9k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
LunCoSim (a GitHub organization) maintains it in LunCoSim/lunco-sim, which has 107 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 9, 2026.
Source: LunCoSim/lunco-sim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.