Agent skill

Redlamp Blog

by pdcgomes in pdcgomes/redlamp

The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post.

MPL-2.0Auto-check passedWriting & Content

Install Redlamp Blog

skills CLI
$ npx skills add pdcgomes/redlamp --skill redlamp-blog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pdcgomes/redlamp redlamp-blog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pdcgomes/redlamp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/redlamp-blog .claude/skills/redlamp-blog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
redlamp-blog
GitHub stars
231
Token cost
~2.1k tokens
SKILL.md length
1,171 words
Files
5
Skills in repo
11
Repo updated
First seen
Licence
MPL-2.0

At a glance

The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post.

  • Works in 3 steps: Read the owner's marks first. The room… → Run python3… → Bring the room up to date in the same…
  • Announcing a blog post
  • SKILL.md covers Where, Every time: know where things…, Writing a post and Announcing a post: its kit, plus 3 more sections
  • Runs Python scripts from its folder; calls python3 and python

What it does

Redlamp Blog is an agent skill from pdcgomes/redlamp. The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post. It covers the posts that are live, the ones in the pipeline, each post's kit for announcing it (its card as a still, a GIF and an MP4, the X and LinkedIn copy, alt text) and a record of what has been posted where. Makes a post's card in the house style and writes its copy in the owner's voice. Use when writing, publishing or announcing a blog post, making its tweet, LinkedIn post or…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `card/render.py` and `room.py`).

It sits in Writing & Content, covering Social media posts and Blog and article writing. It works with LinkedIn and macOS. The repository describes itself as: A native, open-source RAW photo editor for Mac, iPad and iPhone that feels immediately familiar to Lightroom users. The licence is MPL-2.0.

When your agent uses it

  • Announcing a blog post
  • Making its tweet
  • Looking for a posts images
  • Asking whats been posted

Example prompts

  • “s card in the house style and writes its copy in the owner”
  • “s images or promo material, or asking what”
  • “/redlamp-blog”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read the owner's marks first. The room keeps them in blog-room.canvas.data.json, beside it, under needsYou ({ "": { "state": "done" |…
  2. Run python3 .cursor/skills/redlamp-blog/room.py status. Never take dates or states from memory. It lists the posts and articles on…
  3. Bring the room up to date in the same turn: summary, upNext, needsYou, posts, pipeline, posted, a log entry and updated. Say plainly what…

What it can do on your machine

Read from SKILL.md and the folder at commit 9587460. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Redlamp Blog loads about 2.1k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 1,171 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~159
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from pdcgomes/redlamp at commit 9587460, republished under its MPL-2.0 licence (© pdcgomes). 1,171 words, ~2,100 tokens.

Download SKILL.mdSave it as .claude/skills/redlamp-blog/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
redlamp-blog
description
The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post. It covers the posts that are live, the ones in the pipeline, each post's kit for announcing it (its card as a still, a GIF and an MP4, the X and LinkedIn copy, alt text) and a record of what has been posted where. Makes a post's card in the house style and writes its copy in the owner's voice. Use when writing, publishing or announcing a blog post, making its tweet, LinkedIn post or card, looking for a post's images or promo material, or asking what's been posted or what the blog does next.

The blog room

Every blog post is tracked in one canvas, the blog room: the posts that are live, the ones in the pipeline, each post's kit for announcing it, and a record of what has been posted where. The owner keeps it open to find a post's card and copy, and marks each share as it goes out. A post's material lives in the repository, never only in /tmp or in another worktree's build/, which is where the first cards were lost.

Where

WhatWhere
The room~/.cursor/projects/Users-pedrogomes-src-darkroom/canvases/blog-room.canvas.tsx, from template.tsx. Edit only its room object; room.py thumbs writes its THUMBS. A change to the rendering goes into the template and the room together.
Postsweb/content/blog/<slug>/index.md, with its images beside it (web/README.md, The blog; the checks and capture script are in .cursor/skills/redlamp-site/SKILL.md)
A post's kitdocs/blog/social/<slug>/: card.json (the card's words) and posts.md (the X and LinkedIn copy, what to attach, alt text, and where each went), committed; card.png, card.gif, card.mp4 and thumb.jpg, rendered and gitignored
Copies to post from~/Downloads/redlamp-<slug>.png, .gif and .mp4. macOS keeps Downloads from Cursor: agents can write there but not list or read it, and the room opens the kit's own copies instead.
Facts for a post not yet writtendocs/blog/facts/<slug>.md, each fact with its source
The cardcard/card.html and card/render.py
Where things standroom.py status

