Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

lean4-memories

v0.1.0

This skill should be used when working on Lean 4 formalization projects to maintain persistent memory of successful proof patterns, failed approaches, projec...

0· 62·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for wu-uk/lean4-proof-lean4-memories.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "lean4-memories" (wu-uk/lean4-proof-lean4-memories) from ClawHub.
Skill page: https://clawhub.ai/wu-uk/lean4-proof-lean4-memories
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install lean4-proof-lean4-memories

ClawHub CLI

Package manager switcher

npx clawhub@latest install lean4-proof-lean4-memories
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The skill is explicitly for storing and retrieving Lean 4 proof patterns and conventions and the included Python helper implements the expected CLI operations (store/find/export). However, the SKILL.md and code claim integration with an external MCP memory server but the skill declares no required environment variables, endpoints, or credentials — there is a mismatch between the claimed remote integration and the lack of any declared/authentication mechanism.
Instruction Scope
Runtime instructions and the script scope memories by project path and include file/module names and contexts. The helper obtains the project root (looks for .git or cwd) and example memory entities include absolute paths (/Users/...). The script only simulates MCP operations (prints JSON) rather than making network calls, but the documented runtime behavior would, if implemented, transmit project paths, filenames, and other metadata to a memory server — this is within the skill's purpose but can expose local project structure and filenames.
Install Mechanism
No install spec; the skill is instruction-only plus a small Python helper. There are no downloads or installs that would write arbitrary code to disk beyond the provided script files, so installation risk is low.
!
Credentials
The skill requests no environment variables but claims MCP server integration. If a real MCP server backend is used at runtime, that will require endpoint and authentication credentials (not declared here). The absence of declared primaryEnv or required secrets is a gap: the skill may need secrets to contact a remote memory server but provides no guidance on what will be required or how secrets are used. Also, memories are scoped with absolute project paths and file names which could leak identifiable local filesystem information to any configured memory backend.
Persistence & Privilege
always:false and the skill does not request persistent/privileged system-wide changes. The helper script operates within project context and does not modify other skills or system configs. No elevated privileges are requested.
What to consider before installing
This skill appears to do what it claims (record and recall Lean 4 proof patterns), but exercise caution before installing or enabling it against real projects: - Confirm where memories are stored: ask the maintainer what MCP server endpoint is used and who controls/accesses it. - Require explicit disclosure of any environment variables or credentials needed to contact the MCP server (endpoint URL, API key, token) before providing them. The skill currently declares none — that mismatch is suspicious. - Be aware it will record project paths, file names, theorem names and potentially other metadata; if you don't want that data sent off your machine, don't point it at a remote memory server. - The included Python helper only prints simulated MCP calls (no network calls in the provided file). Verify whether the production implementation will actually send data and review that code or the MCP-client configuration before use. - If you plan to use this with sensitive repositories, test in a safe sandbox and request that the skill support a local-only backend or encrypted, auditable storage. If the author cannot explain how authentication and storage are handled, treat the skill as high-risk.

Like a lobster shell, security has layers — review code before you run it.

latestvk9707xfa1b2y0gnyff2t774arh84xs3m
62downloads
0stars
1versions
Updated 1w ago
v0.1.0
MIT-0

Lean 4 Memories

Overview

This skill enables persistent learning and knowledge accumulation across Lean 4 formalization sessions by leveraging MCP (Model Context Protocol) memory servers. It transforms stateless proof assistance into a learning system that remembers successful patterns, avoids known dead-ends, and adapts to project-specific conventions.

Core principle: Learn from each proof session and apply accumulated knowledge to accelerate future work.

When to Use This Skill

This skill applies when working on Lean 4 formalization projects, especially:

  • Multi-session projects - Long-running formalizations spanning days/weeks/months
  • Repeated proof patterns - Similar theorems requiring similar approaches
  • Complex proofs - Theorems with multiple attempted approaches
  • Team projects - Shared knowledge across multiple developers
  • Learning workflows - Building up domain-specific proof expertise

Especially important when:

  • Starting a new session on an existing project
  • Encountering a proof pattern similar to previous work
  • Trying an approach that previously failed
  • Needing to recall project-specific conventions
  • Building on successful proof strategies from earlier sessions

How Memory Integration Works

Memory Scoping

All memories are scoped by:

  1. Project path - Prevents cross-project contamination
  2. Skill context - Memories tagged with lean4-memories
  3. Entity type - Structured by pattern type (ProofPattern, FailedApproach, etc.)

Example scoping:

Project: /Users/freer/work/exch-repos/exchangeability-cursor
Skill: lean4-memories
Entity: ProofPattern:condExp_unique_pattern

Memory Types

1. ProofPattern - Successful proof strategies

Store when: Proof completes successfully after exploration
Retrieve when: Similar goal pattern detected

2. FailedApproach - Known dead-ends to avoid

Store when: Approach attempted but failed/looped/errored
Retrieve when: About to try similar approach

