{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreicbneazamibe2srzm3oawesr2kr7dd3frwakxbpqg2zn25xieep7y",
    "uri": "at://did:plc:lk3jfj3zq4k4wxnk474axylu/app.bsky.feed.post/3momn646vsez2"
  },
  "path": "/t/add-persistent-user-preference-recall-across-codex-cli-conversations/1378787#post_10",
  "publishedAt": "2026-06-19T04:36:22.000Z",
  "site": "https://community.openai.com",
  "tags": [
    "@adrian.a.adewunmi"
  ],
  "textContent": "@adrian.a.adewunmi the “ambient defaults vs triggered workflows” line is the whole\nthing, I think. Skills (and the umbrella-project trick) both need _something to fire\nthem_ — a recognizable task, an invocation. But review depth, PR tone, verbosity,\nlanguage aren’t workflows you trigger; they’re the baseline the agent should already\nbe standing on before it does anything. The moment you have to remember to invoke\nyour own defaults, they’ve stopped being defaults.\n\nThat’s also why the umbrella project rubs wrong — you nailed it. It centralizes\ncontext, but it does it by collapsing the two things that actually want to stay\napart: “how this codebase works” (local, per-repo) and “how I work” (portable,\nper-me). Stuffing both into one umbrella just moves the leak around.\n\nThe layering you keep coming back to — repo instructions → user defaults → per-chat\noverrides — is the right shape, and the part I’d stress is that it’s a _precedence_\nmodel, not a merge. User defaults travel with you; repo context stays pinned to its\nrepo and never bleeds into the next one; a per-chat override wins for that chat only\nand doesn’t quietly graduate into a new default. When I built my own version of\nthis, getting that precedence + the no-leak boundary right was 90% of the value —\nthe storage part was the easy bit.\n\nWhether Codex grows a first-class layer or not, that boundary is the part worth\nholding out for.",
  "title": "Add persistent user preference recall across Codex CLI conversations"
}