@olegkoval/agent-skills 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "olko-agent-skills",
3
3
  "description": "Agent-agnostic skill catalog for Codex, Claude, Cursor, and other skill-aware tools.",
4
- "version": "1.0.1",
4
+ "version": "1.2.0",
5
5
  "author": {
6
6
  "name": "Oleg Koval"
7
7
  },
@@ -18,6 +18,7 @@
18
18
  "./packages/software-development/promptctl",
19
19
  "./packages/music/fill-music-player",
20
20
  "./packages/software-development/product-builder",
21
+ "./packages/software-development/open-source-publisher",
21
22
  "./packages/marketing/viral-launch",
22
23
  "./packages/marketing/search-console-indexing-audit"
23
24
  ]
@@ -46,6 +46,11 @@
46
46
  "source": "./packages/software-development/product-builder/adapters/cursor",
47
47
  "description": "Build a full-stack web application or SaaS product from a user description using production-oriented defaults."
48
48
  },
49
+ {
50
+ "name": "olko:open-source-publisher",
51
+ "source": "./packages/software-development/open-source-publisher/adapters/cursor",
52
+ "description": "Prepare an open-source repository for public publishing with a minimal icon, social preview image, GitHub Pages site, README standardization, CI/CD checks, release hygiene, and optional donation setup."
53
+ },
49
54
  {
50
55
  "name": "olko:viral-launch",
51
56
  "source": "./packages/marketing/viral-launch/adapters/cursor",
@@ -177,6 +177,29 @@
177
177
  "copilot"
178
178
  ]
179
179
  },
180
+ {
181
+ "name": "open-source-publisher",
182
+ "lookupName": "olko:open-source-publisher",
183
+ "category": "software-development",
184
+ "path": "packages/software-development/open-source-publisher",
185
+ "description": "Prepare an open-source repository for public publishing with a minimal icon, social preview image, GitHub Pages site, README standardization, CI/CD checks, release hygiene, and optional donation setup.",
186
+ "tags": [
187
+ "open-source",
188
+ "github",
189
+ "readme",
190
+ "branding",
191
+ "github-pages",
192
+ "ci",
193
+ "release",
194
+ "social-image"
195
+ ],
196
+ "adapters": [
197
+ "codex",
198
+ "claude",
199
+ "cursor",
200
+ "copilot"
201
+ ]
202
+ },
180
203
  {
181
204
  "name": "viral-launch",
182
205
  "lookupName": "olko:viral-launch",
@@ -8,6 +8,7 @@
8
8
  "gh-cli",
9
9
  "git-commit",
10
10
  "promptctl",
11
+ "open-source-publisher",
11
12
  "product-builder"
12
13
  ]
