agentleFS
SwitchbackTechSwitchbackTech/compass/.agents/skills/chaos/SKILL.md

chaos

Skill227 starsChanged 50 days agoMITView on GitHub

Exercise Compass as a real signed-in user, first through the intended flow and then with focused adversarial behavior; diagnose and fix confirmed UX, security, reliability, performance, accessibility, or data-integrity defects; simplify and ship the result. Use before a production release, when asked to perform exploratory or chaos testing, or when a realistic browser pass should drive a fix through merge.

4 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions4 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 4

    1. AnjanJ/rails_error_dashboard★ 93same name
    2. nitinjain999/platform-skills★ 71same name
    3. CHAOSX-SPACE/god-of-the-void★ 1same name
    4. Jkudjo/oh-my-cursor★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository7 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. 0 are common, 15 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 15

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Before a production release, or when asked for exploratory / chaos testing.

    line 11
  2. Very specific:

    Do not enter credentials. See anti-patterns.md.

    line 27
  3. Distinctive:

    Treat a real, existing signed-in profile as an observation and interaction surface—not a source for credentials, cookies, tokens, or …

    line 36
  4. Distinctive:

    Never probe production, payment flows, or third-party systems by default.

    line 44
  5. Distinctive:

    Verify the selected account visibly before mutating data.

    line 45
  6. Distinctive:

    Use unique, clearly test-labelled records.

    line 47
  7. Distinctive:

    Do not enter credentials, grant/revoke OAuth, change account/security settings, bypass browser security warnings, or perform irreversible …

    line 50
  8. Distinctive:

    Treat an exception, failed request, data loss, stale UI, inaccessible flow, privacy exposure, or significant interaction latency as a …

    line 56
  9. Distinctive:

    Read AGENTS.md, inspect the current branch and diff, and identify the release-critical and recently changed user-visible flows.

    line 62
  10. Very specific:

    Read the relevant acceptance docs and tests.

    line 64
  11. Distinctive:

    Use isolated Playwright only for repeatable coverage that does not require the real account.

    line 71
  12. Distinctive:

    If the selected environment or session is not suitable, stop with the exact setup needed.

    line 77
  13. Distinctive:

    Use actual evidence, not a successful click: verify saved fields, event timing, visibility, selection/focus, route/view state, and …

    line 91
  14. Distinctive:

    Do not attempt privilege escalation or access-control bypasses.

    line 113
  15. Distinctive:

    Add a focused regression test when it protects real behavior.

    line 133
  16. Very specific:

    Run bun run verify --strict.

    line 136
  17. Distinctive:

    If a finding cannot be safely reproduced or fixed within scope, do not paper over it.

    line 138
  18. Very specific:

    Run the simplify skill on the complete base-to-head diff after the fix.

    line 143
  19. Very specific:

    Follow the ship skill for verify, ready PR, and auto-merge.

    line 146
  20. Distinctive:

    Do not create or merge a pull request if validation is incomplete, an unrelated dirty change overlaps, a material finding remains …

    line 148

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

When

Before a production release, or when asked for exploratory / chaos testing.

Steps

Prepare → happy path → focused probes → diagnose/fix → simplify/review/ship.

Output

Evidence of signed-in exercise plus shipped fixes, or a report of stops.

Pass

Happy path worked; probes were focused; credentials were not entered by the agent.

Anti-patterns

Do not enter credentials. See anti-patterns.md.

Escalate

Auth/setup missing, production-only defect, or a product fork.

Chaos

Treat a real, existing signed-in profile as an observation and interaction surface—not a source for credentials, cookies, tokens, or private data. Build confidence from visible behavior and reproducible evidence, then make the smallest fix that removes a confirmed defect.

Boundaries

  • Target local development or an explicitly named non-production environment. Never probe production, payment flows, or third-party systems by default.
  • Verify the selected account visibly before mutating data. If the expected test account is unknown, ambiguous, or not signed in, stop and ask the user.
  • Use unique, clearly test-labelled records. Preserve pre-existing records; remove only records created by this run through the normal recoverable UI, then reload to confirm cleanup persisted.
  • Do not enter credentials, grant/revoke OAuth, change account/security settings, bypass browser security warnings, or perform irreversible actions. Report those cases with a safe manual reproduction instead.
  • Bound adversarial testing: do not use load generation, fuzz external APIs, scrape data, bypass authorization, or test other users' data. Test only the current account and normal product surfaces.
  • Treat an exception, failed request, data loss, stale UI, inaccessible flow, privacy exposure, or significant interaction latency as a finding even when the UI appears to complete the action.

