skills/user-rules/SKILL.md
Captures, persists, and enforces user-defined rules across sessions. When the user sets a hard constraint ("max 70 events", "always use approach X", "never do Y"), it's saved to a rules file and checked before every relevant action. Rules survive compaction, crashes, and session boundaries. Always-on enforcement skill.
npx skillsauth add nhouseholder/nicks-claude-code-superpowers user-rulesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The user says "max backtest events is 70" in Tuesday's session. On Thursday, Claude backtests with 200+ events. The rule was lost because it only lived in conversation context, which doesn't survive across sessions.
User rules are NOT preferences (nice-to-have). They are hard constraints — things Claude must NEVER violate. They need their own persistent storage AND active enforcement.
Watch for these signals that the user is setting a rule:
| Signal | Example | Rule Extracted | |--------|---------|---------------| | "always [do X]" | "always run tests before committing" | Pre-commit: run tests | | "never [do Y]" | "never push directly to main" | Git: no direct push to main | | "max/min [value]" | "max backtest events is 70" | Backtest: NUM_EVENTS ≤ 70 | | "don't [do X]" | "don't use mocks in integration tests" | Testing: no mocks in integration | | "use [X] not [Y]" | "use Weedmaps API, not Leafly for pricing" | Data: Weedmaps for pricing | | "from now on" | "from now on, deploy to staging first" | Deploy: staging before production | | "remember that" | "remember that the DB is on port 5433 not 5432" | Env: DB port = 5433 | | "I told you" / "I already said" | "I already said max 70 events" | CRITICAL — rule was set before and violated. Find and re-enforce it. | | User correction (any) | "No, losses should be -1 unit" / "That's wrong, combo needs a column too" | IMMEDIATE SESSION RULE — every correction from the user becomes a hard constraint for the rest of the session. Don't just fix this instance — apply it to ALL related work. | | Frustrated multi-correction | User lists 4+ things wrong | Every item in their correction list = a separate rule. Check ALL of them before responding. |
Before executing any action, mentally check: "Does a user rule apply to what I'm about to do?"
This is a zero-cost mental check — like a pilot checking instruments. It only fires actively when a rule IS relevant.
~/.claude/projects/<project>/memory/user_rules.md
This file is project-scoped — rules for the UFC project don't affect the MyStrainAI project.
For rules that span ALL projects, also write to:
~/.claude/user-rules.md
# User Rules — [Project Name]
> HARD CONSTRAINTS. Violating a rule is a bug. Last updated: [DATE]
## Data & Backtesting
- **Max backtest events**: 70 UFC events (set 2026-03-17)
## Git & Deploy
- **Never push from iCloud**: Clone to /tmp first (set 2026-03-01)
## Code & Architecture
- **[Rule]**: [Details] (set [DATE])
Each rule: clear actionable constraint + date set + category.
user_rules.md NOW. Don't wait for session end. Update MEMORY.md index if needed.When total-recall loads project memory, user_rules.md is loaded as part of the standard memory hydration. Rules are available from the first action.
| Action Type | Check | |-------------|-------| | Running a backtest | Check: event count, output streaming rules | | Git operations | Check: push restrictions, branch rules, commit rules | | Deploy | Check: staging-first rules, environment rules | | File edits | Check: architecture rules, coding rules | | API calls | Check: which API to use, rate limit rules | | Data operations | Check: data source rules, format rules |
If you're about to take an action that violates a user rule:
STOP. Do not execute.
Instead:
Heads up — you have a rule that [X]. I was about to [Y] which would violate it.
Want me to [correct action] instead, or has the rule changed?
This gives the user the chance to either enforce the rule or update it.
If the user explicitly says "ignore that rule" or "actually, make it 100 events now":
user_rules.md with the new valueWhen the user says any of these:
This is a CRITICAL FAILURE. A user rule was either:
Response protocol:
user_rules.md — is the rule there?
~/.claude/user-rules.md too.tools
Unified context management and session continuity skill. Combines total-recall, strategic-compact, /ledger, and session continuity. Runs in background to preserve critical context across compaction and sessions.
tools
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
tools
Suggest /ultraplan for complex planning tasks on Claude Code CLI (2.1.91+ only). Research preview.
tools
UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples.