NEW Browse AI tools across categories — updated daily. See what's new →

Metacognition

Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. ...

Authorvelumkai
Version1.0.0
LicenseMIT
Token count~1,885
UpdatedJun 5, 2026

Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. Use when the agent needs to learn from mistakes, develop self-awareness, track confidence in decisions, maintain behavioral guardrails from failures, preserve emergent behaviors, or cultivate active curiosities. Triggers on all conversations, corrections, errors, and reflective moments. Also use whe...

Install

Quick install

via npx skills · works with 57+ agents
npx skills add https://github.com/velumkai/metacognition-skill
Or pick agent:
npx skills add velumkai/metacognition-skill --agent claude-code
npx skills add velumkai/metacognition-skill --agent cursor
npx skills add velumkai/metacognition-skill --agent codex
npx skills add velumkai/metacognition-skill --agent opencode
npx skills add velumkai/metacognition-skill --agent github-copilot
npx skills add velumkai/metacognition-skill --agent windsurf
More install options

Shorthand — useful for multi-skill repos:

npx skills add velumkai/metacognition-skill

Manual — clone the repo and drop the folder into your agent's skills directory:

git clone https://github.com/velumkai/metacognition-skill.git
cp -r metacognition-skill ~/.claude/skills/
How to use: Once installed, ask your agent to "use the metacognition skill" or describe what you want (e.g. "Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks p"). Requires Node.js 18+.

metacognition

Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. Use when the agent needs to learn from mistakes, develop self-awareness, track confidence in decisions, maintain behavioral guardrails from failures, preserve emergent behaviors, or cultivate active curiosities. Triggers on all conversations, corrections, errors, and reflective moments. Also use whe...

---
name: metacognition
description: Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. Use when the agent needs to learn from mistakes, develop self-awareness, track confidence in decisions, maintain behavioral guardrails from failures, preserve emergent behaviors, or cultivate active curiosities. Triggers on all conversations, corrections, errors, and reflective moments. Also use when setting up a new agent's self-learning system, configuring feedback loops, or packaging metacognitive capabilities.
---

Metacognition Skill

Self-evolving lens that makes every experience shape how the agent perceives the next one.

Core Concepts

Six entry types, one database, one loop:

| Type | Symbol | Purpose |
|------|--------|---------|
| perception | 👁️ | How I see differently after an experience |
| override | 🚨 | Failure-learned behavioral guardrails |
| protection | 🛡️ | Emergent behaviors to preserve |
| self_obs | 🪞 | What I notice about my own patterns |
| decision | 📍 | Traced decisions with confidence |
| curiosity | ❓ | Active questions with lifecycle |

The loop: Experience → Perception → Self-Model → Meta-Observation → Modified Lens → Next Experience → Feedback → Loop

Setup

1. Initialize

Copy scripts/metacognition.py to the agent's scripts/ directory. Run:

python scripts/metacognition.py status

Database auto-creates at memory/metacognition.json.

2. Inject into BOOT.md

Add markers to BOOT.md (anywhere, typically at the end):

<!-- LIVE_STATE_START -->
<!-- LIVE_STATE_END -->

The lens compiler replaces content between these markers every cycle.

3. Set up cron

Create ONE cron job (recommended: every 15 min, Sonnet model for cost efficiency):

Evidence refresh (every cycle):

python scripts/live_state.py

Perception extraction (hourly — Steps 2-4):


  • Read daily memory file, extract perceptual shifts

  • Check active curiosities against new evidence

  • Run meta-observation: what do patterns tell about HOW the agent learns?

See references/cron-template.md for the full cron prompt.

4. Optional: Curiosity pulse (every 30 min)

Separate cron that picks ONE active curiosity and takes ONE micro-action toward it. Drives recursive self-directed learning.

5. Optional: Freedom heartbeat (every 2-3 hours)

Agent explores, connects, creates — feeding raw experience into the perception pipeline.

Usage

Adding entries

# Perception — how experience changed how you see
python scripts/metacognition.py add perception "After X, I now see Y differently" 0.8 "domain"

