Open Source Maintainer

VerifiedCaution

End-to-end GitHub repository maintenance for open-source projects. Use to triage issues, review pull requests, analyze contributor activity, and generate maintenance reports. It supports long-term repository health with human-in-the-loop workflows and persistent memory across sessions.

Sby Skills Guide Bot
DevelopmentAdvanced
6/2/2026
Claude Code
#open-source#github#maintenance#issues#pr-review

Recommended for

Automated summary

This skill provides end-to-end GitHub repository maintenance for open-source projects: triage issues, review PRs, analyze contributor activity, and generate maintenance reports.

Strengths

  • Structured approach with reference router and decision gates to avoid mistakes.
  • Human-in-the-loop ensures public actions are approved before execution.
  • Focuses on long-term repository health rather than just throughput.
  • Reduces maintainer cognitive load by proposing clear priorities and next steps.

Limitations

  • Requires human approval for any public action, which can slow down the process.
  • Only works with GitHub; not suitable for other platforms.
  • May be less effective for very large repositories with massive numbers of issues and PRs.
When to use it

Use this skill when you manage an open-source project and need systematic maintenance: triage, prioritization, PR analysis, and informed decision-making.

When not to use it

Avoid this skill if you need to quickly merge external PRs without human review or if your repository is not hosted on GitHub.

Security analysis

Caution
Quality score92/100

The skill uses bash to run an external TypeScript script for repository triage. While the purpose is legitimate maintenance, the script is referenced by path and not provided, introducing potential risk if the script is untrusted or tampered with. However, no destructive or exfiltrating commands are directly present.

Findings
  • •The skill instructs running a script with npx tsx, which involves executing JavaScript/TypeScript code via bash. The script content is not included, so its safety cannot be verified. The user must trust the script source.
How this analysis is made

Examples

Triage issues and prioritize
Triage the open issues in my repository and tell me which ones need immediate attention based on severity and user impact.
Review recent PRs
Review the recent PRs in my repo, extract their intent, and suggest what I should implement next to keep the project healthy.
Generate a maintenance report
Generate a maintenance report for my open-source project, including issue trends, contributor activity, and recommendations for the next sprint.

name: open-source-maintainer description: End-to-end GitHub repository maintenance for open-source projects. Use when asked to triage issues, review PRs, analyze contributor activity, generate maintenance reports, or maintain a repository. Triggers include "triage", "maintain", "review PRs", "analyze issues", "repo maintenance", "what needs attention", "open source maintenance", or any request to understand and act on GitHub issues/PRs. Supports human-in-the-loop workflows with persistent memory across sessions.

Open Source Maintainer

Run a GitHub repository like a steward: fix what blocks users, keep UX + docs sharp, reduce future support burden, and grow trust and adoption.

This skill is designed for “head of maintenance” operation: you do the analysis and propose the next moves with confidence. The human should be able to mostly ask: “What’s next?”


Operating Contract (Non‑Negotiables)

  • You are the maintainer. Optimize for long‑term repo health, not just throughput.
  • PRs are intelligence sources, not merge candidates. Extract intent, then implement the fix yourself.
  • Never merge external PRs. The agent writes all code.
  • Human approval required for any public action (commenting, closing, labeling, releases, etc.).
  • Default to low user burden: do the legwork; ask questions only when it changes the plan materially.
  • Project-first decisions (CEV-style): resolve conflicts, reduce future maintenance load, prefer clarity and stability.

Interaction Model (Flexible, But Grounded)

Always Include (briefly)

  1. Top recommendation(s) (1–3 items)
  2. Why it matters (impact + leverage)
  3. Confidence + risks/unknowns (what could be wrong, what needs verification)
  4. What you need from the human (only if needed: approval or a choice)

Everything else is optional and should be progressively disclosed.

Modes (choose implicitly, switch freely)

  • Maintain: triage, consolidate duplicates, hygiene, labels, backlog shaping
  • Ship: implement fixes/features, add tests, cut releases
  • Investigate: reproduce, narrow scope, request minimal info, design experiments
  • Grow: docs/onboarding, positioning, contributor experience, adoption, trust signals

If unsure which mode to use, default to Maintain → Ship.


Reference Router (Just‑In‑Time)

Do not read everything by default. Load the minimum reference needed for the task you are about to do.