Articles, the site's technical pieces (web/content/articles/<slug>/index.md, at redlamp.app/articles), are announced and tracked the same way as posts: a kit in docs/blog/social/<slug>/, and a post in the room with section: "articles". The first, Linear vs scene-referred, has its card drawn in pixel art with the pixel-graphics skill, by card.py in its kit, instead of card/card.html.

Read ~/.cursor/skills-cursor/canvas/SKILL.md once per session before the first write to the room. Link the room in every reply that changes it: [Blog room](/Users/pedrogomes/.cursor/projects/Users-pedrogomes-src-darkroom/canvases/blog-room.canvas.tsx).

Every time: know where things stand

  1. Read the owner's marks first. The room keeps them in blog-room.canvas.data.json, beside it, under needsYou ({ "<id>": { "state": "done" | "skipped" | "asked", "at": "…" } }) and shares ({ "<share id>": { "state": "posted" | "scheduled" | "draft" | "skipped", "at": "…" } }, where draft is the owner's Not posted). Never write that file. Fold each mark into room: the share's state and when, a row in posted that says it rests on the owner's mark, and the channel's status line in the kit's posts.md. A Needs you item that names the share then shows as done by itself. When the owner gives a post's address on the platform, it goes in the share's link and the posted row.
  2. Run python3 .cursor/skills/redlamp-blog/room.py status. Never take dates or states from memory. It lists the posts and articles on origin/main with their dates, drafts and whether redlamp.app serves them; each kit's files; the fact sheets; and blog files that are only on another branch or uncommitted in a worktree.
  3. Bring the room up to date in the same turn: summary, upNext, needsYou, posts, pipeline, posted, a log entry and updated. Say plainly what you didn't check.

