Skip to main content
JGJenks 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, guarded by your personal token (agent-env:JENKSGUO_ADMIN_TOKEN in the Keychain). Pick whichever fits the moment:

Interface Best for
Console at https://jenksguo.xyz/admin Browsing and editing by hand with a live 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.

Load the token

export JENKSGUO_ADMIN_TOKEN="$(security find-generic-password -s agent-env:JENKSGUO_ADMIN_TOKEN -w)"
jenks admin whoami

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