Best for
- Use when preparing a repository for open-source publishing, making a project public, or ensuring a repo meets OSS standards.
jackchuka/skills/gh-oss-release-prep/SKILL.md
Systematic OSS release preparation checklist. Use when preparing a repository for open-source publishing, making a project public, or ensuring a repo meets OSS standards. Triggers: "prepare for OSS", "ready to publish", "make this public", "OSS checklist", "scan repo for publish", "open source this", "/oss-release-prep"
Decision brief
Systematic workflow to prepare a repository for open-source publishing. Covers code quality, licensing, documentation, CI, and release readiness.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jackchuka/skills --skill "gh-oss-release-prep"Inspect the Agent Skill "gh-oss-release-prep" from https://github.com/jackchuka/skills/blob/7b0b33f68b8f11522e43622e5cb3bacd802999d2/gh-oss-release-prep/SKILL.md at commit 7b0b33f68b8f11522e43622e5cb3bacd802999d2. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Before starting, determine the project type — this affects which steps apply:
Scan the repo and a sibling repo (for conventions):
1. Identify the intended license (check sibling repos first, default: MIT) 2. Check all dependencies for license compatibility: - Direct dependencies: list each with its license - Flag any copyleft (GPL, AGPL) dependencies that conflict with the chosen license 3. If attribution…
Evaluate and improve the README:
1. Copy linter config from sibling repo if missing (.golangci.yml, .eslintrc, etc.) 2. Run linters and fix all issues before proceeding: - Go: golangci-lint run ./... — fix errcheck, unused, etc. - Node/TS: check package.json scripts for lint commands 3. Ensure public API docume…
Permission review
The documentation asks the agent to read local files, directories, or repositories.
Scan the repo and a sibling repo (for conventions):The documentation asks the agent to read local files, directories, or repositories.
**Scan a sibling repo** for: LICENSE, .gitignore, linter config, .github/workflows, .goreleaser.yamlThe documentation asks the agent to create, modify, or delete local files.
If attribution is required, create or update a NOTICES fileEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 78/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Systematic workflow to prepare a repository for open-source publishing. Covers code quality, licensing, documentation, CI, and release readiness.
Before creating any file from scratch, check the user's sibling repositories for existing conventions. Users maintain consistency across their repos — reuse their LICENSE text, .golangci.yml, .gitignore, .github/workflows, .goreleaser.yaml, etc. from a recent, well-maintained repo.
How to find conventions:
ls ../) for other repos by the same userBefore starting, determine the project type — this affects which steps apply:
| Type | Has main.go / binary output | Needs goreleaser | Needs package registry |
|---|---|---|---|
| CLI tool / binary | Yes | Yes | Homebrew tap, etc. |
| Library / module | No | No | go get / npm / PyPI |
| Both (tool + importable pkg) | Yes | Yes | Both |
This classification drives decisions in Steps 3-6. Don't suggest goreleaser for a library. Don't skip install instructions for a binary.
Scan the repo and a sibling repo (for conventions):
Report findings as a checklist:
Repository Scan:
- [x/!] README.md exists
- [x/!] LICENSE file exists
- [x/!] .gitignore is comprehensive
- [x/!] .golangci.yml / linter config exists
- [x/!] .github/workflows exists (CI)
- [x/!] No sensitive files detected
- [x/!] No hardcoded internal URLs or secrets
- Reference repo for conventions: <sibling-repo-name>
Evaluate and improve the README:
Required sections (create if missing):
go get for libraries, go install/brew for CLIs)Recommended sections (suggest if missing):
Quality checks:
golangci-lint run ./... — fix errcheck, unused, etc.package.json scripts for lint commandsCopy CI configuration from sibling repo, adapting project-specific values:
For all projects:
For CLI tools / binaries only:
.goreleaser.yaml if missingFor libraries only:
go get / npm)Present the final checklist (items vary by project type):
OSS Release Readiness:
- [ ] LICENSE file is correct and complete
- [ ] All dependency licenses are compatible
- [ ] README is comprehensive and accurate
- [ ] No secrets, internal URLs, or sensitive data in code
- [ ] .gitignore covers build artifacts, IDE files, OS files
- [ ] Linter config exists and passes with no errors
- [ ] CI workflows exist (test, lint, license check)
- [ ] Tests pass
- [ ] Version/tag strategy defined (semver)
- [ ] [CLI only] Release automation configured (goreleaser)
- [ ] [CLI only] Homebrew tap / package registry configured
For each unchecked item, provide the specific fix needed.
go get / npm install works.DS_Store), IDE-specific (.vscode/, .idea/), and language-specific entries_ = for intentionally ignored errors), unused imports, missing comments on exports.Example 1: Go CLI tool
User: "prepare this for OSS"
Action:
1. Classify: CLI tool (has main.go)
2. Find sibling repo with .goreleaser.yaml for conventions
3. Scan repo structure, check for sensitive files
4. Copy LICENSE, .gitignore, .golangci.yml from sibling
5. Check go.mod dependencies for license compatibility
6. Ensure README matches `--help` output
7. Run golangci-lint, fix all errors
8. Copy .github/workflows (test, license, release) from sibling
9. Copy .goreleaser.yaml from sibling, update binary name
10. Present checklist, commit, push
Example 2: Go library
User: "make this repo public"
Action:
1. Classify: library (no main.go, no binary output)
2. Find sibling repo for conventions
3. Scan repo, check for sensitive files
4. Copy LICENSE, .gitignore, .golangci.yml from sibling
5. Check dependency licenses
6. Ensure README has go get install + usage examples
7. Run golangci-lint, fix all errors
8. Copy .github/workflows (test, license only — NO release/goreleaser)
9. Present checklist, commit, push
Example 3: Node.js library
User: "open source this"
Action:
1. Classify: library (no bin in package.json)
2. Find sibling repo for conventions
3. Scan for .env files, hardcoded URLs
4. Copy LICENSE, .gitignore from sibling
5. Check package.json dependencies' licenses
6. Ensure README has npm install + usage + API docs
7. Run configured lint/test scripts, fix issues
8. Copy .github/workflows from sibling (test only)
9. Present checklist, commit, push
Read the appropriate reference file for templates and conventions before creating config files:
references/go-conventions.md — .golangci.yml, .gitignore, .github/workflows, .goreleaser.yaml, dependabot, errcheck fixesAlternatives
wshobson/agents
Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens —
github/awesome-copilot
Generate a complete Model Context Protocol server project in Swift using the official MCP Swift SDK package.
affaan-m/ECC
Git workflow patterns including branching strategies, commit conventions, merge vs rebase, conflict resolution, and collaborative development best practices for teams of all sizes.
openai/skills
Build, scaffold, refactor, and troubleshoot ChatGPT Apps SDK applications that combine an MCP server and widget UI. Use when Codex needs to design tools, register UI resources, wire the MCP Apps bridge or ChatGPT compatibility APIs, apply Apps SDK metadata or CSP or domain settings, or produce a docs-aligned project scaffold. Prefer a docs-first workflow by invoking the openai-docs skill or OpenAI developer docs MCP tools before generating code.