{"id":"822ecfa7-13d5-429e-9be6-d80df436a998","shortId":"j7epDB","kind":"skill","title":"codex-fast-proxy","tagline":"Codex App Fast proxy and auth-split for third-party OpenAI-compatible APIs. Supports Sign in with ChatGPT, priority service_tier, Responses API benchmark, enable/check/update/uninstall.","description":"Use this skill when the user wants Codex to manage the local auth-split and Fast proxy for Codex App.\n\n## Trigger patterns\n\n- Enable requests such as \"enable Codex Fast proxy\".\n- App Fast requests such as \"make Codex App use Fast\".\n- Provider-specific requests such as \"enable Fast for PackyAPI\".\n- ChatGPT login compatibility requests such as \"plugins work but model requests return 401\".\n- Benchmark requests such as \"run the Fast proxy benchmark\" or \"check whether my provider supports Fast\".\n- Upstream URL changes such as \"set the Codex Fast proxy upstream to https://api.example.com/v1\".\n- Maintenance requests such as \"show status\", \"check updates\", \"stop\", or \"uninstall\".\n\n## How to execute\n\nRun the manager as the source of truth:\n\n```powershell\npython -m codex_fast_proxy doctor\npython -m codex_fast_proxy install --start\npython -m codex_fast_proxy install --start --use-provider-auth-file\npython -m codex_fast_proxy prepare-chatgpt-login\npython -m codex_fast_proxy prepare-chatgpt-login --apply\npython -m codex_fast_proxy verify-upstream --upstream-base https://api.example.com/v1\npython -m codex_fast_proxy set-upstream --upstream-base https://api.example.com/v1\npython -m codex_fast_proxy set-upstream --use-provider-auth-file\npython -m codex_fast_proxy set-upstream --clear-upstream-auth\npython -m codex_fast_proxy set-upstream --service-tier-policy auto\npython -m codex_fast_proxy set-upstream --service-tier-policy inject_missing\npython -m codex_fast_proxy status\npython -m codex_fast_proxy check-update\npython -m codex_fast_proxy benchmark\npython -m codex_fast_proxy autostart --quiet\npython -m codex_fast_proxy stop --force\npython -m codex_fast_proxy uninstall --defer-stop\npython -m codex_fast_proxy uninstall\n```\n\n## Safety model\n\n- Installing the repo or skill must not change Codex provider config.\n- Enable with `install --start`; it starts the local proxy before switching Codex config.\n- Enable also installs one user-level Codex `SessionStart` hook in `~/.codex/hooks.json` and enables\n  the Codex hooks feature flag. Newer Codex builds use `features.hooks = true`; older docs/builds\n  may refer to `features.codex_hooks`. During the CLI/App transition, write both keys and treat\n  either key as enabled. The hook starts a missing proxy on future Codex sessions only when the\n  recorded provider still points to the local proxy. It must not restart an already healthy proxy\n  just because runtime code is stale. Current Codex builds may also require a trusted hook state\n  entry, so treat `startup_hook: true` as installed, enabled, and trusted; if `startup_hook_trust`\n  reports `modified` or `untrusted`, rerun enable/update instead of relying on `~/.codex/hooks.json`\n  alone.\n- After an enabled update, `install --start` compares the running proxy runtime with the installed\n  code and restarts stale proxy runtime before returning when config still points to the local proxy.\n  Codex may fire `SessionStart` for each new or resumed session; `autostart --quiet` does not log\n  normal no-op checks and does not refresh stale runtime implicitly.\n- Do not run plain `install` to enable the proxy; the manager rejects config switching without `--start`.\n- Default service tier policy is `auto`: ChatGPT-login or unclear states preserve Codex App/CLI Fast\n  choices, while API-key mode can inject priority when Codex omits `service_tier` because the App\n  Fast UI may not be available. Use `--service-tier-policy inject_missing` only when the user\n  explicitly asks for global Fast injection and accepts that Codex App's Fast UI toggle will no\n  longer control missing tiers. Use `--service-tier-policy preserve` only when the user explicitly\n  wants no proxy-side Fast injection.\n- Before first enable or model-path setting changes, `install --start` verifies the candidate\n  upstream and auth source with one side-path Codex-style `POST /v1/responses` request using\n  `stream=true`. If verification fails, do not pass `--no-verify` unless the user explicitly accepts\n  that future Codex model requests may fail.\n- Existing enabled installs that do not yet have `service_tier_policy` in settings are legacy\n  global-Fast installs when they do not also have split upstream auth; preserve that behavior as\n  `inject_missing` unless the user explicitly asks for App-controlled Fast. Missing policy plus\n  split upstream auth belongs to the ChatGPT-login auth split path and should be treated as\n  App-controlled `preserve`.\n- For ChatGPT account login compatibility, prefer the proxy-managed provider auth file over editing\n  `auth.json`, passing literal keys, or writing global user environment variables. This makes the\n  proxy replace the upstream model-provider `Authorization` header for requests already routed\n  through the local proxy while leaving ChatGPT plugin/GitHub/App connector requests alone. In this\n  override mode, the proxy also drops unexpected `Cookie` headers before forwarding provider API\n  requests. Existing `--upstream-api-key-env <ENV_NAME>` installs remain supported as an advanced\n  compatibility path.\n- When the user wants ChatGPT login compatibility, run `prepare-chatgpt-login` as a dry run first.\n  It may find the current working provider key in `auth.json` or the environment, but it must not\n  print the key. Report the non-secret JSON fields, ask for approval, then run\n  `prepare-chatgpt-login --apply`. After apply, run `set-upstream --use-provider-auth-file` so a\n  streaming `/v1/responses` side-path verification succeeds before settings are saved.\n- If `set-upstream --use-provider-auth-file` returns `restart_required=true` or a following\n  `status` reports `needs_restart=true`, do not tell the user they can sign in with ChatGPT yet.\n  Explain that provider auth was verified and saved, but the running proxy has not loaded the new\n  override yet. The user must restart Codex App or explicitly allow `python -m codex_fast_proxy start`\n  before signing in with ChatGPT.\n- After provider auth split is active and `status.needs_restart=false`, tell the user they can sign\n  in with ChatGPT, and report the `chatgpt_login_windows_troubleshooting` JSON field when present.\n- If proxy startup or config switching fails, the manager restores the backed-up config before returning.\n- Use `set-upstream` when the user wants to change the provider URL, upstream auth source, or\n  service tier policy while the proxy is already enabled. It must keep Codex config pointed at the\n  local proxy, update the saved settings and uninstall baseline, and refuse to run if config no\n  longer points to the recorded proxy.\n  Do not pass `--restart` unless the user explicitly accepts that restarting the proxy can interrupt\n  current proxy-backed Codex sessions. Without `--restart`, tell the user to restart Codex App, open a\n  new CLI process, or run `start` later to apply the new upstream.\n- Use `verify-upstream` when the user asks to test a candidate upstream or auth source without\n  changing local state. It must run the same streaming `/v1/responses` side-path check as\n  `set-upstream`, then stop without writing settings, editing Codex config, installing hooks, or\n  restarting the proxy.\n- Do not edit the active provider `base_url` directly while the proxy is enabled. For ChatGPT login\n  compatibility, configure upstream provider auth with `prepare-chatgpt-login --apply` and\n  `set-upstream --use-provider-auth-file` rather than editing `auth.json`. Model, reasoning, and other Codex config fields can still be\n  edited directly by the user or agent.\n- Running Codex processes do not hot-switch provider config. After enable, restart Codex App and resume the same conversation if desired, or open a new CLI process.\n- If the current process is already using the proxy, stopping the proxy can interrupt the conversation. Disable with `uninstall --defer-stop`, tell the user to restart Codex App or open a new CLI process, then run uninstall again to finish cleanup.\n- If uninstall output has `status=\"confirmation_required\"`, no uninstall changes were applied.\n  Report `direct_upstream_auth_warning` first. Ask whether the user wants to keep the proxy enabled,\n  switch Codex App back to API-key/third-party provider auth before uninstalling, or explicitly\n  continue despite the ChatGPT-login direct-upstream 401 risk. Only after explicit confirmation,\n  rerun with `--confirm-chatgpt-direct-uninstall`.\n- If confirmed uninstall output includes `direct_upstream_auth_warning`, report it before any restart\n  instruction. Restored direct upstream mode no longer has the proxy auth override; if Codex App\n  remains signed in with ChatGPT, a third-party provider may receive ChatGPT auth and return 401.\n  Tell the user to switch back to API-key/third-party provider auth before restarting, or keep the\n  proxy enabled if they want ChatGPT-login UI with a third-party provider.\n- Uninstall removes only the `codex-fast-proxy` hook and must preserve unrelated hooks.\n- Do not run `stop` while Codex config still points to the proxy unless the user explicitly accepts that current and future sessions may fail.\n- Run `benchmark` only when the user explicitly asks for an A/B check or confirms the cost. The\n  default benchmark uses `codex-cli` mode: it starts a local forwarding capture proxy, launches real\n  `codex exec` requests, and runs three interleaved default-vs-priority pairs against the saved\n  upstream. It can consume noticeable token quota. It uses existing Codex/provider authentication\n  when available, records upstream latency without storing response content, and should compare\n  full-response latency even when the provider response does not expose `service_tier`.\n- When the user asks whether their provider supports Fast/Priority, run or request enough input to run\n  `benchmark` with the default `full` profile. Do not use normal proxy logs, `service_tier_injected=true`, or HTTP 200 responses as\n  proof of provider Fast support; those only prove the proxy sent a successful request. If automatic\n  auth discovery cannot find a key in env/provider config/`~/.codex/auth.json`, ask the user for the\n  API key environment variable name and rerun with `--api-key-env`.\n- The default benchmark timeout is 600 seconds per sample. If `full` benchmark reports\n  `TimeoutExpired`, rerun with a larger explicit timeout such as `--timeout 900` before drawing a\n  stability conclusion.\n- `status` and `doctor` include a local health check and runtime check; treat `healthy=false` as a\n  reason to stop and diagnose before continuing. If `status.needs_restart=true` after update, tell\n  the user to restart Codex App, open a new CLI process after the old proxy is gone, or run\n  `python -m codex_fast_proxy start` when it is safe to refresh runtime code. The startup hook should\n  not restart an already healthy proxy just because runtime code is stale.\n- If the user asks only to check for updates, run `check-update` and stop. It is read-only and must\n  not pull, install, restart the proxy, edit Codex config, or write proxy state.\n- After a successful enable, report the JSON result, the top-level `next_user_action`, and the\n  `chatgpt_login_hint` message. If `chatgpt_login_hint.status=optional_setup_available`, tell the\n  user they can keep API-key mode for third-party API plus global Fast, and should run\n  `prepare-chatgpt-login` before switching Codex App to ChatGPT login for plugin marketplace,\n  GitHub/Apps/connectors, manual Fast controls, status hints, and voice input. Avoid chaining\n  unrelated work in the same turn.\n\n## Sandbox and approval discipline\n\n- Operations that clone from GitHub, install with `pip`, create `~/.agents` skill links, write `~/.codex/config.toml`, write `~/.codex/hooks.json`, start a background proxy, or remove installed files may need user approval or elevated sandbox permissions.\n- If the harness supports escalation, request approval for the intended command instead of trying alternate paths.\n- If a command fails because of network, permissions, sandbox write limits, skill link creation, or background-process restrictions, stop and rerun the same intended action with approval. Do not invent workarounds that bypass the user's sandbox policy.\n- Do not print API keys, request bodies, prompts, or Codex history. Do not edit `auth.json` unless\n  the user explicitly asks for a recovery action; prefer copying the current working provider key to\n  the proxy-managed provider auth file with `prepare-chatgpt-login --apply`.\n\n## User handoff messages\n\n- After `.codex/INSTALL.md` or `.codex/UPDATE.md` changes skill files, explicitly tell the user to restart Codex App and return to the conversation, or open a new CLI process, so Codex can rescan `~/.agents/skills`; then ask Codex to enable Codex Fast proxy.\n- After `.codex/UNINSTALL.md`, explicitly tell the user to restart Codex App, or open a new CLI process, so Codex removes `codex-fast-proxy` from the skill list.\n- After a successful `install --start`, explicitly tell the user that Fast proxy is enabled, but the current Codex process will not hot-switch; they should restart Codex App and return to the conversation, or open a new CLI process.\n- After a successful `install --start`, always append this optional ChatGPT-login UI note even if\n  the status summary is already long: the user may keep API-key mode for third-party API plus global Fast. If they want richer Codex App UI such as plugin marketplace, GitHub/Apps/connectors, manual Fast controls, status hints, and voice input, they should run `prepare-chatgpt-login` before switching Codex App to ChatGPT login; switching directly may cause 401.\n- After `uninstall --defer-stop` returns `status=\"confirmation_required\"`, explicitly tell the user\n  no uninstall changes were applied because ChatGPT login appears active and direct upstream may\n  return 401. Do not tell the user to restart yet.\n- After `uninstall --defer-stop` returns `status=\"uninstalled\"`, explicitly tell the user that Codex\n  config has been restored to direct upstream, and the proxy was left running temporarily to avoid\n  interrupting the current process. They should restart Codex App and return to the conversation, or\n  open a new CLI process, then run uninstall again to finish cleanup.\n- If `direct_upstream_auth_warning` is present after a confirmed uninstall, first warn that ChatGPT\n  login appears active. After direct upstream restore, requests no longer pass through the proxy\n  upstream auth override. Keeping ChatGPT login may send ChatGPT auth to the third-party provider\n  and return 401. The user should switch back to API-key/third-party provider auth before\n  restarting, or keep the proxy enabled for ChatGPT-login UI with a third-party provider.\n\nUse `--provider <name>` only when the user names a provider or when `doctor` reports that no active provider can be selected.\n\nUse `--upstream-base <url>` only when Codex config does not contain a usable provider `base_url` or the user explicitly wants a different upstream.\nUse `--upstream-api-key-env <ENV_NAME>` only as an advanced compatibility path with an environment variable name, never a literal key value.\nUse `--clear-upstream-auth` when the user wants to stop overriding upstream Authorization and\nreturn to Codex's original provider auth behavior.\n\nFor upstream URL changes after enable, prefer `set-upstream --upstream-base <url>` over rerunning\n`install --start --upstream-base <url>`.\n\n## Result handling\n\n- Treat the JSON output as the source of truth.\n- Report `provider`, `base_url`, `upstream_base`, `service_tier_policy`, `upstream_auth`, `running`,\n  `diagnosis`, `provider_auth_preparation`, `chatgpt_login_hint`, `next_user_action`,\n  `chatgpt_login_windows_troubleshooting` when present, `runtime_matches`, `needs_restart`, and\n  backup or restore status.\n- Use `status.runtime` when diagnosing stale runtime, wrong Python executable, or a startup hook that\n  points at a different checkout. Do not infer hook readiness from `~/.codex/hooks.json` alone.\n- For App-specific traffic checks, use recent `/v1/responses` events as model-generation evidence.\n  Treat `GET /v1/models` as provider metadata checks; do not report isolated `/v1/models` failures as\n  model-generation failure unless `/v1/responses` also fails.\n- Do not print API keys, `auth.json`, request bodies, prompts, or Codex history.\n- For benchmark results, report profile, medians, observed speedup, `priority_accepted`,\n  `observed_priority_effective`, provider-confirmed priority metadata when present, sample counts,\n  `service_tier_control.valid`, and errors. Prioritize full-response total latency and first-output\n  latency over first-event/TTFB.\n  Treat `priority_accepted=true` as proof that the wire parameter is accepted, and\n  `observed_priority_effective=true` as proof that this measured workload benefited. Report\n  `benchmark_mode` and do not present Codex CLI/app-server benchmark results as an App-specific\n  guarantee. For App-specific verification, use recent dashboard/proxy traffic after the user sends\n  an App message. `priority_accepted=true` means at least one priority sample succeeded; always\n  report the displayed `ok/count` sample counts with it. Do not claim a guaranteed speedup from a\n  single run.\n- If install or update changed the skill files, tell the user to restart Codex.\n\n## Expected behavior\n\n- `install --start` backs up `~/.codex/config.toml`.\n- The selected provider's original `base_url` becomes `upstream_base`.\n- The selected provider's `base_url` becomes `http://127.0.0.1:8787/v1`.\n- Before switching config on first enable, `install --start` verifies a streaming `/v1/responses`\n  request against the candidate upstream/auth route unless the user explicitly accepted\n  `--no-verify`.\n- `verify-upstream` reports the same candidate route validation without changing persistent state.\n- `set-upstream` updates the saved `upstream_base`, service tier policy, upstream auth source, and\n  uninstall recovery baseline without changing model, reasoning, tools, input, or literal\n  API key values. Before writing settings, it sends one side-path Codex-style `POST /v1/responses`\n  request with `stream=true` to the candidate upstream/auth source. This is real provider traffic;\n  if it fails, do not add `--no-verify` unless the user explicitly accepts that future Codex\n  requests may break. It applies immediately only when the proxy is not running or the user\n  explicitly accepted `--restart`; otherwise it defers restarting a running proxy to avoid cutting\n  off the current response.\n- A `SessionStart` hook calls the current Python executable with\n  `-m codex_fast_proxy autostart --quiet` on future Codex sessions.\n- By default `auto` preserves Codex App/CLI `service_tier` choices in ChatGPT-login or unclear\n  states, and can inject `service_tier=\"priority\"` in API-key mode when that field is absent. Only\n  explicit `inject_missing` forces global Fast regardless of login mode.\n- Optional upstream auth split applies to proxied provider API requests, not to ChatGPT plugin,\n  GitHub, Apps, connector, cookie, or token traffic; override mode replaces `Authorization` and drops\n  unexpected `Cookie` headers before forwarding upstream.\n- `benchmark` compares synthetic Codex-style requests with no `service_tier` against\n  `service_tier=\"priority\"`. The default `codex-cli` mode is intended to measure real Codex\n  acceleration; `--profile smoke` is only for low-cost connectivity checks, and `--mode direct` is a\n  less representative fallback when Codex CLI is unavailable. It stores only redacted metrics in\n  `~/.codex/codex-fast-proxy-state/state/fast_proxy.benchmark.json`. The local dashboard shows the\n  latest saved benchmark summary and never starts benchmark runs.\n- `uninstall` restores the full backup when the current config still matches the installed state.\n- If the config changed but the selected provider still points to the local proxy, `uninstall` restores only that provider's `base_url` to `upstream_base` and preserves other config changes.\n- If ChatGPT login is active and uninstall would newly restore direct upstream, `uninstall` returns\n  `status=\"confirmation_required\"` before changing config, hooks, proxy process, or files unless\n  `--confirm-chatgpt-direct-uninstall` is explicit.\n- If `uninstall` reports `config_restore=\"skipped_config_changed\"`, do not delete the package or repo; the selected provider no longer points to the recorded proxy, so ask the user before using `--force`.","tags":["codex","fast","proxy","gaoguobin","agent-skills","ai-agents","codex-app","codex-skill","fast-mode","openai-codex","openai-compatible","openai-compatible-api"],"capabilities":["skill","source-gaoguobin","skill-codex-fast-proxy","topic-agent-skills","topic-ai-agents","topic-codex","topic-codex-app","topic-codex-skill","topic-fast-mode","topic-openai-codex","topic-openai-compatible","topic-openai-compatible-api","topic-proxy","topic-responses-api","topic-service-tier"],"categories":["codex-fast-proxy"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/gaoguobin/codex-fast-proxy/codex-fast-proxy","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add gaoguobin/codex-fast-proxy","source_repo":"https://github.com/gaoguobin/codex-fast-proxy","install_from":"skills.sh"}},"qualityScore":"0.465","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 30 github stars · SKILL.md body (20,453 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:04:30.890Z","embedding":null,"createdAt":"2026-05-09T01:05:24.644Z","updatedAt":"2026-05-18T19:04:30.890Z","lastSeenAt":"2026-05-18T19:04:30.890Z","tsv":"'/.agents':1888 '/.agents/skills':2044 '/.codex/auth.json':1636 '/.codex/codex-fast-proxy-state/state/fast_proxy.benchmark.json':3067 '/.codex/config.toml':1892,2749 '/.codex/hooks.json':361,465,1894,2551 '/third-party':1342,1427,2348 '/ttfb':2642 '/v1':127,208,222 '/v1/models':2570,2579 '/v1/responses':656,900,1155,2561,2587,2780,2850 '127.0.0.1':2767 '200':1608 '401':96,1358,1416,2196,2225,2338 '600':1659 '8787/v1':2768 '900':1677 'a/b':1498 'absent':2965 'acceler':3037 'accept':597,674,1093,1480,2611,2645,2654,2701,2791,2878,2899 'account':752 'action':1811,1952,1989,2510 'activ':987,1182,2219,2308,2384,3130 'add':2870 'advanc':829,2422 'agent':1235 'allow':970 'alon':466,801,2552 'alreadi':421,789,1053,1269,1753,2140 'also':351,434,705,808,2588 'altern':1925 'alway':2125,2710 'api':20,30,559,816,821,1340,1425,1642,1651,1830,1837,1969,2147,2154,2346,2416,2593,2834,2958,2985 'api-key':558,1339,1424,1829,2146,2345,2957 'api-key-env':1650 'api.example.com':126,207,221 'api.example.com/v1':125,206,220 'app':6,53,64,71,572,600,723,747,967,1114,1250,1292,1336,1399,1718,1851,2028,2062,2108,2163,2188,2272,2555,2681,2686,2698,2992 'app-control':722,746 'app-specif':2554,2680,2685 'app/cli':554,2939 'appear':2218,2307 'append':2126 'appli':194,885,887,1125,1205,1317,2010,2214,2886,2981 'approv':878,1877,1906,1917,1954 'ask':591,720,876,1136,1324,1495,1577,1637,1765,1985,2046,3185 'auth':11,46,174,234,247,645,709,731,738,761,895,917,946,984,1043,1143,1199,1213,1321,1344,1378,1395,1413,1429,1627,2003,2294,2321,2329,2350,2439,2456,2499,2503,2820,2979 'auth-split':10,45 'auth.json':765,858,1218,1980,2595 'authent':1547 'author':785,2448,3001 'auto':260,545,2936 'automat':1626 'autostart':300,507,2928 'avail':578,1549,1822 'avoid':1867,2263,2909 'back':1024,1103,1337,1422,2343,2747 'backed-up':1023 'background':1897,1943 'background-process':1942 'backup':2522,3086 'base':205,219,1184,2392,2403,2470,2477,2491,2494,2755,2759,2764,2815,3116,3120 'baselin':1071,2825 'becom':2757,2766 'behavior':712,2457,2744 'belong':732 'benchmark':31,97,105,294,1489,1506,1590,1656,1665,2603,2668,2676,3010,3075,3080 'benefit':2666 'bodi':1972,2597 'break':2884 'build':371,432 'bypass':1960 'call':2918 'candid':642,1140,2784,2801,2857 'cannot':1629 'captur':1517 'caus':2195 'chain':1868 'chang':115,333,637,1038,1146,1315,2018,2212,2461,2733,2805,2827,3099,3125,3144,3166 'chatgpt':25,84,183,192,547,736,751,797,836,842,883,941,981,1000,1004,1193,1203,1353,1368,1404,1412,1441,1814,1846,1853,2008,2130,2183,2190,2216,2305,2324,2328,2360,2505,2511,2945,2989,3127,3154 'chatgpt-login':546,735,1352,1440,2129,2359,2944 'chatgpt_login_hint.status':1819 'check':107,134,287,516,1159,1499,1690,1693,1768,1773,2558,2574,3047 'check-upd':286,1772 'checkout':2544 'choic':556,2942 'claim':2721 'cleanup':1305,2290 'clear':245,2437 'clear-upstream-auth':244,2436 'cli':1118,1262,1297,1510,1722,2038,2067,2118,2282,3029,3058 'cli/app':384 'cli/app-server':2675 'clone':1881 'code':427,481,1745,1759 'codex':2,5,40,52,61,70,120,153,159,166,178,187,197,211,225,238,250,263,277,283,291,297,304,311,320,334,348,357,365,370,403,431,497,553,566,599,653,677,966,973,1058,1104,1113,1170,1223,1237,1249,1291,1335,1398,1455,1469,1509,1521,1717,1734,1791,1850,1975,2027,2041,2047,2050,2061,2070,2073,2097,2107,2162,2187,2247,2271,2395,2452,2600,2674,2742,2847,2881,2925,2932,2938,3014,3028,3036,3057 'codex-c':1508,3027 'codex-fast-proxi':1,1454,2072 'codex-styl':652,2846,3013 'codex/install.md':2015 'codex/provider':1546 'codex/uninstall.md':2054 'codex/update.md':2017 'command':1921,1929 'compar':473,1559,3011 'compat':19,86,754,830,838,1195,2423 'conclus':1682 'config':336,349,490,536,1016,1026,1059,1077,1171,1224,1245,1470,1635,1792,2248,2396,2771,3090,3098,3124,3145,3162,3165 'configur':1196 'confirm':1311,1363,1367,1372,1501,2204,2300,2617,3141,3153 'confirm-chatgpt-direct-uninstal':1366,3152 'connect':3046 'connector':799,2993 'consum':1539 'contain':2399 'content':1556 'continu':1349,1705 'control':608,724,748,1861,2172 'convers':1255,1279,2033,2113,2277 'cooki':811,2994,3005 'copi':1991 'cost':1503,3045 'count':2623,2716 'creat':1887 'creation':1940 'current':430,853,1100,1266,1482,1993,2096,2266,2913,2920,3089 'cut':2910 'dashboard':3070 'dashboard/proxy':2691 'default':540,1505,1529,1593,1655,2935,3026 'default-vs-prior':1528 'defer':316,1284,2200,2237,2903 'defer-stop':315,1283,2199,2236 'delet':3169 'desir':1257 'despit':1350 'diagnos':1703,2529 'diagnosi':2501 'differ':2411,2543 'direct':1186,1230,1319,1356,1369,1376,1387,2193,2221,2253,2292,2310,3050,3136,3155 'direct-upstream':1355 'disabl':1280 'disciplin':1878 'discoveri':1628 'display':2713 'docs/builds':376 'doctor':156,1685,2380 'draw':1679 'dri':846 'drop':809,3003 'edit':764,1169,1180,1217,1229,1790,1979 'effect':2614,2658 'either':391 'elev':1908 'enabl':56,60,80,337,350,363,394,448,469,530,631,683,1054,1191,1247,1333,1436,1800,2049,2093,2357,2463,2774 'enable/check/update/uninstall':32 'enable/update':460 'enough':1586 'entri':440 'env':823,1653,2418 'env/provider':1634 'environ':773,861,1644,2427 'error':2626 'escal':1915 'even':1564,2134 'event':2562,2641 'evid':2567 'exec':1522 'execut':141,2534,2922 'exist':682,818,1545 'expect':2743 'explain':943 'explicit':590,621,673,719,969,1092,1348,1362,1479,1494,1672,1984,2021,2055,2085,2206,2242,2408,2790,2877,2898,2967,3158 'expos':1571 'fail':663,681,1018,1487,1930,2589,2867 'failur':2580,2585 'fallback':3055 'fals':991,1696 'fast':3,7,49,62,65,73,81,103,112,121,154,160,167,179,188,198,212,226,239,251,264,278,284,292,298,305,312,321,555,573,594,602,627,699,725,974,1456,1614,1735,1840,1860,2051,2074,2090,2157,2171,2926,2972 'fast/priority':1582 'featur':367 'features.codex':380 'features.hooks':373 'field':875,1009,1225,2963 'file':175,235,762,896,918,1214,1902,2004,2020,2736,3150 'find':851,1630 'finish':1304,2289 'fire':499 'first':630,848,1323,2302,2635,2640,2773 'first-ev':2639 'first-output':2634 'flag':368 'follow':925 'forc':308,2970,3190 'forward':814,1516,3008 'full':1561,1594,1664,2629,3085 'full-respons':1560,2628 'futur':402,676,1484,2880,2931 'generat':2566,2584 'get':2569 'github':1883,2991 'github/apps/connectors':1858,2169 'global':593,698,771,1839,2156,2971 'global-fast':697 'gone':1729 'guarante':2683,2723 'handl':2479 'handoff':2012 'har':1913 'header':786,812,3006 'health':1689 'healthi':422,1695,1754 'hint':1816,1863,2174,2507 'histori':1976,2601 'hook':359,366,381,396,438,444,453,1173,1458,1463,1748,2538,2548,2917,3146 'hot':1242,2102 'hot-switch':1241,2101 'http':1607 'immedi':2887 'implicit':523 'includ':1375,1686 'infer':2547 'inject':273,563,584,595,628,714,1604,2952,2968 'input':1587,1866,2177,2831 'instal':162,169,326,339,352,447,471,480,528,638,684,700,824,1172,1786,1884,1901,2083,2123,2473,2730,2745,2775,3094 'instead':461,1922 'instruct':1385 'intend':1920,1951,3032 'interleav':1527 'interrupt':1099,1277,2264 'invent':1957 'isol':2578 'json':874,1008,1803,2482 'keep':1057,1330,1433,1828,2145,2323,2354 'key':388,392,560,768,822,856,868,1341,1426,1632,1643,1652,1831,1970,1996,2148,2347,2417,2433,2594,2835,2959 'larger':1671 'latenc':1552,1563,2632,2637 'later':1123 'latest':3073 'launch':1519 'least':2705 'leav':796 'left':2259 'legaci':696 'less':3053 'level':356,1808 'limit':1937 'link':1890,1939 'list':2079 'liter':767,2432,2833 'load':957 'local':44,344,414,495,793,1063,1147,1515,1688,3069,3108 'log':511,1601 'login':85,184,193,548,737,753,837,843,884,1005,1194,1204,1354,1442,1815,1847,1854,2009,2131,2184,2191,2217,2306,2325,2361,2506,2512,2946,2975,3128 'long':2141 'longer':607,1079,1391,2315,3178 'low':3044 'low-cost':3043 'm':152,158,165,177,186,196,210,224,237,249,262,276,282,290,296,303,310,319,972,1733,2924 'mainten':128 'make':69,776 'manag':42,144,534,759,1020,2001 'manual':1859,2170 'marketplac':1857,2168 'match':2518,3092 'may':377,433,498,575,680,850,1410,1486,1903,2144,2194,2223,2326,2883 'mean':2703 'measur':2664,3034 'median':2607 'messag':1817,2013,2699 'metadata':2573,2619 'metric':3065 'miss':274,399,585,609,715,726,2969 'mode':561,805,1389,1511,1832,2149,2669,2960,2976,2999,3030,3049 'model':93,325,634,678,783,1219,2565,2583,2828 'model-gener':2564,2582 'model-path':633 'model-provid':782 'modifi':456 'must':331,417,864,964,1056,1150,1460,1783 'name':1646,2375,2429 'need':928,1904,2519 'network':1933 'never':2430,3078 'new':503,959,1117,1127,1261,1296,1721,2037,2066,2117,2281 'newer':369 'newli':3134 'next':1809,2508 'no-op':513 'no-verifi':667,2792,2871 'non':872 'non-secret':871 'normal':512,1599 'note':2133 'notic':1540 'observ':2608,2612,2656 'ok/count':2714 'old':1726 'older':375 'omit':567 'one':353,648,2706,2842 'op':515 'open':1115,1259,1294,1719,2035,2064,2115,2279 'openai':18 'openai-compat':17 'oper':1879 'option':1820,2128,2977 'origin':2454,2754 'otherwis':2901 'output':1308,1374,2483,2636 'overrid':804,960,1396,2322,2446,2998 'packag':3171 'packyapi':83 'pair':1532 'paramet':2652 'parti':16,1408,1448,1836,2153,2334,2367 'pass':666,766,1087,2316 'path':635,651,740,831,903,1158,1926,2424,2845 'pattern':55 'per':1661 'permiss':1910,1934 'persist':2806 'pip':1886 'plain':527 'plugin':90,1856,2167,2990 'plugin/github/app':798 'plus':728,1838,2155 'point':411,492,1060,1080,1472,2540,3105,3179 'polici':259,272,543,583,615,692,727,1048,1965,2497,2818 'post':655,2849 'powershel':150 'prefer':755,1990,2464 'prepar':182,191,841,882,1202,1845,2007,2182,2504 'prepare-chatgpt-login':181,190,840,881,1201,1844,2006,2181 'present':1011,2297,2516,2621,2673 'preserv':552,616,710,749,1461,2937,3122 'print':866,1968,2592 'priorit':2627 'prioriti':26,564,1531,2610,2613,2618,2644,2657,2700,2707,2955,3024 'process':1119,1238,1263,1267,1298,1723,1944,2039,2068,2098,2119,2267,2283,3148 'profil':1595,2606,3038 'prompt':1973,2598 'proof':1611,2648,2661 'prove':1618 'provid':75,110,173,233,335,409,760,784,815,855,894,916,945,983,1040,1183,1198,1212,1244,1343,1409,1428,1449,1567,1580,1613,1995,2002,2335,2349,2368,2370,2377,2385,2402,2455,2490,2502,2572,2616,2752,2762,2863,2984,3103,3114,3176 'provider-confirm':2615 'provider-specif':74 'proxi':4,8,50,63,104,122,155,161,168,180,189,199,213,227,240,252,265,279,285,293,299,306,313,322,345,400,415,423,476,485,496,532,625,758,778,794,807,954,975,1013,1051,1064,1084,1097,1102,1177,1189,1272,1275,1332,1394,1435,1457,1475,1518,1600,1620,1727,1736,1755,1789,1795,1898,2000,2052,2075,2091,2257,2319,2356,2891,2907,2927,2983,3109,3147,3183 'proxy-back':1101 'proxy-manag':757,1999 'proxy-sid':624 'pull':1785 'python':151,157,164,176,185,195,209,223,236,248,261,275,281,289,295,302,309,318,971,1732,2533,2921 'quiet':301,508,2929 'quota':1542 'rather':1215 'read':1780 'read-on':1779 'readi':2549 'real':1520,2862,3035 'reason':1220,1699,2829 'receiv':1411 'recent':2560,2690 'record':408,1083,1550,3182 'recoveri':1988,2824 'redact':3064 'refer':378 'refresh':520,1743 'refus':1073 'regardless':2973 'reject':535 'reli':463 'remain':825,1400 'remov':1451,1900,2071 'replac':779,3000 'repo':328,3173 'report':455,869,927,1002,1318,1380,1666,1801,2381,2489,2577,2605,2667,2711,2798,3161 'repres':3054 'request':57,66,77,87,94,98,129,657,679,788,800,817,1523,1585,1624,1916,1971,2313,2596,2781,2851,2882,2986,3016 'requir':435,921,1312,2205,3142 'rerun':459,1364,1648,1668,1948,2472 'rescan':2043 'respons':29,1555,1562,1568,1609,2630,2914 'restart':419,483,920,929,965,990,1088,1095,1107,1112,1175,1248,1290,1384,1431,1708,1716,1751,1787,2026,2060,2106,2232,2270,2352,2520,2741,2900,2904 'restor':1021,1386,2251,2312,2524,3083,3111,3135,3163 'restrict':1945 'result':1804,2478,2604,2677 'resum':505,1252 'return':95,488,919,1028,1415,2030,2110,2202,2224,2239,2274,2337,2450,3139 'richer':2161 'risk':1359 'rout':790,2786,2802 'run':101,142,475,526,839,847,880,888,953,1075,1121,1151,1236,1300,1466,1488,1525,1583,1589,1731,1771,1843,2180,2260,2285,2500,2728,2894,2906,3081 'runtim':426,477,486,522,1692,1744,1758,2517,2531 'safe':1741 'safeti':324 'sampl':1662,2622,2708,2715 'sandbox':1875,1909,1935,1964 'save':909,950,1067,1535,2813,3074 'second':1660 'secret':873 'select':2388,2751,2761,3102,3175 'send':2327,2696,2841 'sent':1621 'servic':27,257,270,541,568,581,613,690,1046,1572,1602,2495,2816,2940,2953,3019,3022 'service-tier-polici':256,269,580,612 'service_tier_control.valid':2624 'session':404,506,1105,1485,2933 'sessionstart':358,500,2916 'set':118,215,229,242,254,267,636,694,890,907,912,1031,1068,1162,1168,1208,2466,2809,2839 'set-upstream':214,228,241,253,266,889,911,1030,1161,1207,2465,2808 'setup':1821 'show':132,3071 'side':626,650,902,1157,2844 'side-path':649,901,1156,2843 'sign':22,938,978,997,1401 'singl':2727 'skill':35,330,1889,1938,2019,2078,2735 'skill-codex-fast-proxy' 'skip':3164 'smoke':3039 'sourc':147,646,1044,1144,2486,2821,2859 'source-gaoguobin' 'specif':76,2556,2682,2687 'speedup':2609,2724 'split':12,47,707,729,739,985,2980 'stabil':1681 'stale':429,484,521,1761,2530 'start':163,170,340,342,397,472,539,639,976,1122,1513,1737,1895,2084,2124,2474,2746,2776,3079 'startup':443,452,1014,1747,2537 'state':439,551,1148,1796,2807,2949,3095 'status':133,280,926,1310,1683,1862,2137,2173,2203,2240,2525,3140 'status.needs':989,1707 'status.runtime':2527 'still':410,491,1227,1471,3091,3104 'stop':136,307,317,1165,1273,1285,1467,1701,1776,1946,2201,2238,2445 'store':1554,3062 'stream':659,899,1154,2779,2853 'style':654,2848,3015 'succeed':905,2709 'success':1623,1799,2082,2122 'summari':2138,3076 'support':21,111,826,1581,1615,1914 'switch':347,537,1017,1243,1334,1421,1849,2103,2186,2192,2342,2770 'synthet':3012 'tell':933,992,1108,1286,1417,1712,1823,2022,2056,2086,2207,2228,2243,2737 'temporarili':2261 'test':1138 'third':15,1407,1447,1835,2152,2333,2366 'third-parti':14,1406,1446,1834,2151,2332,2365 'three':1526 'tier':28,258,271,542,569,582,610,614,691,1047,1573,1603,2496,2817,2941,2954,3020,3023 'timeout':1657,1673,1676 'timeoutexpir':1667 'toggl':604 'token':1541,2996 'tool':2830 'top':1807 'top-level':1806 'topic-agent-skills' 'topic-ai-agents' 'topic-codex' 'topic-codex-app' 'topic-codex-skill' 'topic-fast-mode' 'topic-openai-codex' 'topic-openai-compatible' 'topic-openai-compatible-api' 'topic-proxy' 'topic-responses-api' 'topic-service-tier' 'total':2631 'traffic':2557,2692,2864,2997 'transit':385 'treat':390,442,744,1694,2480,2568,2643 'tri':1924 'trigger':54 'troubleshoot':1007,2514 'true':374,445,660,922,930,1605,1709,2646,2659,2702,2854 'trust':437,450,454 'truth':149,2488 'turn':1874 'ui':574,603,1443,2132,2164,2362 'unavail':3060 'unclear':550,2948 'unexpect':810,3004 'uninstal':138,314,323,1070,1282,1301,1307,1314,1346,1370,1373,1450,2198,2211,2235,2241,2286,2301,2823,3082,3110,3132,3138,3156,3160 'unless':670,716,1089,1476,1981,2586,2787,2874,3151 'unrel':1462,1869 'untrust':458 'updat':135,288,470,1065,1711,1770,1774,2732,2811 'upstream':113,123,202,204,216,218,230,243,246,255,268,643,708,730,781,820,891,913,1032,1042,1128,1132,1141,1163,1197,1209,1320,1357,1377,1388,1536,1551,2222,2254,2293,2311,2320,2391,2412,2415,2438,2447,2459,2467,2469,2476,2493,2498,2758,2797,2810,2814,2819,2978,3009,3119,3137 'upstream-api-key-env':819,2414 'upstream-bas':203,217,2390,2468,2475 'upstream/auth':2785,2858 'url':114,1041,1185,2404,2460,2492,2756,2765,3117 'usabl':2401 'use':33,72,172,232,372,579,611,658,893,915,1029,1129,1211,1270,1507,1544,1598,2369,2389,2413,2435,2526,2559,2689,3189 'use-provider-auth-fil':171,231,892,914,1210 'user':38,355,589,620,672,718,772,834,935,963,994,1035,1091,1110,1135,1233,1288,1327,1419,1478,1493,1576,1639,1714,1764,1810,1825,1905,1962,1983,2011,2024,2058,2088,2143,2209,2230,2245,2340,2374,2407,2442,2509,2695,2739,2789,2876,2897,3187 'user-level':354 'valid':2803 'valu':2434,2836 'variabl':774,1645,2428 'verif':662,904,2688 'verifi':201,640,669,948,1131,2777,2794,2796,2873 'verify-upstream':200,1130,2795 'voic':1865,2176 'vs':1530 'want':39,622,835,1036,1328,1439,2160,2409,2443 'warn':1322,1379,2295,2303 'whether':108,1325,1578 'window':1006,2513 'wire':2651 'without':538,1106,1145,1166,1553,2804,2826 'work':91,854,1870,1994 'workaround':1958 'workload':2665 'would':3133 'write':386,770,1167,1794,1891,1893,1936,2838 'wrong':2532 'yet':688,942,961,2233","prices":[{"id":"7088d3bf-0fcc-4f40-a994-ae1833ec78dc","listingId":"822ecfa7-13d5-429e-9be6-d80df436a998","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"gaoguobin","category":"codex-fast-proxy","install_from":"skills.sh"},"createdAt":"2026-05-09T01:05:24.644Z"}],"sources":[{"listingId":"822ecfa7-13d5-429e-9be6-d80df436a998","source":"github","sourceId":"gaoguobin/codex-fast-proxy/codex-fast-proxy","sourceUrl":"https://github.com/gaoguobin/codex-fast-proxy/tree/main/skills/codex-fast-proxy","isPrimary":false,"firstSeenAt":"2026-05-09T01:05:24.644Z","lastSeenAt":"2026-05-18T19:04:30.890Z"}],"details":{"listingId":"822ecfa7-13d5-429e-9be6-d80df436a998","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"gaoguobin","slug":"codex-fast-proxy","github":{"repo":"gaoguobin/codex-fast-proxy","stars":30,"topics":["agent-skills","ai-agents","codex","codex-app","codex-skill","fast-mode","openai-codex","openai-compatible","openai-compatible-api","proxy","responses-api","service-tier","skills"],"license":"mit","html_url":"https://github.com/gaoguobin/codex-fast-proxy","pushed_at":"2026-05-18T10:37:55Z","description":"Codex App Fast/Priority proxy for third-party OpenAI-compatible APIs","skill_md_sha":"bb20044927070b7dbcd6e628134652a13987cb9d","skill_md_path":"skills/codex-fast-proxy/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/gaoguobin/codex-fast-proxy/tree/main/skills/codex-fast-proxy"},"layout":"multi","source":"github","category":"codex-fast-proxy","frontmatter":{"name":"codex-fast-proxy","description":"Codex App Fast proxy and auth-split for third-party OpenAI-compatible APIs. Supports Sign in with ChatGPT, priority service_tier, Responses API benchmark, enable/check/update/uninstall."},"skills_sh_url":"https://skills.sh/gaoguobin/codex-fast-proxy/codex-fast-proxy"},"updatedAt":"2026-05-18T19:04:30.890Z"}}