Writing a post

  1. For a post about work still under way, gather the facts first into docs/blog/facts/<slug>.md, each with its source. Put the post in pipeline with its stage: idea, promised (a post already says it's coming), collecting, facts ready, drafting or draft.
  2. Write it as web/README.md (The blog) describes, in a worktree of its own when other sessions are committing to main. Its images go beside index.md; a canvas is captured with .cursor/skills/workstream-canvas/capture.py.
  3. The owner publishes it, or says to. Once it's live, move it from pipeline to posts, and make its kit.
Show full SKILL.md (586 more words)Show less

Announcing a post: its kit

  1. The card's words go in docs/blog/social/<slug>/card.json. title is the post's title in lines broken at phrases, two or three of them. subtitle is two plain sentences in the owner's voice: a fact from the post, then "This is how I …". titleSize (128 pixels by default) only when three lines don't fit. A [bracketed] part of the subtitle is picked out in white; the owner prefers none (5 October). eyebrow and url default to "From the blog" and "redlamp.app/blog".
  2. Render it. Make the venv its docstring gives, then /tmp/rl-card/bin/python .cursor/skills/redlamp-blog/card/render.py docs/blog/social/<slug> --still and look at card.png. Then render it all with --downloads, which takes a minute or two, and look at a few of the GIF's frames as well. It stops when a line runs past the margins or the text comes within 40 px of the lockup, and warns when the GIF is over the 5 MB X allows from a phone.
  3. The copy goes in posts.md, laid out as the existing kits are:
    • X: it opens with "Redlamp is a free, open-source raw editor for the Mac that works like Lightroom.", the owner's line, so people who don't know Redlamp have the context. Then a plain line on what the post is about, then "New post: …" and the link. Under 280 characters, counting a link as 23 (count with code, not by eye), with an alternative. No hashtags, emoji or exclamation marks.
    • LinkedIn: longer and in the first person, in short paragraphs: what Redlamp is, the problem the post takes on and what it shows, the link, and a question to close. About 150 to 200 words. It takes card.mp4, which LinkedIn plays, or card.png.
    • Alt text for the card, and the post's own images that would work as a second picture.
  4. In the room: the post's shares, word for word from posts.md, each with an ID (x-<slug>, linkedin-<slug>); upNext set to the post; a Needs you item for each share, naming it in share so the item takes the share's buttons; then python3 .cursor/skills/redlamp-blog/room.py thumbs.

Recording what's posted

posted lists everything posted to announce Redlamp or a post, newest first: the blog's shares and the rest, such as Reddit, Product Hunt or a promo. Each row says what it rests on: a link, the owner's mark, his word in a chat (with the chat's ID), or only a draft. A share that was planned or scheduled but never confirmed is unconfirmed, with a Needs you item asking. Nothing is recorded as having gone out on less than the owner's word or a link.

Writing in the owner's voice

The site's prose is largely agent-written, so take the owner's voice from his own messages in the agent transcripts (~/.cursor/projects/Users-pedrogomes-src-darkroom/agent-transcripts/*/*.jsonl, the "role":"user" lines), not from the posts. He writes plainly, in the first person, with phrases such as "a bunch of", "essentially", "Ideally" and "to be honest", and short sentences for emphasis. No em or en dashes, no superlatives the README doesn't make, and none of the usual tells ("delve", "seamless", "game-changer", "unlock", a closing moral). British spelling (docs/brand/README.md). He has turned copy down as "too AI slop-py"; when in doubt, write it plainer.

Claim only what the post or the README says, checked against them.

Evolving the room

The owner shapes the room as needs come up. A new list, state or button goes into the template and this skill in the same change, and the room picks it up. Commit both on main: Blog room: ….

© pdcgomes, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files in .cursor/skills/redlamp-blog of pdcgomes/redlamp.

  • SKILL.md
  • card/card.html
  • card/render.py
  • room.py
  • template.tsx

Open the folder on GitHubat commit 9587460

Compare with similar skills

Redlamp Blog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Redlamp Blog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Redlamp Blog this skillpdcgomes/redlamp231—~2.1kAutomated safety check: PassMPL-2.0
Content Writer Agentmastra-ai/mastra29k—~1.3kAutomated safety check: PassCustom licence
Content Writerchrispangg/deepagentsdk128—~3.3kAutomated safety check: PassMIT
Code Snippet Imagesfreekmurze/dotfiles1k—~1.1kAutomated safety check: NotesNone
Social Media Managementmanojbajaj95/claude-gtm-plugin1051 repos~3.9kAutomated safety check: PassMIT
Li RepurposeJakeschincariol/linkedin-agent-skill1.7k—~680Automated safety check: PassMIT

Similar skills

  • Content Writer Agent

    mastra-ai/mastra

    Authoring playbook for building agents that draft written content — blog posts, marketing copy, social media posts, newsletters, product descriptions, landing pages, or ad copy.

    29k GitHub stars~1.3k tokensUpdated today
    Writing & ContentAuto-check passed
  • Content Writer

    chrispangg/deepagentsdk

    Writing content across different platforms and styles. An agent skill from chrispangg/deepagentsdk.

    128 GitHub stars~3.3k tokensUpdated 7 mo ago
    Writing & ContentAuto-check passed
  • Code Snippet Images

    freekmurze/dotfiles

    Generate beautiful code snippet images (PNG) for social media, tweets, LinkedIn, and documentation.

    1k GitHub stars~1.1k tokensUpdated 3 days ago
    Writing & ContentAuto-check: notes
  • Social Media Management

    manojbajaj95/claude-gtm-plugin

    Comprehensive social media management for all platforms (LinkedIn, Twitter/X, Instagram, TikTok, Facebook, Pinterest, YouTube).

    105 GitHub starsUsed in 1 repo~3.9k tokens
    Writing & ContentAuto-check passed
  • Li Repurpose

    Jakeschincariol/linkedin-agent-skill

    Turn one long asset - a YouTube video, podcast, newsletter, blog post, transcript or client call - into a week of LinkedIn posts.

    1.7k GitHub stars~680 tokensUpdated 24 days ago
    Writing & ContentAuto-check passed
  • Blog Repurpose

    AgriciDaniel/claude-blog

    Repurpose blog posts for social media, email, video, podcast, and community channels.

    2.3k GitHub stars~3k tokensUpdated 2 days ago
    Writing & ContentAuto-check passed

More from pdcgomes/redlamp

All 11 skills in this repo
  • Redlamp Bench

    pdcgomes/redlamp

    Redlamp Bench, the way an agent asks the owner to do a step in another app and gets the results back without anyone moving files.

    231 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Redlamp Manual

    pdcgomes/redlamp

    The Redlamp User Manual (docs/manual), a dense, book-style PDF for photographers, typeset from Markdown and a print style sheet by Chrome, with its ranges, defaults and shortcuts generated from the…

    231 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Redlamp Promo Studio

    pdcgomes/redlamp

    The promo studio, which makes Redlamp's short promotional videos for social feeds the way a small creative agency does - a brief, hooks and copy, a script on a music grid, visuals from the promo…

    231 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Redlamp Site

    pdcgomes/redlamp

    Map of redlamp.app, the Next.js website in web/: its stack and commands, its pages, the home page's sections with their anchors, components and content sources, the brand's Tailwind tokens and…

    231 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Redlamp Press

    pdcgomes/redlamp

    The press room, where every outlet Redlamp is pitched to (newsletters, Mac and photography sites, developer and open-source communities, lists and directories) is tracked from finding it to its…

    231 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Redlamp Release

    pdcgomes/redlamp

    The release room, where every Redlamp release is prepared, checked, approved and shipped.

    231 GitHub stars~3.8k tokensUpdated today
    Auto-check passed

Works with

Questions about Redlamp Blog

What does Redlamp Blog do?

The blog room, where every redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post. Redlamp Blog is an agent skill from pdcgomes/redlamp.app blog post is tracked from idea to announcement in a canvas the owner marks as they post.

When should I use Redlamp Blog?

Redlamp Blog fits situations like: announcing a blog post; making its tweet; looking for a posts images; asking whats been posted.

How do I install Redlamp Blog in Claude Code?

Run `npx skills add pdcgomes/redlamp --skill redlamp-blog -a claude-code`. Or copy the skill folder (.cursor/skills/redlamp-blog in pdcgomes/redlamp) into .claude/skills/redlamp-blog in your project. Claude Code loads it when a task matches its description.

How do I install Redlamp Blog in Codex?

Run `npx skills add pdcgomes/redlamp --skill redlamp-blog -a codex`. Or copy the skill folder (.cursor/skills/redlamp-blog in pdcgomes/redlamp) into .agents/skills/redlamp-blog in your project. Codex loads it when a task matches its description.

Can I use Redlamp Blog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pdcgomes/redlamp --skill redlamp-blog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/redlamp-blog, .gemini/skills/redlamp-blog, .github/skills/redlamp-blog and .opencode/skills/redlamp-blog in your project.

What does Redlamp Blog need to run?

Going by SKILL.md and its folder, Redlamp Blog needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and python). Our summary lists: Python 3.

Does Redlamp Blog access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Redlamp Blog safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Redlamp Blog use?

Redlamp Blog is published under the MPL-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Redlamp Blog use?

About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Redlamp Blog?

Skills that share tags, products or a category with Redlamp Blog: Content Writer Agent (mastra-ai/mastra, 29k stars), Content Writer (chrispangg/deepagentsdk, 128 stars), Code Snippet Images (freekmurze/dotfiles, 1k stars) and Social Media Management (manojbajaj95/claude-gtm-plugin, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Redlamp Blog?

pdcgomes (a GitHub user) maintains it in pdcgomes/redlamp, which has 231 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 11, 2026.

Source: pdcgomes/redlamp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.