3. ProjectConvention - Code style and patterns

Store when: Consistent pattern observed (naming, structure, tactics)
Retrieve when: Creating new definitions/theorems

4. UserPreference - Workflow customization

Store when: User expresses preference (verbose output, specific tools, etc.)
Retrieve when: Choosing between options

5. TheoremDependency - Relationships between theorems

Store when: One theorem proves useful for proving another
Retrieve when: Looking for helper lemmas

Memory Workflows

Storing Memories

After successful proof:

-- Just proved: exchangeable_iff_fullyExchangeable
-- Store the successful pattern

Store:

  • Goal pattern: exchangeable X ↔ fullyExchangeable X
  • Successful tactics: [apply measure_eq_of_fin_marginals_eq, intro, simp]
  • Helper lemmas used: [prefixCylinder_measurable, isPiSystem_prefixCylinders]
  • Difficulty: medium (54 lines)
  • Confidence: high (proof clean, no warnings)

After failed approach:

-- Attempted: simp only [condExp_indicator, mul_comm]
-- Result: infinite loop, build timeout

Store:

  • Failed tactic: simp only [condExp_indicator, mul_comm]
  • Error: "infinite simp loop"
  • Context: conditional expectation with indicator
  • Recommendation: "Use simp only [condExp_indicator] without mul_comm"

Project conventions observed:

-- Pattern: All measure theory proofs start with haveI
haveI : MeasurableSpace Ω := inferInstance

Store:

  • Convention: "Measure theory proofs require explicit MeasurableSpace instance"
  • Pattern: haveI : MeasurableSpace Ω
  • Frequency: 15 occurrences
  • Files: DeFinetti/ViaL2.lean, Core.lean, Contractability.lean

Retrieving Memories

Starting new proof session:

  1. Load project-specific conventions
  2. Retrieve similar proof patterns from past work
  3. Surface any known issues with current file/module

Encountering similar goal:

⊢ condExp μ m X =ᵐ[μ] condExp μ m Y

Memory retrieved: "Similar goals proved using condExp_unique"
Pattern: "Show ae_eq, verify measurability, apply condExp_unique"
Success rate: 3/3 in this project

Before trying a tactic:

About to: simp only [condExp_indicator, mul_comm]

Memory retrieved: ⚠️ WARNING - This combination causes infinite loop
Failed in: ViaL2.lean:2830 (2025-10-17)
Alternative: Use simp only [condExp_indicator], then ring

Integration with lean4-theorem-proving Skill

