Excel and CSV Data Analysis
bytedance/deer-flow
Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.
Capture a Linux system trace with systing. An agent skill from josefbacik/systing.
$ npx skills add josefbacik/systing --skill systing-trace -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install josefbacik/systing systing-trace --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/josefbacik/systing.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/systing-trace .claude/skills/systing-trace && 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 "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .claude/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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/josefbacik/systing/tree/main/skills/systing-traceType 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 josefbacik/systing --skill systing-trace -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install josefbacik/systing systing-trace --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josefbacik/systing.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/systing-trace .agents/skills/systing-trace && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .agents/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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 josefbacik/systing --skill systing-trace -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install josefbacik/systing systing-trace --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josefbacik/systing.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/systing-trace .cursor/skills/systing-trace && 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 "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .cursor/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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/josefbacik/systing.git --path skills/systing-trace--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 josefbacik/systing --skill systing-trace -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install josefbacik/systing systing-trace --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josefbacik/systing.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/systing-trace .gemini/skills/systing-trace && 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 "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .gemini/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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 josefbacik/systing systing-traceInstalls 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 josefbacik/systing --skill systing-trace -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/josefbacik/systing.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/systing-trace .github/skills/systing-trace && 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 "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .github/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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 josefbacik/systing --skill systing-trace -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install josefbacik/systing systing-trace --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/josefbacik/systing.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/systing-trace .opencode/skills/systing-trace && 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 "systing-trace" agent skill from https://github.com/josefbacik/systing/tree/main/skills/systing-trace into .opencode/skills/systing-trace/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "systing-trace", 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.
systing-traceCapture a Linux system trace with systing. An agent skill from josefbacik/systing.
Systing Trace is an agent skill from josefbacik/systing. Capture a Linux system trace with systing. Use when the user wants to profile, trace, or record system activity (scheduling, stacks, network, memory, syscalls, Python stacks, TPU ops/metrics) into a DuckDB or Perfetto file. Guides correct invocation of the systing binary as root, choosing recorders, targeting PIDs/cgroups/commands, and output formats.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with DuckDB, Linux and Python. The repository describes itself as: A libbpf based tracer to help figure out what an application is doing. The licence is MIT.
Read from SKILL.md and the folder at commit 8419894. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
ui.perfetto.devFrom 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.
Systing Trace loads about 3.2k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 1,348 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 noted patterns worth knowing about, such as sudo or a known installer.
sudo systing --output trace.duckdb -- python3 myscript.pysudo systing -p <PID> -d 10 --output trace.duckdbsudo systing -c /sys/fs/cgroup/my.slice -d 30 --output trace.duckdbsudo systing -d 5 --output trace.duckdbsudo systing --add-recorder network --add-recorder syscalls -d 10 --output trace.duckdbsudo systing --only-recorder sched --only-recorder network -d 10 --output trace.duckdbsudo systing --tpu-profile -d 10 --output trace.duckdbsudo systing --tpu-metrics --tpu-metrics-interval 500 \sudo systing --tpu-profile --tpu-service-addr 127.0.0.1:8466 -d 10 --output trace.duckdbAutomated 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 josefbacik/systing at commit 8419894, republished under its MIT licence (© josefbacik). 1,348 words, ~3,211 tokens.
.claude/skills/systing-trace/SKILL.md (or your agent's skills folder).systingsysting is a BPF-based Linux tracer. It captures scheduling events, IRQs, stack traces, network activity, memory events, syscalls, and more into a DuckDB database (or Perfetto trace) for later analysis.
CAP_BPF + CAP_PERFMON (CAP_SYS_ADMIN also works). Use sudo.--output foo.duckdb for analysis with the systing-analyze MCP server. The default is trace.pb (Perfetto), so always pass --output explicitly when you want DuckDB.sudo systing --output trace.duckdb -- python3 myscript.pyEverything after -- is the command. Only the command, its threads, and children are traced.
sudo systing -p <PID> -d 10 --output trace.duckdbsudo systing -c /sys/fs/cgroup/my.slice -d 30 --output trace.duckdbsudo systing -d 5 --output trace.duckdb-d 0 (the default) means "run until Ctrl-C, or until the -- command exits".
List available recorders and their defaults:
systing --list-recorders| Recorder | Default | Captures |
|---|---|---|
sched | on | Scheduler events (context switches, wakeups, runqueue) |
irq | on | IRQ and softirq events (irq_handler_*, softirq_*) |
cpu-stacks | on | On-CPU perf stack samples |
sleep-stacks | on | Uninterruptible sleep (D-state) stacks |
interruptible-stacks | on | Interruptible sleep (S-state) stacks |
syscalls | off | All syscall entry/exit (raw_syscalls:sys_enter/sys_exit) |
network | off | Base network recorder: socket/TCP connection state tracking |
network-syscalls | off | Network syscall-level tracing (send/recv bytes, buffer fill, stalls) — no per-packet probes |
network-packets | off | Packet-level tracing (sendmsg, recvmsg, qdisc, drops, retransmits, RTT) |
memory | off | RSS tracking, mmap/munmap/brk, page faults |
memory-alloc | off | Heap allocator uprobes (malloc/calloc/realloc/free) with stacks |
markers | off | Userspace marker events (faccessat2 with mode=-975) |
tpu | off | TPU op-level profile via XLA runtime gRPC (port 8466) |
tpu-metrics | off | TPU runtime metrics polling (port 8431, lightweight) |
task-stacks | off | Periodic stack snapshots of every targeted thread, blocked ones included (--task-stacks-interval-ms, default 100; --task-stacks-frames native|python|all). Output: the task_stack_event table and a Task Stacks: <thread> track in Perfetto. Needs Linux 6.2+; not with --continuous |
Enable extras with --add-recorder:
sudo systing --add-recorder network --add-recorder syscalls -d 10 --output trace.duckdbOr restrict to only specific recorders with --only-recorder (disables every default first):
sudo systing --only-recorder sched --only-recorder network -d 10 --output trace.duckdb--add-recorder network also enables network-packets (the common investigation shape). --only-recorder network is state-only: connection/state tracking with no per-packet kprobes.network-packets and network-syscalls each require the base network recorder and enable it implicitly.memory-alloc requires and implicitly enables memory.--no-sched, --no-irq, --no-cpu-stack-traces, --no-sleep-stack-traces, --no-interruptible-stack-traces, -n/--no-stack-traces (all stacks).| Flag | Purpose |
|---|---|
-p, --pid <PID> | Target a specific process (repeatable) |
-c, --cgroup <CGROUP> | Target a cgroup path |
-d, --duration <SEC> | Duration in seconds (default 0 = until Ctrl-C or command exits) |
--continuous <SEC> | Rolling-window mode: keep only the last <SEC> seconds in the ring buffers. Cannot be combined with a -- <command> |
-v, --verbose | Increase verbosity (repeatable) |
| Flag | Purpose |
|---|---|
--output <PATH> | Output file, format from extension: .duckdb, .pb/.perfetto, .systing/.systing.gz (profile export, see docs/PROFILE_EXPORT_FORMAT.md). Default trace.pb |
--output-dir <DIR> | Directory for intermediate parquet files (default ./traces) |
--parquet-only | Skip final trace generation, keep only the parquet files |
--stream <URI> | Stream parquet over a socket instead of writing to disk: vsock://CID:PORT, unix:///path.sock, tcp://host:port (tcp is unauthenticated — trusted networks only) |
| Flag | Purpose |
|---|---|
--sample-freq <HZ> | CPU stack-sampling rate per CPU (default 1000). Fixed-period mode: exact with --sw-event, and the rate at max CPU frequency for cpu-cycles |
-s, --sw-event | Use a software clock event for sampling (VMs without a PMU) |
--perf-counter <NAME> | Sample a hardware/software counter, e.g. instructions, cycles, topdown* (repeatable) |
--cpu-frequency | Record CPU frequency tracks |
| Flag | Purpose |
|---|---|
--collect-pystacks | Resolve Python frames in user stacks |
--task-stacks-frames native|python|all | With the task-stacks recorder, the frames to collect: kernel + native, Python alone (only threads that have any), or both. python and all turn --collect-pystacks on |
--pystacks-debug | Debug output for Python stack tracing |
--enable-debuginfod | Better symbol resolution (requires DEBUGINFOD_URLS) |
--collect-build-id | Store user frames as (build-id, file offset) so exited processes stay symbolizable offline |
--symbolize-names-only | ELF symbol tables only — no DWARF, no line info, no inline frames. Bounds symbolization memory on hosts with many debug binaries |
--symbolize-elide-generics | Collapse generic/template args in symbol names longer than 256 bytes |
--no-frame-labels | Render unsymbolized frames as bare hex instead of contextual labels |
--no-gopclntab | Don't symbolize stripped Go binaries from .gopclntab |
--no-gvisor-guest-maps | Don't query gVisor sandboxes' control sockets for guest maps |
| Flag | Purpose |
|---|---|
--memory-fault-sample-rate <N> | Sample 1 in N user page faults (default 97; 0/1 = all) |
--memory-rss-threshold-bytes <N> | Min byte drift between rss_stat events (default max(16 MiB, 64*nr_cpus*page_size); 0 = every event) |
--memory-alloc-sample-rate <N> | Sample 1 in N allocator calls (default 1). Values > 1 sample alloc/free independently, so alloc/free pairing for leak detection is unreliable — hotspot profiling only |
--memory-alloc-lib <LIB> | Override allocator library. Absolute path = host namespace verbatim; bare name resolved per-pid via /proc/<pid>/maps |
--memory-alloc-symbol-prefix <P> | Prefix for malloc/free symbol names (e.g. je_ for prefixed jemalloc) |
| Flag | Purpose |
|---|---|
--trace-event <EVENT> / --trace-event-pid <PID> | Attach to additional probe points |
--trace-event-config <FILE> | JSON config defining custom events/tracks/stop triggers (see docs/TRACE_CONFIG_FORMAT.md) |
--marker-threshold <N> | Stop after N marker instant events — requires --continuous |
--marker-duration-threshold <MS> | Stop when a marker range exceeds MS ms — requires --continuous |
--ringbuf-size-mib <N> | Increase BPF ring buffer size if events are lost |
--ringbuf-shards <N> | Rings per ring-buffer family: 0 (default) = one per CPU up to 64 at a constant family byte budget, except on kernels before 6.8, which keep 8; 8 restores the fixed eight-ring layout exactly |
--resolve-addresses | Resolve network IPs to hostnames via DNS (off by default) |
--include-task-context | Record what each sampled thread's program said it was working on: a program that uses the task-context library (crates/task-context) sets named values (a request id, an iteration number) on its threads, every running-stack sample then carries the id of its thread's context (stack_sample.task_context_id, and task_stack_event.task_context_id with the task-stacks recorder) and the values of each id go once into the task_context table. Finds a process whose executable carries the library or names it as a direct dependency (not one that loads it by dlopen or gets it through another library). Off: nothing of it is loaded. Written for Linux 6.12+, x86-64 and aarch64; reads nothing under the kernel's lockdown confidentiality mode |
| Flag | Purpose |
|---|---|
--tpu-profile | Op-level TPU profile (same as --add-recorder tpu); requires a fixed --duration |
--tpu-service-addr <HOST:PORT> | Override auto-discovery for the profiler service (port 8466) |
--tpu-metrics | Metrics polling (same as --add-recorder tpu-metrics) |
--tpu-metrics-addr <HOST:PORT> | Override auto-discovery for the metrics service (port 8431) |
--tpu-metrics-interval <MS> | Metrics polling interval (default 1000 ms) |
Systing can talk to the XLA/TPU runtime's gRPC services to correlate TPU activity with host-side scheduling and stacks in the same trace.
Two modes (use either or both):
--tpu-profile — Full op-level profile. Connects to the XLA profiler service (port 8466), captures an XSpace profile for the trace duration, and records per-op timing, flops, and memory bytes into tpu_op / tpu_device. Heavier; only available while a workload is actively running, and requires a fixed --duration.--tpu-metrics — Lightweight polling. Connects to the RuntimeMetricService (port 8431), samples counters (duty cycle, HBM usage, latency distributions) at --tpu-metrics-interval into tpu_metric. Always available while the runtime is up.Auto-discovery: By default systing scans /proc/net/tcp (across all network namespaces) for a single listener on the well-known port and connects to it, using setns if the service is in a container's netns. Zero listeners → error ("Is a TPU workload running?"); multiple listeners → disambiguate with --tpu-service-addr / --tpu-metrics-addr.
# Op-level TPU profile + host scheduling for 10s
sudo systing --tpu-profile -d 10 --output trace.duckdb
# Lightweight metrics at 500ms alongside network & sched
sudo systing --tpu-metrics --tpu-metrics-interval 500 \
--add-recorder network -d 30 --output trace.duckdb
# Explicit address (container / multi-device host)
sudo systing --tpu-profile --tpu-service-addr 127.0.0.1:8466 -d 10 --output trace.duckdb.duckdb — Recommended. Queryable with the systing-analyze CLI and MCP tools..pb / .perfetto — Perfetto trace, viewable at ui.perfetto.dev. This is the default if --output is omitted..systing / .systing.gz — Line-oriented profile summary (interned stacks + counts + thread metadata), no DuckDB needed. See docs/PROFILE_EXPORT_FORMAT.md.--parquet-only — Skip final output, keep raw parquet files in --output-dir.Once you have a .duckdb file, use the systing-analyze MCP tools (if available) or the systing-analyze CLI to analyze it. See the systing-analyze skill.
sudo (or grant CAP_BPF+CAP_PERFMON).--ringbuf-size-mib (e.g. 64).--enable-debuginfod with DEBUGINFOD_URLS set, or install debug symbols for the target binaries.--symbolize-names-only, and --symbolize-elide-generics for heavily generic Rust/C++.-s/--sw-event.--marker-threshold rejected → marker thresholds require --continuous <seconds>.--tpu-service-addr / --tpu-metrics-addr.© josefbacik, MIT. 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/systing-trace of josefbacik/systing.
Open the folder on GitHubat commit 8419894
Systing Trace 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 |
|---|---|---|---|---|---|---|
| Systing Trace this skilljosefbacik/systing | 179 | — | ~3.2k | Automated safety check: Notes | MIT | |
| Excel and CSV Data Analysisbytedance/deer-flow | 84k | 4 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Apple Container Test RunnerRustPython/RustPython | 22k | — | ~467 | Automated safety check: Pass | MIT | |
| OrcaSlicer G-code Slicingearthtojake/text-to-cad | 19k | — | ~989 | Automated safety check: Pass | MIT | |
| The Art of Debuggingstas00/the-art-of-debugging | 1.7k | — | ~6.1k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Temporal Developerlatitude-dev/latitude-llm | 4.7k | — | ~1.5k | Automated safety check: Pass | MIT |
bytedance/deer-flow
Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.
RustPython/RustPython
Runs RustPython tests inside a Linux container built with Apple's container CLI, so macOS users can compare Linux results with their local ones.
earthtojake/text-to-cad
Slices STL, 3MF or OBJ models into printer-ready G-code with OrcaSlicer, either headless from the command line or by opening the model in the app.
stas00/the-art-of-debugging
Condensed debugging method and tool recipes for Unix, Python and PyTorch programs: crashes, hangs, segfaults, wrong output, CUDA OOM, NaN values and slowness.
latitude-dev/latitude-llm
This skill should be used when the user asks to "create a Temporal workflow", "write a Temporal activity", "debug stuck workflow", "fix non-determinism error", "Temporal Python", "Temporal…
Norman-bury/research-writing-skill
A skill your agent uses when Python environment setup is needed for data visualization or conda installation is required
josefbacik/systing
Analyze a systing trace database (.duckdb). An agent skill from josefbacik/systing.
Capture a Linux system trace with systing. An agent skill from josefbacik/systing. Systing Trace is an agent skill from josefbacik/systing. Capture a Linux system trace with systing.
Systing Trace fits situations like: the user wants to profile; record system activity (scheduling; TPU ops/metrics) into a DuckDB.
Run `npx skills add josefbacik/systing --skill systing-trace -a claude-code`. Or copy the skill folder (skills/systing-trace in josefbacik/systing) into .claude/skills/systing-trace in your project. Claude Code loads it when a task matches its description.
Run `npx skills add josefbacik/systing --skill systing-trace -a codex`. Or copy the skill folder (skills/systing-trace in josefbacik/systing) into .agents/skills/systing-trace 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 josefbacik/systing --skill systing-trace -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/systing-trace, .gemini/skills/systing-trace, .github/skills/systing-trace and .opencode/skills/systing-trace in your project.
SKILL.md names no scripts, command-line tools or credentials: Systing Trace is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: ui.perfetto.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Systing Trace is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 Systing Trace: Excel and CSV Data Analysis (bytedance/deer-flow, 84k stars), Apple Container Test Runner (RustPython/RustPython, 22k stars), OrcaSlicer G-code Slicing (earthtojake/text-to-cad, 19k stars) and The Art of Debugging (stas00/the-art-of-debugging, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
josefbacik (a GitHub user) maintains it in josefbacik/systing, which has 179 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.
Source: josefbacik/systing on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.