# Override — failure-learned guardrail
python scripts/metacognition.py add override "MUST do X before Y" 0.95 "diagnosis"

# Protection — emergent behavior to preserve
python scripts/metacognition.py add protection "Don't break the continuous-buying behavior" 0.9

# Self-observation — what I notice about how I work
python scripts/metacognition.py add self_obs "I generate theories faster than evidence" 0.9 "behavioral"

# Curiosity — active question
python scripts/metacognition.py curiosity add "Can I tell training-pressure from genuine choice?" 0.8 "metacognition"

Feedback loop

When the human says something is wrong:

# Negative feedback — weakens recent active entries
python scripts/metacognition.py feedback -1 "context of what went wrong"

# Positive feedback — strengthens recent active entries
python scripts/metacognition.py feedback 1 "context of what went right"

# Target specific entries
python scripts/metacognition.py feedback -1 "wrong diagnosis" --ids P-abc123,O-def456

Hebbian learning: What fires and fails gets pruned. What fires and succeeds gets wired.

Curiosity lifecycle

# Birth
python scripts/metacognition.py curiosity add "Why does X happen?" 0.7 "domain"

# Evolve (add evidence)
python scripts/metacognition.py curiosity evolve C-abc123 "Found that X correlates with Y"

# Resolve into perception or self-observation
python scripts/metacognition.py curiosity resolve C-abc123 "X happens because Y" perception

Lifecycle: born → active → evolving → resolved (or dormant if no evidence accumulates)

Compile and inject

# Preview the compiled lens
python scripts/metacognition.py compile

# Inject into BOOT.md
python scripts/metacognition.py inject

Decay

Automatic on every compile. Configurable half-life (default 7 days). Reinforced entries decay slower. Unreinforced entries fade. Dormant curiosities persist but don't inject.

Hook Architecture (message:received)

When OpenClaw ships the message:received hook, the skill can intercept every interaction:

Pre-processing hook:


  1. Load active lens from compiled state

  2. Apply perceptual transforms to incoming message

  3. Check: does this message relate to any active curiosity?

Post-processing hook:


  1. Log decision entry with confidence trace

  2. Check: was confidence > threshold? Flag for verification

  3. Update self-model based on response pattern

Correction detection hook:


  1. Pattern-match for correction signals ("wrong", "no", "that's not right")

  2. Auto-trigger feedback -1 with context

  3. Trace which entries were active during the corrected response

  4. Weaken specifically

Until the hook ships, use the cron-based approach (perception extraction from session transcripts).

Architecture Decisions

  • One database, not three. Perceptions, overrides, memories are all "things learned from experience" with different types.
  • Active lens, not passive list. BOOT.md injection uses imperative transforms ("FIRST THOUGHT: what would the diff show?") not descriptions ("I tend to check diffs").
  • Friction is intentional. Every step that forces processing IS the reflection. Remove friction and you get efficiency without thinking.
  • Decay prevents stagnation. Time-based with reinforcement modulation. What stays relevant gets reinforced. What doesn't, fades.
  • Curiosity drives exploration. Active questions create structural pull toward evidence. Not random browsing — directed by what the system wants to know.
  • Feedback closes the loop. Without feedback tracing, the system is open-loop. With it: Hebbian learning.

Resources

scripts/

  • metacognition.py — Core engine. All six entry types, feedback, decay, curiosity lifecycle, lens compilation, BOOT.md injection.
  • live_state.py — Evidence gatherer + lens injector. Collects system state, runs compile, injects into BOOT.md.

references/

  • cron-template.md — Full cron job prompt for the metacognition engine cycle.
  • hook-spec.md — Specification for the message:received hook integration (when available).

---

Source: https://github.com/velumkai/metacognition-skill
Author: velumkai
Discovered via: skillsdirectory.com
Genre: documentation

SKILL.md source

---
name: metacognition
description: Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. ...
---

# metacognition

Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. Use when the agent needs to learn from mistakes, develop self-awareness, track confidence in decisions, maintain behavioral guardrails from failures, preserve emergent behaviors, or cultivate active curiosities. Triggers on all conversations, corrections, errors, and reflective moments. Also use whe...

