rseng-maintenance-sustainability

Solid

Covers keeping research software alive and responsible over time: ongoing maintenance practice, tracking and paying down technical debt, reducing the bus factor, and deprecating or archiving honestly. Use when the user asks how to maintain or sustain a project, stop it rotting, schedule CI to catch breakage from external change, track or pay down tech debt, plan maintenance funding or shared ownership, or retire or deprecate software. (Energy and carbon footprint of computing is rseng-green-computing; dependency updating and auditing detail is rseng-dependency-management; archiving mechanics are rseng-archiving.)

AI & Automation 14 stars 2 forks Updated 4 days ago MIT

Install

View on GitHub

Quality Score: 83/100

Stars 20%
39
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Maintaining and sustaining research software Use this skill when the goal is to keep software usable over time rather than to ship a first version: setting up maintenance habits, managing dependencies and technical debt, deciding whether to keep, deprecate, or archive a project, and keeping its sustainability story honest. Unmaintained software degrades even with no code changes - dependencies age, environments shift, and the knowledge to run it erodes - so treat maintenance as a recurring cost, not a one-off. ## Establish maintenance habits early Calibrate effort to the user base, but build the habits before the software is widely used: - Write a test suite and check coverage with a language-appropriate tool (pytest-cov for Python, covr for R). Without tests, every dependency or environment update carries unknown regression risk. - Set up a CI pipeline that runs tests on every commit and on a schedule (e.g. weekly). Scheduled runs catch breakage from external changes even when nobody is actively developing. See the rseng-ci-cd and rseng-testing skills for the mechanics. - Keep documentation current as part of maintenance, not after it. If you cannot install and run the software from scratch using only its README and install guide, the docs need updating. See rseng-documentation. - Maintain a visible issue tracker (GitHub/GitLab Issues) so the maintenance backlog is shared, not held in one person's head. ## Manage dependencies deliberately Every depend...

Details

Author
fdiblen
Repository
fdiblen/rseng-agent-skills
Created
4 days ago
Last Updated
4 days ago
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

rseng-community-governance

Covers building and governing a community around research software: CONTRIBUTING guides, codes of conduct, governance models and decision-making, contributor recognition policy, issue and discussion hygiene, and handing over or sharing maintainership. Use when a project wants external contributors, when the user asks for a CONTRIBUTING.md, code of conduct or governance document, when maintainer burnout or bus-factor risks come up, or when a project is moving from single-author to team or community ownership. The contributor funnel and good-first-issue curation live in rseng-contributor-onboarding; health measurement in rseng-community-metrics; support operations in rseng-user-support.

14 Updated 4 days ago
fdiblen
AI & Automation Solid

rseng-project-tracking

Covers the operational side of running a research software project: turning plans into tracked, prioritized tasks (issues, milestones, boards), planning cadence around research deadlines, ranged estimates and timeboxed spikes for uncertain work, and disciplined bookkeeping - decision logs, status records, meeting notes and two-altitude project logs. Use when work is untracked or lives in heads and inboxes, when the user asks how to organize tasks, backlogs, milestones or boards, wants a status report or decision log, mentions issue triage or prioritization, or when a project has more than one person or month of work. (Strategic planning and SMPs: rseng-management-planning; new-project setup: rseng-project-kickoff; retrospectives: rseng-lessons-learned.)

14 Updated 4 days ago
fdiblen
AI & Automation Solid

rseng-legacy-code

Covers working safely with inherited research code: characterization tests before any change, incremental modernization of untested scripts, recovering intent from code without documentation, and deciding between refactor, rewrite and retire. Use PROACTIVELY when asked to change code that has no tests, and when the user inherits a codebase from a departed researcher, mentions legacy or untested code they are afraid to touch, or wants to change code that has no tests. (Migrating off commercial platforms like MATLAB, IDL or SAS to open alternatives is rseng-open-source-migration; this skill supplies the characterization-test safety net it builds on.)

14 Updated 4 days ago
fdiblen