Skip to main content
Jenks Guo

Docs / how to

Update content with AI

For Jenks — change site content through the admin console, CLI, REST API or admin MCP, with validation, multi-file commits and dev previews.

Four ways in, one set of rules

All admin edits go through the same admin API. People sign in to the console with Google (Cloudflare Access); agents and scripts use a service token you create in the console — see Give an AI agent access. Pick whichever fits the moment:

Interface Best for
Console at https://admin.jenksguo.xyz/admin Editing by hand: a visual editor with form fields, a media library, a diff of your changes and a preview
CLI jenks admin … Quick edits from a terminal or a script
Admin MCP (/mcp/admin or jenks mcp --admin) Letting an AI agent such as Claude Code do the work
REST /api/admin/* Your own automations

Every write is validated against the content schema and committed to git. CI then re-translates changed entries into all languages, rebuilds and deploys. To write another language yourself — a translation or the interface text — see Edit the site in any language.

Load the token

Use an agent token (jgx_agt_…) with the content scope, plus publish if it may write to the live site directly:

export JENKSGUO_ADMIN_TOKEN=jgx_agt_…   # from your Keychain or password manager
jenks admin whoami                      # shows the token's name, scopes and expiry

Read before you write

jenks admin schema                         # fields, tags, lenses, writable paths
jenks admin ls content/corpus/experiences  # files and their sha
jenks admin get linktree-partner-solutions-lead

Validate, then write

Edit the file locally, validate it, then commit it:

jenks admin get linktree-partner-solutions-lead > linktree.md
# …edit linktree.md…
jenks admin validate content/corpus/experiences/linktree-partner-solutions-lead.md linktree.md
jenks admin put content/corpus/experiences/linktree-partner-solutions-lead.md linktree.md \
  -m "Linktree: add developer portal launch detail" --branch dev

A write that fails validation is refused, so a bad edit can never break the build.

Let the AI draft it

jenks admin ai-edit tooronga-toastmasters "correct the period to 2019 — 2021" --branch dev
jenks admin ai-edit tooronga-toastmasters "correct the period to 2019 — 2021" --branch dev --apply

The first call returns the proposal, a diff and any validation problems. The second commits it.

Change several files in one commit

Use admin_commit_changes (MCP) or jenks admin commit with a JSON file:

{
  "changes": [
    { "path": "content/corpus/community/murrumbeena-school-council.md", "content": "---\n…" },
    { "path": "content/corpus/capabilities.md", "content": "…" }
  ]
}
jenks admin commit changes.json -m "School council: confirm dates" --branch dev

To remove a file, use { "path": "…", "delete": true }.

Asking an agent to do it

With the admin MCP server connected, instruct the agent plainly, for example:

Read the schema. Update the Virginia Park Childcare entry so the period reads 2019 — 2024. Validate it, commit to dev with a clear message, then show me the deploy status.

A well-behaved agent will call admin_schema, admin_read_file, admin_validate, admin_write_file and admin_deploy_status, in that order.

Rules worth keeping

  • Use dev for anything non-trivial, check https://dev.jenksguo.xyz, then promote. See Preview and promote.
  • Facts only. Content feeds the Ask Jenks assistant, which treats it as true. Do not let an AI add numbers, titles or claims you cannot back up.
  • Never put secrets in content — no tokens, phone numbers, home addresses or referee details. Everything under content/ is public.
  • Write in English. Translations into the six other languages are generated by CI; the glossary in content/corpus/i18n/glossary.json fixes headings and lens names.
  • Undo is a commit away. Git history keeps every version.

.md