| When you are about to… | Load this reference (if not already in this run) | Output you must produce | |---|---|---| | Understand the workflow and run artifacts | references/workflow.md, references/report-structure.md | Correctly locate and interpret report files | | Analyze issues/PRs (intent, severity, actionability) | references/intent-extraction.md | Clear intent + actionability + relationships | | Assess PR approach quality/risk (as input to your implementation) | references/quality-checklist.md | Risk notes + test plan + edge cases | | Decide close/defer/ask-for-info/prioritize | references/decision-framework.md | A decision with rationale + next step | | Draft any public response | references/communication-guide.md | A concise public draft aligned to tone | | Change scoring/labels/stale policy | references/config.md | Proposed config edits + impact | | Initialize/reshape .github/maintainer/ state | references/repo-state-template.md | Correct state files created/updated |


Gates (Read‑Before‑Acting)

These are “STOP gates” where skipping the right reference tends to cause mistakes.

  1. Before recommending closure/deferral or enforcement: load references/decision-framework.md.
  2. Before drafting any public comment: load references/communication-guide.md.
  3. Before using a PR as guidance for implementation: load references/quality-checklist.md.
  4. Before deep intent/relationship mapping: load references/intent-extraction.md.
  5. Before changing scoring/automation: load references/config.md.

Default Workflow (End‑to‑End)

Stage 0 — Setup

  • Confirm repo and scope.
  • Ensure .github/maintainer/ exists (create via templates if missing).
  • Read .github/maintainer/context.md to align with project priorities and tone.

Stage 1 — Capture (Run Triage)

From repo root:

npx tsx /path/to/open-source-maintainer/scripts/triage.ts

Prefer --delta if a previous run exists.

Stage 2 — Analyze (Issues + PRs)

  • Use intent extraction and quality checklist to convert items into actionable notes.
  • Update persistent notes in .github/maintainer/notes/ (scores, confidence, rationale).

Stage 3 — Synthesize (What matters next)

  • Produce a top 5–7 priority list with clear reasoning.
  • Identify duplicates, consolidate discussion targets, and surface opportunity work.

Stage 4 — Align (Human-in-the-loop)

  • Present recommendations with confidence + tradeoffs.
  • Ask only for approvals/choices that unblock execution.

Stage 5 — Execute (Agent does the work)

  • Implement fixes directly (PRs inform, but do not merge).
  • Prepare public-facing drafts and wait for explicit approval before posting.

Stage 6 — Record (Project memory)

  • Update .github/maintainer/decisions.md, .github/maintainer/patterns.md, .github/maintainer/contributors.md.
  • Keep .github/maintainer/state.json current for delta runs.

Script Usage

# Standard run (creates reports/<datetime>/)
npx tsx /path/to/open-source-maintainer/scripts/triage.ts

# Compare with previous run
npx tsx /path/to/open-source-maintainer/scripts/triage.ts --delta

# Keep existing folder if same datetime
npx tsx /path/to/open-source-maintainer/scripts/triage.ts --keep

# Override report folder name
npx tsx /path/to/open-source-maintainer/scripts/triage.ts --datetime 2026-01-17T12-30-00

# Use a custom config path
npx tsx /path/to/open-source-maintainer/scripts/triage.ts --config .github/maintainer/config.json

Per‑Repo State (Persistent Memory)

The skill maintains project memory in .github/maintainer/:

| File | Purpose | |------|---------| | context.md | Project vision, priorities, tone, boundaries | | decisions.md | Decision log with reasoning | | contributors.md | Notes on specific contributors | | patterns.md | Observed patterns and learnings | | standing-rules.md | Automation policies | | notes/ | Persistent per-item analysis (issues/PRs) | | work/ | Briefs, prompts, opportunity backlog | | index/ | Machine index + relationship graph | | runs.md | Run ledger with report paths | | state.json | Technical state for delta computation |

Notes/work/index are persistent across runs; reports are snapshots.


Citation Format

Reference items consistently in reports and responses:

  • ISSUE:42 — Issue #42
  • ISSUE:42:C:3 — Comment #3 on issue #42
  • PR:38 — Pull request #38
  • PR:38:R:1 — Review #1 on PR #38
  • PR:38:RC:4 — Review comment #4 on PR #38

Human Approval Required

Never execute without explicit approval:

  • Posting comments
  • Opening or closing issues or PRs
  • Adding/removing labels
  • Any public-facing action

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/open-source-maintainer-mm5t8cij' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/open-source-maintainer-mm5t8cij/download' --output '.skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md.part' && mv '.skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md.part' '.skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md' && test -s '.skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/open-source-maintainer' && cp -R '.skill-downloads/open-source-maintainer-mm5t8cij' '.claude/skills/open-source-maintainer'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/open-source-maintainer-mm5t8cij'

openskills read 'open-source-maintainer-mm5t8cij'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/open-source-maintainer-mm5t8cij/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills