Nm Scribe Session To Post

v1.0.0

Convert a Claude Code session into a shareable blog post or case study capturing decisions, process, and outcomes

0· 106·1 current·1 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for athola/nm-scribe-session-to-post.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Nm Scribe Session To Post" (athola/nm-scribe-session-to-post) from ClawHub.
Skill page: https://clawhub.ai/athola/nm-scribe-session-to-post
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Config paths to check: night-market.scribe:shared, night-market.scribe:slop-detector
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install athola/nm-scribe-session-to-post

ClawHub CLI

Package manager switcher

npx clawhub@latest install nm-scribe-session-to-post
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name and description match the instructions: extracting git history, file diffs, test output, and conversation context is directly useful for producing a session-to-post narrative. The declared config paths (night-market.scribe:shared and night-market.scribe:slop-detector) are plausible integration points for this writing-focused skill.
Instruction Scope
SKILL.md explicitly instructs running git commands, finding lines-of-code, cat'ing project manifests, and executing tests/builds (e.g., cargo test, cargo build). Those actions are within scope for creating an evidence-backed post, but running build/test commands will execute project code in the user's environment — this can run arbitrary code and should only be done on trusted repositories or in a sandbox. The instructions also call out invoking other skills (scry, imbue), which may request additional permissions.
Install Mechanism
Instruction-only skill with no install spec and no code files: nothing is written to disk by an installer and there are no fetched binaries. This is the lowest-risk install model and matches the skill's nature.
Credentials
No environment variables or external credentials are requested. The skill requires access to repository files, git history, and to run project build/test commands — these are proportional to its purpose but could expose repository secrets or cause execution of untrusted code. The two required config paths are narrowly scoped and consistent with the plugin ecosystem.
Persistence & Privilege
always:false and no installation hooks or system-wide configuration changes are declared. The skill does not request persistent/system-level privileges beyond reading the repo and invoking build/test commands.
Assessment
This skill is coherent with its purpose, but take practical precautions: (1) run it only in repositories you trust or inside an isolated/sandbox environment because it suggests running build/tests which execute code; (2) review any generated content before publishing to avoid leaking secrets from commit messages, diffs, or config files; (3) be aware the skill may invoke other skills (scry, imbue, etc.) — those integrations can request additional access or run commands; (4) check the referenced night-market.scribe config values before use to understand what additional behavior or filters (e.g., the slop-detector) will run.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🦞 Clawdis
Confignight-market.scribe:shared, night-market.scribe:slop-detector
latestvk9778vr14ds7p3dmdxxw1ea0vs857gce
106downloads
0stars
1versions
Updated 1w ago
v1.0.0
MIT-0

Night Market Skill — ported from claude-night-market/scribe. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Session to Post

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.

When To Use

  • After completing a meaningful chunk of work you want to share
  • Creating dev blog content from real sessions
  • Building case studies for tools, libraries, or techniques
  • Producing marketing content that demonstrates capability
  • Documenting a process for teammates who weren't in the session

When NOT To Use

  • Writing API reference documentation (use scribe:doc-generator)
  • Creating step-by-step tutorials (use scribe:tech-tutorial)
  • Cleaning up existing prose (use scribe:slop-detector)
  • Internal project documentation (use sanctum:doc-updates)

Integration Points

This skill connects to several others in the ecosystem. Use them when the post needs more than prose.

NeedSkillWhat it adds
Terminal demo GIFscry:vhs-recordingRecord a build/test run as an animated GIF
Browser demo GIFscry:browser-recordingCapture a web UI walkthrough via Playwright
Composite mediascry:media-compositionStitch terminal + browser GIFs side-by-side
Proof of claimsimbue:proof-of-workVerify every number in the post with evidence
Code quality narrativepensive:code-refinementDescribe what was cleaned up and why
Review narrativeimbue:structured-reviewCapture review findings as post content
Change summaryimbue:catchupSummarize what changed for the post's "The Work" section
Diff analysisimbue:diff-analysisRisk-scored change breakdown for technical audiences

Recording Integration (scry)

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 + 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.

Proof-of-Work Integration (imbue)

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.

Methodology

Step 1: Extract Session Context

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

Step 2: Identify the Story

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:

  • The hook — what makes this interesting? A hard problem, a surprising approach, an impressive result
  • Turning points — where did the plan change? What broke? What worked unexpectedly?
  • The number — one metric that captures the outcome (lines written, tests passing, performance gain, time saved)

Step 3: Draft the Post

Load the narrative-structure module for formatting templates.

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 and pivots, not keystrokes.
- Phase 1: [what and why]
- Phase 2: [what and why]
Include GIFs from scry recordings where visual.

## How We Tested It
What verification looked like. Show the test run, the proof-of-work
evidence. Include terminal recording GIF of tests passing.

## Results
Hard numbers. Before/after. What works now.
Screenshots or browser recording GIF if visual.

## What's Next
Honest remaining work. No false completeness.

Tone:

  • Write like explaining to a colleague over coffee
  • Specifics over adjectives ("180 tests" not "comprehensive suite")
  • Show the mess — readers connect with pivots and debugging
  • Credit the tools and techniques that made it work
  • Under 1500 words unless the content demands more

Step 4: Quality Gate

  1. Slop checkSkill(scribe:slop-detector) on the draft
  2. Proof-of-workSkill(imbue:proof-of-work) on all claims
  3. Recording check — does any section need a GIF?
  4. Title test — would you click this? Does it promise something specific?
  5. Opening test — does paragraph one say what the post is about?

Step 5: Output

Write the post to the requested location (default: docs/posts/).

Report:

  • Word count
  • Slop score
  • Verifiable claims count
  • Recordings generated (if any)

Example

A session that ported a Quake 2 engine from C to Rust:

Title: Rewriting a Quake 2 Engine in Rust with Claude Code

Opening: We took a 150,000-line C game engine and started rewriting it in Rust targeting WebAssembly. In one session we went from an empty workspace to a prototype loading real game data in the browser.

Starting point: A Yamagi Quake II fork compiled with Emscripten. Goal: idiomatic Rust with wasm-bindgen, glow for WebGL2, and matchbox for P2P multiplayer.

The work: Seven parallel agents built subsystems — collision, movement, filesystem, networking, renderer, server, client — while the main session coordinated integration. A Makefile with prerequisite checks automated the full build-to-browser pipeline including game data download.

How we tested: 180 unit tests across 13 crates. BSP loading verified against real Quake 2 demo pak0.pak. Browser diagnostics logged every init step. [Terminal GIF: make test output]

Results: 10,950 lines of Rust, 180 tests, real game data loading and flat-shaded BSP rendering in the browser with WASD movement and mouse look.

What's next: Textured rendering, collision debugging, sound, menus, multiplayer.

Every claim is checkable — line counts from wc -l, test counts from cargo test, file counts from filesystem log output.

Comments

Loading comments...