Santos Dioses · Internal

The Content Engine

A systematic, weekly-batch content pipeline: machines fill a queue, a human empties it. One review page, one weekly yes from Robb, and nothing publishes without it.

Approval model: weekly batch on one review page

The pain this replaces

Content for Santos is ad-hoc today. Robb babysits Anna post-by-post. There is no plan, no cadence, and no single approval surface, and it eats his time.

The winning pattern

2026 research on content operations converges on one shape: a queue that machines fill and a human empties. AI does discovery, generation, and drafting. A human owns the publish decision, always. The last step never collapses, there is no auto-post off an LLM draft.

Official APIs only

Publishing goes through the platform's own API. Browser-posting bots get brand accounts banned 15 to 30 percent a year.

Riona AI: evaluated, rejected

Considered as a posting tool and turned down for exactly the browser-bot risk above.

Human gate, not a rubber stamp

Robb reviews once a week, roughly 10 minutes. His choices persist. A review timeout escalates or expires, it never auto-publishes.

What we already have

Audit taken 2026-08-16.

  • Generation: Replicate images, approved bottle placement, scene composer, Higgsfield video, ad-creative, all behind the design-taste gate. Strong.
  • Copy and compliance: the draft-post skill, brand voice, and the alcohol-compliance skill. Strong.
  • IG publish: working via Composio, roughly 47 days on the current token.
  • Planner and batch generator that render an HTML review grid: built, but idle. No calendar feeds them, no cron runs them.
  • Archive: the post-archive script exists but is not reliably written, stale since 08-08.

Gaps to close

  1. No spine or cadence, nothing generates a weekly plan or fires posts automatically.
  2. No single approval surface, approval is ad-hoc in chat, which is the babysitting itself.
  3. Archive isn't enforced, there is no rule that blocks a publish without an archive row.
  4. Facebook publish is dead, the token expired 08-11 and needs one roughly 30-second OAuth grant from Robb.
  5. IG is the only wired API publish path. TikTok, LinkedIn, X, and YouTube are manual-export only.

What "working" means, end to end

This is the thing we test. On a fixed weekly trigger, the system does the following.

  1. Produces a rolling weekly calendar, pillars balanced, compliance-flagged slots.
  2. Generates each slot: image or video plus three caption options, taste-gated and compliance-gated.
  3. Publishes one review page to a Santos-branded URL: every post shown as it will look, three caption choices, per-post Approve / Edit / Kill controls, and a batch "approve all."
  4. Robb reviews once, about 10 minutes. His choices persist.
  5. Approved posts schedule to their slot times and publish via the official API.
  6. Every published post writes an archive row automatically, publish is blocked if the archive write fails, enforced, not remembered.
  7. A review timeout escalates or expires, it never auto-publishes.

Acceptance test: one real week flows generate, review page, Robb approves, auto-publish to IG, archive row present, with zero manual post-by-post poking. Facebook joins once the token is re-minted.

Milestones

StageWhat ships
M1Spine, reversible, no publishing: revive the calendar input and batch orchestrator, generate a real sample week, host the review page on a Santos URL. Robb reacts to taste.
M2Approval state: Approve/Edit/Kill on the page persists a decision per slot.
M3Publish plus archive, IG-first: approved slots auto-publish via Composio at slot time, each writing an enforced archive row; timeout expires, never auto-posts.
M4Facebook: Robb does the 30-second OAuth grant, the page-token minter runs, FB channel turns on.
M5Cadence: a weekly cron fires M1 through M3 automatically. Robb's only touch is the review page.

Decisions left open

Default and move, Robb can redirect once he sees M1. Volume and cadence default to the existing lock (daily IG) until he adjusts on the sample. Extra platforms (X, TikTok, LinkedIn) stay out of scope until the IG plus FB loop is solid; X now has pay-per-use pricing ($0.015 a post, $0.20 if it contains a link) to budget before adding.

Seven content pillars

Weekly share of a roughly 20-post month.

P1 · Heritage & Origin ~20%

Mayan and Mexican soul. The differentiator, the "why Santos not Casamigos."

P2 · Bottle & Liquid Beauty ~20%

ASMR and macro pours, the repurposable asset bank.

P3 · Cocktail & Serve ~25%

Runs as a named weekly series, "Santos Serve." The save-and-share engine.

