본문으로 건너뛰기
cccskills
무료GitHub에 공개

openseo-release-notes

Prepare an OpenSEO release by updating the version, selecting user-visible changes from commits, and writing concise release notes. Review agents check the draft against the code before a pull request is opened for the release.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Cut an OpenSEO release — bump the version, draft user-facing release notes from commits since the last tag, run a review + subagent-verification pass, and open a "release: vX.X.X" PR. Use when the user asks to prepare a release, bump the version, or write release notes.

연동 도구GitHub
설치 방법 보기

이럴 때 유용합니다

  • Prepare an OpenSEO release pull request
  • Summarize changes since the previous release
  • Update the version and release notes together
  • Verify release notes against commits and code

포함된 파일(1)

  • SKILL.md7.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OpenSEO release notes

Cut a release for this repo end to end. The deliverables are a version bump in package.json, a new docs/release-notes/v<version>.md, and a PR against origin/main titled release: v<version>.

1. Bump the version

  • Read package.json. If the branch has already bumped version, treat that as the source of truth and do not change it.
  • Otherwise bump the patch version (e.g. 0.0.19 → 0.0.20). Only bump minor/major if explicitly asked.

2. Collect the changes since the last release

  • Find the latest tag: git tag --sort=-creatordate | head -1. Verify the branch is up to date with origin/main (git fetch origin main && git log HEAD..origin/main --oneline should be empty; flag it if not).
  • List commits: git log <last-tag>..HEAD --oneline. You can also run pnpm release:notes for a raw commit inventory — use it only as a checklist of candidate changes, never as the draft's structure (its Improved/Changed/Docs sections must not appear in the notes).
  • For each commit, fetch the PR body and author (gh pr view <num> --repo <repo> --json title,body,author) — squash-commit subjects can be stale. The (#NN) in commit subjects can reference either repo: try bensenescu/open-seo (origin) first and fall back to every-app/open-seo (public) — outside contributors' PRs and their handles live on the public repo. Commits with no (#NN) may still be an outside contribution with a public PR (gh pr list --repo every-app/open-seo --state merged --author <login>); check git log --format=%an for the author. Verify claims against the final code when a PR body and commit subject disagree (features get reverted before merge).
  • Record the PR author's GitHub handle alongside each change so the bullet can credit them.

3. Draft the notes

Write docs/release-notes/v<version>.md. docs/release-notes/v0.0.24.md is the canonical style exemplar — match it (v0.0.25 and later follow the same style); v0.0.23 and earlier are the old verbose style, never imitate them. The notes are a scannable digest, not documentation: the whole file fits on one screen (roughly 15 lines including headings), and every line earns its place.

Format:

  • Top line: a fragment naming the release's 2–3 highlights ("GSC UI, improved app layout and beta in app agent."). Not a "This release brings…" sentence.
  • Sections: ## What's new and ## Fixed only. There is no "Improved" section — an improvement is either headline-worthy (What's new) or it's cut.
  • What's new bullets name the feature; they don't sell it. One short line each ("Redesigned the app layout", "Get GSC Insights inside the app") — no em-dash feature tours, no "so you can…" benefit copy, no lists of everything the feature touches. If the name alone is ambiguous, one clause of plain-words context is the maximum.
  • At most one sub-bullet per feature, one short line: the single most useful detail, a requirement ("Requires OPENROUTER_API_KEY"), or an expectation-setter.
  • Label rough features "(Beta)" and set expectations honestly, including pointing at the better alternative for now. The expectation-setter rides the top-level line after a dash ("(Beta) In app agent - MCP is still recommended, but we'll be working to improve this during the summer."), keeping the sub-bullet slot free for a requirement or detail.
  • Fixed: 3–5 bullets, one plain sentence each, only bugs a user plausibly hit and would recognize ("Claude answers in AI search work again."). No error codes, status codes, schema/infra vocabulary, or mechanism. If more than four qualify, keep the ones hit in core flows (searches, audits, tracking, MCP answers) and drop fixes for recovering self-inflicted state (re-adding, un-archiving, refreshing) first.
  • Credit the contributor. End the bullet with — thanks @handle for outside contributors only — never for the maintainer's own PRs (bensenescu). Credit goes on the top-level bullet, not sub-bullets. Multiple contributors: — thanks @a, @b.
  • End with: Full Changelog: https://github.com/every-app/open-seo/compare/v<prev>...v<version>

Curation — this is where the work is. Cut aggressively; the Full Changelog link covers the long tail:

  • Only changes to the product itself — the app, the MCP tools, the SEO data/features someone running OpenSEO actually uses. Litmus test per bullet: would a self-hoster notice this while using the product? Caring in the abstract (a new backend option, a raised cap) is not enough.
  • Do NOT mention:
    • Marketing-website (web/) changes — landing pages, copy, positioning, blog.
    • Pricing / plans / subscription / billing — paywalls, free-trial/plan changes, Autumn config. Hosted-commercial concerns, irrelevant to self-hosters.
    • Onboarding-flow-only changes — signup/onboarding chat, profiling steps, upgrade rails, email-verification UX. Not a product capability, even when sizable.
    • Hosted-app internals & meta — analytics, specs/ADRs, CI, refactors, dependency bumps.
    • Invisible-to-the-user work, even when product-relevant — security hardening, raised caps/limits, stability/memory/perf fixes, database/backend options and migrations. A user reading the notes should recognize every line from using the product; if they'd only notice it in a config file or an incident that no longer happens, cut it.
  • When torn between including and cutting, cut. A 4-bullet What's new that gets read beats a 10-bullet one that doesn't.
  • Never invent features — every claim must trace to a commit.
  • Numbers in bullets are usually selling — cut them; if one is genuinely load-bearing, quote the conservative, typical figure, never a cherry-picked best case.

4. Review and verify

  1. Spawn a reviewer subagent with: the draft, the guidelines above, the per-commit facts you gathered, and repo access. It returns numbered review comments citing which guideline each violates. Its charge includes verbosity: flag any bullet that sells instead of names, any second sub-bullet, any Fixed bullet with mechanism vocabulary, and anything that pushes the file past one screen.
  2. For each substantive comment, spawn a verification subagent (in parallel) that adversarially checks the comment against the actual commits/code and verdicts APPLY / APPLY-MODIFIED / REJECT.
  3. Apply only verified comments.

5. Open the PR

  • Commit the version bump, release notes, and any skill changes on a branch named claude/v<version> (use the current branch if it already follows this pattern).

  • Push to origin and open a PR against main titled exactly release: v<version>. PR body: the release notes content.

  • Do not tag or publish the GitHub release — that happens after merge. After merge, run pnpm release:publish. It reads the version from package.json and publishes the matching docs/release-notes/v<version>.md to every-app/open-seo.

  • The equivalent command is:

    gh release create v<version> \
      --repo every-app/open-seo \
      --title v<version> \
      --notes-file docs/release-notes/v<version>.md
    

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Research questions about a market, examine recorded ChatGPT answers and cited websites, and identify themes where a brand appears or is missing. Receive ranked prompt groups and suggested questions for future tracking.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding question themes related to a product category
  • Checking brand mentions and cited websites
  • Identifying themes with limited brand visibility
every-app/open-seo2.4만2026년 10월 14일 업데이트

Audit how a brand appears in AI answers by examining mentions, website citations, competitors, and cited pages. Receive one to three evidence-based priorities, such as improving a page, seeking inclusion in a relevant source, or fixing access barriers.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigate why AI answers recommend competitors
  • Check brand mentions and website citations
  • Prioritize pages to improve or create
every-app/open-seo2.4만2026년 10월 14일 업데이트

Compare several competitors to see which sites lead a search market, what content earns rankings, and where opportunities remain. The report covers keyword reach, links from other sites, and practical next steps.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Identifying leading sites in a search market
  • Comparing competitors' successful content themes
  • Finding underserved topics to target
every-app/open-seo2.4만2026년 10월 14일 업데이트

Analyze a named competitor's unpaid search traffic, ranking keywords, content themes, and links from other websites. Identify strengths, weaknesses, and relevant opportunities, with an optional comparison to your own site and a report of recommended actions.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Investigate a specific competitor's SEO strengths
  • Find pages and keywords worth targeting
  • Compare a competitor with your own site
every-app/open-seo2.4만2026년 10월 14일 업데이트

Create or update skills using OpenSEO's repository conventions. Keep one canonical source, distinguish internal and public workflows, maintain Claude Code links, and register public skills in documentation, the in-app agent, and plugin bundles.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Add a new skill to the OpenSEO repository
  • Turn a development workflow into an internal skill
  • Repair drift between skill directories
every-app/open-seo2.4만2026년 10월 14일 업데이트

deslop

무료

Edit blog posts, documentation, marketing copy, and PR descriptions to remove formulaic AI writing patterns. Replace filler, vague claims, and staged emphasis with plain statements while preserving concrete details and the writer's voice.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Editing AI-drafted blog posts
  • Removing wordy introductions from documentation
  • Toning down exaggerated marketing copy
every-app/open-seo2.4만2026년 10월 14일 업데이트

every-app의 스킬 모두 보기

이 스킬의 문제 신고