Skip to content

Update campaign workflows and add Codex skill - #1

Open
kenlim-mops wants to merge 18 commits into
mainfrom
codex/add-x-presets
Open

kenlim-mops wants to merge 18 commits into
mainfrom
codex/add-x-presets

Conversation

@kenlim-mops

@kenlim-mops kenlim-mops commented Sep 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • add X organic and paid presets while preserving the governed canonical source values
  • preserve the POC email sign-in path and include database migrations in Vercel functions
  • add the scalable campaign picker and audited campaign-to-initiative reassignment
  • add the repository-scoped $utm-builder-v2 Codex skill and safe MCP operating workflow
  • document Codex skill discovery, installation, secure MCP setup, verification, troubleshooting, rollout, administration, and architecture boundaries

Validation

  • 21 test files / 139 tests passed
  • TypeScript check passed
  • production build passed, including its lint/type phase
  • Codex skill validator passed
  • openai.yaml parsed successfully
  • all local Markdown links in the changed documentation resolve
  • git diff --check passed

Lint command note

npm run lint currently opens Next.js's interactive first-time ESLint configuration because this repository does not contain an ESLint configuration. That prompt was canceled rather than changing lint policy as part of this work. The production build completed its integrated lint/type phase successfully.

Merge requirement

The repository requires at least one approving review from a reviewer with write access before merging to main.

Kenneth Lim and others added 13 commits September 6, 2026 17:58
For gated proof-of-concept deployments where an external IdP isn't yet
available. Reuses the OIDC signed-session-cookie machinery; a simple
domain-restricted, rate-limited email sign-in mints the session and
provisions first-time colleagues as low-privilege users. Disabled unless
AUTH_PROVIDER=poc; switching to google restores real sign-in with no other
change. Access must still be gated at the platform layer.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Runtime migrate() reads drizzle/meta/_journal.json; on Vercel the folder
wasn't traced into the function bundle, causing 'Can't find meta/_journal.json'
on every DB request. outputFileTracingIncludes ships the migrations with the
functions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Runtime migrate() caused 'Can't find meta/_journal.json' on Vercel (migration
folder not traced into serverless functions) and is an anti-pattern anyway.
Migrations now run only as an explicit step (db:migrate / poc-provision, gated
by RUN_MIGRATIONS_ON_BOOT); the app just connects and queries. PGlite (local/
tests) still auto-migrates.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adds .claude/skills/utm-builder/ (SKILL.md + reference.md): an Agent Skill
that teaches Claude Code and other skill-aware agents to issue governed
campaign URLs through /api/v1 instead of hand-crafting utm_* strings. It holds
no URL/UTM/ID logic — a thin client of the same registry service as the web
app, extension, MCP, and Slack, inheriting canonical IDs, taxonomy, duplicate
protection, and audit.

Docs updated: new docs/claude-skill.md; README features/clients table/docs
index; api.md and mcp.md cross-links; decisions.md ADR 5 client enumeration.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@kenlim-mops kenlim-mops changed the title Add X organic and paid presets Update campaign workflows and add Codex skill Sep 17, 2026
kenlim-mops and others added 5 commits September 17, 2026 13:28
Matches the Codex skill name (.agents/skills/utm-builder-v2) so the two are
per-agent siblings of the same capability. Stays in .claude/skills/ (Claude
Code's native discovery path); updates all doc references and cross-links the
Codex counterpart.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant