claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or…
Converts a Claude Code session into a blog post, case study, or Reddit post. Use when publishing dev blog content or community posts from real sessions.
$ npx -y skills add athola/claude-night-market --skill session-to-post --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/session-to-postContext preview
The summary Claude sees to decide when to auto-load this skill.
Converts a Claude Code session into a blog post, case study, or Reddit post. Use when publishing dev blog content or community posts from real sessions.
name: session-to-post description: Converts a Claude Code session into a blog post, case study, or Reddit post. Use when publishing dev blog content or community posts from real sessions. globs: "**/*.md" alwaysApply: false category: artifact-generation tags: - blog - marketing - session-capture - case-study - storytelling - developer-experience - reddit tools: [] complexity: medium model_hint: standard estimated_tokens: 3100 progressive_loading: true modules: - modules/session-extraction.md - modules/narrative-structure.md - modules/reddit-format.md dependencies: - scribe:slop-detector
Capture what happened in a Claude Code session and turn it into a blog post, case study, or social media thread that others can learn from.
The skill extracts the real story from git history, file changes, and conversation context, then shapes it into a narrative that shows process, not just results.
r/rust, r/Python, r/ClaudeAI, etc.)
This skill connects to several others in the ecosystem. Use them when the post needs more than prose.
| Need | Skill | What it adds | |------|-------|-------------| | Terminal demo GIF | `scry:vhs-recording` | Record a build/test run as an animated GIF | | Browser demo GIF | `scry:browser-recording` | Capture a web UI walkthrough via Playwright | | Composite media | `scry:media-composition` | Stitch terminal and browser GIFs side-by-side | | Proof of claims | `imbue:proof-of-work` | Verify every number in the post with evidence | | Code quality narrative | `pensive:code-refinement` | Describe what was cleaned up and why | | Review narrative | `imbue:structured-review` | Capture review findings as post content | | Change summary | `imbue:catchup` | Summarize what changed for the post's "The Work" section | | Diff analysis | `imbue:diff-analysis` | Risk-scored change breakdown for technical audiences |
When the post describes something visual (a running app, a test suite, a build pipeline) capture it instead of describing it.
**Terminal recordings** (build output, test runs, CLI demos):
Invoke Skill(scry:vhs-recording) with a tape that runs: make test → shows 180 tests passing make play → shows the build + server startup
**Browser recordings** (web apps, rendered output):
Invoke Skill(scry:browser-recording) with a Playwright spec that: navigates to the app interacts with it captures the result
**Composition** (side-by-side before/after, terminal and browser):
Invoke Skill(scry:media-composition) to stitch recordings into a single visual that tells the story.
Place generated GIFs in `docs/posts/assets/` and reference them from the markdown with relative paths.
Every claim in the post should be verifiable. Before finalizing:
Invoke Skill(imbue:proof-of-work) to: - Tag each claim with [E1], [E2], etc. - Run verification commands - Report PASS / FAIL / BLOCKED
This prevents publishing posts with stale numbers or broken examples.
Load the `session-extraction` module for the full checklist.
Gather raw material from what actually happened:
1. **Git history**: commits since the session started:
git log --oneline --since="<session_start>" --stat
2. **File inventory**: what was created and changed:
git diff --stat <start_commit>..HEAD
3. **Test results**: concrete evidence of what works:
cargo test # or the project's test command
4. **Metrics**: scope and scale:
find . -name "*.rs" -not -path "*/target/*" | xargs wc -l
5. **Conversation context**: the user's goals, constraints, and decisions made during the session
Every session post answers three questions:
1. **What were we trying to do?**: the goal, not the task list 2. **What did we actually do?**: the real path, including pivots 3. **What came out of it?**: concrete, measurable results
Look for:
surprising approach, an impressive result
What worked unexpectedly?
(lines written, tests passing, performance gain, time saved)
**Choose format first:**
| Format | Module | When | |--------|--------|------| | Blog post | `narrative-structure` | Dev blog, company blog, personal site | | Case study | `narrative-structure` | Marketing, tool demonstrations | | Social thread | `narrative-structure` | Twitter/X, Bluesky, LinkedIn | | Reddit post | `reddit-format` | Community engagement, r/programming etc. |
For Reddit: load `modules/reddit-format.md` instead of the blog template below. The structure, tone, and quality gate differ.
Load the `narrative-structure` module for blog/case-study templates.
**Blog post structure** (adapt to content):
# Title: [Verb] + [What] + [With What] ## Opening (2-3 sentences) What we set out to do and why. No throat-clearing. ## Starting Point Where things stood before. Concrete: file counts, code state, what worked and what didn't. ## The Work Key phases. Focus on decisions an
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or…
States load-bearing decisions, invariants, and weak points. Use when judging a design change.…
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain…
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do…
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating…
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote…