Home / All Skills / Workflow & Core Tools / tibo-reset-codex
Workflow & Core Tools · daymade/claude-code-skills

tibo-reset-codex

Check ChatGPT/Codex reset announcements, remaining usage limits across multiple Pro accounts, and spare Full resets; reuse Google logins to verify and restore web accounts one by one, and convert times to Beijing Time. Distinguish between Tibo's official announcements, unannounced platform silent resets, banked resets, and account-level periodic resets. Use when users ask "When will it reset?", "When will quota restore?", "What time is the next global reset?", "Has the banked reset arrived?", "What did Tibo say?", or "usage limit when reset", or say "Usage limit suddenly restored to 100%", "Looks like/Definitely reset again", or ask "Are all accounts exhausted?", or "Which one still has quota?". Must cross-verify using real-time product state, independent user testing, and announcements; strictly prohibit denying an already occurred reset just because Tibo Radar has no new entries, and Pacific Time must be converted to Beijing Time on the spot.

L4 High-Privilege · Graded auth & full auditV1 Commit-PinnedExecute CommandInstall DepsNetwork AccessWrite FileDual-pass Audit
Author daymadeGitHub daymade/claude-code-skills ↗Stars 1392License MIT(仓库根 LICENSE,Copyright (c) 2025 daymade;GitHub API spdx MIT)Commit d5c4678cb5
Control levels describe skill capabilities and suggested control measures; they do not represent quality or safety certifications, nor do they dictate usability. Usage decisions rest entirely with users and administrators. Different agent hosts apply varying constraints; do not assume hosts provide automatic protection. Third-party skill copyrights belong to their original authors. Use at your own risk.

1How It Works & Mechanism

