Self Improving Compound

ReviewAudited by ClawScan on May 12, 2026.

Overview

This self-improvement skill is mostly coherent, but review is recommended because its persistent memory hooks can save raw error or secret content and its skill-extraction helper does not tightly constrain where it writes.

Install only if you want durable workspace memory. Before enabling hooks, review where memory files are stored, disable automatic post-error logging unless you trust the captured output, and fix or avoid the skill-extraction helper until path validation is added.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Corrections, preferences, and lessons may persist across sessions and shape future agent behavior.

Why it was flagged

The skill is explicitly designed to persist lessons and load active memory in future sessions; this is purpose-aligned but should be understood before enabling it.

Skill content
If yes, “search existing learnings first, then log the lesson before replying” ... “HOT tier (always loaded)”
Recommendation

Review stored memory periodically, keep entries concise and verified, and avoid recording secrets or sensitive personal/project data.

What this means

If the post-error hook is enabled, sensitive command output, tokens, or untrusted error text could be saved into durable memory and later reused as context.

Why it was flagged

The hook appends the raw ERROR_DETAIL argument directly into the persistent corrections log, with no visible redaction or Markdown escaping in the provided hook.

Skill content
printf "| %s | %s | %s | %s | | ⏳ pending |\n" "$ID" "$TODAY" "$ERROR_TYPE" "$ERROR_DETAIL" >> "$CORRECTIONS_FILE"
Recommendation

Disable the automatic error hook unless needed, or change it to call a redaction/escaping path and require user review before persisting detailed error output.

ConcernMedium Confidence
ASI06: Memory and Context Poisoning
What this means

A secret accidentally included in a learning entry may be preserved in the workspace memory instead of being removed.

Why it was flagged

For standalone AWS/OpenAI-style key patterns, the first capture group is the secret itself, and the replacement keeps \1, so those secrets would remain in the redacted text if this function is used on log content.

Skill content
re.compile(r'(?i)(AKIA[0-9A-Z]{16})' ...), re.compile(r'(?i)(sk-[a-zA-Z0-9]{20,})' ...); text = pattern.sub(r'\1[REDACTED]', text)
Recommendation

Fix redaction tests so full-secret matches are replaced with only [REDACTED], and avoid logging any secrets until that behavior is verified.

What this means

A malformed or manipulated skill name containing path separators or traversal could create or overwrite files outside the intended skills subdirectory, including persistent agent instruction files.

Why it was flagged

The user-provided skill name is used directly in the output path for a persistent SKILL.md file; the script does not show slug validation or a path containment check.

Skill content
SKILL_NAME="${1:-}" ... SKILL_DIR="$WORKSPACE_ROOT/skills/$SKILL_NAME" ... cat > "$SKILL_DIR/SKILL.md"
Recommendation

Validate skill names with a strict slug pattern, resolve the final path and ensure it stays under the intended skills directory, and avoid overwriting existing files without explicit approval.