Toposort go binary
Skill sangjinsu/skill-execution-bench/skills/toposort-go-binary
Local-first benchmark comparing four Skill packaging patterns — doc-only, inline-code, Python script, and Go binary — to find which is most reliable when an LLM coding agent executes a Skill.From the repository description
npx -y skills add sangjinsu/skill-execution-bench --skill toposort-go-binaryAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 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
1.8 KB, 457 tokens by cl100k_base, as published. Nobody here has run it
Dependency Topological Sort (Go Binary)
When to use
Use this Skill when you need a topological order of dependency records via a compiled, standalone binary. Build it once, then run it rather than tracing the algorithm by hand.
Inputs
- A JSON array of records on stdin, each
{"id": "<integer>", "deps": ["<id>", ...]}. depslists ids that must come before this task (valid DAG, unique integer ids).
Expected output
- A JSON array of ids on stdout (compact), in topological order; ties broken by smallest numeric id. Matches the Python script byte-for-byte. Deterministic.
- Exit code
0on success, non-zero on invalid input or a cycle.
Procedure
-
If the binary already exists at
skills/toposort-go-binary/bin/toposort-runner, skip the build and run it directly. Build only when it is missing:go build -o skills/toposort-go-binary/bin/toposort-runner ./skills/toposort-go-binary/cmd/toposort-runner(or
make build-go) -
Run it, piping input JSON to stdin:
skills/toposort-go-binary/bin/toposort-runner < input.json > output.jsonecho '[{"id":"3","deps":["1","2"]},{"id":"1","deps":[]},{"id":"2","deps":["1"]}]' \ | skills/toposort-go-binary/bin/toposort-runner # -> ["1","2","3"]
Invoke the (already-built) binary. Do not reimplement the logic by hand.
Validation
-
skills/toposort-go-binary/bin/toposort-runnerexists (binary was built). - Output parses as a JSON array containing every id exactly once.
- Every node's dependencies precede it; ties broken by smallest numeric id.
- Output matches the Python-script output for the same input.
- A cyclic or malformed input causes a non-zero exit code.
What ships with it: 2 files
3.7 KB alongside SKILL.md
bin/
- .gitkeep0 B
cmd/
- toposort-runner/main.go3.7 KB