agentCLAWHUBUnverified

Apm Agent Progressive Memory

APM Protocol (Agent Progressive Memory): Progressive disclosure protocol for group chat AND DM (main session) memory.

OpenClaw

Rank

62

Safety

84

Downloads

1.2k

Updated

Oct 11, 2026

Version

1.6.1

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
1.2K downloadsadoption · observed Oct 11, 2026
Latest release
1.6.1release · observed Jun 20, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17dtx203kvnxrae9yp2v5epcn83kj3f:apm-agent-progressive-memory
  1. Install using `clawhub skill install s17dtx203kvnxrae9yp2v5epcn83kj3f:apm-agent-progressive-memory` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/biociao/apm-agent-progressive-memory before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-biociao-apm-agent-progressive-memory/snapshot"

Documentation

CLAWHUB

146,965 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: APM-agent-progressive-memory
description: "APM Protocol (Agent Progressive Memory): Progressive disclosure protocol for group chat AND DM (main session) memory."
---

# APM — Progressive Disclosure Protocol

APM supports **both group chat and private (main session DM)** memory management. The two structures are completely independent and do not interfere with each other.

## Group vs DM: Strategy Comparison

| Aspect | Group Chat | DM (Main Session) |
|-------|-----------|-------------------|
| **Memory path** | `memory/groups/{group_name}/` | `memory/main/` |
| **Loading** | 5-step progressive (index → P0 → P1 → P2 → P3) | 3-layer progressive (index → attention → longterm) |
| **Index file** | `memory/groups/{group_name}.md` | `memory/main/index.md` |
| **Priority files** | attention.md, project.md, experience.md, people.md | attention.md, longterm.md |
| **Entry rule** | Must read index first, no subdirectory bypass | Must read index first |
| **Flush trigger** | Per-group flush on `/remem` | Full-session flush on `/remem` |

