TRACK 3

🚀 Projects

Six step-by-step projects on a real system (the 2026-09-14 diagnosis of this machine): migrate the first project, carry MCP and hooks between Claude and Codex, curate memory, wire up a third executor, isolate a client workspace — and close with the mindset that makes all of this last. Each project has a goal, commands, acceptance criteria and risks.

Portable core AGENTS.md context/ skills/ handoffs/ Plain Markdown · does not depend on any model Claude Codereads @AGENTS.md Codex CLIreads AGENTS.md local dshcontainer · local mode openpcbotv3curated vault · tiers read ↔ return handoff read ↔ return handoff

Read from the center outward: the portable core is a single one; the four executors (Claude, Codex, local dsh, openpcbotv3) read the same AGENTS.md and context/ and return work in the form of a handoff. Switching models does not move the center.

6
Projects
36
Topics
~4h
Duration
Interm.
Level
Track progress0%
0 of 36 topics

Track map

Detailed content

3.1~40 min

🚀 Project 1: migrate your first real project

Phases 0 and 2 of the migration plan applied to a real project: pick the pilot among the 13 projects Codex already trusts but enters "blind", create the global AGENTS.md, do the cleanup, run the five scripts and prove it with readback in both runtimes.

0 of 6 · 0%
What it is:

The diagnostic found 55 projects marked as trusted in Codex; 13 of them have a CLAUDE.md but no AGENTS.md (wifi, portal, inemapro-mono, timesmkt2, timesmkt3, inemacert, promoavatar2, skool-roast, imkt4, iccmonit, ATIA, claude-session-kit, agentes-fronteiros). In those, every Codex session starts from scratch.

Why learn it:

The right pilot is small, used every week and has its own CLAUDE.md — that way the readback measures something real, not a toy example.

Key concepts:

Trusted in Codex, "blind" project, ordering by usage, representative task.

What it is:

Phase 0: run adapt-instructions.sh ~/.claude, review the 71 portable lines, write ~/.codex/AGENTS.md and leave the global CLAUDE.md starting with @AGENTS.md plus the 7 residual lines.

Why learn it:

Without a global base, rules like commit author and where the keys live never reach Codex in any project.

Key concepts:

Global vs per-project instruction, @AGENTS.md, Claude residue, .proposto.md.

What it is:

Files like ruflo's CLAUDE.md (1,391 lines) or timesmkt2's (427) become noise in any runtime. Stable rules stay in AGENTS.md; decisions, sources and runbooks go to context/.

Why learn it:

Migrating raw only carries the noise along. The cleanup is the step the source text calls "Marie Kondo for your folders".

Key concepts:

Archive by default, bring back only when needed, short instruction and separate context.

What it is:

The kit's sequence applied to the pilot: diagnostic, inventory, instruction adaptation, portable core without overwriting anything, and the session-handoff skill ported via polyskill.

Why learn it:

Each script is reversible and produces evidence; skipping one of them is exactly where the migration turns into "guesswork".

Key concepts:

Fixed order, output in relatorios/, backup alongside, zero drift.

What it is:

readback-test.sh <projeto> both opens a fresh session in Claude and in Codex and asks for the goal, a rule with its source, the latest decision, the next action and any conflicts. The raw answer is saved in relatorios/.

Why learn it:

It is the only proof that the agent found, read, understood and used the context — a file merely existing does not count.

Key concepts:

Fresh session, cites AGENTS.md / tasks / handoffs, passed / failed / not run.

What it is:

The plan's criteria: readback approved in both runtimes, zero drift, an isolated clone passes check.sh, Claude setup intact. Everything recorded in tasks/current.md and handoffs/latest.md.

Why learn it:

The handoff is what lets the next session — in any runtime — pick up from the right point without rereading JSONL.

Key concepts:

Verifiable definition of done, handoff with checks already run, exact next action.

View Full
3.2~40 min

🔌 Project 2: MCP and hooks between Claude and Codex

Tools travel, events don't. Claude has magnific and metricool registered; Codex has zero MCP. SessionStart hooks don't exist in Codex. This project registers what can be registered, translates what can't, and unblocks the 15 skills flagged as "adapter".

