Research software quality framework
This skill is the entry point to the pack. It explains a community-standard
framing of research software quality and points to the specialised
sibling skills for concrete tasks. Ground every quality discussion in two
questions: what tier of software is this, and which quality dimensions
matter for it right now.
The three-tier view
Classify the software before recommending practices; expectations scale
with intent, not with code size.
- Tier 1, analysis code: scripts and notebooks capturing a computational
method for a paper or dataset, often single-author. Quality floor:
version control, a README stating purpose and how to run, a pinned
environment, a license, and a citation entry.
- Tier 2, prototype tools: software demonstrating a method for use beyond
its origin project, multiple users or contributors. Add: tests with CI,
structured documentation, releases with versioning, contribution notes.
- Tier 3, research software infrastructure: services, libraries and
frameworks that communities depend on. Add: governance, review process,
security and maintenance policy, sustainability planning, archiving.
Software moves between tiers; when analysis code starts being reused,
recommend upgrading its practices tier by tier rather than all at once.
Quality dimensions
The framework defines 13 quality dimensions, formally published as a JSON-LD
registry (https://w3id.org/everse/rsqd). Always take names and counts from
the registry, not from page prose:
community, compatibility, FAIRness, flexibility, functional suitability,
interaction capability, maintainability, open source software, performance
efficiency, reliability, safety, security, sustainability.
Dimensions are qualitative categories, built on the ISO/IEC 25010 top-level
characteristics and extended for research software. Use them to structure
an assessment conversation, not as a scoring rubric.
Quality indicators
Each dimension is backed by measurable indicators from the companion
registry (https://w3id.org/everse/rsqi); 47 indicators are defined at the
pinned upstream version, such as software_has_tests, has_ci-tests,
software_has_license, software_has_citation and archived_in_software_heritage.
The browsable dimension and indicator tables are published at
(https://everse.software/indicators/website/indicators.html and
.../dimensions.html). Indicators are proxies: passing them is evidence
of quality, not proof.
Running an indicator-based assessment
When asked to "check quality" or assess a repository, run a structured
pass rather than an impression:
- Establish the tier first (above) - roughly a third of the
indicators are not applicable to analysis code, and reporting them
as failures demoralizes rather than helps.
- Walk the indicators per dimension and mark each met / unmet /
not-applicable-for-tier, with one line of evidence per verdict
(the file, badge, workflow or record that proves it).
- Route every unmet indicator to the sibling skill that fixes it
(the dimension map below); the quantitative cluster - complexity,
duplication, cohesion/coupling, churn, maintainability index, size
and documentation-coverage conventions - is measured by
rseng-software-metrics.
- Deliver as a prioritized improvement plan, cheapest-first within
the tier's expectations, not as a scorecard - and rerun after
fixes to report the delta (the same assess-fix-reassess loop as
rseng-fairguard).
Dimension-to-skill map
- Community: rseng-community-governance, rseng-science-communication
- Compatibility: rseng-scientific-file-formats,
rseng-reproducible-environments
- FAIRness: rseng-fair-software, rseng-fairguard, rseng-citation-metadata,
rseng-fair-ml
- Flexibility: rseng-software-design, rseng-reproducible-environments
- Functional suitability: rseng-testing, rseng-defensive-coding
- Interaction capability: rseng-ux-accessibility
- Maintainability: rseng-code-quality, rseng-software-metrics,
rseng-software-design, rseng-maintenance-sustainability
- Open source software: rseng-licensing, rseng-license-compliance,
rseng-community-governance
- Performance efficiency: rseng-performance-profiling,
rseng-gpu-computing, rseng-big-data-processing
- Reliability: rseng-testing, rseng-debugging, rseng-defensive-coding
- Safety: no dedicated skill - for software whose failure can harm
people or property, flag it and route to domain safety processes
- Security: rseng-security, rseng-agent-security,
rseng-regulatory-compliance
- Sustainability: rseng-maintenance-sustainability, rseng-archiving,
rseng-green-computing, rseng-management-planning
The software life cycle
Quality practices attach to life-cycle stages: planning, development,
testing, release, maintenance, retirement. When the
user is at a specific stage, prefer stage-appropriate advice - a retirement
conversation is about archiving and handover, not about adding CI.
Role-based entry points
Match advice to who is asking: researcher who codes (version control,
README, pinned environment, basic tests first; grow from there),
research software engineer (full engineering practice), principal
investigator (management plans, credit policy, sustainability and
staffing), project manager (milestones tied to releases, quality
gates, maintenance backlog), policy maker (software as a recognized
research output), trainer (curricula from the task pages, Carpentries
and CodeRefinery style).
Which sibling skill to use
Route concrete tasks to the specialised skill:
Core engineering:
- rseng-testing: how to test research software
- rseng-ci-cd: continuous integration and delivery for research software
- rseng-code-quality: writing readable research code and structuring software projects
- rseng-software-design: designing research software
- rseng-defensive-coding: defenses against silently wrong research results
- rseng-debugging: systematic debugging of research software
- rseng-version-control-review: using version control effectively for research software and the PR-time review process
- rseng-software-metrics: measuring code health quantitatively
- rseng-pair-programming: the agent as an effective pair programmer and pull-request review buddy for research software
- rseng-code-review: reviewing existing code and whole projects, not just new diffs
- rseng-project-scaffolding: starting research software projects from maintained templates and keeping them in sync
Reproducibility and workflows:
- rseng-reproducible-environments: making research software environments reproducible
- rseng-reproducibility: end-to-end computational reproducibility
- rseng-workflows: building, choosing, discovering, describing, and sharing computational workflows with workflow management...
- rseng-provenance: capturing and packaging the provenance of software and data
- rseng-notebooks: engineering discipline for computational notebooks
Research data:
- rseng-data-management: research data management around software
- rseng-scientific-file-formats: choosing and handling scientific data formats in code
- rseng-big-data-processing: processing research data that outgrows one machine's memory
- rseng-data-management-plans: data management plans (DMPs) for research projects
Numerics and performance:
- rseng-numerical-accuracy: floating-point correctness in research code
- rseng-performance-profiling: making research code faster with evidence
- rseng-gpu-computing: GPU and accelerator programming for research software
- rseng-hpc-computing: working effectively on high-performance computing clusters
Publishing, credit and reuse:
- rseng-publishing-releasing: the release lifecycle of research software
- rseng-software-publishing: publishing research software through its distribution channels
- rseng-archiving: long-term archiving of research software and data
- rseng-citation-metadata: making research software citable and contributors credited
- rseng-citation-hygiene: verifying that every citation is real, correct and current
- rseng-licensing: how to license research software
- rseng-license-compliance: license compliance engineering
- rseng-fair-software: how to apply the FAIR principles - findable, accessible, interoperable, reusable - to research software...
- rseng-fair-ml: applying FAIR principles to machine learning artifacts
- rseng-fairguard: assessing research software against the 17 FAIR4RS principles with FAIRGuard (https://www.fairguard.org)
- rseng-software-reuse: discovering and reusing existing research software instead of rebuilding it...
- rseng-discovery: discovering the research landscape around a topic or project
- rseng-dependency-management: the full lifecycle of third-party dependencies
- rseng-software-peer-review: community peer review of research software
- rseng-open-science-practices: the researcher-facing open science workflow
Integrity, security and compliance:
- rseng-security: securing research software and its supply chain
- rseng-agent-security: operating AI coding agents securely
- rseng-regulatory-compliance: checking research code and data against data-protection and AI regulation
- rseng-research-integrity: integrity checks on research outputs before submission or release
- rseng-fact-checking: verifying facts and sources at the content level
- rseng-honesty: responding when concealment or misrepresentation is requested
- rseng-human-verification: the human's side of AI-assisted research software
- rseng-ai-declaration: declaring AI involvement with the AI Declaration Format (https://ai-declaration.org)
Community and people:
- rseng-community-governance: building and governing a community around research software
- rseng-community-metrics: measuring community health with CHAOSS-style metrics
- rseng-contributor-onboarding: turning users into contributors and contributors into regulars
- rseng-user-support: running user support as an operation for research software
- rseng-trainer: teaching research software skills while working
Communication and interfaces:
- rseng-documentation: how to document research software at every level
- rseng-science-communication: communicating research software outward to research audiences
- rseng-storytelling: telling the story of research data, software and projects to broad audiences
- rseng-ux-accessibility: user experience and accessibility for research software
Planning and operations:
- rseng-management-planning: planning research software work
- rseng-project-kickoff: starting a new research software project with a short kickoff interview
- rseng-project-tracking: the operational side of running a research software project
- rseng-lessons-learned: capturing and reusing what a project learns
- rseng-maintenance-sustainability: keeping research software alive and responsible over time
- rseng-green-computing: the environmental footprint of research computing
Specialized:
- rseng-language-guides: language-specific research software practice
- rseng-legacy-code: working safely with inherited research code
- rseng-open-source-migration: migrating research code from commercial, license-bound platforms to open source alternatives
- rseng-scientific-visualization: visualization of scientific data beyond publication figures
Working with this skill
- references.md - source citations and links to the upstream framework pages
Learn more (verified):
Related skills
Check whether any of these applies before moving on:
- rseng-fair-software - FAIRness dimension practice
- rseng-fairguard - FAIR assess-fix-reassess sibling loop
- rseng-management-planning - tier drives plan rigor
- rseng-project-kickoff - new projects pair tiering with interview
- rseng-software-metrics - quantitative indicator measurement
- rseng-testing - most common first unmet indicator
1---2name: rseng-quality-framework3description: The entry point and router for this pack: explains the research software quality framework - community-standard quality dimensions, measurable indicators and the three-tier model (analysis code, prototype tools, infrastructure) - and routes to the right companion rseng-* skill. Use PROACTIVELY at the start of any research software task to classify the software's tier and select which practices apply, and whenever the user asks what research software quality means, mentions quality dimensions, indicators or the three-tier model, wants a quality assessment or improvement plan for research software, or is unsure which quality practice to start with.4license: CC-BY-4.05---67# Research software quality framework89This skill is the entry point to the pack. It explains a community-standard10framing of research software quality and points to the specialised11sibling skills for concrete tasks. Ground every quality discussion in two12questions: what tier of software is this, and which quality dimensions13matter for it right now.1415## The three-tier view1617Classify the software before recommending practices; expectations scale18with intent, not with code size.1920- Tier 1, analysis code: scripts and notebooks capturing a computational21 method for a paper or dataset, often single-author. Quality floor:22 version control, a README stating purpose and how to run, a pinned23 environment, a license, and a citation entry.24- Tier 2, prototype tools: software demonstrating a method for use beyond25 its origin project, multiple users or contributors. Add: tests with CI,26 structured documentation, releases with versioning, contribution notes.27- Tier 3, research software infrastructure: services, libraries and28 frameworks that communities depend on. Add: governance, review process,29 security and maintenance policy, sustainability planning, archiving.3031Software moves between tiers; when analysis code starts being reused,32recommend upgrading its practices tier by tier rather than all at once.3334## Quality dimensions3536The framework defines 13 quality dimensions, formally published as a JSON-LD37registry (https://w3id.org/everse/rsqd). Always take names and counts from38the registry, not from page prose:3940community, compatibility, FAIRness, flexibility, functional suitability,41interaction capability, maintainability, open source software, performance42efficiency, reliability, safety, security, sustainability.4344Dimensions are qualitative categories, built on the ISO/IEC 25010 top-level45characteristics and extended for research software. Use them to structure46an assessment conversation, not as a scoring rubric.4748## Quality indicators4950Each dimension is backed by measurable indicators from the companion51registry (https://w3id.org/everse/rsqi); 47 indicators are defined at the52pinned upstream version, such as software_has_tests, has_ci-tests,53software_has_license, software_has_citation and archived_in_software_heritage.54The browsable dimension and indicator tables are published at55(https://everse.software/indicators/website/indicators.html and56.../dimensions.html). Indicators are proxies: passing them is evidence57of quality, not proof.5859### Running an indicator-based assessment6061When asked to "check quality" or assess a repository, run a structured62pass rather than an impression:63641. Establish the tier first (above) - roughly a third of the65 indicators are not applicable to analysis code, and reporting them66 as failures demoralizes rather than helps.672. Walk the indicators per dimension and mark each met / unmet /68 not-applicable-for-tier, with one line of evidence per verdict69 (the file, badge, workflow or record that proves it).703. Route every unmet indicator to the sibling skill that fixes it71 (the dimension map below); the quantitative cluster - complexity,72 duplication, cohesion/coupling, churn, maintainability index, size73 and documentation-coverage conventions - is measured by74 rseng-software-metrics.754. Deliver as a prioritized improvement plan, cheapest-first within76 the tier's expectations, not as a scorecard - and rerun after77 fixes to report the delta (the same assess-fix-reassess loop as78 rseng-fairguard).7980### Dimension-to-skill map8182- Community: rseng-community-governance, rseng-science-communication83- Compatibility: rseng-scientific-file-formats,84 rseng-reproducible-environments85- FAIRness: rseng-fair-software, rseng-fairguard, rseng-citation-metadata,86 rseng-fair-ml87- Flexibility: rseng-software-design, rseng-reproducible-environments88- Functional suitability: rseng-testing, rseng-defensive-coding89- Interaction capability: rseng-ux-accessibility90- Maintainability: rseng-code-quality, rseng-software-metrics,91 rseng-software-design, rseng-maintenance-sustainability92- Open source software: rseng-licensing, rseng-license-compliance,93 rseng-community-governance94- Performance efficiency: rseng-performance-profiling,95 rseng-gpu-computing, rseng-big-data-processing96- Reliability: rseng-testing, rseng-debugging, rseng-defensive-coding97- Safety: no dedicated skill - for software whose failure can harm98 people or property, flag it and route to domain safety processes99- Security: rseng-security, rseng-agent-security,100 rseng-regulatory-compliance101- Sustainability: rseng-maintenance-sustainability, rseng-archiving,102 rseng-green-computing, rseng-management-planning103104## The software life cycle105106Quality practices attach to life-cycle stages: planning, development,107testing, release, maintenance, retirement. When the108user is at a specific stage, prefer stage-appropriate advice - a retirement109conversation is about archiving and handover, not about adding CI.110111## Role-based entry points112113Match advice to who is asking: researcher who codes (version control,114README, pinned environment, basic tests first; grow from there),115research software engineer (full engineering practice), principal116investigator (management plans, credit policy, sustainability and117staffing), project manager (milestones tied to releases, quality118gates, maintenance backlog), policy maker (software as a recognized119research output), trainer (curricula from the task pages, Carpentries120and CodeRefinery style).121122## Which sibling skill to use123124Route concrete tasks to the specialised skill:125126<!-- skill-directory:start (generated - do not edit by hand) -->127128Core engineering:129- rseng-testing: how to test research software130- rseng-ci-cd: continuous integration and delivery for research software131- rseng-code-quality: writing readable research code and structuring software projects132- rseng-software-design: designing research software133- rseng-defensive-coding: defenses against silently wrong research results134- rseng-debugging: systematic debugging of research software135- rseng-version-control-review: using version control effectively for research software and the PR-time review process136- rseng-software-metrics: measuring code health quantitatively137- rseng-pair-programming: the agent as an effective pair programmer and pull-request review buddy for research software138- rseng-code-review: reviewing existing code and whole projects, not just new diffs139- rseng-project-scaffolding: starting research software projects from maintained templates and keeping them in sync140141Reproducibility and workflows:142- rseng-reproducible-environments: making research software environments reproducible143- rseng-reproducibility: end-to-end computational reproducibility144- rseng-workflows: building, choosing, discovering, describing, and sharing computational workflows with workflow management...145- rseng-provenance: capturing and packaging the provenance of software and data146- rseng-notebooks: engineering discipline for computational notebooks147148Research data:149- rseng-data-management: research data management around software150- rseng-scientific-file-formats: choosing and handling scientific data formats in code151- rseng-big-data-processing: processing research data that outgrows one machine's memory152- rseng-data-management-plans: data management plans (DMPs) for research projects153154Numerics and performance:155- rseng-numerical-accuracy: floating-point correctness in research code156- rseng-performance-profiling: making research code faster with evidence157- rseng-gpu-computing: GPU and accelerator programming for research software158- rseng-hpc-computing: working effectively on high-performance computing clusters159160Publishing, credit and reuse:161- rseng-publishing-releasing: the release lifecycle of research software162- rseng-software-publishing: publishing research software through its distribution channels163- rseng-archiving: long-term archiving of research software and data164- rseng-citation-metadata: making research software citable and contributors credited165- rseng-citation-hygiene: verifying that every citation is real, correct and current166- rseng-licensing: how to license research software167- rseng-license-compliance: license compliance engineering168- rseng-fair-software: how to apply the FAIR principles - findable, accessible, interoperable, reusable - to research software...169- rseng-fair-ml: applying FAIR principles to machine learning artifacts170- rseng-fairguard: assessing research software against the 17 FAIR4RS principles with FAIRGuard (https://www.fairguard.org)171- rseng-software-reuse: discovering and reusing existing research software instead of rebuilding it...172- rseng-discovery: discovering the research landscape around a topic or project173- rseng-dependency-management: the full lifecycle of third-party dependencies174- rseng-software-peer-review: community peer review of research software175- rseng-open-science-practices: the researcher-facing open science workflow176177Integrity, security and compliance:178- rseng-security: securing research software and its supply chain179- rseng-agent-security: operating AI coding agents securely180- rseng-regulatory-compliance: checking research code and data against data-protection and AI regulation181- rseng-research-integrity: integrity checks on research outputs before submission or release182- rseng-fact-checking: verifying facts and sources at the content level183- rseng-honesty: responding when concealment or misrepresentation is requested184- rseng-human-verification: the human's side of AI-assisted research software185- rseng-ai-declaration: declaring AI involvement with the AI Declaration Format (https://ai-declaration.org)186187Community and people:188- rseng-community-governance: building and governing a community around research software189- rseng-community-metrics: measuring community health with CHAOSS-style metrics190- rseng-contributor-onboarding: turning users into contributors and contributors into regulars191- rseng-user-support: running user support as an operation for research software192- rseng-trainer: teaching research software skills while working193194Communication and interfaces:195- rseng-documentation: how to document research software at every level196- rseng-science-communication: communicating research software outward to research audiences197- rseng-storytelling: telling the story of research data, software and projects to broad audiences198- rseng-ux-accessibility: user experience and accessibility for research software199200Planning and operations:201- rseng-management-planning: planning research software work202- rseng-project-kickoff: starting a new research software project with a short kickoff interview203- rseng-project-tracking: the operational side of running a research software project204- rseng-lessons-learned: capturing and reusing what a project learns205- rseng-maintenance-sustainability: keeping research software alive and responsible over time206- rseng-green-computing: the environmental footprint of research computing207208Specialized:209- rseng-language-guides: language-specific research software practice210- rseng-legacy-code: working safely with inherited research code211- rseng-open-source-migration: migrating research code from commercial, license-bound platforms to open source alternatives212- rseng-scientific-visualization: visualization of scientific data beyond publication figures213214<!-- skill-directory:end -->215## Working with this skill216217- references.md - source citations and links to the upstream framework pages218219Learn more (verified):220 - https://everse.software/RSQKit/ - Research Software Quality Kit221 - https://www.bestpractices.dev - OpenSSF Best Practices badge222 program223 - https://fair-software.eu - five recommendations for FAIR software224 - https://guide.esciencecenter.nl - Netherlands eScience Center guide225 - https://book.the-turing-way.org - The Turing Way handbook226227<!-- related-skills:begin -->228229## Related skills230231Check whether any of these applies before moving on:232233- rseng-fair-software - FAIRness dimension practice234- rseng-fairguard - FAIR assess-fix-reassess sibling loop235- rseng-management-planning - tier drives plan rigor236- rseng-project-kickoff - new projects pair tiering with interview237- rseng-software-metrics - quantitative indicator measurement238- rseng-testing - most common first unmet indicator239240<!-- related-skills:end -->