Skip to content
cccskills
FreePublished on GitHub

rseng-software-publishing

Covers publishing research software through its distribution channels: packaging for and releasing on package indexes (PyPI, conda-forge, CRAN and ecosystem equivalents), registering in research software registries, submitting to software journals (JOSS-style), and choosing the channel mix for a project's audience. Use when the user wants their software installable by others, asks how to publish on PyPI, CRAN or conda-forge, wants the software listed where researchers search, or when a mature project is only obtainable by cloning its repository. (Cutting versioned releases and DOIs: rseng-publishing-releasing; the JOSS review process: rseng-software-peer-review; preservation: rseng-archiving.)

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24 stars(GitHub 24 + cccskills 0)

Run score Not tested

See how to install

Files included (2)

  • SKILL.md6.0 KB
  • references.md564 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

Publishing research software

"Available on request" and "clone the repo" are not distribution. Publishing puts software where its users already look - the package index they install from, the registry they search, the journal that tells them it was reviewed - and each channel has its own rules. The neighboring skills own the mechanics this skill orchestrates: rseng-publishing-releasing (versioned releases, changelogs, DOIs), rseng-project-scaffolding (installable package structure), rseng-software-peer-review (the JOSS process itself), rseng-archiving (preservation). This skill is the channel strategy and the index-specific craft.

Choose the channel mix by audience

  • Users who pip/conda/install: a package index is non-negotiable - it is the difference between a dependency and a science project.
  • Researchers who search by domain: a Research Software Directory instance and domain registries (rseng-software-reuse lists them) - where discovery happens for people who do not know the package name.
  • Reviewers, citers, funders: a software journal entry (JOSS-class) plus the archived, DOI'd release (rseng-archiving).

A healthy mature project typically has all three; a young one starts with the index and adds the rest at first stable release. State the recommended mix and why, then build it channel by channel.

Package indexes: the craft per ecosystem