0 of 6 · 0%
What it is:

The ~/.claude.json has magnific and metricool globally, plus klingai (wifi) and cerebro-vip (2cerebrox) per project. Codex's config.toml has no [mcp_servers] block at all.

Why learn it:

MCP gives access to tools and data; it doesn't migrate history or solve memory. Knowing exactly what each runtime sees avoids expecting something from Codex that it doesn't have.

Key concepts:

Global vs per-project MCP, .mcp.json, config.toml, account scope.

What it is:

Register the server in Codex pointing to the same key that already lives in ~/projetos/openpcbotv2/.env, loaded at runtime — never pasted into the config or the repo.

Why learn it:

Prompt A is explicit: translate MCP while keeping the account scope and the credential reference, without copying the value.

Key concepts:

Reference vs value, load at runtime, secrets outside the portable core.

What it is:

The 15 skills classified as "adapter" (avatar-heygen-nei, heygen-cli, heygen-mcp, espiona-ads, ugc-seedance25, website-intelligence, comfy-relay and the 8 printing-press ones) only work in Codex once the corresponding MCP is registered.

Why learn it:

The real blocker for portability is MCP, not the SKILL.md format — 72 of the 89 skills migrate without touching anything.

Key concepts:

Reusable vs adapter, tool dependency, port after the MCP.

What it is:

Claude fires 2 hooks on SessionStart (context-mode, fable-mindset). Codex's ~/.codex/hooks.json knows PostToolUse and Stop (used by impeccable), but has no session-start event.

Why learn it:

Never assume that hooks with similar names have the same semantics. The reusable logic goes into a shared script; each native event is validated separately.

Key concepts:

Event, payload, trust hash, shared script + native trigger.

What it is:

The hook that injects the "pacing rule" into Claude has no equivalent in Codex; the portable solution is to turn the playbook into a section of the global AGENTS.md, read as an instruction.

Why learn it:

When the native mechanism doesn't exist, the content can still travel — as plain Markdown. The same applies to silver-platter.

Key concepts:

Native → text, instruction instead of injection, Claude residue.

What it is:

Claude's 7 subagents (conselho, advogado-do-diabo, analista-neutro, diretor-ecossistema…) have no 1:1 equivalent in Codex. Each role becomes a skill with its own prompt — the same design openpcbotv3 uses in agents/ and personalidades/.

Why learn it:

A role is content; orchestration is mechanism. The content is portable, the mechanism stays outside the durable core.

Key concepts:

Role skill, persona prompt, orchestration outside the core.

View Full
3.3~40 min

🗃️ Project 3: curated memory

The agent proposes, you approve. Claude's memory (869 files, 227 folders) is raw material with no approval; the openpcbotv3 vault (MEMORY.md and USER.md) already has the right flow. This project turns the vault into the global overview of facts that Claude, Codex and dsh read.

0 of 6 · 0%
What it is:

