agentsclimarketplace

Content campaign

Skill himanisharrma/finverge-sales-skills/plugins/finverge-sales-skills/skills/content-campaign

FinVerge Sales Skills — Claude Code plugin that automates sales/marketing collateral (proposals, product decks, content campaigns) with a dual public/internal knowledge-base architecture

Install
npx -y skills add himanisharrma/finverge-sales-skills --skill content-campaign

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

One thing to look at

  • 0 stars0 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.

What its author says it does

Copied from the file, not written here

Generate and audit LinkedIn/Twitter posts for the FinVerge 3.0 content-led revenue campaign (April 20 – June 30, 2026). Use whenever Himani or any content team member wants to draft a post, audit a draft, or prepare a week's content batch. Triggers on phrases like "draft this week's posts", "audit this post", "generate a LinkedIn post for the NACH owner on Onboarding", "prep the Friday batch", "score this draft against the filter", "the sales head needs a deal story", "give me the brief for W3 Monday", "write the CEO vision post for launch week", and similar. Works with the Master Calendar XLSX (52 posts across 10 weeks), the 4-criteria content filter, and the plugin-wide product KBs (PG/NACH/Collect/Orchestrate). Outputs post drafts (Markdown / plain text) + audit reports (JSON + human-readable summary).

SKILL.md

9.0 KB, as published. Nobody here has run it

Content Campaign Skill — FinVerge 3.0

Two workflows in one skill:

  1. Post generator — assembles the context brief for a scheduled post so Claude can write it in FinVerge brand voice.
  2. Filter audit — scores a draft against the 4-criteria gate before it's approved for posting.

Both read from the Master Calendar XLSX at assets/campaign_ops.xlsx and the plugin-wide product KBs via kb_loader.load_public().

When to use

Triggering phrases (non-exhaustive):

  • "Draft next week's posts" / "Prep Week 3 batch"
  • "Audit this post" / "Score this draft"
  • "Give me the brief for W3 Monday" / "Prep the NACH owner's NACH post"
  • "Write the CEO vision post for the launch"
  • "the sales head needs a deal story"
  • "Is this post ready to publish?"

Do NOT use this skill for:

  • Bank or enterprise proposal decks (use bank-proposal-generator / enterprise-proposal-generator)
  • Product demo collateral (use the per-product skills — pg-product, nach-product, etc.)

Inputs

For post-generator, one of:

  • Week + day — e.g., --week 3 --day "Mon May 4" → picks the calendar row
  • Week + owner — e.g., --week 3 --owner the NACH owner
  • Row index — direct row from Master Calendar

For filter-audit:

  • A draft post text file (Markdown or plain text)
  • Or piped stdin

The 4-criteria filter (from the Locked Strategy)

Every post must pass all 4. If it fails any, it's rejected and rewritten.

  1. Creates Curiosity — Does the first line make someone stop scrolling?
  2. Shows Real Problem — Is there a genuine pain point a merchant/enterprise faces?
  3. Simplifies Product — Does it make 3.0 easier to understand, not harder?
  4. Drives Action — Is there a clear next step — DM, comment, or question?

Workflow — Post generator

Step 1: Assemble the brief

cd skills/content-campaign/scripts
python3 prep_post.py --week 3 --owner the NACH owner

This writes a Markdown brief to assets/briefs/W3_anupam_<day>.md containing:

  • The calendar row (week, day, owner, platform, content focus, theme)
  • The owner's voice tag and natural topic areas
  • Platform guide (word count, hashtags, tone)
  • FinVerge brand voice guide
  • The product KB excerpt (for owners who map to PG / NACH / Collect / Orchestrate)
  • The 4 filter criteria

Step 2: Read the brief + write the post

Claude opens the brief (via the Read tool), writes a LinkedIn-ready draft following it, and saves to ~/Downloads/content-drafts/<week>/<owner>-<date>.md (or anywhere the user prefers).

The post should be plain LinkedIn-ready text (no markdown headings in the body), 150-300 words for LinkedIn, 2-3 hashtags at the end.

Step 3: Run the audit

python3 audit_post.py --post <path-to-draft.md> --platform LinkedIn

Gets a per-criterion pass/fail with confidence + rewrite suggestions. If the audit returns soft-fail or hard-fail, rewrite and re-audit.

Step 4: Present to Himani

Show the user:

  • The draft
  • The audit verdict (pass / soft-fail / hard-fail) with per-criterion feedback
  • If fails: rewrite suggestions

Himani decides whether to approve or request another rewrite.

Workflow — Filter audit (standalone)

If Himani pastes a draft she wrote herself (or received from a teammate) and asks "is this good enough?":

