reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
---
|
||||
name: competition-browser-persistence
|
||||
description: Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for browser cookies, localStorage, sessionStorage, IndexedDB, Cache Storage, service workers, offline caches, and client-side session persistence. Use when the user asks to inspect browser state, replay cached auth or session behavior, explain why a page behaves differently after load, or trace how stored client state changes requests, rendering, or access. Use only after `$ctf-sandbox-orchestrator` has already established sandbox assumptions and routed here.
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
1. Identify the active persistence surface first: cookie jar, localStorage, sessionStorage, IndexedDB, Cache Storage, or service worker.
|
||||
2. Record origin, scope, domain, path, expiry, and key names before mutating state.
|
||||
3. Tie stored state to one concrete effect: request header, rendered branch, cached response, offline behavior, or hidden route access.
|
||||
4. Separate boot-time state from runtime-mutated state.
|
||||
5. 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.md` for 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
|
||||
@@ -0,0 +1,7 @@
|
||||
interface:
|
||||
display_name: "Competition Browser Persistence"
|
||||
short_description: "Inspect cookies, storage, service workers, and cached state"
|
||||
default_prompt: "After $ctf-sandbox-orchestrator is active, use $competition-browser-persistence to inspect browser cookies, storage, service workers, caches, and replay the smallest stateful path in this challenge."
|
||||
|
||||
policy:
|
||||
allow_implicit_invocation: false
|
||||
@@ -0,0 +1,28 @@
|
||||
# Browser Persistence Checklist
|
||||
|
||||
## Surfaces To Check
|
||||
|
||||
- Cookies: domain, path, expiry, `HttpOnly`, `Secure`, `SameSite`
|
||||
- `localStorage`, `sessionStorage`, IndexedDB object stores, Cache Storage entries
|
||||
- Service worker registrations, cached responses, fetch handlers, offline fallbacks
|
||||
- Boot-time globals, hydration payloads, feature flags, role or tenant selectors
|
||||
|
||||
## Correlation Pattern
|
||||
|
||||
1. Storage item or cookie identified
|
||||
2. Origin and scope confirmed
|
||||
3. Request, render, or cache behavior linked to that item
|
||||
4. Clean-state vs mutated-state run compared
|
||||
5. Decisive branch reproduced
|
||||
|
||||
## Evidence To Keep Together
|
||||
|
||||
- State identity: origin, key, value shape, scope, expiry, DB or cache name
|
||||
- Runtime effect: header, route, feature flag, cached response, or rendered branch
|
||||
- Replay prerequisites: initial route, prior request, login state, or service worker registration
|
||||
|
||||
## Common Pitfalls
|
||||
|
||||
- Listing storage contents without showing which item changes behavior
|
||||
- Mixing several origins or tenants in one storage explanation
|
||||
- Treating cached UI data as backend authorization without proving a server-side effect
|
||||
Reference in New Issue
Block a user