oss-dist
Audits your open-source project for release readiness and helps manage distribution pipelines, governance, and community documentation.
Install
mkdir -p .claude/skills/oss-dist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11837" && unzip -o skill.zip -d .claude/skills/oss-dist && rm skill.zipInstalls to .claude/skills/oss-dist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Audits and guides OSS project release readiness across the full lifecycle: community standards, README quality, launch strategy, distribution pipeline, and governance/security posture. Activates when reviewing, planning, or shipping an open-source project — at any stage from initial setup to public launch.Key capabilities
- →Audit community standards and GitHub repo settings
- →Evaluate README quality, UX, and structure
- →Assess launch strategy for open-source projects
- →Review distribution pipelines and packaging for various languages/platforms
- →Examine governance, security posture, and vulnerability response
- →Guide multilingual README and software internationalization
How it works
This skill audits open-source projects by identifying the user's scope, reading relevant checklist files, and then reporting findings with concrete fix suggestions. It covers community, README, promotion, release, governance, and i18n aspects.
Inputs & outputs
When to use oss-dist
- →Setting up GitHub Actions for automated releases
- →Structuring README and contribution guidelines
- →Configuring packaging for npm, PyPI, or Homebrew
- →Planning launch strategies for new tools
About this skill
OSS Distribution & Readiness Skill
When to Use
- User asks "is this project ready to open-source / release / launch?"
- User asks about what files an OSS project needs (README, LICENSE, CONTRIBUTING, etc.)
- User asks how to install or distribute a tool (language-specific packaging)
- User asks about GitHub Actions release pipelines or CI/CD for releases
- User wants launch strategy — which channels, timing, Korean ecosystem
- User asks about security practices for OSS publishing (SBOM, secret scanning, supply chain)
- User asks about governance, maintainer roles, or RFC process
- User wants to know how to package for Homebrew, apt, npm, PyPI, etc.
- User asks about version management tools (release-please, semantic-release, cargo-dist)
- User asks about multilingual README or translation workflow (Crowdin, Weblate, community contributions)
- User asks about software i18n/l10n (gettext, Fluent, react-i18next, go-i18n, rust-i18n)
- User asks how to update / upgrade a tool (detects brew, cargo, npm, apt, choco, etc.)
- User asks what update command to put in README
Process
Step 1: Identify the review scope
Ask (or infer from context) what the user needs:
| User intent | Files to load |
|---|---|
| Full readiness audit | All checklist files |
| "Do I have the right files?" | checklist/community.md |
| "Write / improve / polish my README" | checklist/readme.md |
| "How do I launch / promote this?" | checklist/promotion.md |
| "How do I package / distribute this?" | checklist/release.md |
| "How do I update / upgrade this tool?" | checklist/update.md |
| "What update command for my README?" | checklist/update.md |
| "Is my security / governance solid?" | checklist/governance.md |
| "Add translations / multilingual README" | checklist/i18n.md |
| "How do I i18n my CLI / library / app?" | checklist/i18n.md |
| Language-specific install method | checklist/release.md → routing table → languages/<lang>.md |
| Platform-specific packaging | checklist/release.md → platforms/<platform>.md |
| Tool comparison (mise, uv, etc.) | tools/<tool>.md |
| epicsagas project install standard validation | install-best-practices.md |
| "write install section" / "one-line install" / "unify install section" | install-best-practices.md + languages/rust.md §R.2 |
"badge style", "배지 스타일", --badge <preset> | checklist/readme.md § Badge Design Style |
| "update", "upgrade", "self-update", "updating section" | checklist/update.md |
| "pre-release", "beta", "alpha", "rc", "nightly", "--pre" | checklist/prerelease.md |
| "docker", "container", "ghcr", "image", "multi-arch" | checklist/docker.md |
| "CVE", "security advisory", "patch release", "vulnerability response" | checklist/cve-response.md |
Load only what's needed. Do not load all files at once.
Step 2: Read the relevant checklist file(s)
Checklist files are under checklist/:
| File | Covers |
|---|---|
checklist/community.md | GitHub community standards, license selection, repo settings |
checklist/readme.md | README generate (no README) or polish (README exists) — hook copy, UX, structure |
checklist/promotion.md | Launch channels, Korean ecosystem, growth milestones |
checklist/release.md | CI/CD pipeline, install methods, language routing table |
checklist/update.md | Update/upgrade commands, package manager detection, self-update |
checklist/governance.md | Security policy, SBOM, secret scanning, governance model |
checklist/i18n.md | README multilingual strategy, software i18n/l10n, translation tooling |
checklist/update.md | Update/upgrade commands per install method, Updating README section template |
checklist/prerelease.md | Beta/alpha/rc/nightly channels, pre-release config, graduation criteria |
checklist/docker.md | Docker image distribution, GHCR, multi-arch builds |
checklist/cve-response.md | CVE triage, patch release SLA, security advisory, disclosure |
install-best-practices.md | epicsagas project standard install block, curl flags, Homebrew notation, Updating table order |
Step 3: Audit against the checklist
For each item in the loaded checklist:
- ✅ Mark items the project satisfies
- ❌ Flag missing or incomplete items
- Give concrete fix suggestions, not vague advice
Step 4: Report findings
Structure the output as:
## OSS Readiness: <project name>
### [Domain] — PASS / WARN / FAIL
- ✅ ...
- ❌ ... → Fix: ...
### Score
| Domain | Status |
|--------|--------|
| Community files | ✅ |
| README | ⚠️ |
| ...
Scoring guide: | community ✅ + readme ✅ | Minimum viable OSS | | + promotion ✅ | Launch ready | | + release ✅ | Distribution ready | | + governance ✅ | Sustainable OSS |
Language / Platform Routing
When the user asks about packaging or install methods, load checklist/release.md first (has the routing table), then follow the relevant sub-file:
| Keywords | Sub-file |
|---|---|
| rust, cargo, cargo-dist | languages/rust.md |
| go, golang, goreleaser | languages/go.md |
| node, nodejs, npm, npx | languages/node.md |
| deno | languages/deno.md |
| bun | languages/bun.md |
| python, pip, uv, pipx | languages/python.md |
| java, jvm, kotlin, graalvm | languages/java.md |
| c, c++, zig | languages/systems.md |
| swift, spm, mint | languages/swift.md |
| mise, asdf | tools/mise.md |
| uv, uvx | tools/uv.md |
| pkgx, nix, flox | tools/universal.md |
| curl security, sigstore, sbom, sha pinning | tools/security.md |
| macos, homebrew, dmg, pkg, notarization, gatekeeper | platforms/macos.md |
| windows, winget, scoop | platforms/windows.md |
| linux, apt, dnf, snap | platforms/linux.md |
| update, upgrade, self-update | checklist/update.md |
Agent Instructions
Answering "is this ready to ship?"
Never answer from memory. Always load the relevant checklist file(s) first, then audit systematically.
- Start with
checklist/community.md— missing Tier 1 files are blockers - Then
checklist/readme.md— README quality determines first impressions - Load others based on user's concern or explicit request
Answering "how do I distribute this?"
- Load
checklist/release.md— find the project type in the routing table - Follow the pointer to the language-specific file
- Give the exact commands, not generic advice
Answering "how do I launch this?"
- Load
checklist/promotion.md - Check pre-launch gate items first — don't discuss channels if README is incomplete
- Tailor channel advice to the language/ecosystem (e.g., Rust → r/rust + This Week in Rust)
Security review
- Load
checklist/governance.md - Check SECURITY.md, secret scanning, SBOM, Pwn-request config, and Actions SHA pinning
- Flag any missing items as blockers before recommending launch
Answering "how do I update / upgrade this?"
- Load
checklist/update.md— the update readiness audit checklist - Audit the project's README: does it have an "Updating" section matching every install method?
- Check each install method in "Installation" has a corresponding update command in "Updating"
- Verify version check command (
--version), CHANGELOG format, and migration guide exist - If missing, generate the correct update section using the template from §6.6
Badge Style Selection
When generating or polishing badges (README generate/polish scope):
If the user passes a style option explicitly — use it directly:
| Option | Preset |
|---|---|
--badge bold | for-the-badge + labelColor=0d1117 (default) |
--badge classic | flat, no labelColor |
--badge modern | flat-square, no labelColor |
--badge social | social, no labelColor |
--badge plastic | plastic, no labelColor |
If no style option is given — ask interactively before generating badges:
배지 스타일을 선택해주세요:
1. bold (기본값) — for-the-badge, 다크 배경 — epicsagas 표준 스타일
2. classic — flat, GitHub 기본 느낌
3. modern — flat-square, 미니멀
4. social — social, 커뮤니티 스타 카운트용
5. plastic — plastic, 클래식 입체감
선택하지 않으면 bold(1)로 진행합니다.
Once a style is selected (or defaulted), apply the corresponding template from checklist/readme.md § Badge Design Style.
README Language Selection
When generating a new README (GENERATE mode):
If the user passes a language option explicitly:
| Option | Coverage |
|---|---|
--lang en | English only (default) |
--lang en,ko | English + Korean |
--lang en,ko,ja,zh | Full multilingual (i18n checklist applies) |
If no language option is given — ask interactively:
README 언어 전략을 선택해주세요:
1. 영어만 (기본값) — 글로벌 OSS 표준
2. 영어 + 한국어 — epicsagas 권장 (Korean dev community 타겟)
3. 영어 + 한+일+중 — 전체 다국어 (i18n 체크리스트 적용)
선택하지 않으면 영어만(1)으로 진행합니다.
For options 2–3, load checklist/i18n.md and apply the multilingual README structure.
License Selection
When generating community files or README and no LICENSE exists:
If the user specifies a license — use it directly.
If no license specified — ask interactively:
라이선스를 선택해주세요:
1. Apache-2.0 (기본값) — epicsagas 표준, 특허 조항 포함
2. MIT — 최소 제약, 최대 호환성
3. GPL-3.0 — Copyleft, 파생물 공개 강제
4. BSL-1.1 — Business Source License (상용 제한)
선택하지 않으면 Apache-2.0(1)으로 진행합니다.
Answering "pre-release / beta / nightly"
- Load
checklist/prerelease.md - Identify the project language — check for cargo-dist or goreleaser config
- Give concrete tag pattern and config snippet
Answering "Docker / container image"
- Load
checklist/docker.md - Default registry: GHCR for epicsagas projects
- Give the complete GitHub Actions workflow for multi-arch build
Answering "CVE / security vulnerability"
- Load
checklist/cve-response.md - Assess severity tier — give SLA deadline
- Walk through patch release + advisory steps in order
Do no
Content truncated.
When not to use it
- →When only generic advice on open-source projects is needed
- →When the user does not want a structured audit or specific fix suggestions
- →When the project is not intended for open-source release or public launch
Limitations
- →Does not load all sub-files unless the user requests a full audit
- →Does not recommend channels before checking community file completeness
- →Does not generate badges without resolving the style (option or interactive prompt)
How it compares
This skill provides a structured, checklist-driven audit for OSS project readiness across the full lifecycle, offering specific, actionable guidance rather than general best practices.
Compared to similar skills
oss-dist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| oss-dist (this skill) | 0 | 2mo | Review | Advanced |
| prowler-ci | 1 | 6mo | No flags | Intermediate |
| release | 0 | 4mo | Review | Advanced |
| icn-shipping | 0 | 6mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by epicsagas
View all by epicsagas →You might also like
prowler-ci
prowler-cloud
Helps with Prowler repository CI and PR gates (GitHub Actions workflows). Trigger: When investigating CI checks failing on a PR, PR title validation, changelog gate/no-changelog label, conflict marker checks, secret scanning, CODEOWNERS/labeler automation, or anything under .github/workflows.
release
serithemage
Runs a comprehensive release review before tagging and publishing a new version. Reviews code, docs, tests, security, cost, and operations; use platform-native parallelism when available and a sequential fallback otherwise.
icn-shipping
InterCooperative-Network
Prepare ICN branches for merge with required checks, doc/spec sync, clean git hygiene, and high-quality PR metadata.
migrate-workflow
JetBrains
Migrate a branch's docs/adr/<dir>/_workflow/** artifacts by replaying workflow-format commits from the per-artifact stamp base through HEAD. Resumable across /clear. TRIGGER: branch has stale _workflow/ after a workflow-format change on develop. SKIP: branches with no _workflow/.
generate-release-notes
teambit
Generate comprehensive release notes for Bit from git commits and pull requests. Use when creating release notes, building changelogs, documenting version releases, or preparing a new Bit release.
release-note-generation
microsoft
Toolkit for generating PowerToys release notes from GitHub milestone PRs or commit ranges. Use when asked to create release notes, summarize milestone PRs, generate changelog, prepare release documentation, request Copilot reviews for PRs, update README for a new release, manage PR milestones, or collect PRs between commits/tags. Supports PR collection by milestone or commit range, milestone assignment, grouping by label, summarization with external contributor attribution, and README version bumping.