python3 audit_post.py --post <path> --platform LinkedIn
# or pipe it:
cat draft.md | python3 audit_post.py --stdin --platform LinkedIn

Output: pass/fail summary + rewrite suggestions.

Audit scoring — what it catches

Deterministic structural checks (fast, no LLM needed):

  • Weak openers — flags "In today's world...", "We're excited to share...", "I'm proud to announce..."
  • Jargon density — flags "leverage", "synergy", "seamless", "cutting-edge", "best-in-class", "revolutionise"
  • Internal jargon — flags "Pod 0", "Pod 1", "AOP", "GTM", "DELTA4" appearing in customer content (dead giveaway)
  • Acronym soup — flags >3 uncommon acronyms without expansion
  • CTA presence — flags missing or vague CTAs ("The future of payments is here" → fail)
  • Problem framing — checks for tokens indicating a real pain is surfaced
  • Word count — checks against platform targets (LinkedIn 150-300, Twitter 20-50)

The audit returns pass / soft-fail (3/4 criteria) / hard-fail (<3 criteria) + specific per-criterion feedback.

Owner → product KB mapping (config in campaign_meta.py)

OwnerProduct KBVoice tag
the founder (CEO), the CBO (CBO), a product owner (CGO)leadership vision/business/growth
PruthviRaj— (product philosophy — all products)product_builder
the NACH ownernachproduct_builder
the PG ownerpgproduct_builder
the Collect ownercollectproduct_builder
Chaitanya— (FRM — no KB yet)product_builder
the sales head— (sales — pulls from all)sales_convert
an owner / a team member / a team memberbts_execution / journey_growth / culture_pride
Chandrasekhar Sir / Swapneshalliance_credibility
Santanu / Tarun / ZMs / Siddharth (BD)bd_market_signal

Bold rows = owners whose posts automatically get real product content pulled from shared-kb/.

Output locations

OutputPath
Post briefskills/content-campaign/assets/briefs/<week>_<owner>_<day>.md
Post draft~/Downloads/content-drafts/ (Claude decides final filename)
Audit reportstdout, or --out path/to/audit.json

Updating content

  • Master Calendar (who posts what, when): skills/content-campaign/assets/campaign_ops.xlsx
    • Updating this XLSX automatically flows through — prep_post.py re-reads every time.
  • Voice guide / owner map: skills/content-campaign/campaign_meta.py
  • Filter criteria: skills/content-campaign/campaign_meta.py (keep in sync with the strategy doc)

Workflow — Friday batch (end-to-end week orchestrator)

This is Himani's weekly Friday loop. Two phases, one command each.

Phase 1 — Prep (Friday morning)

python3 scripts/friday_batch.py --week 3 prep

What it does:

  • Reads every row for Week 3 from the Master Calendar
  • Assembles a brief for each post (same content prep_post.py would produce)
  • Writes ONE consolidated file: ~/Downloads/content-drafts/W3/W3_briefs.md
  • Creates an empty ~/Downloads/content-drafts/W3/drafts/ folder with an expected filename for each post

Himani (or Claude on her behalf) then writes a draft for each file in drafts/, following the matching brief. One file per post, plain LinkedIn-ready text.

Phase 2 — Review (Friday afternoon)

Once all drafts are written:

python3 scripts/friday_batch.py --week 3 review

What it does:

  • Loads every draft in drafts/
  • Runs the 4-criteria auditor on each one
  • Compiles ~/Downloads/content-drafts/W3/W3_Review.docx with one section per post:
    • Metadata (day, owner, platform, content focus)
    • Draft body
    • Twitter variant if present
    • 4-criteria audit table (pass / soft-fail / hard-fail + feedback)
    • Rewrite suggestions if any criterion fails
    • Action recommendation (approve / light-edit / rewrite)
  • Prints a summary line: "✓ Review compiled for W3: 6 posts (4 pass, 1 soft-fail, 1 hard-fail)"

Himani opens the DOCX, approves/edits, then schedules.

Validated on W1

The W1 run produced 6 drafts (the founder, the CBO, a product owner, the sales head, an owner, a team member); auditor correctly caught the weak an owner draft ("excited to share… incredible journey… cutting-edge… transformative… game-changing") as hard-fail and passed the others.

Coming in later iterations (not yet built)

  • anmol-deal-story — specialised generator for the sales head's deal-story format (he's the revenue engine)
  • tracking-dashboard — monthly KPI rollup from Master Calendar Status column + metrics CSV
  • Per-owner voice refinement (v2) — when each owner provides 5-10 past posts, we can match their personal style more precisely

Shared code reused

  • shared/kb_loader.py — product KB access
  • shared/brand.py — design tokens (currently unused in text-only outputs, but available)
  • shared/version_check.py — stale-version auto-notify

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.