author-playbook-play
A structured workflow for creating and verifying new entries in the Hogsend project playbook.
Install
mkdir -p .claude/skills/author-playbook-play && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19131" && unzip -o skill.zip -d .claude/skills/author-playbook-play && rm skill.zipInstalls to .claude/skills/author-playbook-play
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Add a new play to hogsend.com/playbook (apps/docs/content/playbook). Use whenever someone wants a new playbook item — it walks the whole contract end to end - frontmatter, the intro + five-part template in the right register, the copy rules (tool-agnostic play steps, honest facts, valid engine snippets), the dogfood weekly-rotation sync, and the verification gates. The plays shipped in #492 follow this shape.Key capabilities
- →Add a new play to `hogsend.com/playbook` with required frontmatter
- →Ensure the play body follows a five-part structure: Intro, When to run it, Why it works, The play, Ship it with Hogsend, How you'll know
- →Apply copy rules for plain language, tool-agnostic steps, and honest facts
- →Include a `defineJourney()` snippet for Hogsend reference implementation
- →Sync the new play into the weekly rotation in `hogsend-dogfood` repository
- →Verify the play using `pnpm biome check`, `check-types`, and `build` commands
How it works
The skill guides the creation of a new playbook entry by enforcing frontmatter requirements, a five-part body structure, specific copy rules, and technical validation steps. It also ensures the play is integrated into the weekly rotation.
Inputs & outputs
When to use author-playbook-play
- →Creating new playbook entry
- →Updating playbook content
- →Validating playbook metadata
About this skill
Author a playbook play
A play is a ~300–600 word micro-play at apps/docs/content/playbook/<slug>.mdx,
rendered at hogsend.com/playbook/<slug>. It must survive the "is this from
real work?" test — same discipline as the marketing copy register.
1. Frontmatter (validated by source.config.ts — unknown slugs fail the build)
---
title: Imperative, outcome-first (max ~60 chars)
description: One sentence, for meta tags and cards.
hook: The one-line symptom the reader recognizes — present tense, their pain.
category: one of activation | onboarding | retention | revenue | winback | referral | deliverability | measurement (registry: lib/playbook/categories.ts)
personas: [] or a subset of gtm | founders | recruiters | internal | agencies (registry: lib/playbook/personas.ts; empty = everyone)
channels: subset of email | sms | ads | video (registry: lib/playbook/channels.ts) — only channels the play's body actually uses; feeds the filter drawer
tags: [two, or, three]
date: YYYY-MM-DD
timeToResults: honest — "same day", "one week", "2–4 weeks", "ongoing"
---
Do NOT set blueprint: unless a same-id Journey Blueprint actually exists and
has been verified end-to-end (create via admin API → hogsend blueprints list → promote --dry-run). No unverified Installs badges.
2. Body structure — intro + the five parts, in this exact order
- Intro paragraph (no heading, right after frontmatter): one or two sentences of plain language saying what the play IS. No code, no event names, no product names beyond "email".
## When to run it— the trigger/symptom, who feels it.## Why it works— the mechanism. A real number ONLY if we honestly have one; never invent statistics. Mechanism reasoning beats fake benchmarks.## The play— a numbered list of steps in general terms: someone on any stack (or no stack) could hand this section to an engineer and get the play built. Noevent.names, no Hogsend APIs, no vendor lock. "Track two moments", not "emitsetup.step_started".## Ship it with Hogsend— the Hogsend reference implementation. A short lead-in sentence, then adefineJourney()snippet that would actually compile: real API only (ctx.waitForEvent,exitOn,entryLimit+entryPeriod,suppressis required meta,ctx.guard.isSubscribed()after long waits, distinctidempotencyLabelwhen the same template sends twice). Event names live HERE. Cross-link the deeper recipe (/docs/recipes/...) when one exists.## How you'll know— the metric: outcome within a window, framed as a funnel/lift the reader can actually build. Link/docs/conversions/impactwhere holdout/lift talk earns it.
3. Register rules
- Every line a fact (deletion test). Guide-through voice, why-first.
- No hype adjectives, no "unlock", no invented percentages.
- The hook and title must not overlap word-for-word with the intro.
4. The install path is the agent prompt — it's automatic
The play page ships a "Copy for your agent" block
(components/playbook/copy-play-prompt.tsx + lib/playbook/prompt.ts) that
wraps the raw MDX as an implement-this prompt. It reads the file directly —
nothing to wire per play. This is WHY section 4's steps must be
tool-agnostic: the prompt is handed to agents on stacks that aren't Hogsend.
5. Sync the weekly rotation
The dogfood repo (hogsend-dogfood, sibling checkout) sends one play a week:
src/journeys/playbook-weekly.ts holds a hand-synced PLAYS array
(slug/title/hook). Append the new play there (append-only — never reorder
or remove while enrollments are active; each week is anchored by sleep +
idempotency labels derived from the slug).
6. Verify before commit
pnpm biome check --write apps/docs
pnpm --filter @hogsend/docs check-types
pnpm --filter @hogsend/docs build # validates frontmatter + MDX
Then run the real app (pnpm --filter @hogsend/docs exec next dev --port 3105 if 3005 is busy) and screenshot the play page AND the index with the
new card — no HTML mockups. Check: intro renders above the numbered 01–05
sections, list markers show, the copy button copies the full prompt.
One commit per play, conventional format, e.g.
feat(docs): playbook play — <slug>.
When not to use it
- →When a new playbook item is not desired
- →When the user wants to create a play that does not follow the specified structure or copy rules
- →When the user wants to set `blueprint:` without a verified Journey Blueprint
Limitations
- →Requires adherence to a specific frontmatter schema
- →Enforces a five-part body structure for the play
- →Mandates tool-agnostic steps in 'The play' section
How it compares
This workflow provides a highly structured and validated process for authoring playbook content, ensuring consistency in format, content, and integration with the Hogsend platform, which is more rigorous than general content creation.
Compared to similar skills
author-playbook-play side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| author-playbook-play (this skill) | 0 | 11d | Review | Intermediate |
| docs-write | 22 | 5mo | No flags | Beginner |
| content-research-writer | 15 | 9mo | No flags | Beginner |
| doc-coauthoring | 16 | 7mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
docs-write
metabase
Write documentation following Metabase's conversational, clear, and user-focused style. Use when creating or editing documentation files (markdown, MDX, etc.).
content-research-writer
ComposioHQ
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
doc-coauthoring
anthropics
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
research-grants
davila7
Write competitive research proposals for NSF, NIH, DOE, and DARPA. Agency-specific formatting, review criteria, budget preparation, broader impacts, significance statements, innovation narratives, and compliance with submission requirements.
teams-channel-post-writer
daymade
Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
write-docs
tldraw
Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.