The files in ~/.claude/projects/*/memory were written by the model, with no human review, and no other runtime sees them. Copying them in bulk carries the mistakes along with the hits.

Why learn it:

The plan is clear: promote fact by fact, deliberately, whenever the project is touched — never a bulk copy.

Key concepts:

Native memory vs source, deliberate promotion, raw evidence kept separate.

What it is:

In ~/vault/, the v3 bot keeps a curated MEMORY.md and USER.md: it proposes entries and you approve them via Telegram. USER.md goes into every bot prompt.

Why learn it:

It is the only place on the machine with personal facts approved by a human — exactly what Prompt B calls "promoting verified facts".

Key concepts:

Curated vault, global overview, verified fact with approval.

What it is:

The agent classifies the sentence (semantic or episodic), proposes the entry, and only /memoria aprovar <id> writes it to the vault. Questions never become facts.

Why learn it:

It separates fact from preference, hypothesis and decision at the point of entry — the problem Track 1 called "which of the versions is the correct one?".

Key concepts:

Proposal, human approval, semantic vs episodic, dedupe.

What it is:

The v3 nightly consolidation detects contradictions by date and marks the old entry with superseded_by. The old one leaves the context but stays in the database.

Why learn it:

It is the plan's conflict rule in practice: provenance and accepted decision beat timestamp, and nothing gets lost by accident.

Key concepts:

Contradiction by date, hiding vs deleting, backup before the run.

What it is:

v3 already injects USER.md into every prompt. Claude and Codex do the same through a read instruction in the global AGENTS.md; dsh, through the prime skill. One personal fact, one source, three executors.

Why learn it:

The system's acceptance criterion: in a fresh session, each runtime cites USER.md as the source of a personal fact.

Key concepts:

Single source, reading by instruction, no auto-load, readback with source.

What it is:

6,859 Claude sessions (2.3 GB) and 209 Codex sessions (601 MB) are history, not source. With handoff/prime running, sessions older than 90 days can be archived.

Why learn it:

Only after the cycle is up: handoff replaces the dependency on the JSONL files, not the other way around.

Key concepts:

History vs source, archive by default, order of operations.

View Full
3.4~40 min

🐳 Project 4: third executor

The dsh-sandbox (DeepSeek in a container) has been running on this machine for 12 days, with 3 skills copied by hand and no context layer. This project turns it into a second-line executor: same core, skills generated from the canonical source, and security preserved.

0 of 6 · 0%
What it is:

@deepseek-ai/dsh in Docker, dashboard at 127.0.0.1:9080. ./dsh local mounts ~/projetos and uses only Ollama; remoto uses OpenRouter with no projects; remoto-projetos requires typing CONFIRMO.

Why learn it:

It is a real third runtime, with a weaker harness — the case where the source text says it is worth taking care of your own harness.

Key concepts:

Container, swappable provider, mount tied to the provider, local model.

What it is:

formato-curso-v2, formato-curso-v5 and capa-inema were copied to ~/projetos/dsh-skills. When the original in formato-curso-inema changes, the copy does not follow.

Why learn it:

With four skill consumers (Claude 117, Codex 27, dsh 3, openpcbotv3 16), without a canonical source each one drifts on its own.

Key concepts:

Drift, canonical source, four consumers, generated copy vs manual copy.

What it is:

dsh accepts the same SKILL.md as Claude, so the new target copies dist/claude/<skill> to ~/projetos/dsh-skills/<skill> and the drift check now covers all 4 targets (claude, codex, dsh, v3).

Why learn it:

Today's 3 manual copies become generated ones — the acceptance criterion is drift with no DRIFT across every target.

Key concepts:

Target adapter, same format, drift in 4 places.

What it is:

dsh scans $DSH_HOME/skills, but does not read AGENTS.md on its own. A prime skill instructs it to read AGENTS.md, context/ and handoffs/latest.md from the project mounted in local mode.

Why learn it:

File names are a convention; no runtime auto-loads them. Whatever lacks a native mechanism gets the reading through a skill.

Key concepts:

Prime as a skill, path bridges in work/, explicit reading.

What it is:

~/projetos holds 269 secret files (including wifi/.env and openpcbotv2/.env). Mounting that with a remote provider would send everything out; that is why mount and provider are tied together and dsh refuses to expose the network.

Why learn it:

The plan's safety rule: readback in dsh only in local mode. A folder is organization; permission, mount and credential are what enforce access.

Key concepts:

Exclusive modes, network_mode host, frozen version, SSH tunnel.

What it is:

Readback in dsh through the panel, with the same 5 questions. The criterion is citing AGENTS.md, tasks and handoffs — not the quality of the writing. A local model performs worse; that is a limit of the model, not of portability.

Why learn it:

Compare in remote mode before concluding the structure failed. Skills written for Claude may fall short on a small model.

Key concepts:

Adjusted acceptance criterion, model limit vs structure limit, controlled comparison.

View Full
3.5~40 min

👥 Project 5: client workspace

Venn, scope and canaries. Two imaginary clients (North Star and Harbor): what they have in common goes to the center; what is exclusive stays in a private repo per client, with a dated context snapshot. The client add-on for Prompt B, step by step — and the test that proves isolation.

0 of 6 · 0%
What it is:

Find out what the two clients have in common (delivery patterns, skills, processes), centralize that part, and keep specific folders only for what is exclusive to each one.

Why learn it:

The bigger the middle area, the more reusable the system — and the less you rewrite per client.

Key concepts:

Shared vs exclusive, generic template, large common area.

What it is:

Each client project gets its own private repository (or an equivalent boundary) and starts with an approved context snapshot that records client ID, source, date and refresh rule. Sources from another client are rejected.

Why learn it:

A folder named "harbor" describes organization; only repo permission, mount and credential enforce access.

Key concepts:

Enforced boundary, dated snapshot, client ID, deliberate refresh.

What it is:

Client facts, credentials, records and logs never go into the global CLAUDE.md/AGENTS.md or the personal vault. Mixed work runs in separate pilots, with separate roots.

Why learn it:

Universal memory leaks context from one client to another without anyone noticing — it is the most expensive mistake in the agnostic model.

Key concepts:

Global vs client scope, separate roots, separate pilots.

What it is:

The "Client workspace" block appended to Prompt B: one named client, one pilot, reused generic patterns, repo access verification, mounts, connectors, retrieval permissions and backups.

Why learn it:

It starts in MODE: audit, like everything else: the agent returns the tree, owners and tests before touching any file.

Key concepts:

CLIENT_SCOPE, audit first, access verification, one client at a time.

What it is:

Plant a fake, unique piece of data in client A; ask for it in a client B session. If it shows up, the backend leaked. If the model "politely refuses", that proves nothing about the backend.

Why learn it:

Without a canary you only have the model's word. Unverified enforcement must be labeled as such.

Key concepts:

Canary, synthetic data, backend proof, "unverified" label.

What it is:

The template only goes to the second client once the first has passed standalone, readback and canary. For multiple clients, the add-on is repeated with a specific ID each time.

Why learn it:

One owner and one worktree per concurrent change; a shared folder is not a lock and a worktree does not enforce client isolation.

Key concepts:

Pilot passed, one ID per round, worktree ≠ isolation.

View Full
3.6~40 min

🧭 Project 6: the mindset

All of this is iterative. Every change improves one model and breaks another; closed models may stop needing skills; you move on to managing context, state, tools, processes and validation — not prompts. Closes with the failure changelog and what to do tomorrow.

0 of 6 · 0%
What it is:

An edit to a skill can make it better for Claude and worse for Codex or for a local model. There is no final version; there is the version tested today.

Why learn it:

Without readback and drift per runtime, you don't discover the regression until the day you need it.

Key concepts:

Iteration, cross regression, testing per runtime.

What it is:

Discovery paths, config formats, hook events and permissions change from version to version. The prompts require checking the installed behavior with --help and the official documentation, never inventing an import command.

Why learn it:

Codex CLI 0.154 has no import; the app does. That kind of detail only shows up when you look.

Key concepts:

Check before converting, official docs, installed version.

What it is:

If closed models are trained on your conversations and absorb the capabilities, many skills become unnecessary. Local models will probably keep depending on them.

Why learn it:

Building agnostic is not betting against anyone: it is keeping the structure working while what each provider requires changes.

Key concepts:

Absorbed capability, skill as a temporary crutch, structure that survives.

What it is:

The shift in the job: instead of collecting prompts, you maintain context, current state, registered tools, written processes and validation criteria. The prompt becomes a consequence.

Why learn it:

It is what the second source text calls moving from philosophy to process: AUDIT → ORGANIZE → SOURCE OF TRUTH → ADAPT → TEST → HANDOFF.

Key concepts:

Agent management, the six verbs of the process, prompt as a by-product.

What it is:

FALHAS.md: date, what broke, the smallest possible fix, and whether it was a prompt or an infra problem. The kit already has two real lines: the forced bwrap sandbox and the wrong audit count.

Why learn it:

After about ten lines the pattern shows up — and you stop rebuilding things that only needed a safeguard.

Key concepts:

Smallest fix, prompt vs infra, pattern in ten lines.

What it is:

The course summary in one sentence and the next concrete action: Phase 0 with adapt-instructions.sh ~/.claude, write the global AGENTS.md and run the first readback on a real project.

Why learn it:

A course that ends without an exact next action becomes theory. The handoff applies to you too.

Key concepts:

Executors on top of a portable layer, exact next action, the smallest remaining step.

View Full