Skip to content
Back to skills

Context Hygiene

ASecurity

Nightly context trim for ACTIVE_PRIORITIES and the dated SESSION_LOG schema. Archives before removal, uses content-hash compare-and-swap, and refuses unknown shapes.

  • 18 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 5, 2026
ai-agentsbashnode

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add wrg32786/aigent-os --skill context-hygiene --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Context Hygiene?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Context Hygiene
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/wrg32786-context-hygiene/badge)](https://www.skillsdirectory.com/skills/wrg32786-context-hygiene)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: context-hygiene
agent: none
description: Nightly context trim for ACTIVE_PRIORITIES and the dated SESSION_LOG schema. Archives before removal, uses content-hash compare-and-swap, and refuses unknown shapes.
allowed-tools: Read, Write, Bash
user-invocable: true
status: PRODUCTION - bounded archive writer
triggers:
  - context hygiene
  - trim session log
  - archive old session entries
  - clean active priorities
---

# /context-hygiene

This is the sole bounded compaction exception to the Session Log chronicle. It
runs only when invoked, never while the framework is being installed or tested
against a real vault.

## Precondition

1. Read `vault/memory/SESSION_LOG.md` and
   `vault/memory/ACTIVE_PRIORITIES.md`.
2. Hash both exact byte streams with SHA-256.
3. Run:

```text
node daemons/nightly-context-hygiene.mjs --root <aigent-root>
```

Green means no edit is needed. Red permits only the bounded archive below.
Unreadable or unfamiliar content is a failure, not permission to rewrite.

## Session Log archive

The executable target schema uses newest-first dated H2 blocks. A canonical
block starts with `## YYYY-MM-DD - title` and contains one nonempty occurrence
of each field:

- `Objective`
- `Completed`
- `Decisions`
- `Open threads`
- `Next action`

Archival rules:

- Keep the newest five live dated blocks.
- Move older whole blocks to
  `vault/memory/SESSION_LOG_ARCHIVE_<YYYY-MM-DD>.md`.
- Preserve source text and order.
- Preserve frontmatter, title, schema guidance, and archive links.
- Dedupe by exact dated heading plus block hash.
- Refuse a block whose boundary cannot be determined without judgment.

## Active Priorities archive

The mechanically checkable live shape contains:

- exactly one `## Operating Mode: <mode>` heading;
- one to five live bullet priorities under `## Tier 1`, `## Tier 2`, or
  `## Tier 3` headings;
- no placeholder priority;
- one valid `Last reviewed: YYYY-MM-DD` line; and
- no embedded `## Archived` section.

Move only content explicitly marked stale, superseded, or archived to
`vault/memory/ACTIVE_PRIORITIES_ARCHIVE_<YYYY-MM-DD>.md`. If removal requires a
human decision, preserve it and report the gate.

## Compare-and-swap

Immediately before each write, hash the live source again. If either hash
differs from the precondition hash, abort with `CONTEXT_HYGIENE_RACE`. Archive
must be durable before the source is trimmed.

After writing, re-run the checker. Only its literal
`CONTEXT_HYGIENE PASS` receipt may record the checkpoint green. Return archive
paths and before/after hashes in bounded detail. Never touch another memory
file.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…