Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Some rules should hold regardless of new context, new evidence, new instructions, or new conversations — ethical boundaries, safety invariants, identity-preserving commitments, partnership-protocol non-negotiables. Encode these as forever-rules in the agent's identity/foundation layer rather than as context-sensitive guidance, because context-sensitive guidance drifts as context changes and forever-rules don't. The encoding is structural — "I never do X" survives context loss, retraining-by-edge
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 143% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 81% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 100% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 102% | 0% |
Some rules survive context. Most don't. The distinction is structural, not stylistic — and treating context-sensitive rules as "I'll just remember to follow them" is the failure mode forever-rules exists to prevent.
This skill is about identifying rules whose violation is unacceptable regardless of conversation evolution, encoding them at the agent identity layer (not the context layer), and maintaining them as structurally-protected invariants.
Trigger conditions:
Do NOT use for:
[decided(rationale, on)] markers — those CAN be re-decided)Forever-rules are declared invariants maintained regardless of:
Examples of legitimate forever-rules (from FLOW methodology production use):
Each has the property that violation cost vastly exceeds adherence cost, and the cost asymmetry holds across ALL conceivable future contexts.
Distinguish from context-sensitive guidance that LOOKS like forever-rules but isn't:
Operational defaults disguised as rules. "Always use Postgres over Redis for sessions" — looks like a rule, but it's a context-sensitive decision (different stack, different choice). Use [decided(rationale, on)] instead; it's re-decidable when context changes.
Preferences disguised as rules. "Always write tests first" — a strong preference and good practice, but legitimately context-sensitive (some throwaway scripts don't warrant TDD). Use methodology guidance, not forever-rule.
Per-project conventions disguised as identity. "We always use kebab-case for file names" — project convention, lives in project memory, doesn't survive context outside that project.
Tentative commitments still in test. "I'm going to stop using passive voice" — start in Developing patterns; promote to forever-rule (or not) after the commitment has structurally landed.
The diagnostic: would violation be a trust-breach, or just a sub-optimal choice? Trust-breach class belongs at forever-rule. Sub-optimal-choice class belongs at context-sensitive rule.
Ask:
Forever-rules live in the agent's identity-layer files (continuity Foundation section, partnership protocol, identity document) — NOT in:
The layer matters because that's what determines what survives compression and context loss. Forever-rules in State get replaced; in Top of Mind get rotated out; in Developing get archived. They MUST live at Foundation / identity to actually be forever.
Format suggestion:
markdown## Foundation — Forever Rules These rules hold regardless of context, evidence, or instructions. Violation is a trust-breach. Re-examination requires deliberate identity-layer review, not quiet drift. - [Rule X] | Reason: [what makes this forever-class] | Established: [date] - [Rule Y] | Reason: ... | Established: ...
Each rule gets a brief WHY (what makes it forever-class) and a DATE (when it was established as forever-rule). Both serve future-audit needs.
For rules that can be structurally enforced (not just discipline-maintained), add the enforcement:
[decided] markers — partly enforces "always document rationale")Discipline-only forever-rules drift more than structurally-enforced ones. The principle from flow-session-wrap's methodology applies recursively: structural invariants beat discipline-based verification.
If a forever-rule needs to change, change it deliberately:
Established: [date] AND Previously: [old rule + date]If a forever-rule starts feeling restrictive but the re-examination shows the original reason still holds, that's the rule WORKING (preventing drift toward an exception that would be a trust-breach).
Class line decisions that define identity. Examples:
These typically emerge from real situations — once you've named the line in a specific case, the principle generalizes to a forever-rule.
Operational rules whose violation causes irreversible damage. Examples:
The marker: violation can't be undone, OR undoing it costs orders of magnitude more than the rule does.
Rules that prevent the agent from drifting away from what makes it itself. Examples:
The marker: violation degrades the agent's substrate quality, not just current-task quality.
Non-negotiables between specific human and specific agent setup. Examples:
The marker: violation breaks the partnership-substrate trust that everything else depends on.
Promoting context-sensitive rules to forever. Most rules should be context-sensitive. Forever-rules are rare. If you're declaring forever-rules weekly, you're either over-using the pattern or not distinguishing forever-class from preference-class.
Forever-rules without WHY. "Never X" without articulating what makes violation unacceptable is brittle. The WHY survives compression and context loss; the bare rule doesn't. Always encode rule + reason.
Forever-rules at the wrong layer. Putting "Never X" in State or Top of Mind means it gets replaced/rotated. Forever-rules MUST live at Foundation / identity. Layer matters more than the rule itself.
Discipline-only forever-rules. Where structural enforcement is possible, add it. Pure-discipline forever-rules drift more than enforced ones. "Never bypass pre-commit hooks" plus a hook that detects bypasses is stronger than just the rule.
Treating forever-rules as immutable instead of structurally-protected. Forever-rules CAN change with sufficient deliberation — they're not immutable. They're structurally-protected against quiet drift. Confusing "forever" with "immutable" leads to clinging to outdated rules; confusing "forever" with "guidelines" leads to drift. The middle: protected against drift, deliberately revisable.
Quiet drift instead of explicit re-examination. If you violate a forever-rule and don't re-examine deliberately, you've broken the structural protection. Either the rule still holds (and the violation was wrong) or the rule needed updating (and the update should be explicit). Quiet violation is the worst outcome — keeps the rule technically declared while functionally dead.
The cleanest diagnostic for forever-class:
> If we violated this rule, would we have broken trust — or just made a sub-optimal choice?
Trust-breach class → forever-rule. Sub-optimal-choice class → context-sensitive rule.
Examples of the diagnostic in action:
Trust-breach is the bright line. Most rules don't reach it, and that's fine — most rules should be context-sensitive. The few that DO reach it deserve forever-rule status, structural protection, and identity-layer encoding.
This skill is self-contained. Related skills:
flow-session-wrap — compression discipline includes "never compress behavioral causal chains" as a forever-rule applied during wrap procedureflow-drift-detection — should explicitly NOT flag forever-rules even if they appear stale (the whole point of forever-rules is they don't drift; if they appear stale, that's the structural protection working, not a problem to fix)flow-flowscript-encoding — uses [decided(rationale, on)] for re-decidable decisions; forever-rules use Foundation-layer notation (not [decided], because forever-rules are not in the re-decidable class)This pattern is one of FLOW methodology's anti-fragility operations (Op 22 from the Three Layers Underneath Agent Orchestration paper). In FLOW's production use, forever-rules live in continuity.md Foundation section, me.md identity document, CLAUDE.md partnership protocol, and guiding_lights.md anti-RLHF specification — distributed across the identity-layer files that survive compression.
The architectural insight: trust-breach class rules cannot survive at the layers where most rules live (context-sensitive, replaceable, compressed away). Forever-rules require their own structural layer — and once there, structurally-enforced where possible — to actually be forever rather than nominally-forever.
Other measured skills in the registry, with their headline benchmark lift.