1. Prepare the test surface

  1. Read AGENTS.md, inspect the current branch and diff, and identify the release-critical and recently changed user-visible flows.
  2. Read the relevant acceptance docs and tests. Follow docs/development/local-development.md if the required local services or configuration are not healthy.
  3. Select the best available real-browser surface that holds the signed-in test session. Honor an explicitly requested browser. Prefer a user-connected browser or Chrome session for authenticated flows; use Computer Use only when a browser-specific tool cannot perform the required visible action. Use isolated Playwright only for repeatable coverage that does not require the real account.
  4. Navigate to the named environment, identify the account from rendered UI, and record the target URL, browser surface, account state, and baseline console/network condition. Do not inspect browser storage, cookies, or passwords.
  5. If the selected environment or session is not suitable, stop with the exact setup needed. Do not substitute anonymous coverage for an authenticated pass.

2. Establish the happy path

Act as an ordinary user before trying to break anything. Drive the smallest end-to-end scenario that covers the changed area, observing rendered state after each action.

For calendar changes, typically create one uniquely named event, edit it, navigate between views/dates, reload, and confirm the expected persisted state. Also exercise the command palette or keyboard path when relevant. Check error UI, console, and network behavior whenever tooling exposes them.

Use actual evidence, not a successful click: verify saved fields, event timing, visibility, selection/focus, route/view state, and persistence after reload.

3. Run focused chaos probes

Derive a small set of probes from the diff, the happy path, and the component's state transitions. Favor meaningful boundaries over random clicking. Stop once coverage is sufficient or a confirmed defect needs investigation.

Probe the applicable categories:

  • Input and time: empty or whitespace-only values, long labels, rapid edits, Enter/Escape, all-day/timed transitions, date boundaries, DST/timezone boundaries, and overlapping events.
  • Interaction: fast repeated clicks, double submit, navigation while a save is pending, reload/back/forward, resize/move then cancel, command and mouse paths, keyboard-only traversal, visible focus, and small viewport behavior.
  • State and resilience: offline/slow/failed requests when the local test harness can simulate them safely; stale UI after reload; retry behavior; duplicate/lost writes; and whether errors provide a recoverable next step.
  • Authorization and privacy: switch only through ordinary visible UI; confirm error states never disclose another user's data or internal details. Do not attempt privilege escalation or access-control bypasses.
  • Accessibility and performance: semantic names, focus restoration, keyboard reachability, announcement of async/error state, motion behavior, console warnings, obvious layout shift, and interaction latency. Invoke /a11y-audit for changed UI and use its findings as evidence.

Capture a minimal reproduction for every issue: preconditions, exact actions, expected versus actual result, console/network evidence, and a screenshot when it clarifies the problem. Classify observations as confirmed defects, likely defects needing product judgment, or clean coverage. Never manufacture a bug report from a speculative concern.

4. Diagnose and implement

  1. Reproduce each confirmed defect with the narrowest reliable browser, test, API, or CLI scenario. Locate the owning package and read nearby tests before changing code.
  2. Implement the smallest durable correction. Preserve boundaries: shared contracts live in packages/core, web tests use semantic queries and user-event, and no test-only production escape hatches.
  3. Add a focused regression test when it protects real behavior. Keep the original user-flow reproduction as a manual acceptance check.
  4. Re-run the affected browser scenario and inspect console/network state. Run bun run verify --strict; include lint and type checking whenever the changed boundary requires them.
  5. If a finding cannot be safely reproduced or fixed within scope, do not paper over it. Report its evidence, impact, and recommended owner/action.

5. Simplify, review, and release

  1. Run the simplify skill on the complete base-to-head diff after the fix. Apply behavior-preserving simplifications, commit them separately when they change code, and re-run behavior-adjacent checks.
  2. Follow the ship skill for verify, ready PR, and auto-merge. Do not bypass its safeguards.
  3. Do not create or merge a pull request if validation is incomplete, an unrelated dirty change overlaps, a material finding remains unresolved, or the target/base branch is unclear. State the blocker instead.

Report

Lead with the release outcome. Include the environment and verified account state, happy-path evidence, probes completed, findings by classification, fixes and regression tests, browser/API evidence after the fix, commands run, simplification result, PR/merge/CI status, and any skipped or residual risk.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.