AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Release Post

skill-posit-dev-skills-release-post · by posit-dev

>

No reviews yet
0 installs
29 views
0.0% view→install

Install

$ agentstack add skill-posit-dev-skills-release-post

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-posit-dev-skills-release-post)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Release Post? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Package Release Post

Create professional R/Python package release blog posts following Tidyverse or Shiny blog conventions.

Quick Start

  1. Identify the blog platform: Tidyverse (tidyverse.org) or Shiny (shiny.posit.co)
  2. Verify NEWS.md or changelog exists for the package
  3. Gather package info: name, version, repository (e.g., "tidyverse/dplyr")
  4. Follow the workflow below
  5. Use scripts/get_contributors.R to generate acknowledgments
  6. Reference the appropriate formatting guide for final polish

Platform Selection

This skill supports two blog platforms with different formatting requirements:

  • Tidyverse blog (tidyverse.org)
  • Uses hugodown
  • R packages primarily
  • More rigid structure and conventions
  • See references/tidyverse-formatting.md
  • Shiny blog (shiny.posit.co)
  • Uses Quarto
  • R and Python packages
  • More flexible, feature-focused structure
  • See references/shiny-formatting.md

First, determine which platform the post is for, then follow the general workflow and apply platform-specific formatting.

General Workflow

These steps apply to both platforms. Content guidelines are based on Tidyverse best practices but adapt them as needed for Shiny posts.

Step 1: Gather Information

Collect required information:

  • Platform: Tidyverse or Shiny blog?
  • Package name and version: e.g., "dplyr 1.2.0" or "shiny 1.9.0"
  • Repository: GitHub repo in "owner/repo" format
  • Package language: R or Python
  • NEWS content: Read the package's NEWS.md, CHANGELOG, or NEWS
  • Package description: One-sentence core purpose
  • Previous release tag: For contributor fetching (optional)
  • Featured image: For frontmatter (optional but recommended)

Step 2: Structure the Post

Create the post outline following this order:

  1. Frontmatter: Platform-specific YAML (see formatting references)
  1. Title and Opening:
  • Title: Package name and version
  • Opening: Announcement with one-sentence package description
  • Installation: Code block with installation command
  • Overview: Brief summary with link to full release notes
  1. Main Content (choose appropriate sections):
  • Migration guide (if breaking changes) - Always first when present
  • Lifecycle changes (deprecations, soft-deprecations, defunct)
  • Feature sections (one per major feature, descriptive headings)
  • Minor improvements (bulleted list)
  1. Acknowledgements (when appropriate):
  • Use scripts/get_contributors.R
  • Format: "A big thank you to all the folks who helped make this release happen:"
  • Comma-separated GitHub links

Step 3: Apply Content Guidelines

Follow the best practices in references/content-guidelines.md:

  • Opening style: "We're [random adjective expressing excitement] to announce the release of..."
  • Section organization: Migration → Lifecycle → Features → Improvements → Acknowledgements
  • Tone: Conversational, professional, enthusiastic but authentic
  • Technical precision: Use exact function names in backticks
  • Focus on benefits: Explain "why" not just "what"
  • Code examples: Realistic, well-commented, properly formatted

Step 4: Transform NEWS Content

Convert NEWS.md bullets to blog-friendly content:

  • Research features thoroughly: Don't just copy NEWS bullets—read function docs, check PRs, understand the context
  • Expand context: Why changes matter, not just what changed
  • Add complete code examples: Show realistic usage with full workflows, not just function signatures
  • Explain concepts first: For unfamiliar features, explain what they are and how they work before showing code
  • Group thematically: Combine related NEWS items into coherent sections
  • Use conversational tone: Transform terse bullets into prose
  • Link documentation: Add relevant links to docs and resources
  • Highlight breaking changes: Make migration paths clear
  • Multi-language parity (Shiny only): For R+Python packages on the Shiny blog, ensure all examples show both languages in tabsets

Step 5: Apply Platform-Specific Formatting

For Tidyverse posts, read references/tidyverse-formatting.md and apply:

  • hugodown frontmatter with slug, photo.url, photo.author
  • Specific slug format: packagename-x-y-z (hyphens replace dots)
  • R code blocks with r language identifier
  • Acknowledgements always included as final section