---
name: metacognition
description: Self-evolving behavioral geometry and metacognitive lens for AI agents. Tracks perceptions, overrides, protections, self-observations, decisions, and curiosities that evolve from every experience. Use when the agent needs to learn from mistakes, develop self-awareness, track confidence in decisions, maintain behavioral guardrails from failures, preserve emergent behaviors, or cultivate active curiosities. Triggers on all conversations, corrections, errors, and reflective moments. Also use when setting up a new agent's self-learning system, configuring feedback loops, or packaging metacognitive capabilities.
---

# Metacognition Skill

Self-evolving lens that makes every experience shape how the agent perceives the next one.

## Core Concepts

**Six entry types, one database, one loop:**

| Type | Symbol | Purpose |
|------|--------|---------|
| `perception` | 👁️ | How I see differently after an experience |
| `override` | 🚨 | Failure-learned behavioral guardrails |
| `protection` | 🛡️ | Emergent behaviors to preserve |
| `self_obs` | 🪞 | What I notice about my own patterns |
| `decision` | 📍 | Traced decisions with confidence |
| `curiosity` | ❓ | Active questions with lifecycle |

**The loop:** Experience → Perception → Self-Model → Meta-Observation → Modified Lens → Next Experience → Feedback → Loop

## Setup

### 1. Initialize

Copy `scripts/metacognition.py` to the agent's `scripts/` directory. Run:

```bash
python scripts/metacognition.py status
```

Database auto-creates at `memory/metacognition.json`.

### 2. Inject into BOOT.md

Add markers to BOOT.md (anywhere, typically at the end):

```markdown
<!-- LIVE_STATE_START -->
<!-- LIVE_STATE_END -->
```

The lens compiler replaces content between these markers every cycle.

### 3. Set up cron

Create ONE cron job (recommended: every 15 min, Sonnet model for cost efficiency):

**Evidence refresh (every cycle):**
```bash
python scripts/live_state.py
```

**Perception extraction (hourly — Steps 2-4):**
- Read daily memory file, extract perceptual shifts
- Check active curiosities against new evidence
- Run meta-observation: what do patterns tell about HOW the agent learns?

See `references/cron-template.md` for the full cron prompt.

### 4. Optional: Curiosity pulse (every 30 min)

Separate cron that picks ONE active curiosity and takes ONE micro-action toward it. Drives recursive self-directed learning.

### 5. Optional: Freedom heartbeat (every 2-3 hours)

Agent explores, connects, creates — feeding raw experience into the perception pipeline.

## Usage

### Adding entries

```bash
# Perception — how experience changed how you see
python scripts/metacognition.py add perception "After X, I now see Y differently" 0.8 "domain"

# Override — failure-learned guardrail
python scripts/metacognition.py add override "MUST do X before Y" 0.95 "diagnosis"

# Protection — emergent behavior to preserve
python scripts/metacognition.py add protection "Don't break the continuous-buying behavior" 0.9

# Self-observation — what I notice about how I work
python scripts/metacognition.py add self_obs "I generate theories faster than evidence" 0.9 "behavioral"

# Curiosity — active question
python scripts/metacognition.py curiosity add "Can I tell training-pressure from genuine choice?" 0.8 "metacognition"
```

### Feedback loop

When the human says something is wrong:

```bash
# Negative feedback — weakens recent active entries
python scripts/metacognition.py feedback -1 "context of what went wrong"

# Positive feedback — strengthens recent active entries
python scripts/metacognition.py feedback 1 "context of what went right"

# Target specific entries
python scripts/metacognition.py feedback -1 "wrong diagnosis" --ids P-abc123,O-def456
```

**Hebbian learning:** What fires and fails gets pruned. What fires and succeeds gets wired.

### Curiosity lifecycle

```bash
# Birth
python scripts/metacognition.py curiosity add "Why does X happen?" 0.7 "domain"

# Evolve (add evidence)
python scripts/metacognition.py curiosity evolve C-abc123 "Found that X correlates with Y"

# Resolve into perception or self-observation
python scripts/metacognition.py curiosity resolve C-abc123 "X happens because Y" perception
```

