Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Release

ASecurity

Publish the current R Weekly draft as a new weekly post. Use when an editor invokes /release or asks to "release", "publish", or "create the weekly post" from draft.md. Validates the draft before creating the file in _posts/.

820 stars
0 votes
0 copies
0 views
Added 9/20/2026
databashrefactoring

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add rweekly/rweekly.org --skill release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Release?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rweekly-release/badge)](https://www.skillsdirectory.com/skills/rweekly-release)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: release
description: Publish the current R Weekly draft as a new weekly post. Use when an editor invokes /release or asks to "release", "publish", or "create the weekly post" from draft.md. Validates the draft before creating the file in _posts/.
disable-model-invocation: true
allowed-tools: Read, Write, Bash
---

# R Weekly Release

Publish `draft.md` as a new weekly issue in `_posts/`. Run pre-flight checks first — stop if any fail.

## Pre-flight Checks

Read `draft.md` and verify all three conditions. Report every failure found before stopping.

### Check 1: Non-empty Highlight section

The `### Highlight` section must contain at least one content line (a line starting with `+`, `*`, or `-`). If it is empty, report: "FAIL: ### Highlight section is empty. Editors must add content before releasing."

### Check 2: No empty sections

Every `### SECTION` block must have at least one non-blank line of content before the next `###` or end of file. A line is "content" if it is not blank and does not start with `###`.

List every empty section found. Report: "FAIL: The following sections are empty: [list]. Remove them or add content before releasing."

> Note: sections with only boilerplate HTML (like the CRANberries link in New Packages or the podcast link in Videos and Podcasts) count as non-empty — they have content lines.

### Check 3: At least 3 images

Count lines containing either a Markdown image `![...](...)` or an HTML `<img` tag in the draft body (not the front matter). If fewer than 3, report: "FAIL: Only N image(s) found. At least 3 are required."

If **any check fails**, stop and show all failures. Do not create the post file.

### Check 4: Duplicate links (advisory — editor decides)

Run the duplicate checker:
```bash
Rscript -e 'source("scripts/find_duplicates.R"); get_dups()'
```

This compares draft.md links against the last ~20 published posts. **Do not hard-fail on duplicates** — present the results to the editor for a judgment call. Some duplicates are intentional and fine to keep:
- Recurring events, conferences, and meetup listings
- Standing resources (workshops, community links)
- Anything the editor explicitly wants to repeat

Report any duplicates found as a warning:
```
⚠ Possible duplicates found (review before releasing):
  - [Title](URL) — also in 2026-W23
  - [Title](URL) — also in 2026-W21
These may be intentional. Remove or keep as appropriate.
```

If no duplicates are found, say so and continue. Either way, **wait for the editor to confirm before proceeding to release.**

---

## Creating the Release

If all checks pass and the editor has confirmed, proceed:

### Step 1: Compute date and week

Run in Bash:
```bash
echo "DATE=$(date +%Y-%m-%d)" && echo "YEARWEEK=$(date +%G-W%V)"
```

This gives you e.g. `DATE=2026-03-09` and `YEARWEEK=2026-W11`.

### Step 2: Summarize the Highlight section

Read the items listed under `### Highlight`. Write a short, natural-language summary of the highlights — typically 2–3 comma-separated phrases drawn from the article titles. Use title case. Capture the actual topic, not just the tool name.

Look at recent post titles for the style:
- `R Version Update, Refactoring, Your Tests Lie to You`
- `Building a computer, Toolbars, Memory model`
- `15 Years of rOpenSci, Durations of wars, and R-squared`
- `S at 50, targets vs dbt`

Keep each phrase short (1–4 words). Avoid padding words like "and", "the", "a" unless they're part of the title. Do not use all-lowercase bare words.

### Step 3: Build the filename

```
_posts/DATE-YEARWEEK.md
```

Example: `_posts/2026-03-09-2026-W11.md`

### Step 4: Compose the post

The post consists of:

1. A new front matter block (do NOT copy the draft's front matter):

```
---
title: R Weekly YEARWEEK WORD1 WORD2 WORD3
description: Weekly News in the R Community
image: https://rweekly.org/public/facebook.png
---
```

2. The body of `draft.md` — everything after the closing `---` of its front matter, exactly as-is.

### Step 5: Write the file

Use the Write tool to create `_posts/DATE-YEARWEEK.md` with the composed content.

### Step 6: Reset the draft

Read `for-editor-only-draft.txt` and overwrite `draft.md` with its contents, but update the title with the next week number. For example, if you just released `2026-W15`, change the title from `R Weekly 2026-W00` to `R Weekly 2026-W16` before writing.

### Step 7: Confirm

Tell the editor:
- The filename created
- The title used
- A one-line summary of what the Highlight section contains

Attribution

rweeklyrweekly
View sourceMore from rweekly →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Rank Tracker

This skill helps you track, analyze, and report on keyword ranking positions over time. It monitors both traditional SERP rankings and AI/GEO visibility to provide comprehensive search performance insights.

1821 votes

Youtube Competitor Analyzer

Find and analyze YouTube competitor channels using YouTube Data API v3. Discover competitors through keyword search, category matching, content similarity, and related channel discovery. Compare metrics, content strategies, and market positioning. Use when users want to (1) Find competitors for their YouTube channel, (2) Analyze competitor performance metrics, (3) Compare their channel against competitors, (4) Identify content gaps and opportunities, (5) Benchmark against similar creators, (6...

31 votes

Twitter Algorithm Optimizer

Analyze and optimize tweets for maximum reach using Twitter's open-source algorithm insights. Rewrite and edit user tweets to improve engagement and visibility based on how the recommendation system ranks content.

742580 votes

Weather Fetcher

Instructions for fetching current weather temperature data for Karachi, Pakistan from wttr.in API

655280 votes

Weather

Get current weather and forecasts (no API key required).

476190 votes
View all in data →