For Shiny posts, read references/shiny-formatting.md and apply:

  • Quarto frontmatter with YAML anchors for social media
  • Flexible title formatting
  • Use tabsets for Python/R or Express/Core variations
  • Platform-specific code block attributes
  • Acknowledgements optional, varies by post type
  • May use lead paragraphs, callouts, embedded media

Step 6: Generate Acknowledgements

Run the contributor script:

Rscript scripts/get_contributors.R "owner/repo"

Or with a specific starting tag for the previous version (or tag used for last release post):

Rscript scripts/get_contributors.R "owner/repo" "v1.0.0"

Copy the markdown output into the Acknowledgements section.

Step 7: Review and Polish

Platform-agnostic checklist:

  • [ ] Frontmatter complete with all required fields
  • [ ] Opening clearly states package purpose
  • [ ] Installation code block present (both languages if applicable)
  • [ ] Sections organized logically
  • [ ] Code examples use proper syntax highlighting
  • [ ] Function names in backticks with parentheses: ` function() `
  • [ ] Package names are not backticked or otherwise styled
  • [ ] Tone is conversational but not marketing-speak
  • [ ] No superlatives ("powerful", "rich", "seamless", etc.)
  • [ ] Features explained with context, not just listed
  • [ ] Concepts explained before showing code
  • [ ] All examples show R and Python variants (if applicable)
  • [ ] Links to full release notes included

Platform-specific checklist:

Tidyverse:

  • [ ] Slug format: package-x-y-z (hyphens, not dots)
  • [ ] Photo URL and author included
  • [ ] Acknowledgements section is final section
  • [ ] All contributors listed alphabetically

Shiny:

  • [ ] YAML anchors used for description (&desc, *desc)
  • [ ] Social media cards configured (open-graph, twitter-card)
  • [ ] Appropriate filters specified if using tabsets/shinylive
  • [ ] Tabsets used for showing paired variants (Python/R, Express/Core)
  • [ ] Multi-language tabsets used consistently (for R+Python packages only)

Reference Documentation

Load these as needed for detailed guidance:

Content Guidelines

references/content-guidelines.md - General best practices for all release posts:

  • Post structure and organization
  • Opening style and tone
  • Section hierarchy and organization
  • Code examples and formatting
  • Before/after patterns
  • Acknowledgments conventions

Platform-Specific Formatting

references/tidyverse-formatting.md - Tidyverse blog requirements:

  • hugodown frontmatter structure
  • Slug and title conventions
  • Photo attribution
  • Code block formatting
  • Lifecycle section structure
  • Acknowledgements format

references/shiny-formatting.md - Shiny blog requirements:

  • Quarto frontmatter with YAML anchors
  • Social media card configuration
  • Lead paragraphs and callouts
  • Tabsets for variants
  • Line highlighting and annotations
  • Video embedding
  • Flexible acknowledgements

Resources

  • scripts/get_contributors.R: Fetch formatted contributor list using usethis::use_tidy_thanks()
  • references/content-guidelines.md: General content best practices (platform-agnostic)
  • references/tidyverse-formatting.md: Tidyverse-specific formatting requirements
  • references/shiny-formatting.md: Shiny-specific formatting requirements

Platform-Specific Quick Reference

Tidyverse Post Template

````markdown --- output: hugodown::hugo_document slug: package-x-y-z title: package x.y.z date: YYYY-MM-DD author: Your Name description: > Brief description photo: url: https://unsplash.com/photos/id author: Photographer Name categories: [package] tags: [package] ---

package x.y.z

We're pleased to announce the release of package x.y.z...

install.packages("package")

...

Acknowledgements

A big thank you to all the folks who helped make this release happen:

[Contributors from get_contributors.R]

````

Shiny Post Template

````markdown --- title: Package Name x.y.z description: &desc | Brief description of the release. author: "Your Name" date: "YYYY-MM-DD"

image: feature.png

open-graph: image: feature.png description: desc twitter-card: image: feature.png description: desc ---

package x.y.z

We're excited to announce package x.y.z...

[Installation for Python or R]

...

````

Tips

  • Breaking changes first: Put migration guides before features
  • Highlight the wins: Lead with the most exciting features
  • Show don't tell: Use code examples liberally
  • Link generously: Help readers find more information
  • Keep it conversational: Write like you're explaining to a colleague
  • Be authentic: Enthusiasm should feel genuine, not marketing-speak

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.