agentsclimarketplace

Version visualization

Skill scagogogo/versions-skills/skills/version-visualization

Render version hierarchies as text trees for debugging, inspection, or reporting.From its SKILL.md

Install
npx -y skills add scagogogo/versions-skills --skill version-visualization

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.9 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Version Visualization

Setup: See /installation for one-time SDK/CLI/MCP install.
Layers: SDK (Go) → CLI (shell) → MCP (AI tools) — pick your entry point.

When to Use

  • Displaying version structure as an ASCII tree for inspection
  • Visualizing how versions are grouped and nested
  • Generating a summary view showing only group-level information
  • Debugging version collections or presenting version info in terminal output

Decision Tree

Need to show individual versions in a tree?
  → Use VisualizeVersions / version_visualize (without --groups)
Collection has many versions and you need a high-level overview?
  → Use VisualizeVersionGroups / version_visualize with groups_only=true
Need to write output to a buffer or file instead of stdout?
  → Use SDK with io.Writer (bytes.Buffer, os.File)
Reading versions from a file?
  → Use --from-file flag (CLI) or ReadVersionsFromFile (SDK) first

Task Patterns

Render a detailed version tree

Goal: Show all versions grouped by major version with individual entries.

LayerApproach
SDKversions.VisualizeVersions(versionList, os.Stdout, 0) — 0 = no truncation
CLIversions visualize 1.0.0 1.0.1 1.1.0 2.0.0 2.0.1
MCP{"tool": "version_visualize", "arguments": {"versions": ["1.0.0", "1.0.1", "1.1.0", "2.0.0", "2.0.1"], "max_items_per_group": 0}}

Render a group-level summary only

Goal: Show only the group hierarchy without individual version entries.

LayerApproach
SDKversions.VisualizeVersionGroups(versionList, os.Stdout)
CLIversions visualize --groups 1.0.0 1.0.1 1.1.0 2.0.0
MCP{"tool": "version_visualize", "arguments": {"versions": ["1.0.0", "1.0.1", "1.1.0", "2.0.0"], "groups_only": true}}

Visualize with truncation per group

Goal: Limit the number of versions shown per group to avoid overwhelming output.

LayerApproach
SDKversions.VisualizeVersions(versionList, os.Stdout, 3) — max 3 per group
CLIversions visualize --max-items 3 1.0.0 1.0.1 1.1.0 2.0.0 2.0.1 2.1.0
MCP{"tool": "version_visualize", "arguments": {"versions": [...], "max_items_per_group": 3}}

Write visualization to a buffer

Goal: Capture the tree output as a string for further processing.

LayerApproach
SDKvar buf bytes.Buffer; versions.VisualizeVersions(versionList, &buf, 0); output := buf.String()
CLIversions visualize 1.0.0 1.1.0 2.0.0 > tree.txt
MCPResponse includes visualization (string) and total_versions / total_groups counts

Read versions from a file and visualize

Goal: Load versions from a text file and render the tree.

LayerApproach
SDKversionList, _ := versions.ReadVersionsFromFile("versions.txt"); versions.VisualizeVersions(versionList, os.Stdout, 0)
CLIversions visualize --from-file versions.txt
MCPRead with version_read_file first, then pass result to version_visualize

API Reference

SDK Functions

// Detailed tree: individual versions grouped by major version
func VisualizeVersions(versions []*Version, w io.Writer, maxItems int)

// Summary tree: group-level hierarchy only (no individual versions)
func VisualizeVersionGroups(versions []*Version, w io.Writer)
  • maxItems = 0 means show all versions per group (no truncation)
  • Both functions accept any io.Writeros.Stdout, bytes.Buffer, or os.File
  • Release time is only shown when PublicTime is non-zero
  • Output uses Unicode box-drawing characters (├──, └──, ┌─)
  • Labels are in Chinese: "版本总数" (total), "版本组" (group), "发布时间" (release time)

Output structure for VisualizeVersions:

版本总数: 8
版本组数: 2

┌─ 版本组: 1 (3个版本)
├── 1.0.0 (发布时间: 2024-01-01)
├── 1.0.1 (发布时间: 2024-02-01)
└── ...还有1个版本未显示

Output structure for VisualizeVersionGroups:

版本总数: 8
版本组数: 5

├─ 1 (3个版本组, 共3个版本)
│  ├─ 1.0 (1个版本)
│  └─ 1.1 (2个版本)
└─ 2 (3个版本组, 共3个版本)

CLI Commands

versions visualize [versions...]              # render tree from positional args
versions visualize --max-items <n> [v...]     # truncate to n per group
versions visualize --groups [v...]            # group-level summary only
versions visualize --from-file <path>         # read versions from file
versions visualize --groups --from-file <path> # combine flags

MCP Tools

ToolArgumentsReturns
version_visualizeversions ([]string), max_items_per_group? (int, default 0), groups_only? (bool, default false)visualization (string), total_versions (int), total_groups (int)

Cross-References

  • [[version-file-operations]] — read version lists from files before visualizing
  • [[version-grouping]] — Group() is what powers the tree structure
  • [[version-sorting]] — sort versions before visualization for predictable output

Important Notes

  • Output uses Unicode box-drawing characters (├──, └──, ┌─) — ensure terminal supports UTF-8.
  • Release time is only shown when PublicTime is non-zero (set it before calling VisualizeVersions).
  • maxItems = 0 means show all versions per group with no truncation.
  • Output labels are in Chinese ("版本总数" = total versions, "版本组" = version group, "发布时间" = release time).
  • Both SDK functions accept any io.Writer — use os.Stdout, bytes.Buffer, or os.File.
  • MCP response includes both visualization (the tree string) and total_versions / total_groups counts.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most data analysis skills give in ~1.6k tokens

Counted across 230 of the 242 authors here whose files we hold, read 2026-09-06

  • Propose a regression test for each fixed bugin 16 of 230, across 12 files
  • Name tests after the bug they preventin 14 of 230, across 10 files
  • Test the API response shape, not the implementationin 14 of 230, across 10 files
  • Run the test suite before any code reviewin 14 of 230, across 10 files
  • Force sandbox mode in the test setupin 14 of 230, across 10 files
  • Write regression tests only for bugs already foundin 14 of 230, across 10 files
  • Assert sandbox and production paths return the same shapein 14 of 230, across 10 files
  • Clear stale state when setting an errorin 13 of 230, across 9 files
  • Keep the whole test suite under one secondin 10 of 230, across 6 files
  • Run the build type check before code reviewin 10 of 230, across 6 files
  • Use vectorized operations instead of row iterationin 9 of 230, across 6 files
  • Start bar chart Y-axes at zeroin 8 of 230, across 7 files

Said here and by no other author read

  • use VisualizeVersions for detailed trees of individual versions
  • use VisualizeVersionGroups for group-level summaries only
  • pass maxItems to truncate versions shown per group
  • write to an io.Writer to capture output
  • use --from-file to load versions from a file
  • call version_read_file before version_visualize via MCP

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.