**Key differences**:
- Group uses **5-step loading** with budget controls; DM uses simpler **3-layer**
- Group has **conventions/** sub-directory; DM does not
- DM reuses existing **MEMORY.md**; Group uses dedicated files
- Uninstaller: Group loses memory access; DM retains MEMORY.md

Agent must follow the **layered disclosure protocol** when accessing memory in group chats: read the index first, then load layers on demand.

## Core Rules

### 1. Entry Gate

- The **only legal entry point** for group chat memory is `memory/groups/{group_name}.md` (index file)
- **Forbidden**: directly reading any sub-files under `memory/groups/{group_name}/`
- **Forbidden**: bypassing the index to directly `memory_search` subdirectories
- **Group name mapping rule**: group chat room IDs must first be resolved via `memory/groups/group_names.json` to a friendly name `{group_name}` before use

### 2. Five-Step Loading Flow

| Step | Action | Output |
|------|--------|--------|
| 0. Group name mapping | Check `memory/groups/group_names.json`, convert room ID to `{group_name}` | Friendly name |
| 1. Route to index | `memory_get("memory/groups/{group_name}.md")` | Hard Rules + routing table |
| 2. Intent matching | Match current message to trigger scenario | File to load |
| 3. Explicit load | `memory_get("memory/groups/{group_name}/{file}.md")` | Actual memory content |
| 4. Sub-layer control | Load only if Step 3 file references `conventions/` | 1 sub-file max |
| 5. Budget circuit-breaker | Stop when cumulative tokens exceed `memory_budget` | Stop loading |

Only **one** best-matching file is loaded per session (highest priority wins).

### 3. Loading Discipline

- **Per group chat (5-step flow)**:
  - Step 3 loads **1 P-file** (highest-priority match) per session
  - Step 4 may load **1 sub-file** under `conventions/` (only if Step 3 referenced it)
  - **Total ceiling**: 2 P0–P2 files + 1 P3 file (per AGENTS.md layering)
- **Per DM

_meta.json

{
  "ownerId": "kn7dz0are44vk4ct393b9kxe4n8209wv",
  "slug": "apm-agent-progressive-memory",
  "version": "1.6.1",
  "publishedAt": 1781972714508
}

ADDENDUM.md

# APM — ADDENDUM (Technical Details)

## File Templates (v1.6.0)

### MEMORY.md Template (lean, ≤ 50 lines)

```markdown
# MEMORY.md — Long-term Memory (Authoritative Source)

> ⚠️ This file only stores **high-level identity + index**.
> Project details go to `memory/main/projects/`.
> Event logs go to `memory/YYYY-MM-DD.md`.

## Identity
- **Me**: {agent name}, {role}, {style}
- **Principles**: {3-5 max}

## User
- **Name**: {user name} / {aliases}
- **Timezone**: {tz}
- **Stack**: {languages/tools}

## Servers
- **Host**: {hostname}
- **Access**: {ssh/sftp url}

## Key Databases
- **{db name}**: {path}

## Project Index (see `memory/main/projects/`)

| Project | Path | Detail File |
|---------|------|-------------|
| {name} | {path} | `projects/{name}.md` |
| ... | ... | ... |

## Other Memory Entries
- Current tasks: `memory/main/attention.md`
- Experience index: `memory/main/longterm.md`
- Daily logs: `memory/YYYY-MM-DD.md`
- Group chats: `memory/groups/` (APM 5-step)
- DVC / data: {path}
```

### projects/{name}.md Template

```markdown
# {Project Name}

**Status**: {one-line state, e.g. "Stage3 analysis, batch1 138/140 done"}

## Project Info
- **Path**: {absolute path}
- **Description**: {one-liner}
- **Group**: {group chat name, if any}

## Progress / Milestones
- ✅ {milestone 1}
- ✅ {milestone 2}
- ⏳ {current}

## Key Findings / Notes
- {decision, gotcha, or constraint}

## References
- Source repo: {path}
- Data storage: {path}
- Project report: {path}

## See Also
- `memory/main/attention.md` (current task tracking)
```

### longterm.md Template (DM experience index)

```markdown
# Long-term Memory (APM DM Summary)

> Experience index layer for MEMORY.md.
> Project details → `memory/main/projects/{name}.md`.
> Current tasks → `memory/main/attention.md`.

## Project Status Index

| Project | Detail File | Current Stage |
|---------|-------------|---------------|
| {name} | `projects/{name}.md` | {stage} |

## Key Events Index

| Event | Date | Location |
|-------|------|----------|
| {event} | YYYY-MM-DD | {file path} |

## Server Resources
- Host: {hostname}
- DVC: {path}
- Key DBs: {path list}
```

## Group Index File Template

```markdown
---
group_name: {group_name}
last_updated: YYYY-MM-DD
status: active
memory_budget: 6000
---

# {Group Name} — Progressive Disclosure Index

> ⚠️ This file is the **only legal entry point** for accessing this group's memory.

## Hard Rules

- rule 1
- rule 2

## Routing Index

| Trigger Scenario | Load File | Priority |
|-----------------|-----------|----------|
| Current tasks, Sprint, blockers | `attention.md` | P0 |
| Tech stack, architecture constraints | `project.md` | P1 |
| Historical decisions, lessons learned | `experience.md` | P2 |
| Team roles, contacts | `people.md` | P3 |
| API development details | `conventions/api.md` | P2-L3 |
```

## DM Index File Template

```markdown
---
type: main-session-index
last_updated: YYYY-MM-DD
status: active
memory_budget: 8000
---

# Main Session Memor

CHANGELOG.md

# APM Skill — Changelog

## 1.6.0 (2026-06-20)

### Added

- **New hook**: `apm_session_start` — auto-injects APM context per chat
  type on every agent run.
  - Chat-type aware: DM gets `APM_SESSION_START.md`; groups get
    `APM_GROUP_SESSION_START.md` with privacy gate.
  - Channel-agnostic sessionKey parsing (Matrix / Telegram / Slack / Discord).
  - Group-name resolution via `memory/groups/group_names.json` (full
    key match + Matrix-specific room-only fallback).
  - Idempotent per session (cached via `bootstrapFiles`).
- **New chapter in SKILL.md**: `MEMORY.md Discipline` — explicit
  allowed/forbidden rules for what belongs in `MEMORY.md` vs other
  memory layers.
- **New chapter in SKILL.md**: `MEMORY.md Audit Checklist` — quick
  mental check whenever editing `MEMORY.md`.
- **New chapter in ADDENDUM.md**: `File Templates` — three canonical
  templates: `MEMORY.md` (lean, ≤ 50 lines), `projects/{name}.md`,
  `longterm.md` (experience index).
- **New chapter in ADDENDUM.md**: `MEMORY.md Size Audit` — line-count
  rating table and a quick-extract script (grep) for finding
  bloat candidates.
- **New chapter in HOOKS.md**: `Hook Interaction` flow diagram and
  shared conventions (mtime-based deltas, idempotency, flush-state shape).
- **Shipped hook code**: `hooks/apm_session_start/{HOOK.md,handler.js}`
  in this skill (operators can `cp -r` to install).
- **Shipped hook code**: synced `hooks/remem-flush/` and
  `hooks/precompact-remem/` from deployed state (catch up to current
  `~/.openclaw/hooks/` versions).
- **CHANGELOG.md** — this file.

### Changed

- `SKILL.md` — added new chapters; existing content unchanged.
- `ADDENDUM.md` — added new templates and audit section; existing
  content unchanged.
- `HOOKS.md` — restructured as pure overview + links (was duplicating
  per-hook content); install instructions consolidated.
- `_meta.json` — version bumped 1.5.0 → 1.6.0.

### Privacy / Channel Improvements

- All skill documentation **stripped of personal references** (agent
  name, project names, server paths, specific room IDs).
- `apm_session_start` hook explicitly documents channel support matrix
  (Matrix primary, others compatible) and Matrix-specific fallbacks
  (room-only key match) are noted as such.
- All non-English references in `apm_session_start` translated
  to English (e.g. "Progressive Disclosure Protocol",
  "Entry Gate", "First-Join Flow") to keep the skill monolingual.

### Known Limitations (unchanged)

- `MEMORY.md` is still injected by OpenClaw as a workspace bootstrap
  file in group sessions; the privacy gate is enforced by agent
  discipline until OpenClaw adds filtering.
- `chatType === 'unknown'` falls back to DM protocol + warning.

## 1.5.0 (2026-05-19)

- Initial published version.
- Two hooks: `remem-flush`, `precompact-remem`.
- Group 5-step + DM 3-layer loading protocol.
- File templates in ADDENDUM.md (group index, attention, experience).

---

## Versioning

- **Major** (1.x → 2.x) — breaking protocol c

HOOKS.md

# APM — Hooks Overview

This skill ships **three OpenClaw hooks** that automate the APM memory
lifecycle. Each hook has its own `HOOK.md` with full details; this file is
the entry point and contains only the overview, shared conventions, and
installation instructions.

## Hook Index

| Hook | Event | Purpose | Full docs |
|------|-------|---------|-----------|
| `apm_session_start` | `agent:bootstrap` | Auto-inject APM context per chat type (DM vs group, channel-agnostic) | [`hooks/apm_session_start/HOOK.md`](hooks/apm_session_start/HOOK.md) |
| `remem-flush` | `message:received`, `system:event` | Manual flush on `/remem` (user or cron) | [`hooks/remem-flush/HOOK.md`](hooks/remem-flush/HOOK.md) |
| `precompact-remem` | `session:compact:before` | Auto-flush before context is lost | [`hooks/precompact-remem/HOOK.md`](hooks/precompact-remem/HOOK.md) |

## Shipped Files

```
hooks/
├── apm_session_start/
│   ├── HOOK.md
│   └── handler.js
├── remem-flush/
│   ├── HOOK.md
│   └── handler.js
└── precompact-remem/
    ├── HOOK.md
    └── handler.js
```

## Channel Compatibility

All three hooks are **channel-agnostic at the chat-type level** (DM vs
group). `apm_session_start` additionally detects multiple channel
sessionKey patterns:

| Channel  | DM | Group | Notes |
|----------|----|----|-------|
| Matrix   | ✅ | ✅ | First-class; full + room-only key matching |
| Telegram | ✅ | ✅ | chat_id as key (negative for groups) |
| Slack    | ✅ | ✅ | channel_id snowflake as key |
| Discord  | ✅ | ✅ | channel_id snowflake as key |

To add a new channel, update `detectChatTypeFromSessionKey` in
`hooks/apm_session_start/handler.js` and document the key format in
`hooks/apm_session_start/HOOK.md`.

## Installation

Install all three hooks in one go:

```bash
SKILL_DIR=~/.openclaw/workspace/skills/apm-agent-progressive-memory
HOOKS_DIR=~/.openclaw/hooks

cp -r "$SKILL_DIR/hooks/apm_session_start/"   "$HOOKS_DIR/"
cp -r "$SKILL_DIR/hooks/remem-flush/"          "$HOOKS_DIR/"
cp -r "$SKILL_DIR/hooks/precompact-remem/"     "$HOOKS_DIR/"

# Avoid double-flush with the built-in memory-flush hook
openclaw hooks disable memory-flush

# Enable precompact (apm_session_start and remem-flush are auto-loaded)
openclaw hooks enable precompact-remem
```

## Verification

After installation, verify all three handlers load:

```bash
# Each handler should parse and export { handler } without error
for hook in apm_session_start remem-flush precompact-remem; do
  node -e "require('./hooks/$hook/handler.js'); console.log('$hook OK')"
done
```

## Hook Interaction

```
agent run start
   │
   ▼
agent:bootstrap event
   │
   ├─► apm_session_start  ──► injects APM_SESSION_START.md (DM)
   │                       or APM_GROUP_SESSION_START.md (group)
   │
   ▼
agent responds to user
   │
   ▼
user sends /remem (or cron fires /remem)
   │
   ├─► remem-flush        ──► records mtime deltas in
   │                          memory/flush-state.json (DM) OR
   │                          memory/gr
Github ReposUpdated 1d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/biociao/skills/apm-agent-progressive-memory",
      "sourceUrl": "https://clawhub.ai/biociao/skills/apm-agent-progressive-memory",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:21:34.523Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-biociao-apm-agent-progressive-memory/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-biociao-apm-agent-progressive-memory/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:21:34.523Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.2K downloads",
      "href": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceUrl": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T04:21:34.523Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.6.1",
      "href": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceUrl": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-06-20T16:25:14.508Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-biociao-apm-agent-progressive-memory/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-biociao-apm-agent-progressive-memory/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.6.1",
      "description": "**Summary:** Introduced dedicated session start hook and improved group name mapping. - Added new `apm_session_start` hook for memory initialization and entry handling. - Moved group name mapping file to `memory/groups/group_names.json` (from `memory/group_names.json`). - Removed deprecated bootstrap script and related hook files. - Updated docs to clarify agent vs. hook responsibilities for memory initialization and first-join flows. - Minor refinements to loading rules and file structure explanations.",
      "href": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceUrl": "https://clawhub.ai/biociao/apm-agent-progressive-memory",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-06-20T16:25:14.508Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 11, 2026.

Sponsored

Ads related to Apm Agent Progressive Memory and adjacent AI workflows.