Antigravity LinkedIn Automation & NLM Brain

An autonomous content generation, optimization, and governance system for LinkedIn thought leadership, powered by Google NotebookLM, Antigravity 2.0, FastMCP, and Cloudflare Pages.

🚀 Live Documentation

đź§  Core Architecture

  • NotebookLM Brain Bridge: Grounds all synthesized LinkedIn posts in verified NotebookLM research sources (NLMBrainBridge).
  • JudgeGuard Governance: Safety & verification gate enforcing MASTER_ORCHESTRATION.md rules and immutable work logging (WORK_LOG.md).
  • FastMCP Agent: Standardized Model Context Protocol server exposing tool capabilities for autonomous agents.
  • OBS Telemetry: Real-time thought streaming and visual HUD for full observability during execution.
  • VitePress Knowledge Hub: Deployed static documentation suite providing complete specifications, API reference, personas, and JTBD canvases.

Built With

Share this project:

Updates

posted an update —

Learning Proposal Based on the recent successful resolution of the live LinkedIn publishing pipeline and NLM Brain integration, here is the proposal to persist reusable operational learnings and guardrails.

  1. Context & Incident Analysis What Happened Hardcoded Fallbacks & Missing Imports: NLMBrainBridge in linkedin_automation/core/nlm_bridge.py contained a hardcoded stale NOTEBOOK_ID fallback (7c85c185-28bb-4585-b77f-987d3f3dabfb) instead of reading NLM_NOTEBOOK_ID from .env. Additionally, import os was missing at top-level module scope, resulting in a NameError: name 'os' is not defined when evaluating os.getenv() at class declaration time. Successful Resolution: Added import os to top-level imports in nlm_bridge.py. Updated NLMBrainBridge to dynamically bind self.notebook_id = notebook_id or os.getenv("NLM_NOTEBOOK_ID", DEFAULT_ID). Verified end-to-end execution in LIVE mode (dry_run=False), successfully publishing post urn:li:share:7491299620556419072 to LinkedIn API v2.
  2. Classification & Scope Type: Rule (Invariant Guardrail) Target Location: .agents/rules/linkedin-nlm-automation.md (Workspace-level) Scope: Reusable rules for NLM Brain Bridge, environment loading, and LinkedIn API execution across this workspace.
  3. Proposed Rule Content markdown

Rule: LinkedIn & NLM Bridge Automation Standards

1. Dynamic Environment Binding

  • No Hardcoded Notebook IDs: NLMBrainBridge and related agents MUST load NLM_NOTEBOOK_ID dynamically from environment variables (os.getenv("NLM_NOTEBOOK_ID")).
  • Import Hygiene: All standard library modules (os, json, subprocess, logging, time, pathlib) referenced in module/class definitions MUST be imported at the top of the file before class definition evaluation.
  • Dotenv Initialization: Entry points (main.py, mcp_server.py, standalone runner scripts) MUST execute load_dotenv(dotenv_path) before instantiating bridges or agents. ## 2. Live API Execution Safeguards
  • Live Publishing Flag: Live LinkedIn posts require LINKEDIN_ACCESS_TOKEN and LINKEDIN_PERSON_URN in .env, with dry_run=False explicitly passed.
  • NLM Query Timeouts & Polling: Respect rate limiting (QUERY_DELAY >= 2.0s) and subprocess timeout (timeout=120s) when invoking nlm notebook query to prevent hanging CLI execution.
  • Next Steps Upon your approval of this proposal, I will create .agents/rules/linkedin-nlm-automation.md in the workspace to lock in these rules for all future agent tasks.

Log in or sign up for Devpost to join the conversation.

posted an update —

2026 E2E Website Production Standards Type: Rule (Global Customization) Scope: All web production projects Location: ~/.gemini/config/rules/web-production-2026.md

  1. Agent Setup & Context Terminal & NotebookLM Integration: Agenti u terminalu (poput Claude Code) imaju direktan pristup kodnoj bazi. NotebookLM sluĹľi kao centralni izvor instrukcija i autoritativni okvir. Model Context Protocol (MCP): Koristiti MCP servere za "ÄŤitanje" dizajn sistema iz Figme ili pristup Cloudflare resursima.
  2. Neophodne Datoteke za Instrukcije (Konfiguracija) U root direktorijumu projekta MORAJU postojati:

llms.txt i llms-full.txt: Prate llmstxt.org konvenciju. Za razumevanje strukture sajta i ključnih informacija bez šuma. CLAUDE.md: Za eksplicitni kontekst brenda i dokumentaciju dizajn tokena (boje, fontovi, razmaci). spec.md: Dokument sa poslovnim ciljevima, KPI-evima, korisničkim putevima i SEO strategijom.

  1. Faze Vođenja Agenta (E2E Workflow) Agent mora pratiti ovih 9 faza razvoja:

Faza 0: Otkrivanje i strategija — Ciljevi i persone. Faza 1: Osnova dizajn sistema — Fluidna tipografija clamp(), dizajn tokeni: Primitive → Semantic → Component. Faza 2: Skela projekta (Scaffolding) — Astro 5+ / Next.js 16+, TypeScript, CI/CD. Faza 3: Implementacija jezgra — Navigacija, meta komponente, JSON-LD. Faza 4: Integracija sadržaja — Headless CMS, VideoObject šeme. Faza 5: Optimizacija performansi — Core Web Vitals: LCP ≤ 2.5s, INP ≤ 200ms, CLS ≤ 0.1; kontrola JS bundle-a. Faza 6: Testiranje i QA — Playwright E2E, axe-core pristupačnost. Faza 7: Deployment — CDN, CSP sigurnosna zaglavlja, SSL. Faza 8: Post-launch — Monitoring field podataka (RUM), redovni auditi.

  1. Pravila za Promptove i Razmišljanje "Answer-First" model: Svaki prompt započeti jasnom činjeničnom izjavom o cilju sekcije. Primer: „Cilj: hero sekcija mora konvertovati posetioce u prijave. Zatim → kontekst i ograničenja." Struktura prompta: Kontekst Zadatak Ograničenja
  2. Mogućnosti Agenta Agentic Engineering: Samostalno čišćenje "vibe koda", ispravljanje bagova i generisanje testova. Automatizacija CI/CD: Integracija u GitHub Actions za automatsku proveru performansi. Pristupačnost (A11y): Obavezna upotreba axe-core za testiranje fokusa i kontrasta boja. Video SEO: Implementacija VideoObject šeme i "facade pattern" za optimizaciju LCP-a.

Log in or sign up for Devpost to join the conversation.