Common core across ecosystems: complete metadata (description, license, URLs, authors - the index page IS a landing page: rseng-fair-software's findability applied), semantic versioning (rseng-publishing-releasing), and automated publication from CI with provenance rather than laptop uploads (rseng-ci-cd, rseng-security's trusted-publishing staircase).

  • PyPI (Python): modern pyproject.toml packaging per the PyPA guide (rseng-project-scaffolding's template does this); test on TestPyPI first; use trusted publishing from CI; wheels plus sdist; never delete released versions - yank instead.
  • conda-forge: the community channel for the scientific stack and the path when binaries/native deps matter (rseng-hpc-computing users often live here); publication is a recipe PR to staged-recipes, then a feedstock you maintain - it is a community process with reviewers, not an upload.
  • CRAN (R): the strictest gate - read the repository policies before submitting; R CMD check --as-cran must pass cleanly on multiple platforms, submissions are human-reviewed, and policy violations get packages archived. rOpenSci's guide (and its review - rseng-software-peer-review) is the community on-ramp.
  • Other ecosystems follow the same shape (npm, crates.io, Julia General registry): find the community's packaging guide, meet its gate, automate the release.

Version-support policy belongs to publishing: which language/ dependency versions you support, tested in CI matrices, stated in metadata (rseng-maintenance-sustainability owns the deprecation half).

Registries: be found by field, not name

Register at first citable release, and keep entries alive:

  • RSD instances harvest most metadata from the repository when CITATION.cff and codemeta.json exist (rseng-citation-metadata) - the entry is cheap if the metadata hygiene is there.
  • Update triggers: new major release, changed maintainership, publication of the software paper - a stale registry entry pointing at a moved repository is worse than none.
  • Link everything: registry entry <-> index page <-> repository <-> paper DOI <-> archive - the same both-ways discipline as rseng-archiving and rseng-open-science-practices.

The publication checklist

Before announcing any channel as live, verify as a user would:

  1. Fresh-environment install from the index succeeds (rseng-reproducible-environments provides the clean room).
  2. Index page renders correctly - description, links, license, badges.
  3. Import/run smoke test passes on the installed (not cloned) artifact.
  4. Citation instructions resolve (CITATION.cff shipped, DOI live).
  5. The announcement is drafted (rseng-science-communication) and the aidecl.yaml reflects AI involvement in the release (rseng-ai-declaration).

Working with this skill

This skill is source-independent: its authority is the packaging guides and index policies linked below. It orchestrates the channel-specific end of the publishing chain.

Learn more (verified):

<!-- related-skills:begin -->

Related skills

Check whether any of these applies before moving on:

  • rseng-ci-cd - trusted publishing from CI
  • rseng-citation-metadata - registries harvest CITATION.cff/codemeta
  • rseng-project-scaffolding - installable package structure
  • rseng-publishing-releasing - release mechanics behind each channel
  • rseng-reproducible-environments - fresh-install verification clean room
  • rseng-software-peer-review - JOSS submission pathway
<!-- related-skills:end -->

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Covers operating AI coding agents securely: auditing whether the agent runs sandboxed, permission and dangerous-command configuration, containerized environments, secrets kept out of context, network egress and token privileges, prompt-injection risk, and the privacy of agent use itself. Use PROACTIVELY when permission gating is broadly disabled (skip-permissions modes), when secrets are visible to the agent's shell, or when the agent processes untrusted code, issues or web content; when a project holds personal or confidential data while a cloud agent is active (what leaves the machine, retention, training use), or when the user asks how to run coding agents safely or privately. (Supply-chain security: rseng-security; disclosing agent contributions: rseng-ai-declaration.)

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

Covers declaring AI involvement with the AI Declaration Format (https://ai-declaration.org): creating and maintaining an aidecl.yaml that records which AI tools and agents were used, what each contributed, when and how much, plus the README disclosure footnote, JSON/JSON-LD export and CI validation. Machine-readable disclosure is the practice; this format is one implementation. Use PROACTIVELY when an AI assistant or agent creates or modifies a project's content - generate aidecl.yaml if missing, update it after AI-assisted changes. Also use when the user asks about AI transparency, provenance, disclosure or EU AI Act disclosure, wants to state that NO AI was used, or mentions aidecl. For concealment requests see rseng-honesty; for the human review duty see rseng-human-verification.

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

Covers long-term archiving of research software and data: Software Heritage save requests and SWHID persistent identifiers, Zenodo deposits with versioned DOIs and forge integration, choosing domain and institutional repositories, deciding what to archive (code, data, environments, documentation) and when, and archiving at project retirement. Use when the user wants software or data preserved beyond the life of a forge account, grant or lab, mentions Software Heritage, SWHIDs, Zenodo deposits or archiving, retires or hands over a project, prepares artifacts that must stay resolvable for a paper, or when funder policy requires long-term preservation. (Cutting the release itself is rseng-publishing-releasing; day-to-day data storage and repository choice is rseng-data-management.)

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

Covers processing research data that outgrows one machine's memory: out-of-core and chunked computation, Dask for scaling the scientific Python stack, Spark for distributed tabular pipelines, lazy evaluation, partitioning strategies, idempotent and restartable batch jobs, and knowing when NOT to distribute. Use when datasets no longer fit in memory, when the user mentions Dask, Spark, out-of-core or larger-than-memory data, when a pandas/NumPy workflow hits memory limits, or when designing batch pipelines over many files. (Cluster job submission and job arrays are rseng-hpc-computing; pipeline orchestration engines are rseng-workflows; profile first with rseng-performance-profiling.)

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

Covers continuous integration and delivery for research software: CI/CD concepts, automating builds and tests with GitHub Actions and GitLab CI/CD, and wiring an organization's GitLab CI infrastructure to a GitHub-hosted project. Use when the user asks to set up CI, write a pipeline or workflow file (.github/workflows, .gitlab-ci.yml), add automated builds/tests on push or pull request, publish a package or deploy docs when a tag or release is cut, cache dependencies to speed up CI runs, choose between GitHub Actions and GitLab CI, use self-hosted or GPU runners, mirror a repo, or report external CI status back to GitHub. For what to test and shrinking a test matrix see rseng-testing; for linter and pre-commit policy see rseng-code-quality.

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

Covers verifying that every citation is real, correct and current: checking references in manuscripts, READMEs, references files and code metadata against Crossref and OpenAlex, screening cited DOIs against the Retraction Watch database, catching fabricated or mis-attributed citations (a documented AI failure mode), and keeping bibliographies and CITATION.cff files resolvable. Use PROACTIVELY before any bibliography, reference list or citation metadata is finalized or published, whenever the agent itself has produced citations, and when the user asks to check references, mentions broken DOIs, retracted papers or citation verification, or prepares a manuscript, README or software paper with references. (Making your own software citable is rseng-citation-metadata.)

The English summary is being prepared. Showing the original description.

fdiblen/rseng-agent-skills24Updated Sep 23, 2026

See all skills by fdiblen

Report a problem with this skill