← Track record · Appendix D
Penagos Mendoza
My family’s accounting firm runs a small machine of its own: articles, carousels, a video archive, contact buttons that count, and a search report twice a month. Agents write most of it. I keep the rules, and a person approves anything that goes out. Scroll through two example weeks.
Editorial calendartwo example weeks
Piece practical article + posts Radar Friday roundup Report search
Editorial calendartwo example weeks
Piece practical article + posts Radar Friday roundup Report search
MTWTFSS123456789101112131415Mon · Wed · Fri
A topic is due
Two practical pieces a week and a roundup on Friday, chosen from what businesses actually search for and researched in official sources: the federal gazette and the tax and social-security authorities. The 1st and the 15th belong to the search report.
ToolingClaude CodeCodexone shared skillSearch Console report
content/blog/carta-invitacion-sat-que-hacer.md
--- title: "SAT invitation letter: how to verify it and what to do" category: "Tax Defense" date: "2026-07-29" ---
Tax DefenseSAT invitation letter: how to verify it and what to dodrafted by agentsSame morning
Agents draft it
An article in Markdown, a carousel, a story and two captions, written by agents from rules kept as skills. The article builds into a plain static page.
ToolingMarkdowngray-matter + markedNode build scriptSVG templatessharp → PNG
$ npm run audit:social
- 1080 × 1350, every slide
- Story at 1080 × 1920
- Narrative order
- Sources on the last slide
- Text contrast
Ready for a person to look at.
Before anyone looks
The audit runs
Size, slide order, sources and contrast are checked by a script. A failure blocks the delivery instead of becoming a note for later.
ToolingNode audit scriptssharpthe editorial skill’s design review
Ready for reviewcarta-invitacion-sat-que-hacer
Approved by a personRequest changesApproveThen
A person decides
Nothing after this point happens on its own. The website needs a merge; the posts need the next step.
ToolingGitGitHub pull requestVercel deploy on merge
Publish social contentrun by hand
- slug
- carta-invitacion-sat-que-hacer
- mode
- validarpublicar
- platforms
- both
- confirm
- PUBLICAR
- Every slide answers as a public image
- Permissions present, nothing more
- Account and page are the right ones
Same day
Publishing is run by hand
The workflow only validates unless PUBLICAR is typed, exactly. It checks the slides, the permissions and the account first. On the Meta side there is one business app and a system user with six permissions: no messages, ads, payments or full control. Revoke it, delete the secret, turn off the workflow, and it all stops.
ToolingGitHub Actions, run by handMeta Graph APIrepository secret
You got an invitation letter…
one post, every photo
A minute later
The posts go up
Instagram gets one item per slide, then a carousel that is checked until Meta reports it finished. Facebook does not copy a post made this way, so the slides go up as unpublished photos and become one post. The story’s link sticker is still added by hand, on a phone.
ToolingInstagram content publishingFacebook Pages API
- Tax DefenseSAT invitation letter: how to verify it and what to doWhatsAppCallEmailSend a messageChecklist (PDF)
generate_lead · lead_channel: whatsapp · page_path: /blog/carta-invitacion-sat-que-hacerAny day
Someone gets in touch
WhatsApp is a click-to-chat button, not a bot. Every contact is counted by channel and by the page it started on, with nothing the visitor typed; campaign tags travel with the form.
Toolingclick-to-chat linkGA4 generate_leadFormspreeUTM fields
Search report ready for reviewissue + branch
Queries ranked 5 to 20
High rank, few clicks
Contacts by landing page
automation/seo-defensewaiting for a person
1st & 15th
The report comes back
A scheduled job reads Search Console with an account that can only read, writes the report and a memory of what was tried, then opens a branch and an issue. It never merges itself, and it judges a page by the contacts it starts.
ToolingGitHub Actions on a scheduleSearch Console API, read-onlyGitHub issue
141 episodes · 7 subjects
Family business: do I need a consultant?Governance and family businessMicrocreditAccounting and financeWhy graduate degrees matter in MexicoThree questions to listen for- What sets apart a degree that really strengthens a career?
- How should quality, job relevance and cost be weighed before enrolling?
- What does Mexico need for graduate study to produce research and social mobility?
In batches
The video archive
Sapiencia is the firm’s video talk show. Its episodes were imported from the public channel, sorted into seven subjects and given a short note and three questions to listen for, then turned into pages with privacy-friendly embeds.
Toolingyt-dlp exportYouTube metadataNode validatorno-cookie embeds
Stack
A static site in plain HTML and Tailwind, Node scripts for every build and audit, GitHub Actions for publishing and the search report, Vercel for hosting. Two coding agents, Claude Code and Codex, share one skill that a script keeps in sync.
Not claimed
That any of this brought in a client. The loop is built to answer that; this page does not report the answer.