plugins/tuturuuu. It packages
repo-specific operating knowledge as Codex skills so future agent sessions can
load focused guidance without copying long instructions into every prompt.
Discovery
Codex discovers repo-local plugins through.agents/plugins/marketplace.json. The Tuturuuu marketplace is named
tuturuuu, displays as Tuturuuu, and points its local plugin entry at
./plugins/tuturuuu.
After changing marketplace metadata or plugin files, validate the plugin and
refresh the repo-local marketplace from the repo root. Do not bump
plugins/tuturuuu/.codex-plugin/plugin.json version for ordinary authored
workflow updates unless a release workflow or user request requires it.
The repo-local plugin manifest is currently refreshed to 0.2.23.
Tuturuuu marketplace, and install or update the Tuturuuu plugin.
If Codex does not show the repo marketplace after restart, add the repo root as
a local marketplace source from the CLI:
skills.sh Discovery
The public skills.sh registry discovers skills from GitHub repositories after someone installs the repo with theskills CLI. The platform repo exposes the
Tuturuuu plugin skills for that flow through two root metadata files:
.claude-plugin/marketplace.jsonpoints compatible skill installers atplugins/tuturuuu/skills.skills.sh.jsongroups the public repo page so Tuturuuu skills appear ahead of unrelated installed project skills.
https://skills.sh/tutur3u/platform.
Included Skills
$tuturuuu-platform: repo-wide workflow guidance forapps/web,packages/*,apps/database,apps/docs, translations, navigation, and verification follow-through, including shared-worktree preflight and scoped staging expectations.$tuturuuu-cms-studio: CMS and external-project content studio guidance forapps/cms, branded project adapters, landing-page content editing, content collections, media workflows, preview delivery, and non-technical editor UX.$tuturuuu-satellite-app-ux: standalone app shell guidance for satellite apps such as Mail and CMS, including@tuturuuu/satelliteauth, app-session routes, i18n, workspace navigation, permissions, and focused operational UX.$tuturuuu-external-apps: external and branded sibling app integration guidance for app-token exchange, refreshable admin sessions, direct signed storage uploads, external-project mutations, delivery fallbacks, and sanitized diagnostics.$tuturuuu-e2e-auth-debugging: local E2E authentication guidance for native Playwright patch iteration,dev-session, guest access, onboarding redirects, app-session verification, rate-limit tests, and explicit Docker-parity auth checks.$tuturuuu-commit: scoped commit workflow guidance for explicit commit, commit-and-push, atomic staging, Conventional Commit subjects, shared-worktree path isolation, commit-window claim/wait/release, proof-gated no-verify commit evidence, hook failure handling, and final commit reporting.$tuturuuu-agent-coordination: shared-worktree coordination guidance for dirty checkouts, active ownership notes, archived context, overlapping edits, stale handoffs, explicit write sets, commit-window coordination, and path-scoped staging safety.$tuturuuu-cli: core nativettrCLI install, browser login, copy-token login, workspace discovery, scoped help, SDK-backed command surfaces, version checks, and release verification guidance. It documents autonomous Bun and CLI installation withcurl -fsSL https://bun.sh/install | bashon macOS/Linux,powershell -c "irm bun.sh/install.ps1 | iex"on Windows, thenbun i -g tuturuuu.$tuturuuu-cli-tasks: focusedttr tasksguidance for task capture, task board/list/label discovery, open-task defaults, compact task tables, task creation, splitting, movement, completion, closure, and task verification. It documents ttr-first task capture for requests to add, create, track, or split Tuturuuu tasks, including label discovery and closing superseded combined tasks after replacements are created.$tuturuuu-cli-finance: focusedttr financeguidance for wallet, transaction, category, budget, and recurring CRUD; analytics reads; finance pagination footers; explicit-workspace finance read diagnostics; and wrapped finance response normalization in the SDK client.$tuturuuu-development-tooling: shared guidance for improving Codex skills, plugin behavior, validation scripts, docs runbooks, helper scripts, and durable workflow learnings that should benefit future Tuturuuu contributors and assistants, including Turborepo/Next cache boundaries, local dev-speed diagnostics, release-please merge automation, and package release automation rules.$tuturuuu-devbox-ops: operational guidance forttr boxsetup, runner registration, one-shot smoke tests, 24/7 system services, runner-token cleanup, CLI upgrades, and infrastructure devbox observability.$tuturuuu-validation-offload: validation strategy guidance for deciding when to run focused tests,bun check, Supabase, Docker, or browser-heavy workflows through internal devboxes instead of the local agent session.$tuturuuu-web-release:apps/webrelease badge metadata, blue/green runtime snapshot fallback,PLATFORM_BUILD_*precedence, and release-please-managedTUTURUUU_PLATFORM_VERSIONguidance.$tuturuuu-mobile-task-board: Flutter mobile task-board guidance for task dates, overdue behavior, task detail routing, description mode, assignee flows, and release-please-managed mobile version metadata.$tuturuuu-database: Supabase migration, RLS, workspace-scoped API write, generated type, storage, and database verification guidance.$tuturuuu-ci-docs: GitHub Actions,tuturuuu.ts, validation script, docs-page, and docs navigation guidance.$tuturuuu-review-comments: GitHub PR review-thread guidance for checking, re-checking, validating, fixing, resolving, and committing unresolved review comments. Addressed review threads are resolved by default after validation; commits and pushes still require an explicit user request. Its bundledfetch_review_threads.pyhelper supports--active-only --summaryand emits review-thread counts for final re-check reports.
Translation Key Workflow
When a platform change introduces a new translation key, prefer the root helper instead of editing message JSON by hand:--dir apps/<app>/messages for non-standard message directories and
--all only for shared UI keys that must exist in every detected app message
setup. The helper detects locale JSON files in the target setup, requires a
value for each locale, blocks unsafe key paths, prevents accidental overwrites
unless --overwrite is passed, and writes sorted JSON. Manual message edits are
reserved for broad copy rewrites or value-only updates; run bun i18n:sort
after those edits.
For larger translation updates, use bulk modes instead of repeatedly editing
JSON:
--ignore-missing is
passed.
CI Coverage
.github/workflows/codex-plugin.yaml runs the plugin-local validator and parses
the docs navigation JSON. The workflow is enabled through tuturuuu.ts, matching
the repo’s other CI switchboard-controlled checks.
The CI check currently verifies:
- plugin manifest JSON and interface metadata
- natural default prompt examples for the invokable skills, written as short
user requests instead of visible
$skillcommands - dedicated prompt coverage for CMS studio and landing-page content management
- dedicated prompt coverage for external app integrations and direct uploads
- dedicated prompt coverage for satellite app UX and app-session workflows
- dedicated prompt coverage for native local E2E auth and dev-session debugging
- dedicated prompt coverage for shared-worktree coordination and agent handoff
- dedicated prompt coverage for devbox runner operations and validation offload
- dedicated prompt coverage for web release badge metadata
- durable CI tooling guidance for npm package release auto-recovery
- durable CI tooling guidance for Supabase CLI setup retry and GitHub-tokened release lookup
- durable CI tooling guidance for bounded Codecov coverage test retries
- scoped commit workflow coverage for explicit commit requests
- proof-gated no-verify commit evidence coverage
- commit-window claim, wait, release, and stale-lock guidance
- repo marketplace metadata at
.agents/plugins/marketplace.json - public skills.sh discovery metadata at
.claude-plugin/marketplace.json - public skills.sh grouping metadata at
skills.sh.json - skill folder and frontmatter naming parity
agents/openai.yamldefaults for every skill- skill
references/links - plugin docs page registration in
apps/docs/docs.json - Codex plugin workflow registration in
tuturuuu.ts - absence of scaffold
[TODO: ...]placeholders - absence of machine-specific local paths in plugin text
Shared Worktree Coordination
Agents should assume that humans or other agents may have uncommitted work in the same checkout. The docs-facing protocol lives in the Agent Operating Manual, and the agent-facing workflow lives in$tuturuuu-agent-coordination.
Use tmp/agent-coordination/ for lightweight agent-to-agent notes when work may
overlap, the worktree is dirty, the task is long-running, or the task changes
agent workflow rules. The directory is ignored by git, so it can hold live
intent, ownership, status, verification, risk, and handoff messages without
polluting commits.
Active notes are notes marked working, blocked, or handoff. Treat stale
active notes as ownership signals until you have read them and checked the
current worktree. Keep active notes as direct files under
tmp/agent-coordination/; archive completed notes under
tmp/agent-coordination/archive/<YYYY>/<original-note-name>.md after they are
marked done and no longer need top-level visibility.
Use bun git-commit-window before changing the staged set or creating commits
in a shared checkout. claim creates an advisory lock under
tmp/agent-coordination/git-commit-window.lock.json; wait sleeps until the
current lock is released or expires, then claims it before notifying the waiting
agent that it can commit. Claims default to 10 minutes, accept only 5-10-minute
TTLs, and should be held only while staging, inspecting, committing, amending,
rebasing, or finishing commit-and-push follow-through. Release the lock with
bun git-commit-window release --token <token> after the commit operation
finishes or aborts, and do not record tokens in coordination notes.
Archived notes are historical context for targeted lookup, not locks. Agents
should search them by path, feature, or workflow only when previous decisions or
verification matter to the current task. If another active note claims the same
file set, agents should choose non-overlapping slices, write a response note, or
ask the human partner to arbitrate. They should never format, stage, or fix
unrelated dirty files simply because a repo-wide check or commit hook reports
them.
The normal scoped commit path still lets Git hooks run. Agents may use
git commit --no-verify only when they can produce a proof packet for their
exact staged paths: reviewed status and staged diff output, path ownership,
separated validation mapped to the relevant bun check components, path-based
rationale for skipped components, and bun check:mobile coverage when
apps/mobile is touched. Incomplete proof, unclear ownership, or uncertain
check mapping means the hook should run or the risk should be reported instead
of bypassed.
AGENTS.md Split
RootAGENTS.md is intentionally a compact hard-policy index. Detailed
implementation gotchas and composable patterns live in focused Tuturuuu skill
references instead:
- web/API/shared UI patterns in
$tuturuuu-platform - release badge/version metadata in
$tuturuuu-web-release - database/API/storage patterns in
$tuturuuu-database - CI/root-script/tooling patterns in
$tuturuuu-development-tooling - Docker blue/green watcher patterns in
$tuturuuu-ci-docs - mobile task-board and overlay patterns in
$tuturuuu-mobile-task-board
AGENTS.md only when the rule is a
cross-cutting hard mandate that agents must see before skill loading.
Validate The Plugin
Run the local validator after changing the plugin manifest or its skills:.claude-plugin/marketplace.json and skills.sh.json.
For individual skills, run the Codex skill validator:
yaml, so it requires PyYAML in the active
Python environment. The plugin-local validator uses only the Python standard
library.
Maintenance Rules
- Keep
plugins/tuturuuu/.codex-plugin/plugin.jsonaligned with the plugin folder name. Do not bump itsversionfor ordinary authored work unless a release workflow or user request requires it; when a user explicitly asks for a plugin refresh, bump the manifest and keep this page current. - Keep each skill folder name aligned with its
SKILL.mdfrontmattername. - Keep plugin and skill default prompts short, natural, and action-oriented. Marketplace prompt cards should read like user goals, for example “Clear the unresolved review comments on this PR.”
- Keep skill text portable across machines. Prefer repo-relative paths,
<repo-root>, or~over user-specific absolute paths. - Put detailed guidance in
references/and keepSKILL.mdfocused on the workflow that should be loaded immediately. - Keep shared-worktree and commit-window coordination guidance aligned across
AGENTS.md, the Agent Operating Manual,$tuturuuu-agent-coordination, and$tuturuuu-commit. - Keep platform release/version guidance aligned across
AGENTS.md,$tuturuuu-web-release, and the Web Docker Deployment runbook. - Add marketplace metadata only when deciding where the plugin should be
installed from: repo-local
.agents/plugins/marketplace.jsonor home-local~/.agents/plugins/marketplace.json. - Keep public skills.sh metadata aligned across
.claude-plugin/marketplace.jsonandskills.sh.json; do not modify.agents/skillsjust to publish the Tuturuuu plugin skills.