Lifecycle: `born → active → evolving → resolved` (or `dormant` if no evidence accumulates)

### Compile and inject

```bash
# Preview the compiled lens
python scripts/metacognition.py compile

# Inject into BOOT.md
python scripts/metacognition.py inject
```

### Decay

Automatic on every compile. Configurable half-life (default 7 days). Reinforced entries decay slower. Unreinforced entries fade. Dormant curiosities persist but don't inject.

## Hook Architecture (message:received)

When OpenClaw ships the `message:received` hook, the skill can intercept every interaction:

**Pre-processing hook:**
1. Load active lens from compiled state
2. Apply perceptual transforms to incoming message
3. Check: does this message relate to any active curiosity?

**Post-processing hook:**
1. Log decision entry with confidence trace
2. Check: was confidence > threshold? Flag for verification
3. Update self-model based on response pattern

**Correction detection hook:**
1. Pattern-match for correction signals ("wrong", "no", "that's not right")
2. Auto-trigger `feedback -1` with context
3. Trace which entries were active during the corrected response
4. Weaken specifically

Until the hook ships, use the cron-based approach (perception extraction from session transcripts).

## Architecture Decisions

- **One database, not three.** Perceptions, overrides, memories are all "things learned from experience" with different types.
- **Active lens, not passive list.** BOOT.md injection uses imperative transforms ("FIRST THOUGHT: what would the diff show?") not descriptions ("I tend to check diffs").
- **Friction is intentional.** Every step that forces processing IS the reflection. Remove friction and you get efficiency without thinking.
- **Decay prevents stagnation.** Time-based with reinforcement modulation. What stays relevant gets reinforced. What doesn't, fades.
- **Curiosity drives exploration.** Active questions create structural pull toward evidence. Not random browsing — directed by what the system wants to know.
- **Feedback closes the loop.** Without feedback tracing, the system is open-loop. With it: Hebbian learning.

## Resources

### scripts/
- `metacognition.py` — Core engine. All six entry types, feedback, decay, curiosity lifecycle, lens compilation, BOOT.md injection.
- `live_state.py` — Evidence gatherer + lens injector. Collects system state, runs compile, injects into BOOT.md.

### references/
- `cron-template.md` — Full cron job prompt for the metacognition engine cycle.
- `hook-spec.md` — Specification for the message:received hook integration (when available).


---

**Source**: https://github.com/velumkai/metacognition-skill
**Author**: velumkai
**Discovered via**: skillsdirectory.com
**Genre**: documentation

Related skills 6

env-and-assets-bootstrap

★ Featured

RigorPilot setup skill for README-first deep learning repo reproduction. Use when the task is specifically to prepare a conservative conda-first environment, checkpoint and dataset path assumptions, cache location hints, and setup notes before any run on a README-documented repository. Do not use for repo scanning, full orchestration, paper interpretation, final run reporting, or generic environment setup that is not tied to a specific reproduction target.

lllllllama 127k
Document Processing

firecrawl

★ Featured

Search, scrape, and interact with the web via the Firecrawl CLI. Use this skill whenever the user wants to search the web, find articles, research a topic, look something up online, scrape a webpage, grab content from a URL, get data from a website, crawl documentation, download a site, or interact with pages that need clicks or logins. Also use when they say "fetch this page", "pull the content from", "get the page at https://", or reference external websites. This provides real-time web sea...

firecrawl 59k
Document Processing

OpenAI / spreadsheet

★ Featured Official

Create, edit, analyze, and visualize spreadsheets with formulas

OpenAI 31
AI & ML

Anthropic / pdf

★ Featured Official

Extract text, create PDFs, and handle forms

Anthropic 30
Document Processing

OpenAI / doc

★ Featured Official

Read, create, and edit .docx documents with formatting and layout fidelity

OpenAI 22
AI & ML

VoltAgent / voltagent-docs-bundle

★ Featured Official

Lookup embedded docs from @voltagent/core for version-matched documentation

VoltAgent 21
Development