Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/kryptobaseddev/cleo/ct-artifact-publishernpx skills add kryptobaseddev/cleo --skill ct-artifact-publishergit clone --depth 1 https://github.com/kryptobaseddev/cleoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kryptobaseddev/cleo/ct-artifact-publisher)<a href="https://agentmods.dev/skills/kryptobaseddev/cleo/ct-artifact-publisher"><img src="https://agentmods.dev/badge/skills/kryptobaseddev/cleo/ct-artifact-publisher.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00124 | $0.01892 |
| Opus 5 | $0.00062 | $0.00946 |
| Sonnet 5 | $0.00025 | $0.00378 |
| Haiku 4.5 | $0.00012 | $0.00189 |
Grade A, and why
ct-artifact-publisher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Artifact Publisher
Overview
Sub-protocol of ct-release-orchestrator. Runs the build-then-publish pipeline for every enabled artifact in release.artifacts[]: pre-validates the config, dry-runs each build, produces SHA-256 checksums, publishes sequentially, and delegates signing plus attestation to ct-provenance-keeper. Handles nine artifact types via a uniform handler interface.
Core Principle
Every artifact gets a checksum, a dry-run, and a rollback plan.
Immutable Constraints
| ID | Rule | Enforcement |
|---|---|---|
| ARTP-001 | Artifact config MUST be validated before build. | validate_artifact() must return 0 before build_artifact() runs; exit 86. |
| ARTP-002 | Dry-run MUST execute before any real publish. | Pipeline halts if dry-run fails; exit 86. |
| ARTP-003 | Every handler MUST implement {prefix}_validate, {prefix}_build, {prefix}_publish. |
Missing handler function exits 85. |
| ARTP-004 | SHA-256 checksums MUST be generated for every built artifact. | Missing checksum blocks publish. |
| ARTP-005 | Provenance metadata MUST be recorded via record_release() after publish. |
Composition handoff to ct-provenance-keeper. |
| ARTP-006 | Multi-artifact publish MUST execute sequentially. | No parallel publishes; prevents race conditions. |
| ARTP-007 | Manifest entry MUST set agent_type: "artifact-publish". |
Validator rejects any other value. |
| ARTP-008 | Credentials MUST NOT appear in config, output, or manifest. | Agents declare env vars by name only; actual values stay in the environment. |
| ARTP-009 | Pipeline MUST halt and attempt rollback on the first publish failure. | Exit 88 on rollback success, exit 89 on rollback failure. |
Supported Artifact Types
Nine registered handler types cover the common publishing surface. Each has a default build and publish command that the handler can override via config.
| Type | Build command (default) | Publish command (default) | Registry |
|---|---|---|---|
npm-package |
(none, npm publish reads files) |
npm publish |
npmjs.org |
python-wheel |
python -m build |
twine upload dist/* |
pypi.org |
python-sdist |
python -m build --sdist |
twine upload dist/* |
pypi.org |
go-module |
go mod tidy |
(tag push triggers proxy) | proxy.golang.org |
cargo-crate |
cargo build --release |
cargo publish |
crates.io |
ruby-gem |
gem build *.gemspec |
gem push *.gem |
rubygems.org |
docker-image |
docker build -t <ref> . |
docker push <ref> |
configurable (OCI) |
github-release |
(none) | gh release create |
github.com |
generic-tarball |
tar czf ... |
(custom) | configurable |
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 147 lines · 124 tokens per session scan A 411b0508011b
ct-artifact-publisher is a skill published in the GitHub repository kryptobaseddev/cleo (160 stars, last pushed 16d ago), licensed MIT. It adds 124 tokens to every session and 1,892 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
release-announcement
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
agent-release-swarm
Agent skill for release-swarm - invoke with $agent-release-swarm.
release
Cut a Symphony release by bumping the committed version, landing it, tagging the merged commit, and verifying the Burrito release workflow. Use when asked to release, tag, or retag Symphony.
changelog
Create changelog files for important commits in a PR.
multi-agent-release-manager
Cleans up the workspace, formats code, runs presubmit checks, and uploads CLs to Gerrit.
refresh-arm-sdk-release
WORKFLOW SKILL — Prepares Azure.ResourceManager SDK refresh pull requests in azure-sdk-for-net. WHEN: "prepare sdk refresh", "refresh Azure.ResourceManager package", "update ARM SDK from autorest tag", "refresh changelog dependencies". INVOKES: git and GitHub pull request tools for branch, commit, push, and PR…