P4 · Craft & Process ~12%

Agave, additive-free, aging. Justifies the price, highly saveable.

P5 · Occasion & Lifestyle ~12%

Puts Santos into real premium moments.

P6 · Community & UGC ~8%

Reposts, bartender spotlights, branded hashtag. Free reach and trust.

P7 · Cultural / Awareness Moments ~3% baseline

Spikes on calendar dates, owns the week when one lands.

Format taxonomy and weekly mix

2026 platform data behind the mix.

Reels = reach ~60%

2.25x the reach of a single image, the only format with a discovery feed.

Carousels = saves ~30%

9x the saves of a single image, re-served twice in feed.

Single image ~10%

Declining; deliberate use for brand-beauty and announcements only.

Stories daily, separate cadence

The daily community and relationship layer, and the only real conversion surface via product tags.

Highest-leverage Reel sub-types for tequila

ASMR pour and satisfying loops, aesthetic b-roll bottle beauty, cocktail how-to. Plus BTS and agave footage for heritage. None need a person on camera. Every calendar slot names both its pillar and the format that pillar demands.

Cadence and the weekly ritual

Default cadence

5 feed posts a week plus daily Stories. Weekly mix: 3 Reels, 1 to 2 carousels, 0 to 1 static. FB mirrors the Reels and carousels as a secondary channel, it does not originate. Every week engineers at least one "send-to-a-friend" share hook and at least one "proof-drop" save hook.

7-day skeleton

Mon P3 cocktail Reel · Tue P1 heritage carousel · Wed P2 beauty Reel · Thu P4 craft carousel or P6 UGC (alternating weeks) · Fri P5 lifestyle Reel · Sat/Sun Stories plus reactive P7.

The weekly planning ritual

What makes it thoughtful a week ahead. Every week, before generating, Anna asks Robb a short standing question set:

  1. Any awareness or holiday dates in the next one to two weeks to hero (auto-surfaced from the calendar below)?
  2. Any Santos events, launches, drops, or promotions to feature?
  3. Any priority pillar or message this week, or run the default balance?
  4. Anything to avoid or react to, news or culture?

Answers shape the week's calendar. Silence means the default 7-day skeleton runs. This is the only recurring input required from Robb besides the approval page.

Awareness calendar

Tentpoles; a full month-by-month list lives in the research notes. The pipeline auto-flags any date within the next two weeks in the weekly ritual.

DateMomentWeight
Feb 22Margarita Day
May 5Cinco de Mayo
May 22Paloma Day
Jul 24National Tequila Day★★ biggest owned moment, mini-campaign
Sep 15 - Oct 15Hispanic Heritage Month★ series
Nov 1 - 2Dia de los Muertos★ reverent
DecHoliday gifting and Dec 31 NYE
variesValentine's Day, Father's Day (anejo gifting), Thanksgivingsecondary

Trial Reels A/B loop

"4 reels, non-followers pick the winner." This is Instagram's official Trial Reels feature, and it is confirmed API-automatable.

How it works

Create-media takes a trial_params field with a graduation strategy of MANUAL or SS_PERFORMANCE. SS_PERFORMANCE auto-promotes a winner to followers with no human step. Live in Graph API v25/v26.

Eligibility and workflow

Business or Creator account, public, 1,000-plus followers. Change one variable per test, the hook is highest-leverage, same body, three to four different openings. Compare trials to trials, read rates not totals, over a 24 to 72 hour window. Two to three well-reviewed tests a week; review capacity is the real limit, not production.

Open and unverified

Reading each variant's metrics programmatically is not clearly documented by Meta, so auto-picking the winner from four may need a quick in-app glance until proven against a live account. The fully automatable fallback today: publish variants with SS_PERFORMANCE and let IG auto-graduate the winner. Branded and sponsored Reels must use owned or licensed audio, not IG's consumer music library.

Where this sits

An optional lane on top of the weekly loop: for the week's one to two highest-stakes Reels, generate three to four hook variants, run them as trials, and let the winner graduate, or Robb picks from metrics. Everything else flows the normal generate, review page, publish, archive loop.

Non-negotiables

  • Official APIs only. A human gate that expires, never auto-posts. Archive enforced.
  • Compliance skill loaded before any publish. Brand lock enforced per asset.
  • Ahad builds the plumbing, Anna operates it, no cross-desk tickets.