competition-browser-persistence Skill
ctf-sandbox-orchestrator 的内部下游技能。针对浏览器 cookie、localStorage、sessionStorage、IndexedDB、Cache Storage、service worker、离线缓存及客户端会话持久化的 CTF-sandbox 工作流。当用户要求检查浏览器状态、重放缓存的认证或会话行为、解释页面加载后行为为何不同、或追踪存储的客户端状态如何影响请求、渲染或访问时使用。仅在 `$ctf-sandbox-orchestrator` 已建立沙箱假设并路由至此之后使用。
安装方式:把技能目录放入 ~/.claude/skills/(Claude Code)或在 claude.ai 设置中启用;也可复制右侧安装命令一键添加。
技能指令原文(SKILL.md)
Competition Browser Persistence
Use this skill only as a downstream specialization after $ctf-sandbox-orchestrator is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to $ctf-sandbox-orchestrator first.
Use this skill when the decisive branch lives in browser-held state rather than only in visible HTML or backend source.
Reply in Simplified Chinese unless the user explicitly requests English.
Quick Start
- Identify the active persistence surface first: cookie jar, localStorage, sessionStorage, IndexedDB, Cache Storage, or service worker.
- Record origin, scope, domain, path, expiry, and key names before mutating state.
- Tie stored state to one concrete effect: request header, rendered branch, cached response, offline behavior, or hidden route access.
- Separate boot-time state from runtime-mutated state.
- Reproduce the smallest stateful sequence that reaches the decisive branch.
Workflow
1. Map Browser State Surfaces
- Inspect cookies, storage buckets, service worker registrations, cache entries, and transient globals exposed during boot.
- Record which origin, host, route, or feature flag each state item actually applies to.
- Keep auth tokens, refresh material, CSRF state, cached responses, and feature toggles in separate evidence blocks.
2. Tie State To Runtime Behavior
- Show how stored state becomes request headers, role derivation, route visibility, cached API data, or offline fallback behavior.
- Compare clean-state and mutated-state runs with one variable changed at a time.
- Distinguish UI-only state from backend-accepted state.
3. Reduce To The Decisive Persistence Chain
- Compress the result to the smallest chain: initial page or login -> state persisted -> subsequent request or render branch -> resulting capability.
- Keep extracted storage, service worker scripts, and replay steps tied to the same origin and route.
- If the problem broadens into general web routing or worker behavior outside browser persistence, switch back to the broader web-runtime skill.
Read This Reference
- Load
references/browser-persistence.mdfor the browser-state checklist, service-worker checklist, and evidence packaging.
What To Preserve
- Cookie attributes, storage keys, database names, cache keys, service worker scopes, and origin boundaries
- The exact request or render effect caused by each decisive state item
- Clean-state vs mutated-state reproduction steps for the smallest working path