Loading...
Loading...
Backup-first skill for inspecting, archiving, and maintaining local Codex state to keep it fast, clean, and recoverable.
npx skill4agent add aradotso/trending-skills keep-codex-fast-maintenanceSkill by ara.so — Daily 2026 Skills collection.
Install the keep-codex-fast skill from https://github.com/vibeforge1111/keep-codex-fastgit clone https://github.com/vibeforge1111/keep-codex-fast keep-codex-fast| Layer | Purpose |
|---|---|
| Chats | Execution context |
| Handoff docs | Memory and continuity |
| Archives | History, not deletion |
| Fresh threads | Speed |
python scripts/keep_codex_fast.pypython scripts/keep_codex_fast.py --detailspython scripts/keep_codex_fast.py --backup-only⚠️ Backup folders contain private local Codex metadata. Keep them on your machine. Do not publish or share without reviewing contents.
python scripts/keep_codex_fast.py --apply --archive-older-than-days 10 --worktree-older-than-days 7logs_2.sqlite*config.toml\\?\C:\...python scripts/keep_codex_fast.py --apply --wait-for-codex-exitUse $keep-codex-fast to inspect my Codex local state and recommend a safe maintenance plan.Create a comprehensive handoff document for this repo/session before I archive Codex history.
Include:
- repo/path and branch
- current goal
- what we already completed
- files touched or investigated
- commands/tests already run
- known errors, warnings, or failing checks
- open decisions
- constraints, user preferences, and do-not-touch areas
- the next 3-7 concrete steps
Also include a reactivation prompt I can paste into a fresh Codex chat so it can continue from this handoff without relying on the old chat context.
Save the handoff in a sensible repo-local place like docs/codex-handoffs/YYYY-MM-DD-topic.md unless this repo already has a better handoff location.Use $keep-codex-fast to apply safe Codex maintenance.
Before changing anything, confirm that important active repo chats have handoff docs or do not need them.
Then back up first, archive instead of deleting, move stale worktrees, rotate large logs, prune dead config references, and verify the result.
If Codex is currently running, do not mutate local state. Tell me to close Codex first.| Target | Action |
|---|---|
| Old non-pinned active sessions | Archived, not deleted |
| Stale worktrees | Moved out of hot path |
Large | Rotated |
Dead/temp project entries in | Pruned |
Windows | Normalized |
Use $keep-codex-fast to create a recurring Codex maintenance reminder.
Schedule it weekly if I use Codex heavily, or biweekly if that seems safer.
The reminder should:
- run the keep-codex-fast report first
- never pass --apply or run mutating maintenance automatically
- never archive, move, prune, rotate, normalize, delete, or mutate local Codex state
- remind me to create comprehensive handoff docs and reactivation prompts for active repo chats before any manual apply
- summarize active session size, archived session size, extended path candidates, old session candidates, worktree candidates, log size, and top Node/dev processes
- report heavy Node/dev processes without killing them
- tell me that manual apply should only happen after I confirm handoffs exist or are not needed and Codex is closedimport subprocess
import json
result = subprocess.run(
["python", "scripts/keep_codex_fast.py", "--details"],
capture_output=True,
text=True
)
print(result.stdout)import subprocess
import sys
def backup_codex_state():
"""Run before any operation that might affect Codex local state."""
result = subprocess.run(
["python", "scripts/keep_codex_fast.py", "--backup-only"],
capture_output=True,
text=True
)
if result.returncode != 0:
print(f"[warn] Codex backup step reported issues:\n{result.stderr}")
else:
print("[ok] Codex state backed up.")
return result.returncode
if __name__ == "__main__":
sys.exit(backup_codex_state())import subprocess
import os
archive_days = os.environ.get("CODEX_ARCHIVE_DAYS", "14")
worktree_days = os.environ.get("CODEX_WORKTREE_DAYS", "7")
subprocess.run([
"python", "scripts/keep_codex_fast.py",
"--apply",
"--archive-older-than-days", archive_days,
"--worktree-older-than-days", worktree_days,
"--wait-for-codex-exit",
], check=True)#!/usr/bin/env python3
"""
maintenance.py — thin wrapper around keep_codex_fast.py for project-local use.
"""
import argparse
import subprocess
import sys
SCRIPT = "scripts/keep_codex_fast.py"
def main():
parser = argparse.ArgumentParser(description="Codex maintenance wrapper")
parser.add_argument("--inspect", action="store_true", help="Report only, no writes")
parser.add_argument("--backup", action="store_true", help="Backup only, no moves")
parser.add_argument("--apply", action="store_true", help="Apply full maintenance")
parser.add_argument("--archive-days", type=int, default=10)
parser.add_argument("--worktree-days", type=int, default=7)
parser.add_argument("--details", action="store_true")
args = parser.parse_args()
cmd = ["python", SCRIPT]
if args.details:
cmd.append("--details")
if args.backup:
cmd.append("--backup-only")
elif args.apply:
cmd += [
"--apply",
"--archive-older-than-days", str(args.archive_days),
"--worktree-older-than-days", str(args.worktree_days),
"--wait-for-codex-exit",
]
# default: inspect only (no extra flags needed)
result = subprocess.run(cmd, text=True)
sys.exit(result.returncode)
if __name__ == "__main__":
main()--detailspython scripts/keep_codex_fast.py --details\\?\C:\...--applypython scripts/keep_codex_fast.py --apply --archive-older-than-days 10 --worktree-older-than-days 7--backup-only--wait-for-codex-exit# macOS/Linux
ps aux | grep -i codex
# Windows PowerShell
Get-Process | Where-Object { $_.Name -like "*codex*" }--details--apply--apply--backup-only--wait-for-codex-exit--apply