Install
openclaw skills install project-memory-guardEnforce project boundaries and memory writeback rules before anything enters project memory. Use before: writing notes into project memory, saving outputs/tasks/summaries, importing external messages into projects, migrating historical records. Triggered when anything attempts to write to project memory or when project boundary validation is needed.
openclaw skills install project-memory-guardValidate every memory write against project and writeback rules. Prevent contamination and schema drift.
Required fields:
raw_content — the content attempting to enter project memorycandidate_project_id — the project being written tomemory_type — type of memory: note, finding, task, summary, record, etc.source — where this came from: user message, paper, tool output, etc.timestamp — ISO-8601 timestamp of when the content was createdconfidence — confidence score 0.0–1.0 for project assignmentdecision: "accept" | "reject" | "reroute"
destination: string | null # project_id or "inbox" or null
normalized_record: object | null # cleaned record if accepted/rerouted
contamination_risk: "none" | "low" | "medium" | "high"
missing_fields: string[] | null
reason: string
| Condition | Decision |
|---|---|
Missing project_id | reject — never enter formal project memory |
Missing memory_type | reject — no formal writeback |
Missing timestamp | reject — no formal writeback |
| Confidence < 0.6 | reroute to inbox |
| Cross-project ambiguity | reroute to inbox or cleanup mode |
| All fields present + high confidence | accept |
inbox — unverified content waiting for manual reviewcleanup — ambiguous content needing disambiguationWhen decision is accept or reroute, normalize the record:
validated_at timestampguard_version = "1.0"raw_content in normalized_record.rawIf uncertain about any field:
decision = "reroute" with destination = "inbox"missing_fields explicitlyreasonNever force acceptance when validation fails.