skillshare-release
- Repo stars 1,897
- Author repo skillshare
End-to-end release workflow for skillshare. $ARGUMENTS specifies the version (e.g., v0.19.0).
Prerequisites
- All feature work merged to current branch
- Working directory clean (
git statusshows no uncommitted changes)
Workflow
Phase 1: Validate
Run full test suite and code quality checks. Fix any failures before proceeding.
make check # fmt-check + lint + test (builds binary first)
If tests fail: fix them, don't skip. Do not ask the user — fix and re-run.
Phase 2: Changelog
Invoke /changelog $VERSION to generate the changelog entry.
This handles:
- Collecting commits since last tag
- Categorizing by conventional commit type
- Writing user-facing CHANGELOG.md entry
- Syncing website changelog (
website/src/pages/changelog.md)
Review the output before proceeding.
Phase 3: Release Notes (Maintainer Only)
Check if running as maintainer:
git config user.name # Should match "Willie" or maintainer identity
If maintainer:
Read the most recent specs/RELEASE_NOTES_*.md as a style reference, then generate specs/RELEASE_NOTES_<version>.md (no v prefix, e.g., RELEASE_NOTES_0.19.0.md).
Structure:
- Title:
# skillshare vX.Y.Z Release Notes - TL;DR section with numbered highlights
- One
##section per feature/fix — describe what changed in plain language, with a CLI example or code block if relevant - Include migration guide if breaking changes exist
Wording rules (same user-facing standard as CHANGELOG):
- Describe what changed from the user's perspective, not how the code changed
- Never mention: function names, variable names, struct fields, file paths, Go syntax, internal APIs
- ✅ Good: "Sync now auto-creates missing target directories and shows what it did"
- ❌ Bad: "upgraded
Server.mufromsync.Mutextosync.RWMutexand applied a snapshot pattern across 30 handlers" - Keep it concise — a short paragraph per feature is enough
If not maintainer: Skip this phase.
Phase 4: Version Bump
Update the version in skills/skillshare/SKILL.md frontmatter:
metadata:
version: vX.Y.Z
This ensures skillshare upgrade --skill detects the new version correctly.
Phase 5: Commit & Tag
git add -A
git commit -m "chore: release vX.Y.Z"
git tag vX.Y.Z
Do NOT push yet — wait for user confirmation.
Phase 6: Draft Announcements
Prepare two drafts for user review:
GitHub Release Notes — concise, user-facing summary suitable for the GitHub release page. Shorter than RELEASE_NOTES, highlight top 3-5 changes with one-liners.
Social media post — 2-3 sentences max, casual tone, mention the version and 1-2 headline features. No hashtag spam.
Tone: short, direct. Don't oversell. The user will edit before posting.
Phase 7: Present & Confirm
Show the user:
- Test results (pass/fail)
- CHANGELOG.md diff
- RELEASE_NOTES file (if generated)
- Version bump diff
- GitHub release draft
- Social media draft
Wait for user approval before pushing:
git push origin HEAD --tags
Rules
- Fix, don't skip — if tests fail, fix them before continuing
- User perspective — all written output is for users, not developers
- Short drafts — announcements default to concise; user will ask for more detail if needed
- No fabricated links — never invent URLs or references
- Verify before claiming — grep source before stating a feature exists
- Ask before push — never push or publish without explicit user confirmation
- Commit message — always
chore: release vX.Y.Z - No competitive references — never mention competitor repos in commit messages or notes
- Fluxly category
- Other
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 88 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @runkids · no license declared
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Unspecified
- Detected file/system behavior
-
- Read-only
- Write / modify
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Workflow
Run full test suite and code quality checks. Fix any failures before proceeding. If tests fail: fix them, don't skip. Do not ask the user — fix and re-run.
Invoke /changelog $VERSION to generate the changelog entry. This handles: Collecting commits since last tag
Check if running as maintainer: If maintainer: Read the most recent specs/RELEASENOTES.md as a style reference, then generate specs/RELEASENOTES<version>.md (no v prefix, e.g., RELEASENOTES0.19.0.md).
Update the version in skills/skillshare/SKILL.md frontmatter: This ensures skillshare upgrade --skill detects the new version correctly.
Do NOT push yet — wait for user confirmation.
End-to-end release workflow for skillshare. $ARGUMENTS specifies the version (e.g., `v0.19.0`).
## Prerequisites
- All feature work merged to current branch
- Working directory clean (`git status` shows no uncommitted changes)
## Workflow
### Phase 1: Validate
Run full test suite and code quality checks. Fix any failures before proceeding.
```bash
make check # fmt-check + lint + test (builds binary first)
```
If tests fail: fix them, don't skip. Do not ask the user — fix and re-run.
### Phase 2: Changelog
Invoke `/changelog $VERSION` to generate the changelog entry.
This handles:
- Collecting commits since last tag
- Categorizing by conventional commit type
- Writing user-facing CHANGELOG.md entry
- Syncing website changelog (`website/src/pages/changelog.md`)
Review the output before proceeding.
### Phase 3: Release Notes (Maintainer Only)
Check if running as maintainer:
```bash
git config user.name # Should match "Willie" or maintainer identity
```
**If maintainer**:
Read the most recent `specs/RELEASE_NOTES_*.md` as a style reference, then generate `specs/RELEASE_NOTES_<version>.md` (no `v` prefix, e.g., `RELEASE_NOTES_0.19.0.md`).
Structure:
- Title: `# skillshare vX.Y.Z Release Notes`
- TL;DR section with numbered highlights
- One `##` section per feature/fix — describe **what changed** in plain language, with a CLI example or code block if relevant
- Include migration guide if breaking changes exist
**Wording rules** (same user-facing standard as CHANGELOG):
- Describe **what changed** from the user's perspective, not how the code changed
- **Never mention**: function names, variable names, struct fields, file paths, Go syntax, internal APIs
- ✅ Good: "Sync now auto-creates missing target directories and shows what it did"
… Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> Prerequisites → Workflow → Phase 1: Validate → Phase 2: Changelog → Phase 3: Release Notes (Maintainer Only) → Phase 4: Version Bump
terms -> If maintainer · what changed · Wording rules · Never mention · If not maintainer · GitHub Release Notes · Social media post · Tone
files/cmd -> v0.19.0 · git status · /changelog $VERSION · website/src/pages/changelog.md · specs/RELEASENOTES.md · specs/RELEASENOTES<version>.md · prefix, e.g., · # skillshare vX.Y.Z Release Notes
body sha256 -> a00f83ea86da
Decide Fit First
Design Intent
How To Use It
Boundaries And Review