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/marcusquinn/aidevops/cloudron-app-publishingnpx skills add marcusquinn/aidevops --skill cloudron-app-publishinggit clone --depth 1 https://github.com/marcusquinn/aidevopsWrote 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/marcusquinn/aidevops/cloudron-app-publishing)<a href="https://agentmods.dev/skills/marcusquinn/aidevops/cloudron-app-publishing"><img src="https://agentmods.dev/badge/skills/marcusquinn/aidevops/cloudron-app-publishing.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.00018 | $0.01948 |
| Opus 5 | $0.00009 | $0.00974 |
| Sonnet 5 | $0.00004 | $0.00390 |
| Haiku 4.5 | $0.00002 | $0.00195 |
Grade A, and why
cloudron-app-publishing 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 — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cloudron App Publishing
Distribute Cloudron apps independently using a CloudronVersions.json version catalog. Users add the file's URL in their dashboard or install via cloudron install --versions-url <url>.
Quick Reference
- Docs: docs.cloudron.io/packaging/publishing
- Upstream skill: git.cloudron.io/docs/skills (
cloudron-app-publishing) - Prerequisite: App must be built with
cloudron build(local or build service) — on-server builds cannot be published - Key file:
CloudronVersions.json— version catalog hosted at a public URL - Listing: Cloudron Community Apps accepts a public versions URL after the catalog contains a tested release; listing is optional
- Forum: App Packaging & Development
Workflow
cloudron versions init # creates CloudronVersions.json + DESCRIPTION.md, CHANGELOG, POSTINSTALL.md (edit all placeholders)
cloudron build # build and push image (first run prompts for Docker repository, e.g. registry/username/myapp)
cloudron versions add --state testing # add the registry image without exposing it as stable
cloudron versions update --version=1.0.0 --state=published
# host CloudronVersions.json at a public URL
cloudron versions init also adds missing publishing fields to CloudronManifest.json with placeholder values. Edit all placeholders and scaffolded files before adding a version.
Repository Baseline
Commit these before the first registry build:
CloudronVersions.jsoninitialized as{ "stable": true, "versions": {} }; never fabricate an entry beforecloudron buildrecords a real registry image.CloudronManifest.jsonpublishing metadata:id,title,author,description,tagline,version,website,contactEmail,iconUrl,packagerName,packagerUrl, non-emptytags, non-emptymediaLinks,changelog, andminBoxVersionof at least9.1.0. AddpackageUrlwhen the listing must link to the package source repository; this requiresminBoxVersion10.0.0.- A local square 256×256 PNG icon (
iconnormally points to it) and at least one privacy-reviewed product screenshot or hero.mediaLinksmust use public HTTPS URLs; Cloudron recommends 3:1 images such as 1200×400. - A Cloudron-format changelog file when using
file://: each release heading must be exactly[X.Y.Z], becausecloudron versions adddoes not parse Keep a Changelog headings such as## [X.Y.Z]. - A short publishing runbook that records the canonical catalog URL, registry/repository ownership, asset provenance, test install, rollback, and Community Apps listing steps without storing credentials.
- A managed GitHub Actions release workflow that creates and verifies keyless provenance for the immutable image digest and exact generated
CloudronVersions.json; usereference/release-artifact-provenance.mdbefore the first publication.
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 · 136 lines · 18 tokens per session scan A 5b9c9c5c72da
cloudron-app-publishing is a skill published in the GitHub repository marcusquinn/aidevops (392 stars, last pushed today), licensed MIT. It adds 18 tokens to every session and 1,948 once invoked, about $0.0001 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
bump
Bump version, update CHANGELOG.md and README.md, then tag and release on GitHub.
release
Corta una nueva versión — mueve la sección Unreleased del CHANGELOG a una versión SemVer con fecha, crea el commit y el tag, y opcionalmente el release de GitHub. Úsalo cuando la persona pida publicar/cortar una versión o preparar un release (p. ej. "corta la versión 1.2.0", "prepara el release", "publica una nueva…
release
Cut a FastMCP release end to end. Use when the maintainer says "cut a release", "prep a patch", "ship 4.x.y", or asks what a release would contain. Covers the notes preview, the title pun, the docs changelog PR that must land before the tag, the tag itself, the publish fan-out, and verifying gofastmcp.com actually…
changelog
Generate or update the CHANGELOG.md for a new release version. Use when the user says "generate changelog", "update changelog", "write release notes", or asks to prepare a changelog for a version like "changelog for 0.5.3".
create-milestone
Create a GitHub milestone for an upcoming release. Suggests the next version based on the latest release, gathers all merged PRs and closed issues since that release, presents a draft with two tables (Issues and PRs) for user approval, then creates the milestone and assigns all approved items.
update-project-version
Update the NeMo Relay project version across Cargo, Node, and lockfiles without leaving release surfaces out of sync.