agentsclimarketplace

Generate

Skill raven-sourav/pmm-content-engine/skills/generate

PMM Content Distribution Engine — Newsletter scraper, Obsidian knowledge brain, multi-format content generation powered by Claude Code

Install
npx -y skills add raven-sourav/pmm-content-engine --skill generate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.8 KB, as published. Nobody here has run it

Skill: Generate Content

Trigger

User provides a theme and asks for content. Supports multiple formats.

Trigger patterns:

  • "Write about {theme}" → LinkedIn (default)
  • "Write a newsletter about {theme}" → Newsletter format
  • "Write a thread about {theme}" → Twitter/X format
  • "Write about {theme} for all formats" → Newsletter first (pillar), then distribute
  • "Create a carousel about {theme}" → Carousel format

Format Parameter

FormatTargetKey Reference
linkedin (default)800-1200 characters, 3 anglesreferences/linkedin-practices.md
newsletter1500-3000 words, 3 angle variantsreferences/newsletter-practices.md
twitter7-10 tweets, 280 chars each, 3 angle variantsreferences/twitter-practices.md
carousel5-10 slides, 1 point per slidereferences/carousel-practices.md
allNewsletter first (pillar), then run skills/distribute/SKILL.mdreferences/format-adaptation-matrix.md

Process

Step 1: Load references (tiered)

  • Always load: references/generation-angles.md
  • Format-specific:
    • LinkedIn: references/linkedin-practices.md
    • Newsletter: references/newsletter-practices.md + experts/ogilvy-headlines.md + experts/brunson-storytelling.md
    • Twitter: references/twitter-practices.md
    • Carousel: references/carousel-practices.md
    • All: references/format-adaptation-matrix.md + references/newsletter-practices.md (start with pillar)
  • Load if research done: The research brief and gap map from the research step
  • Load for critique: references/rubber-duck-escalator.md

Step 2: Load Brain context

Read data/brain/pmm_brain.json and extract:

  • For drafting: synthesized_mental_models, argumentation_playbook, insight_generation_patterns
  • For voice: voice_profile_sourav (differentiators, forbidden_patterns, visual_signature)
  • For critique: quality_bar_examples

Step 3: Generate 3 drafts

For each angle (contrarian, framework, story), generate in the target format:

LinkedIn (default):

  1. Follow the structure in references/generation-angles.md
  2. Use the assigned evidence anchors from the research brief
  3. Write in Sourav's voice (data-driven, specific, teardown-oriented, startup-focused)
  4. Think at Pierri's depth (nuanced, anti-dogmatic, framework-rich)
  5. Apply LinkedIn best practices from references/linkedin-practices.md
  6. Target 800-1200 characters

Newsletter:

  1. Follow references/newsletter-practices.md structure (opening → bridge → deep section → practitioner callout → landing → P.S.)
  2. Use Epiphany Bridge (from experts/brunson-storytelling.md) for story-led angles
  3. Minimum 3 evidence anchors, 2 newsletter source cross-references
  4. Generate 5 subject line variations (Ogilvy headline principles)
  5. Target 1500-3000 words

Twitter/X:

  1. Map each angle to a thread type (see references/twitter-practices.md)
  2. Write hook tweet first — compress best hook to 280 chars
  3. One idea per tweet, tweet 2 = strongest insight
  4. Vary rhythm, include line breaks within tweets
  5. Verify EVERY tweet ≤280 characters
  6. Target 7-10 tweets

Carousel:

  1. Extract framework/progression from each angle
  2. One key point per slide, max 3-4 lines
  3. Cover slide with adapted hook, close slide with CTA
  4. Follow visual design rules from references/carousel-practices.md
  5. Target 5-10 slides

All formats:

  1. Generate newsletter first (pillar)
  2. Run skills/distribute/SKILL.md to atomize into LinkedIn + Twitter + Carousel

Step 4: Critique each draft (Rubber Duck Escalator)

Run all 5 phases from references/rubber-duck-escalator.md:

  1. MIRROR → PROBE → CHALLENGE → ILLUMINATE → CRYSTALLIZE
  2. Each phase sees prior phase results (cascading context)
  3. Score 1-10 per phase
  4. If any phase < 8: rewrite addressing failures, protecting passes
  5. Max 3 iterations before surfacing to user with notes

Step 5: Present to user

For each draft that passes (or after max iterations):

  • Show the draft
  • Show the scorecard (5 phase scores + composite)
  • If any phase failed, show the critique notes
  • Ask: APPROVE / TWEAK / SKIP

Step 6: Generate visual

LinkedIn framework posts: If the post contains a framework, matrix, comparison, progression, or structural concept → follow skills/visual/SKILL.md to produce a visual brief and image.

Carousel format: Generate visual brief for all slides using carousel-practices.md design rules. Produce Pillow-based images.

Newsletter: No visual unless explicitly requested.

Twitter: No visual (text-only threads perform best).

Output Format

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANGLE 1: CONTRARIAN REFRAME
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Draft text]

SCORECARD
Mirror: 8 | Probe: 9 | Challenge: 8 | Illuminate: 8 | Crystallize: 9
Composite: 8.4 | Status: PASS

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANGLE 2: FRAMEWORK / MENTAL MODEL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Draft text]

SCORECARD
Mirror: 8 | Probe: 8 | Challenge: 9 | Illuminate: 8 | Crystallize: 8
Composite: 8.2 | Status: PASS

VISUAL BRIEF
Layout: [Pattern]
Title: [Header]
[Sections with colors]
[Generated image]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

See also: skills/research/ (runs before generate) → skills/critique/ (runs after generate) → skills/distribute/ (atomizes pillar output)


See also: skills/research/ (runs before generate) → skills/critique/ (Rubber Duck gate) → skills/distribute/ (atomize to other formats) | skills/_index.md for full data flow

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.