The lean4-memories skill complements (doesn't replace) lean4-theorem-proving:

lean4-theorem-proving provides:

  • General Lean 4 workflows (4-Phase approach)
  • mathlib search and tactics reference
  • Automation scripts
  • Domain-specific knowledge (measure theory, probability)

lean4-memories adds:

  • Project-specific learned patterns
  • History of what worked/failed in this project
  • Accumulated domain expertise from your proofs
  • Personalized workflow preferences

Use together:

  1. lean4-theorem-proving guides general workflow
  2. lean4-memories provides project-specific context
  3. Memories inform tactics choices from lean4-theorem-proving

Memory Operations

Storing a Successful Proof Pattern

After completing a proof, store the pattern using MCP memory:

What to capture:

  • Goal pattern - Type/structure of goal (equality, exists, forall, etc.)
  • Tactics sequence - Tactics that worked, in order
  • Helper lemmas - Key lemmas applied
  • Difficulty - Lines of proof, complexity estimate
  • Confidence - Clean proof vs sorries/warnings
  • Context - File, module, theorem name

When to store:

  • Proof completed successfully (no sorries)
  • Non-trivial (>10 lines or required exploration)
  • Likely to be useful again (similar theorems expected)

Storage format:

Entity type: ProofPattern
Name: {descriptive_name}
Attributes:
  - project: {absolute_path}
  - goal_pattern: {pattern_description}
  - tactics: [list, of, tactics]
  - helper_lemmas: [lemma1, lemma2]
  - difficulty: {small|medium|large}
  - confidence: {0.0-1.0}
  - file: {filename}
  - timestamp: {date}

Storing a Failed Approach

When an approach fails (error, loop, timeout), store to avoid repeating:

What to capture:

  • Failed tactic - Exact tactic/sequence that failed
  • Error type - Loop, timeout, type error, etc.
  • Context - What was being proved
  • Alternative - What worked instead (if known)

When to store:

  • Infinite simp loops
  • Tactics causing build timeouts
  • Type mismatches from subtle issues
  • Approaches that seemed promising but didn't work

Storage format:

Entity type: FailedApproach
Name: {descriptive_name}
Attributes:
  - project: {absolute_path}
  - failed_tactic: {tactic_text}
  - error: {error_description}
  - context: {what_was_being_proved}
  - alternative: {what_worked}
  - timestamp: {date}

Storing Project Conventions

Track consistent patterns that emerge:

What to capture:

  • Naming conventions - h_ for hypotheses, have_ for results
  • Proof structure - Standard opening moves (haveI, intro patterns)
  • Import patterns - Commonly used imports
  • Tactic preferences - measurability vs explicit proofs

When to store:

  • Pattern observed 3+ times consistently
  • Convention affects multiple files
  • Style guide established

Retrieving Memories

Before starting proof:

1. Query for similar goal patterns
2. Surface successful tactics for this pattern
3. Check for known issues with current context
4. Suggest helper lemmas from similar proofs

During proof:

1. Before each major tactic, check for known failures
2. When stuck, retrieve alternative approaches
3. Suggest next tactics based on past success

Query patterns:

# Find similar proofs
search_entities(
  query="condExp equality goal",
  filters={"project": current_project, "entity_type": "ProofPattern"}
)

# Check for failures
search_entities(
  query="simp only condExp_indicator",
  filters={"project": current_project, "entity_type": "FailedApproach"}
)

# Get conventions
search_entities(
  query="naming conventions measure theory",
  filters={"project": current_project, "entity_type": "ProjectConvention"}
)

Best Practices

Memory Quality

DO store:

  • ✅ Successful non-trivial proofs (>10 lines)
  • ✅ Failed approaches that wasted significant time
  • ✅ Consistent patterns observed multiple times
  • ✅ Project-specific insights

DON'T store:

  • ❌ Trivial proofs (rfl, simp, exact)
  • ❌ One-off tactics unlikely to recur
  • ❌ General Lean knowledge (already in training/mathlib)
  • ❌ Temporary workarounds

Memory Hygiene

Confidence scoring:

  • High (0.8-1.0) - Clean proof, no warnings, well-tested
  • Medium (0.5-0.8) - Works but has minor issues
  • Low (0.0-0.5) - Hacky solution, needs refinement

Aging:

  • Recent memories (same session) = higher relevance
  • Older memories = verify still applicable
  • Patterns from many sessions = high confidence

Pruning:

  • Remove memories for deleted theorems
  • Update when better approach found
  • Mark as outdated if project evolves

User Control

Users can:

  • Toggle lean4-memories skill on/off independently
  • Clear project-specific memories
  • Review stored memories
  • Adjust confidence thresholds
  • Export/import memories for sharing

Example Workflow

Session 1: First proof

-- Proving: measure_eq_of_fin_marginals_eq
-- No memories yet, explore from scratch
-- [After 30 minutes of exploration]
-- ✅ Success with π-system uniqueness approach

Store: ProofPattern "pi_system_uniqueness"
  - Works for: measure equality via finite marginals
  - Tactics: [isPiSystem, generateFrom_eq, measure_eq_on_piSystem]
  - Confidence: 0.9

Session 2: Similar theorem (weeks later)

-- Proving: fullyExchangeable_via_pathLaw
-- Goal: Show two measures equal
-- System: "Similar to measure_eq_of_fin_marginals_eq"
--         Retrieve memory: pi_system_uniqueness pattern
--         Suggestion: "Try isPiSystem approach?"

-- ✅ Success in 5 minutes using remembered pattern

Session 3: Avoiding failure

-- Proving: condIndep_of_condExp_eq
-- About to: simp only [condExp_indicator, mul_comm]
-- ⚠️ Memory: This causes infinite loop (stored Session 1)
--          Alternative: simp only [condExp_indicator], then ring

-- Avoid 20-minute debugging session by using memory

Configuration

Memory Server Setup

Ensure MCP memory server is configured:

// In Claude Desktop config
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

Project-Specific Settings

Memories are automatically scoped by project path. To work across multiple projects:

Same formalization, different repos:

# Link memories using project aliases
# (Future enhancement - not yet implemented)

Sharing memories with team:

# Export/import functionality
# (Future enhancement - not yet implemented)

Integration with Automation Scripts

Memories enhance script usage:

proof_templates.sh:

  • Retrieve project-specific template preferences
  • Include common proof patterns in scaffolding

suggest_tactics.sh:

  • Prioritize tactics that succeeded in this project
  • Warn about tactics with known issues

sorry_analyzer.py:

  • Link sorries to similar completed proofs
  • Suggest approaches based on memory

Limitations and Caveats

What memories DON'T replace:

  • Mathematical understanding
  • Lean type system knowledge
  • mathlib API documentation
  • Formal verification principles

Potential issues:

  • Stale memories if project evolves significantly
  • Over-fitting to specific project patterns
  • Memory bloat if not maintained
  • Cross-project contamination if scoping fails

Mitigation:

  • Regular review of stored memories
  • Confidence scoring and aging
  • Strict project-path scoping
  • User control over memory operations

Future Enhancements

Planned features:

  • Memory visualization dashboard
  • Pattern mining across projects
  • Collaborative memory sharing
  • Automated memory pruning
  • Integration with git history
  • Cross-project pattern detection (with user consent)

See Also

Comments

Loading comments...