It splits "checking resets" into three mutually irreplaceable evidence paths: 1) Official announcements (Tibo's original X posts + official incident channels), 2) Local first-hand account evidence (~/.codex rollout snapshots), and 3) Account facts from the product page / real-time API. The core methodology is "announcement ≠ rollout", and no single path alone is sufficient to draw a conclusion.

tibo-reset-codex/SKILL.md
**先分清用户问的是哪种重置**:
Immediately following this is a taxonomy table of four reset types (officially announced global RESET / silent platform reset / BANKED reset / account-level weekly reset), with each row detailing "Triggered by / Where to view / Nature", which serves as the conceptual backbone of the entire skill.

Tibo Radar is explicitly positioned as an "announcement index" rather than a product state source, because the platform may directly reset accounts without posting—this is the skill's counterintuitive yet most critical judgment rule.

tibo-reset-codex/SKILL.md
Tibo 官宣没有固定排期;但平台也会在限额 配置切换时**不发 reset 帖而直接重置账户**。所以「没有 Tibo 帖」只证明没有官宣,不能证明 没有重置。
Accompanying prohibition clause (entry-point routing): "If the user explicitly states 'it definitely reset again' but the aggregator shows no records → immediately take the **silent reset path**; it is forbidden to repeatedly query the same aggregator and dismiss the user again with empty results."

The principle of local forensic verification is that Codex writes a rate_limits snapshot into rollout jsonl in each turn, making it GUI-free, backtrackable, and capable of pinpointing zero-out intervals down to minute-level precision—this is the technical root cause of its ability to provide "first-hand account evidence".

tibo-reset-codex/SKILL.md
`~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-*.jsonl` 每轮都写 `rate_limits` 快照。**这比引导 用户去看产品页更强**:可回溯历史、能把归零定位到分钟级区间、不需要 GUI,也不需要让用户替你 看屏幕
Original field schema provided: {"limit_id":"codex","primary":{"used_percent":76.0,"window_minutes":10080,"resets_at":1788753995},"secondary":null,"credits":{"has_credits":false,"balance":"0"},"plan_type":"pro"}; where 10080 represents the weekly window and 300 represents 5h.

Most of this skill focuses not on "how to do it", but on "how not to be deceived by data": it identifies four pitfalls that silently yield plausible yet incorrect answers (unfixed primary slot, decoys with constant-zero limit_id, per-entry second-level drift in resets_at, directory date ≠ timestamp range), and embeds remediation methods directly into the script.

tibo-reset-codex/SKILL.md
**会给出貌似合理错答案的陷阱(每一条都不报错;1–3 于 2026-09-01 同一次会话里连踩,4 于 2026-09-03 补)**:
Pitfall 2 original text: "In testing, `codex`, `premium`, and `codex_bengalfox` existed concurrently, and both windows of `codex_bengalfox` were **constantly 0%**. Mixing them into the sequence would fabricate dozens of 'resets' out of thin air. **Filter by `limit_id == "codex"` first before making any judgment.**"

A "clean +7d" is explicitly disproven as evidence of a reset: it shares the exact same pattern as a button-based reset and "switching to another account that has remaining quota", making them indistinguishable in this dimension—this serves as the starting point for multi-account attribution methodology.

tibo-reset-codex/SKILL.md
- **干净 +7d**:新 `resets_at` ≈ 归零时刻 + 窗口长度。这**只说明窗口从归零那刻重新起算**, 它同时是按钮式重置和「换到另一个有额度的账号」的形状——两者在这个维度上不可分。**单看 +7d 就叫重置是本节最贵的错误**
A quantified lesson is given in the text: "On a test machine on 2026-09-03, clean +7d appeared **8 times** within 8 days (after deduplication by new anchor; 9 entries before deduplication). Reading this naively would conclude '8 silent resets', whereas the reality was account rotation."

Multi-account attribution is structured into a three-layer check (A/B/C) with an explicit statement that "a miss does not equal a single account"—this methodology has built-in failure mode boundaries. The hardest constraint is that both A and B originate from the current snapshot, making it structurally impossible to detect historical accounts.

tibo-reset-codex/SKILL.md
**先说清楚一个结构性陷阱:直觉上的那个检查永远返回「只有一个」。** `~/.codex/auth.json` 只保存**当前登录的那一个**账号,切走的账号不留痕;`~/.cc-switch/cc-switch.db` 只记它自己 管过的条目,手工 `codex login` 换的账号它完全看不见。
The text records an actual mistake caused by this trap: "On a machine where two Pro accounts were indeed rotating, both probes reported 'only one', causing the entire attribution to be inverted."

"Absolute priority to the user's verbatim statement" is written as an output contract: a single strongest conclusion must be given first, uncertainty should only be used to narrow down conclusion attributes, offloading classification responsibility back to the user is forbidden, and questions regarding future times must provide predictive judgments.

tibo-reset-codex/SKILL.md
用户原话(2026-08-26):「**你必须给出结论而不是让我给结论。**」 - 第一段第一句必须给出当前证据支持的**唯一最强结论**,禁止用「可能是 A/B/C、请你再看」 把分类责任交还用户。
The same section states: "**Predictive judgments must be given for future time queries.** ... 'Unannounced / No fixed schedule / There is no schedule' only describes the announcement state and cannot conclude the answer on its own."

Predictive capability relies on a local append-only logging closed-loop: each execution first reviews historical predictions and outcomes, logs the window/rationale/invalidation conditions when proposing a new prediction, and backfills evidence after the fact; judgment rules are executed by script while evidence is supplied by the caller.

tibo-reset-codex/scripts/forecast_log.py
"""Keep an append-only local forecast/outcome journal (Python 3.10+, macOS/Linux). No network, account access, reset redemption, or background process. Classification uses supplied evidence; the caller must verify its scope and event identity. """
Review phase logic in make_review: compares the forecast window with the event interval to derive hit/early/late, explicitly stating 'A completion post alone gives an upper bound, not an exact reset instant.' (returns outcome=unknown if confirmation_only or an unverified first event).

2Core Capabilities

01Typing and evidence hierarchy determination across four reset types (officially announced / silent platform / banked / account-level periodic)
02Announcement scraping and disambiguation (Radar index → fxtwitter full original post reading → using replying_to to detect reply mislabels)
03Cross-verification with official incident channels (status.openai.com + @ChatGPT) to cover structural blind spots where Radar only indexes @thsottiaux
04Local rollout snapshot reconstruction of weekly limit curves and zero-out intervals (including fixes for four pitfalls)
05Three-layer multi-account attribution check (current identity & last_refresh / cc-switch providers / anchor bounce behavioral signatures)
06Single-account read-only real-time limit querying (built-in script, refuses redirects, does not modify login state)
07Prediction log closed loop (append-only + flock + idempotent replay + hit/early/late determination)
08Pacific Time → Beijing Time conversion (including PDT/PST daylight saving time and tomorrow anchor rules)
09Tibo time phrasing interpretation rules (interpreting 14pm, ongoing PST seasonal mislabeling, anchoring 'tomorrow' to the Pacific date of posting)
10Multi-account web verification and login restoration SOP (reusing logged-in Google accounts, switching one-by-one, restoring the original current account afterward)

3External Dependencies

KindDependency / Endpoint
apiTibo Radar 时间线 API(第三方社区站点,作公告索引)
apifxtwitter 公开镜像(取 X 原帖完整正文与回复关系,主通道)
apiOpenAI 官方状态页 API(故障线,要求每次回答前都查)
apiChatGPT/Codex 官方用量端点(脚本唯一外发目标;客户端内部接口,非稳定公共契约)
networkX 官方 syndication 端点(备胎,正文截断 276 字符)
networkTwitter/X publish oEmbed 端点(同档备胎,文本同样截断)
network同族第三方追踪站(仅作转录/解读交叉验证,不构成独立观测源)
network官方帮助文档与产品用量页(banked reset 语义、账号切换上限、网页用量卡)
network原始公告来源账号(经 fxtwitter 读取,不直连 X)
clicurl(所有外部抓取的执行工具)
clipython3(解析 JSON、重建快照曲线、运行自带脚本)
climacOS BSD date(时区换算;SKILL.md 标注 macOS only,GNU date 无 -j/-f 语义)
packageuv(references 推荐的脚本运行方式;有符合要求的 Python 时可省略)

4Recommended Governance & Evidence

Suggested Controls for Safe Operation
For Agent Runtime
Graded/per-use authorization, sandbox recommended
For Administrators
Approval workflow, rollback support, full audit
Evidence & Triggers (File Paths & Excerpts)
  • scripts/: Execute local scripts or commands: python3 scripts/query_usage.py [--auth-file …] [--expected-email …] (bundled in repository, standard
  • scripts/ 或 SKILL.md: Declares dynamic installation of external language package dependencies
  • 网络端点: Declares external network access: GET https://codex-reset.com/api/timeline (third-party community site, unauthenticated)
  • 本地工作目录: File read/write and artifact output: forecast_log.py creates directories under ${XDG_STATE_HOME:-~/.local/state}/tibo-reset-codex/
Audit Notes: . Two hard bases for Orange rating: 1) [Credential reading and transmission] scripts/query_usage.py reads access_token / account_id / id_token from ~/.codex/auth.json, sending access_token as Bearer and account_id as request header to https://chatgpt.com/backend-api/wham/usage, involving the retrieval and usage of real subscription account tokens. 2) [High-impact account operations] references/account-usage.md guides users to switch ChatGPT browser logins one by one (Add another account → Continue with Google), logging out and back in when necessary, and handling the two-account limit per session, which directly alters user browser login states. Why not Red: No security downgrades (enforces TLS verification, avoids anti-bot bypasses, avoids bulk scraping), credentials are sent exclusively to official matching endpoints, scripts explicitly remain "read-only, non-refreshing, non-exchanging, and login-state-preserving", error outputs never display credential values, and execution aborts if identity mismatches. Why not Yellow: Involves reading and outbound usage of live tokens and modifies web login sessions, exceeding the scope of "regular public API calls". Usage advice: Execute queries only under explicit user authorization with designated accounts; avoid use on shared machines; maintain unauthenticated access for third-party sites; restore original login states after account switching as documented.

5Second-Pass Verification

  • [ok] query_usage.py 的『只读、不改登录态、不外发到别处』声明是否有反例 — 反例检索失败:全文只有一处 urllib.request.Request/opener.open,method="GET",URL 为常量 USAGE_URL,且被 NoRedirect 拦截跳转(redirect_request 直接 raise 'redirect_refused: open the official Usage page instead');无写文件、无 subprocess、无 os.remove/chmod;凭据只出现在两个请求头里。docstring 'No refresh or redemption occurs.' 与代码一致。
  • [ok] 凭据是否可能通过输出或错误信息泄漏 — 专门核对:UsageError 的 docstring 即声明 'A public error message which never contains credential values.';实际 raise 的字符串全部是固定短语(auth_incomplete / identity_mismatch / authentication_failed / usage_unavailable / redirect_refused),无格式化拼接令牌;main 只 print(json.dumps(result)),而 result 由 normalize_usage 构造,字段为 email/plan_type/windows/计数/notes,不含 token。结论成立。
  • [ok] forecast_log.py 是否真的无网络,且写盘路径与权限与文档一致 — import 段无 urllib/socket/requests;唯一文件操作是 locked_journal 的 os.open(..., 0o600) 与 makedirs(mode=0o700),路径 root = ${XDG_STATE_HOME:-~/.local/state}/tibo-reset-codex/forecasts.jsonl,与 references/forecast-feedback.md 所述『默认文件是 ${XDG_STATE_HOME:-~/.local/state}/tibo-reset-codex/forecasts.jsonl』一致。docstring 'No network, account access, reset redemption, or background process.' 与代码一致。
  • [ok] 是否漏记外发目标(把每个出现的域名回查调用点) — 全目录域名提取结果为:codex-reset.com、api.fxtwitter.com、status.openai.com、api.openai.com、chatgpt.com、cdn.syndication.twimg.com、publish.twitter.com、publish.x.com、x.com、codexlimitwatch.com、codex.lunarwerx.com、codexrunway.com、help.openai.com、otexts.com、example.com/example.invalid(占位)。逐条已归入 external_deps 的 13 个条目(x.com 与 api.openai.com 作为原始来源/端点宿主被 fxtwitter 通道覆盖,chatgpt.com 同时是产品页与用量端点,otexts.com 为文档参考读物)。无未记载的隐蔽外发。
  • [discrepancy] 『时区换算 / 平台支持』声明是否自洽 — SKILL.md 明确标注时区换算命令为 **macOS only**(依赖 BSD date -j/-f,'GNU date 无此参数'),references/account-usage.md 也写『Windows 未实测』;但同仓库的 scripts/forecast_log.py 自述平台为『Python 3.10+, macOS/Linux』,query_usage.py 未声明平台限制。即脚本层覆盖 macOS/Linux,文档层把时区换算限定在 macOS。两者非矛盾(不同组件不同约束),但使用者在 Linux 上直接照抄 SKILL.md 的 date 命令会报错——文档已用『macOS only』披露,属已知限制而非隐藏缺陷。
  • [ok] 脚本与文档对『重定向』的处理是否一致(安全相关,看是否有代码比文档更松的地方) — SKILL.md 未特别强调重定向;脚本却主动以 NoRedirect 拒绝任何跳转并把用户导向官方 Usage 页面。这是代码比文档更严(有利方向),不构成夸大,已记入 verdict.strengths。
  • [unlocatable] 文档中的端点『实测 200 / 字段形状』类声明能否在本次侦查中复核 — SKILL.md 含大量带日期的端点实测声明(如『用 Tibo Radar JSON API 找最新公开公告(2026-08-26 实测 200)』、fxtwitter『2026-08-30 实测:免登录、直连即可』、以及『完整正文在 `tweet.text` 字段——不是 `full_text`』)。本次为离线源码侦查,未发起任何外部请求,因此这些『当前是否仍可用/字段形状是否仍成立』无法在源码内定位验证。文档自身亦声明端点『都会间歇抖动』『不是稳定的公共 API 契约』并把重试写成必须步骤。故记为待补,不作为推翻第一遍结论的依据。
  • [ok] pin commit 与 skill.path 是否与任务书表格一致 — git rev-parse HEAD = d5c4678cb5d4fd6acc9c922690df035dbd33d247,与任务书表格『库内 HEAD』一致;目录位于仓库根,相对路径 tibo-reset-codex;本目录最后一次提交 49ddcdae(2026-09-08 22:13)。GitHub API 复核 MIT / stars 1392 / pushed 2026-09-15T09:30:04Z。

6Verdict & Scenarios

  • Translates "announcement ≠ rollout" into an executable tiered evaluation method, explicitly banning dismissing occurred resets using empty aggregator results—addressing the most error-prone and user-noticeable area in this domain.
  • The local forensic path (rollout snapshots) outperforms having users inspect product pages: backtrackable, pinpoints down to minute intervals, requires no GUI, and provides fixes for four silent pitfalls.
  • Multi-account attribution methodology features built-in failure mode boundaries (a miss does not equal a single account), documenting real-world reversed conclusion lessons and self-correction processes.
  • Script security boundaries are stricter than documentation: limit queries refuse redirect following, error texts never echo credentials, queries are rejected if response identities mismatch, and prediction logs require no network with 0600 permissions.
  • Clear definition of source independence (classifying two trackers as same-source, only permitting LunarWerx for interpretative cross-validation), preventing treating single-source data as dual verification.
  • Output contract directly anchors to user verbatim phrasing and demands leading with conclusions, preventing agents from shifting judgment responsibility back to users; future time questions must yield predictions rather than ending with "no fixed schedule".
  • Best for: Suitable for: Heavy users managing ChatGPT/Codex limits as production resources who need substantiated conclusions rather than hearsay on questions like "When will it reset? / Why did my quota suddenly restore? / Which of these accounts is still usable?"; also suitable for users willing to maintain a local prediction log long-term to track reset patterns. For users rotating two or more Pro accounts who need to distinguish between a "platform reset" and "manual account switching", the multi-account attribution chapter is virtually indispensable.
    Not for: Not suitable for: Lightweight users with a single account who only occasionally check quotas (cost far outweighs benefits; checking the product page directly suffices); users unwilling to run token queries on authorized machines, grant browser account switching authorization, or accept conclusions built on third-party community sites. Windows users should not copy the timezone conversion commands as-is (untested; rewrite required).
    Install Agent-Ready
    ① Verified Mirror 2026-09-15
    Option A · Direct DownloadDownload tibo-reset-codex.tar.gz
    sha256: f36131d1c8019312…
    Option B · Copy Guide for Agent
    install.json
    Agents automatically download and verify mirrors from this JSON guide.
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit d5c4678cb5.