- Documents tab lists competitor analyses and trend scans (they were listed
by the server but hidden in the page)
- Competitors page: "Open report" jumps to the latest competitor report
- New report block mc:search-trends: interest over time per keyword,
trend %, busiest month and rising searches, from stored Google Trends data
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- competitor-scan skill + run type: web search for local rivals and
niche benchmarks, competitor_suggest checks each on Instagram
- Suggestions inbox on Competitors page (Track / Dismiss)
- Report blocks: leaderboard, size-vs-engagement map, format lift,
market's best posts, hashtag gap, Google ratings
- Stats: engagement by format, top hashtags; audit adds leaderboard
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Posts and results for the month, follower change, best posts, formats that worked, every post,
competitor comparison and next month's plan; branded PDF via tools/report-pdf (no AI key needed)
- Client page → Documents: create for any month, email the PDF to the client's reviewer
- Optional per client: create on the 1st of each month and email it; admins get a bell notification
- Documents list groups monthly reports separately
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Connector lists Instagram accounts assigned to the system user without a
Page; numbers, inbox, mentions and publishing work for them
- Clients link by Page or Instagram account ("Link an account"); Facebook
features explain the client has no Page instead of failing
- Drafts for Instagram-only clients drop Facebook automatically
- Images for Instagram-only clients are hosted via the agency's own Page
(META_MEDIA_PAGE_ID, unpublished); never falls back to a client's Page
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Refresh on a client with no Facebook Page now returns a clear 400 error
instead of silently replying "started"
- Client page shows "Not linked to a Facebook Page" with a Link a Page
dialog (admins) and shows refresh errors
- New POST /api/clients/:slug/link-page links an existing client folder to
an unlinked Meta Page, keeping its name and files
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dashboard (content library, publishing queue with approvals, inbox, team
management, AI runs), Meta connector, branded PDF reports, agent skills,
and Docker packaging (Dockerfile, docker-compose with Caddy HTTPS,
backup and path-relocation scripts).
Client data, live data and secrets are excluded via .gitignore.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>