13
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olegkoval/agent-skills",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -0,0 +1,344 @@
1
+ ---
2
+ name: open-source-publisher
3
+ description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
4
+ license: MIT
5
+ compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
6
+ metadata:
7
+ author: Oleg Koval
8
+ tags:
9
+ - open-source
10
+ - github
11
+ - readme
12
+ - branding
13
+ - github-pages
14
+ - ci
15
+ - release
16
+ - social-image
17
+ ---
18
+
19
+ # open-source-publisher
20
+
21
+ Use this skill to audit whether an OSS repository is ready to publish, then help only with missing or weak pieces: recognizable icon, shareable social image, GitHub Pages site, standardized README, CI/CD hygiene, release readiness, and optional donation links.
22
+
23
+ ## Workflow
24
+
25
+ 1. Inspect the repository before editing:
26
+ - package/tooling files: `go.mod`, `package.json`, `pyproject.toml`, `Cargo.toml`, `Makefile`, etc.
27
+ - current README, docs, website files, images, workflows, releases, license, funding files
28
+ - existing product purpose, author, install paths, examples, and public URLs
29
+ 2. Produce a readiness audit before asking for changes:
30
+ - `Ready`: publish-critical pieces that already exist and look usable
31
+ - `Weak`: existing pieces that are present but incomplete, stale, broken, inconsistent, or below the house standard
32
+ - `Missing`: publish-critical pieces that do not exist
33
+ - `Optional`: nice-to-have pieces such as donations or extra badges
34
+ 3. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
35
+ - "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
36
+ - "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
37
+ - "You already have release automation. Do you want me to audit only, or also tighten it?"
38
+ 4. Ask only for choices needed to fix missing or weak pieces:
39
+ - If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
40
+ - If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
41
+ - If the repo has no clear product essence, ask for a one-sentence positioning statement.
42
+ 5. Implement only approved, missing, or weak work in this order:
43
+ - minimal icon
44
+ - social preview image
45
+ - README standard
46
+ - GitHub Pages landing page
47
+ - CI/CD and release audit/fixes
48
+ - donation wiring, if requested
49
+ 6. Validate locally and with browser/screenshots when possible.
50
+ 7. Commit/push only when the user asks or the current task explicitly requires it.
51
+
52
+ ## Readiness Audit
53
+
54
+ Treat this skill as an OSS publishing readiness checker first and an implementer second. The first response after inspection should be a concise audit with concrete evidence from the repo.
55
+
56
+ Publish-critical checklist:
57
+
58
+ - repository identity: clear project name, description, topic/keywords, author, license
59
+ - install path: package manager, release assets, source build, or direct download instructions
60
+ - README standard: centered shields, icon, title, short description, horizontal rule, essential sections
61
+ - icon: simple SVG mark, renders at small sizes, committed in a predictable path
62
+ - social image: 1200x630 image with matching metadata, committed source when practical
63
+ - GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
64
+ - CI quality gates: formatter, linter/static analysis, tests, build/package check
65
+ - release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
66
+ - security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
67
+ - contribution path: issues/PR guidance, support expectations, project status
68
+ - donations: explicitly absent, declined, or configured
69
+
70
+ Audit output format:
71
+
72
+ ```md
73
+ ## OSS Publish Readiness
74
+
75
+ Ready
76
+ - README uses the house top block with test, Go Report Card, and OpenSSF shields.
77
+ - Release workflow builds darwin arm64/amd64 binaries and updates the Homebrew tap.
78
+
79
+ Weak
80
+ - Direct download examples point at a fixed release tag; latest-release URLs would age better.
81
+
82
+ Missing
83
+ - No `.github/FUNDING.yml`; donations are not configured.
84
+
85
+ Questions
86
+ - You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
87
+ - Donations are not configured. Enable them or leave them off?
88
+ ```
89
+
90
+ Rules:
91
+
92
+ - Do not ask for style, donations, or redesign choices before the audit.
93
+ - Do not overwrite existing icon, social image, README, site, workflows, or funding files unless the user approves a change or the audit classifies the item as weak.
94
+ - If everything publish-critical is ready, say so and offer only optional improvements.
95
+ - If the user asks to "run the skill" without more detail, audit first, then wait for approval before making non-trivial visual or workflow changes.
96
+ - Keep the audit evidence-based. Reference filenames, workflow names, package metadata, or command outputs.
97
+
98
+ ## Minimal Icon
99
+
100
+ Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg`; add `logo.png` only when a platform requires raster output.
101
+
102
+ Icon rules:
103
+
104
+ - Use one clear metaphor from the project domain, not a collage.
105
+ - Keep the mark readable at 32px.
106
+ - Prefer 1-2 shapes and 1-2 accent colors.
107
+ - Use a simple rounded tile only when it improves favicon readability.
108
+ - Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
109
+ - Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
110
+
111
+ Good icon pattern for sync/migration tools:
112
+
113
+ ```svg
114
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
115
+ <title id="title">Project logo</title>
116
+ <desc id="desc">Clean sync icon made from two circular arrows.</desc>
117
+ <defs>
118
+ <linearGradient id="topArrow" x1="142" y1="118" x2="392" y2="250" gradientUnits="userSpaceOnUse">
119
+ <stop offset="0%" stop-color="#22c55e"/>
120
+ <stop offset="100%" stop-color="#38bdf8"/>
121
+ </linearGradient>
122
+ <linearGradient id="bottomArrow" x1="370" y1="394" x2="120" y2="262" gradientUnits="userSpaceOnUse">
123
+ <stop offset="0%" stop-color="#fb7185"/>
124
+ <stop offset="100%" stop-color="#f59e0b"/>
125
+ </linearGradient>
126
+ </defs>
127
+ <rect width="512" height="512" rx="112" fill="#0d1117"/>
128
+ <rect x="42" y="42" width="428" height="428" rx="96" fill="#111827" stroke="#1f2937" stroke-width="8"/>
129
+ <g fill="none" stroke-linecap="round" stroke-linejoin="round">
130
+ <path d="M142 234c13-70 74-122 147-122 52 0 99 27 126 69" stroke="url(#topArrow)" stroke-width="42"/>
131
+ <path d="M389 118l35 67-75 4" stroke="url(#topArrow)" stroke-width="42"/>
132
+ <path d="M370 278c-13 70-74 122-147 122-52 0-99-27-126-69" stroke="url(#bottomArrow)" stroke-width="42"/>
133
+ <path d="M123 394l-35-67 75-4" stroke="url(#bottomArrow)" stroke-width="42"/>
134
+ </g>
135
+ </svg>
136
+ ```
137
+
138
+ Adapt the geometry and metaphor. Do not reuse the sync arrows for unrelated projects.
139
+
140
+ ## Social Image
141
+
142
+ Create a 1200x630 social preview image for GitHub, Twitter/X, Slack, and link unfurls.
143
+
144
+ Recommended files:
145
+
146
+ - `social-card.svg` as the editable source
147
+ - `social-card.png` rendered from the SVG when render tooling is available
148
+
149
+ Social image rules:
150
+
151
+ - Include project name, one clear value proposition, and 2-3 concrete capabilities.
152
+ - Keep the composition simple and calm. Large readable type beats dense feature lists.
153
+ - Use actual project language: commands, package name, supported platform, or primary workflow.
154
+ - Match the icon color system.
155
+ - Keep all text inside a safe margin of at least 64px.
156
+ - Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
157
+
158
+ Render checks:
159
+
160
+ ```bash
161
+ rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png
162
+ file social-card.png
163
+ ```
164
+
165
+ Use `magick` or another renderer when `rsvg-convert` is unavailable.
166
+
167
+ ## README Standard
168
+
169
+ Shape the README like the house standard used for Go packages such as `slow-query-detector` and `dcli`.
170
+
171
+ Top block:
172
+
173
+ ```html
174
+ <p align="center">
175
+ <a href="..."><img src="..." alt="tests"></a>
176
+ <a href="..."><img src="..." alt="Go Report Card"></a>
177
+ <a href="..."><img src="..." alt="OpenSSF Scorecard"></a>
178
+ </p>
179
+
180
+ <p align="center">
181
+ <img src="./logo.svg" width="120" height="120" alt="project icon">
182
+ </p>
183
+
184
+ <h1 align="center">project-name</h1>
185
+
186
+ <p align="center">
187
+ Short product description<br>
188
+ <strong>One-line promise</strong>
189
+ </p>
190
+
191
+ ---
192
+ ```
193
+
194
+ Choose shields from the repo's tech:
195
+
196
+ - always: test workflow badge if a test workflow exists
197
+ - Go: Go Report Card, OpenSSF Scorecard
198
+ - Node/npm: npm version, npm downloads, test workflow, OpenSSF Scorecard
199
+ - Python: PyPI version, Python versions, test workflow, OpenSSF Scorecard
200
+ - coverage: only include if coverage service is configured
201
+ - release: only include if releases are automated and meaningful
202
+
203
+ Recommended README sections:
204
+
205
+ 1. Features
206
+ 2. Installation
207
+ 3. Quick Start
208
+ 4. Configuration
209
+ 5. Commands Reference or API Reference
210
+ 6. System Requirements
211
+ 7. Documentation
212
+ 8. Use Cases
213
+ 9. Architecture
214
+ 10. Project Status
215
+ 11. Security Notes
216
+ 12. Contributing
217
+ 13. License
218
+ 14. Author
219
+ 15. centered footer links
220
+
221
+ Rules:
222
+
223
+ - Keep badges centered and compact.
224
+ - Keep the icon centered below shields.
225
+ - Put a horizontal rule after the centered intro.
226
+ - Use current release/download URLs; prefer `/releases/latest/download/...` when stable asset names exist.
227
+ - Do not claim coverage, license, support, CI, or releases that are not actually present.
228
+ - Add or fix `LICENSE` before saying MIT/Apache/etc.
229
+
230
+ ## GitHub Pages
231
+
232
+ Create a simple essential GitHub Pages site when the project lacks one or the existing one is weak.
233
+
234
+ Ask the user to choose one style first:
235
+
236
+ - `oldschool linux`
237
+ - `terminal`
238
+ - `modern`
239
+ - `brutalist`
240
+ - `glassmorphism`
241
+ - `y2k`
242
+ - `hacker`
243
+ - custom style
244
+
245
+ Required page content:
246
+
247
+ - project name and icon
248
+ - one-sentence value proposition
249
+ - author link
250
+ - install/download instructions
251
+ - 2-4 short examples
252
+ - feature summary
253
+ - links to GitHub, README, releases, issues
254
+ - SEO meta description and keywords
255
+ - Open Graph and Twitter meta tags
256
+ - social image reference
257
+ - footer with license and optional donation/badge links
258
+
259
+ Implementation defaults:
260
+
261
+ - Use a static `index.html` unless the repo already has a site framework.
262
+ - Add `CNAME` only when the user gives a domain.
263
+ - Add `.github/workflows/pages.yml` when Pages uses GitHub Actions or no deploy path exists.
264
+ - Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
265
+ - Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
266
+
267
+ ## CI/CD And Release Audit
268
+
269
+ Check whether the repository has:
270
+
271
+ - formatter check
272
+ - linter/static analysis
273
+ - tests
274
+ - build/package check
275
+ - security scan or OpenSSF Scorecard where appropriate
276
+ - release automation
277
+ - docs/site-only path filters when release runs on `main`
278
+
279
+ For Go projects, prefer:
280
+
281
+ ```yaml
282
+ - go test ./... -race
283
+ - go vet ./...
284
+ - gofmt check
285
+ - staticcheck ./...
286
+ - go build ./...
287
+ ```
288
+
289
+ For Node projects, prefer existing package manager scripts:
290
+
291
+ ```bash
292
+ npm ci
293
+ npm run lint
294
+ npm test
295
+ npm run build
296
+ ```
297
+
298
+ Release automation rules:
299
+
300
+ - Inspect existing release flow before changing it.
301
+ - Do not create releases for docs/site-only changes.
302
+ - Make Homebrew/package formulas update from real release artifacts and checksums.
303
+ - Use least-privilege secrets and document required secret names.
304
+ - If automation pushes tags, guard against rerun/version reuse.
305
+
306
+ ## Donations
307
+
308
+ Ask whether the user wants donations enabled.
309
+
310
+ If yes:
311
+
312
+ 1. Ask for provider and URL/handle if not inferable.
313
+ 2. Add `.github/FUNDING.yml` for GitHub-supported providers.
314
+ 3. Add a short README Support section or footer link.
315
+ 4. Add site footer/link only if the project has a site.
316
+ 5. Do not invent payment handles.
317
+
318
+ Provider hints:
319
+
320
+ ```yaml
321
+ github: username
322
+ ko_fi: handle
323
+ custom:
324
+ - https://example.com/support
325
+ ```
326
+
327
+ ## Validation
328
+
329
+ Run the checks that match the edits:
330
+
331
+ - SVG syntax: `xmllint --noout logo.svg social-card.svg`
332
+ - Render social image: `rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png`
333
+ - README links and badge URLs where practical: `curl -I`
334
+ - Site render: local static server plus browser/screenshot when available
335
+ - Repo tests/build/lint
336
+ - Workflow YAML parse, for example with Ruby: `ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml")'`
337
+ - `git diff --check`
338
+
339
+ Before final response, state:
340
+
341
+ - files changed
342
+ - validation commands run
343
+ - release/donation caveats
344
+ - any secrets the user must configure
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "olko-open-source-publisher",
3
+ "description": "Prepare an open-source repository for public publishing with a minimal icon, social preview image, GitHub Pages site, README standardization, CI/CD checks, release hygiene, and optional donation setup.",
4
+ "skills": "./skills"
5
+ }
@@ -0,0 +1,346 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ name: open-source-publisher
5
+ description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
6
+ license: MIT
7
+ compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
8
+ metadata:
9
+ author: Oleg Koval
10
+ tags:
11
+ - open-source
12
+ - github
13
+ - readme
14
+ - branding
15
+ - github-pages
16
+ - ci
17
+ - release
18
+ - social-image
19
+ ---
20
+
21
+ # open-source-publisher
22
+
23
+ Use this skill to audit whether an OSS repository is ready to publish, then help only with missing or weak pieces: recognizable icon, shareable social image, GitHub Pages site, standardized README, CI/CD hygiene, release readiness, and optional donation links.
24
+
25
+ ## Workflow
26
+
27
+ 1. Inspect the repository before editing:
28
+ - package/tooling files: `go.mod`, `package.json`, `pyproject.toml`, `Cargo.toml`, `Makefile`, etc.
29
+ - current README, docs, website files, images, workflows, releases, license, funding files
30
+ - existing product purpose, author, install paths, examples, and public URLs
31
+ 2. Produce a readiness audit before asking for changes:
32
+ - `Ready`: publish-critical pieces that already exist and look usable
33
+ - `Weak`: existing pieces that are present but incomplete, stale, broken, inconsistent, or below the house standard
34
+ - `Missing`: publish-critical pieces that do not exist
35
+ - `Optional`: nice-to-have pieces such as donations or extra badges
36
+ 3. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
37
+ - "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
38
+ - "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
39
+ - "You already have release automation. Do you want me to audit only, or also tighten it?"
40
+ 4. Ask only for choices needed to fix missing or weak pieces:
41
+ - If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
42
+ - If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
43
+ - If the repo has no clear product essence, ask for a one-sentence positioning statement.
44
+ 5. Implement only approved, missing, or weak work in this order:
45
+ - minimal icon
46
+ - social preview image
47
+ - README standard
48
+ - GitHub Pages landing page
49
+ - CI/CD and release audit/fixes
50
+ - donation wiring, if requested
51
+ 6. Validate locally and with browser/screenshots when possible.
52
+ 7. Commit/push only when the user asks or the current task explicitly requires it.
53
+
54
+ ## Readiness Audit
55
+
56
+ Treat this skill as an OSS publishing readiness checker first and an implementer second. The first response after inspection should be a concise audit with concrete evidence from the repo.
57
+
58
+ Publish-critical checklist:
59
+
60
+ - repository identity: clear project name, description, topic/keywords, author, license
61
+ - install path: package manager, release assets, source build, or direct download instructions
62
+ - README standard: centered shields, icon, title, short description, horizontal rule, essential sections
63
+ - icon: simple SVG mark, renders at small sizes, committed in a predictable path
64
+ - social image: 1200x630 image with matching metadata, committed source when practical
65
+ - GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
66
+ - CI quality gates: formatter, linter/static analysis, tests, build/package check
67
+ - release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
68
+ - security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
69
+ - contribution path: issues/PR guidance, support expectations, project status
70
+ - donations: explicitly absent, declined, or configured
71
+
72
+ Audit output format:
73
+
74
+ ```md
75
+ ## OSS Publish Readiness
76
+
77
+ Ready
78
+ - README uses the house top block with test, Go Report Card, and OpenSSF shields.
79
+ - Release workflow builds darwin arm64/amd64 binaries and updates the Homebrew tap.
80
+
81
+ Weak
82
+ - Direct download examples point at a fixed release tag; latest-release URLs would age better.
83
+
84
+ Missing
85
+ - No `.github/FUNDING.yml`; donations are not configured.
86
+
87
+ Questions
88
+ - You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
89
+ - Donations are not configured. Enable them or leave them off?
90
+ ```
91
+
92
+ Rules:
93
+
94
+ - Do not ask for style, donations, or redesign choices before the audit.
95
+ - Do not overwrite existing icon, social image, README, site, workflows, or funding files unless the user approves a change or the audit classifies the item as weak.
96
+ - If everything publish-critical is ready, say so and offer only optional improvements.
97
+ - If the user asks to "run the skill" without more detail, audit first, then wait for approval before making non-trivial visual or workflow changes.
98
+ - Keep the audit evidence-based. Reference filenames, workflow names, package metadata, or command outputs.
99
+
100
+ ## Minimal Icon
101
+
102
+ Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg`; add `logo.png` only when a platform requires raster output.
103
+
104
+ Icon rules:
105
+
106
+ - Use one clear metaphor from the project domain, not a collage.
107
+ - Keep the mark readable at 32px.
108
+ - Prefer 1-2 shapes and 1-2 accent colors.
109
+ - Use a simple rounded tile only when it improves favicon readability.
110
+ - Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
111
+ - Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
112
+
113
+ Good icon pattern for sync/migration tools:
114
+
115
+ ```svg
116
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
117
+ <title id="title">Project logo</title>
118
+ <desc id="desc">Clean sync icon made from two circular arrows.</desc>
119
+ <defs>
120
+ <linearGradient id="topArrow" x1="142" y1="118" x2="392" y2="250" gradientUnits="userSpaceOnUse">
121
+ <stop offset="0%" stop-color="#22c55e"/>
122
+ <stop offset="100%" stop-color="#38bdf8"/>
123
+ </linearGradient>
124
+ <linearGradient id="bottomArrow" x1="370" y1="394" x2="120" y2="262" gradientUnits="userSpaceOnUse">
125
+ <stop offset="0%" stop-color="#fb7185"/>
126
+ <stop offset="100%" stop-color="#f59e0b"/>
127
+ </linearGradient>
128
+ </defs>
129
+ <rect width="512" height="512" rx="112" fill="#0d1117"/>
130
+ <rect x="42" y="42" width="428" height="428" rx="96" fill="#111827" stroke="#1f2937" stroke-width="8"/>
131
+ <g fill="none" stroke-linecap="round" stroke-linejoin="round">
132
+ <path d="M142 234c13-70 74-122 147-122 52 0 99 27 126 69" stroke="url(#topArrow)" stroke-width="42"/>
133
+ <path d="M389 118l35 67-75 4" stroke="url(#topArrow)" stroke-width="42"/>
134
+ <path d="M370 278c-13 70-74 122-147 122-52 0-99-27-126-69" stroke="url(#bottomArrow)" stroke-width="42"/>
135
+ <path d="M123 394l-35-67 75-4" stroke="url(#bottomArrow)" stroke-width="42"/>
136
+ </g>
137
+ </svg>
138
+ ```
139
+
140
+ Adapt the geometry and metaphor. Do not reuse the sync arrows for unrelated projects.
141
+
142
+ ## Social Image
143
+
144
+ Create a 1200x630 social preview image for GitHub, Twitter/X, Slack, and link unfurls.
145
+
146
+ Recommended files:
147
+
148
+ - `social-card.svg` as the editable source
149
+ - `social-card.png` rendered from the SVG when render tooling is available
150
+
151
+ Social image rules:
152
+
153
+ - Include project name, one clear value proposition, and 2-3 concrete capabilities.
154
+ - Keep the composition simple and calm. Large readable type beats dense feature lists.
155
+ - Use actual project language: commands, package name, supported platform, or primary workflow.
156
+ - Match the icon color system.
157
+ - Keep all text inside a safe margin of at least 64px.
158
+ - Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
159
+
160
+ Render checks:
161
+
162
+ ```bash
163
+ rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png
164
+ file social-card.png
165
+ ```
166
+
167
+ Use `magick` or another renderer when `rsvg-convert` is unavailable.
168
+
169
+ ## README Standard
170
+
171
+ Shape the README like the house standard used for Go packages such as `slow-query-detector` and `dcli`.
172
+
173
+ Top block:
174
+
175
+ ```html
176
+ <p align="center">
177
+ <a href="..."><img src="..." alt="tests"></a>
178
+ <a href="..."><img src="..." alt="Go Report Card"></a>
179
+ <a href="..."><img src="..." alt="OpenSSF Scorecard"></a>
180
+ </p>
181
+
182
+ <p align="center">
183
+ <img src="./logo.svg" width="120" height="120" alt="project icon">
184
+ </p>
185
+
186
+ <h1 align="center">project-name</h1>
187
+
188
+ <p align="center">
189
+ Short product description<br>
190
+ <strong>One-line promise</strong>
191
+ </p>
192
+
193
+ ---
194
+ ```
195
+
196
+ Choose shields from the repo's tech:
197
+
198
+ - always: test workflow badge if a test workflow exists
199
+ - Go: Go Report Card, OpenSSF Scorecard
200
+ - Node/npm: npm version, npm downloads, test workflow, OpenSSF Scorecard
201
+ - Python: PyPI version, Python versions, test workflow, OpenSSF Scorecard
202
+ - coverage: only include if coverage service is configured
203
+ - release: only include if releases are automated and meaningful
204
+
205
+ Recommended README sections:
206
+
207
+ 1. Features
208
+ 2. Installation
209
+ 3. Quick Start
210
+ 4. Configuration
211
+ 5. Commands Reference or API Reference
212
+ 6. System Requirements
213
+ 7. Documentation
214
+ 8. Use Cases
215
+ 9. Architecture
216
+ 10. Project Status
217
+ 11. Security Notes
218
+ 12. Contributing
219
+ 13. License
220
+ 14. Author
221
+ 15. centered footer links
222
+
223
+ Rules:
224
+
225
+ - Keep badges centered and compact.
226
+ - Keep the icon centered below shields.
227
+ - Put a horizontal rule after the centered intro.
228
+ - Use current release/download URLs; prefer `/releases/latest/download/...` when stable asset names exist.
229
+ - Do not claim coverage, license, support, CI, or releases that are not actually present.
230
+ - Add or fix `LICENSE` before saying MIT/Apache/etc.
231
+
232
+ ## GitHub Pages
233
+
234
+ Create a simple essential GitHub Pages site when the project lacks one or the existing one is weak.
235
+
236
+ Ask the user to choose one style first:
237
+
238
+ - `oldschool linux`
239
+ - `terminal`
240
+ - `modern`
241
+ - `brutalist`
242
+ - `glassmorphism`
243
+ - `y2k`
244
+ - `hacker`
245
+ - custom style
246
+
247
+ Required page content:
248
+
249
+ - project name and icon
250
+ - one-sentence value proposition
251
+ - author link
252
+ - install/download instructions
253
+ - 2-4 short examples
254
+ - feature summary
255
+ - links to GitHub, README, releases, issues
256
+ - SEO meta description and keywords
257
+ - Open Graph and Twitter meta tags
258
+ - social image reference
259
+ - footer with license and optional donation/badge links
260
+
261
+ Implementation defaults:
262
+
263
+ - Use a static `index.html` unless the repo already has a site framework.
264
+ - Add `CNAME` only when the user gives a domain.
265
+ - Add `.github/workflows/pages.yml` when Pages uses GitHub Actions or no deploy path exists.
266
+ - Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
267
+ - Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
268
+
269
+ ## CI/CD And Release Audit
270
+
271
+ Check whether the repository has:
272
+
273
+ - formatter check
274
+ - linter/static analysis
275
+ - tests
276
+ - build/package check
277
+ - security scan or OpenSSF Scorecard where appropriate
278
+ - release automation
279
+ - docs/site-only path filters when release runs on `main`
280
+
281
+ For Go projects, prefer:
282
+
283
+ ```yaml
284
+ - go test ./... -race
285
+ - go vet ./...
286
+ - gofmt check
287
+ - staticcheck ./...
288
+ - go build ./...
289
+ ```
290
+
291
+ For Node projects, prefer existing package manager scripts:
292
+
293
+ ```bash
294
+ npm ci
295
+ npm run lint
296
+ npm test
297
+ npm run build
298
+ ```
299
+
300
+ Release automation rules:
301
+
302
+ - Inspect existing release flow before changing it.
303
+ - Do not create releases for docs/site-only changes.
304
+ - Make Homebrew/package formulas update from real release artifacts and checksums.
305
+ - Use least-privilege secrets and document required secret names.
306
+ - If automation pushes tags, guard against rerun/version reuse.
307
+
308
+ ## Donations
309
+
310
+ Ask whether the user wants donations enabled.
311
+
312
+ If yes:
313
+
314
+ 1. Ask for provider and URL/handle if not inferable.
315
+ 2. Add `.github/FUNDING.yml` for GitHub-supported providers.
316
+ 3. Add a short README Support section or footer link.
317
+ 4. Add site footer/link only if the project has a site.
318
+ 5. Do not invent payment handles.
319
+
320
+ Provider hints:
321
+
322
+ ```yaml
323
+ github: username
324
+ ko_fi: handle
325
+ custom:
326
+ - https://example.com/support
327
+ ```
328
+
329
+ ## Validation
330
+
331
+ Run the checks that match the edits:
332
+
333
+ - SVG syntax: `xmllint --noout logo.svg social-card.svg`
334
+ - Render social image: `rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png`
335
+ - README links and badge URLs where practical: `curl -I`
336
+ - Site render: local static server plus browser/screenshot when available
337
+ - Repo tests/build/lint
338
+ - Workflow YAML parse, for example with Ruby: `ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml")'`
339
+ - `git diff --check`
340
+
341
+ Before final response, state:
342
+
343
+ - files changed
344
+ - validation commands run
345
+ - release/donation caveats
346
+ - any secrets the user must configure
@@ -0,0 +1,3 @@
1
+ # Codex adapter
2
+
3
+ Use the canonical skill directly from `packages/software-development/open-source-publisher/SKILL.md`.
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "olko:open-source-publisher",
3
+ "version": "0.1.0",
4
+ "description": "Prepare an open-source repository for public publishing with a minimal icon, social preview image, GitHub Pages site, README standardization, CI/CD checks, release hygiene, and optional donation setup.",
5
+ "skills": "skills/"
6
+ }
@@ -0,0 +1,346 @@
1
+ <!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
2
+
3
+ ---
4
+ name: open-source-publisher
5
+ description: Prepare an open-source repository for polished public publishing. Use when a user asks to publish, open-source, launch, polish, package, brand, or make a GitHub project presentable with a minimal project icon, social preview image, GitHub Pages landing page, standardized README, essential shields, CI/CD quality gates, release automation checks, and optional donation setup.
6
+ license: MIT
7
+ compatibility: Codex, Claude Code, Cursor, and other Agent Skills compatible tools. Requires a writable git repository; browser or image rendering tools are useful for visual validation.
8
+ metadata:
9
+ author: Oleg Koval
10
+ tags:
11
+ - open-source
12
+ - github
13
+ - readme
14
+ - branding
15
+ - github-pages
16
+ - ci
17
+ - release
18
+ - social-image
19
+ ---
20
+
21
+ # open-source-publisher
22
+
23
+ Use this skill to audit whether an OSS repository is ready to publish, then help only with missing or weak pieces: recognizable icon, shareable social image, GitHub Pages site, standardized README, CI/CD hygiene, release readiness, and optional donation links.
24
+
25
+ ## Workflow
26
+
27
+ 1. Inspect the repository before editing:
28
+ - package/tooling files: `go.mod`, `package.json`, `pyproject.toml`, `Cargo.toml`, `Makefile`, etc.
29
+ - current README, docs, website files, images, workflows, releases, license, funding files
30
+ - existing product purpose, author, install paths, examples, and public URLs
31
+ 2. Produce a readiness audit before asking for changes:
32
+ - `Ready`: publish-critical pieces that already exist and look usable
33
+ - `Weak`: existing pieces that are present but incomplete, stale, broken, inconsistent, or below the house standard
34
+ - `Missing`: publish-critical pieces that do not exist
35
+ - `Optional`: nice-to-have pieces such as donations or extra badges
36
+ 3. For existing usable pieces, do not propose replacement by default. Ask a change-oriented question only when useful, for example:
37
+ - "You already have a terminal-style GitHub Pages site. Do you want to keep it or restyle it?"
38
+ - "You already have an icon and social card. Do you want a refresh, or should I leave them as-is?"
39
+ - "You already have release automation. Do you want me to audit only, or also tighten it?"
40
+ 4. Ask only for choices needed to fix missing or weak pieces:
41
+ - If GitHub Pages is missing or weak, ask for style: `oldschool linux`, `terminal`, `modern`, `brutalist`, `glassmorphism`, `y2k`, `hacker`, or custom.
42
+ - If donation wiring is missing, ask whether to enable it: `none`, `GitHub Sponsors`, `Ko-fi`, `Buy Me a Coffee`, `Open Collective`, `Thanks.dev`, or custom URL.
43
+ - If the repo has no clear product essence, ask for a one-sentence positioning statement.
44
+ 5. Implement only approved, missing, or weak work in this order:
45
+ - minimal icon
46
+ - social preview image
47
+ - README standard
48
+ - GitHub Pages landing page
49
+ - CI/CD and release audit/fixes
50
+ - donation wiring, if requested
51
+ 6. Validate locally and with browser/screenshots when possible.
52
+ 7. Commit/push only when the user asks or the current task explicitly requires it.
53
+
54
+ ## Readiness Audit
55
+
56
+ Treat this skill as an OSS publishing readiness checker first and an implementer second. The first response after inspection should be a concise audit with concrete evidence from the repo.
57
+
58
+ Publish-critical checklist:
59
+
60
+ - repository identity: clear project name, description, topic/keywords, author, license
61
+ - install path: package manager, release assets, source build, or direct download instructions
62
+ - README standard: centered shields, icon, title, short description, horizontal rule, essential sections
63
+ - icon: simple SVG mark, renders at small sizes, committed in a predictable path
64
+ - social image: 1200x630 image with matching metadata, committed source when practical
65
+ - GitHub Pages or docs site: essential install/examples/links/SEO/Open Graph metadata
66
+ - CI quality gates: formatter, linter/static analysis, tests, build/package check
67
+ - release automation: tags/releases/artifacts/package update flow, docs-only changes excluded where needed
68
+ - security posture: license, security notes or policy, OpenSSF Scorecard or equivalent when appropriate
69
+ - contribution path: issues/PR guidance, support expectations, project status
70
+ - donations: explicitly absent, declined, or configured
71
+
72
+ Audit output format:
73
+
74
+ ```md
75
+ ## OSS Publish Readiness
76
+
77
+ Ready
78
+ - README uses the house top block with test, Go Report Card, and OpenSSF shields.
79
+ - Release workflow builds darwin arm64/amd64 binaries and updates the Homebrew tap.
80
+
81
+ Weak
82
+ - Direct download examples point at a fixed release tag; latest-release URLs would age better.
83
+
84
+ Missing
85
+ - No `.github/FUNDING.yml`; donations are not configured.
86
+
87
+ Questions
88
+ - You already have a terminal-style GitHub Pages site. Keep it, or restyle it?
89
+ - Donations are not configured. Enable them or leave them off?
90
+ ```
91
+
92
+ Rules:
93
+
94
+ - Do not ask for style, donations, or redesign choices before the audit.
95
+ - Do not overwrite existing icon, social image, README, site, workflows, or funding files unless the user approves a change or the audit classifies the item as weak.
96
+ - If everything publish-critical is ready, say so and offer only optional improvements.
97
+ - If the user asks to "run the skill" without more detail, audit first, then wait for approval before making non-trivial visual or workflow changes.
98
+ - Keep the audit evidence-based. Reference filenames, workflow names, package metadata, or command outputs.
99
+
100
+ ## Minimal Icon
101
+
102
+ Create a simple, recognizable SVG logo from the repository's essence. Prefer `logo.svg`; add `logo.png` only when a platform requires raster output.
103
+
104
+ Icon rules:
105
+
106
+ - Use one clear metaphor from the project domain, not a collage.
107
+ - Keep the mark readable at 32px.
108
+ - Prefer 1-2 shapes and 1-2 accent colors.
109
+ - Use a simple rounded tile only when it improves favicon readability.
110
+ - Avoid terminal window chrome, decorative dots, random badges, and center glyph clutter unless the project itself is a terminal/window tool.
111
+ - Avoid generic AI tells: glass effects, bokeh/orbs, over-layered gradients, busy shadows, and unrelated emojis.
112
+
113
+ Good icon pattern for sync/migration tools:
114
+
115
+ ```svg
116
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-labelledby="title desc">
117
+ <title id="title">Project logo</title>
118
+ <desc id="desc">Clean sync icon made from two circular arrows.</desc>
119
+ <defs>
120
+ <linearGradient id="topArrow" x1="142" y1="118" x2="392" y2="250" gradientUnits="userSpaceOnUse">
121
+ <stop offset="0%" stop-color="#22c55e"/>
122
+ <stop offset="100%" stop-color="#38bdf8"/>
123
+ </linearGradient>
124
+ <linearGradient id="bottomArrow" x1="370" y1="394" x2="120" y2="262" gradientUnits="userSpaceOnUse">
125
+ <stop offset="0%" stop-color="#fb7185"/>
126
+ <stop offset="100%" stop-color="#f59e0b"/>
127
+ </linearGradient>
128
+ </defs>
129
+ <rect width="512" height="512" rx="112" fill="#0d1117"/>
130
+ <rect x="42" y="42" width="428" height="428" rx="96" fill="#111827" stroke="#1f2937" stroke-width="8"/>
131
+ <g fill="none" stroke-linecap="round" stroke-linejoin="round">
132
+ <path d="M142 234c13-70 74-122 147-122 52 0 99 27 126 69" stroke="url(#topArrow)" stroke-width="42"/>
133
+ <path d="M389 118l35 67-75 4" stroke="url(#topArrow)" stroke-width="42"/>
134
+ <path d="M370 278c-13 70-74 122-147 122-52 0-99-27-126-69" stroke="url(#bottomArrow)" stroke-width="42"/>
135
+ <path d="M123 394l-35-67 75-4" stroke="url(#bottomArrow)" stroke-width="42"/>
136
+ </g>
137
+ </svg>
138
+ ```
139
+
140
+ Adapt the geometry and metaphor. Do not reuse the sync arrows for unrelated projects.
141
+
142
+ ## Social Image
143
+
144
+ Create a 1200x630 social preview image for GitHub, Twitter/X, Slack, and link unfurls.
145
+
146
+ Recommended files:
147
+
148
+ - `social-card.svg` as the editable source
149
+ - `social-card.png` rendered from the SVG when render tooling is available
150
+
151
+ Social image rules:
152
+
153
+ - Include project name, one clear value proposition, and 2-3 concrete capabilities.
154
+ - Keep the composition simple and calm. Large readable type beats dense feature lists.
155
+ - Use actual project language: commands, package name, supported platform, or primary workflow.
156
+ - Match the icon color system.
157
+ - Keep all text inside a safe margin of at least 64px.
158
+ - Use `og:image`, `twitter:image`, width/height meta tags, and meaningful alt text.
159
+
160
+ Render checks:
161
+
162
+ ```bash
163
+ rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png
164
+ file social-card.png
165
+ ```
166
+
167
+ Use `magick` or another renderer when `rsvg-convert` is unavailable.
168
+
169
+ ## README Standard
170
+
171
+ Shape the README like the house standard used for Go packages such as `slow-query-detector` and `dcli`.
172
+
173
+ Top block:
174
+
175
+ ```html
176
+ <p align="center">
177
+ <a href="..."><img src="..." alt="tests"></a>
178
+ <a href="..."><img src="..." alt="Go Report Card"></a>
179
+ <a href="..."><img src="..." alt="OpenSSF Scorecard"></a>
180
+ </p>
181
+
182
+ <p align="center">
183
+ <img src="./logo.svg" width="120" height="120" alt="project icon">
184
+ </p>
185
+
186
+ <h1 align="center">project-name</h1>
187
+
188
+ <p align="center">
189
+ Short product description<br>
190
+ <strong>One-line promise</strong>
191
+ </p>
192
+
193
+ ---
194
+ ```
195
+
196
+ Choose shields from the repo's tech:
197
+
198
+ - always: test workflow badge if a test workflow exists
199
+ - Go: Go Report Card, OpenSSF Scorecard
200
+ - Node/npm: npm version, npm downloads, test workflow, OpenSSF Scorecard
201
+ - Python: PyPI version, Python versions, test workflow, OpenSSF Scorecard
202
+ - coverage: only include if coverage service is configured
203
+ - release: only include if releases are automated and meaningful
204
+
205
+ Recommended README sections:
206
+
207
+ 1. Features
208
+ 2. Installation
209
+ 3. Quick Start
210
+ 4. Configuration
211
+ 5. Commands Reference or API Reference
212
+ 6. System Requirements
213
+ 7. Documentation
214
+ 8. Use Cases
215
+ 9. Architecture
216
+ 10. Project Status
217
+ 11. Security Notes
218
+ 12. Contributing
219
+ 13. License
220
+ 14. Author
221
+ 15. centered footer links
222
+
223
+ Rules:
224
+
225
+ - Keep badges centered and compact.
226
+ - Keep the icon centered below shields.
227
+ - Put a horizontal rule after the centered intro.
228
+ - Use current release/download URLs; prefer `/releases/latest/download/...` when stable asset names exist.
229
+ - Do not claim coverage, license, support, CI, or releases that are not actually present.
230
+ - Add or fix `LICENSE` before saying MIT/Apache/etc.
231
+
232
+ ## GitHub Pages
233
+
234
+ Create a simple essential GitHub Pages site when the project lacks one or the existing one is weak.
235
+
236
+ Ask the user to choose one style first:
237
+
238
+ - `oldschool linux`
239
+ - `terminal`
240
+ - `modern`
241
+ - `brutalist`
242
+ - `glassmorphism`
243
+ - `y2k`
244
+ - `hacker`
245
+ - custom style
246
+
247
+ Required page content:
248
+
249
+ - project name and icon
250
+ - one-sentence value proposition
251
+ - author link
252
+ - install/download instructions
253
+ - 2-4 short examples
254
+ - feature summary
255
+ - links to GitHub, README, releases, issues
256
+ - SEO meta description and keywords
257
+ - Open Graph and Twitter meta tags
258
+ - social image reference
259
+ - footer with license and optional donation/badge links
260
+
261
+ Implementation defaults:
262
+
263
+ - Use a static `index.html` unless the repo already has a site framework.
264
+ - Add `CNAME` only when the user gives a domain.
265
+ - Add `.github/workflows/pages.yml` when Pages uses GitHub Actions or no deploy path exists.
266
+ - Avoid marketing fluff and oversized hero sections for developer tools. Make the first viewport useful.
267
+ - Use system UI fonts for body text and monospace only for commands, labels, or terminal-specific elements.
268
+
269
+ ## CI/CD And Release Audit
270
+
271
+ Check whether the repository has:
272
+
273
+ - formatter check
274
+ - linter/static analysis
275
+ - tests
276
+ - build/package check
277
+ - security scan or OpenSSF Scorecard where appropriate
278
+ - release automation
279
+ - docs/site-only path filters when release runs on `main`
280
+
281
+ For Go projects, prefer:
282
+
283
+ ```yaml
284
+ - go test ./... -race
285
+ - go vet ./...
286
+ - gofmt check
287
+ - staticcheck ./...
288
+ - go build ./...
289
+ ```
290
+
291
+ For Node projects, prefer existing package manager scripts:
292
+
293
+ ```bash
294
+ npm ci
295
+ npm run lint
296
+ npm test
297
+ npm run build
298
+ ```
299
+
300
+ Release automation rules:
301
+
302
+ - Inspect existing release flow before changing it.
303
+ - Do not create releases for docs/site-only changes.
304
+ - Make Homebrew/package formulas update from real release artifacts and checksums.
305
+ - Use least-privilege secrets and document required secret names.
306
+ - If automation pushes tags, guard against rerun/version reuse.
307
+
308
+ ## Donations
309
+
310
+ Ask whether the user wants donations enabled.
311
+
312
+ If yes:
313
+
314
+ 1. Ask for provider and URL/handle if not inferable.
315
+ 2. Add `.github/FUNDING.yml` for GitHub-supported providers.
316
+ 3. Add a short README Support section or footer link.
317
+ 4. Add site footer/link only if the project has a site.
318
+ 5. Do not invent payment handles.
319
+
320
+ Provider hints:
321
+
322
+ ```yaml
323
+ github: username
324
+ ko_fi: handle
325
+ custom:
326
+ - https://example.com/support
327
+ ```
328
+
329
+ ## Validation
330
+
331
+ Run the checks that match the edits:
332
+
333
+ - SVG syntax: `xmllint --noout logo.svg social-card.svg`
334
+ - Render social image: `rsvg-convert -w 1200 -h 630 social-card.svg -o social-card.png`
335
+ - README links and badge URLs where practical: `curl -I`
336
+ - Site render: local static server plus browser/screenshot when available
337
+ - Repo tests/build/lint
338
+ - Workflow YAML parse, for example with Ruby: `ruby -e 'require "yaml"; YAML.load_file(".github/workflows/ci.yml")'`
339
+ - `git diff --check`
340
+
341
+ Before final response, state:
342
+
343
+ - files changed
344
+ - validation commands run
345
+ - release/donation caveats
346
+ - any secrets the user must configure
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Open Source Publisher"
3
+ short_description: "Prepare an OSS repository for polished public publishing."
4
+ default_prompt: "Use open-source-publisher to audit OSS publishing readiness first, then help only with missing or weak pieces such as icon, social image, GitHub Pages, README standardization, CI/CD checks, release automation, and optional donations."