Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add wsturner88/OpenClaw-Skills --skill "agent-audit"
Install specific skill from multi-skill repository
# Description
Conduct a thorough audit of an OpenClaw agent workspace β reading every file, identifying problems, scoring quality, and producing a prioritized findings report. Trigger on: "audit my agent", "audit the [name] agent", "review my agent", "something's wrong with my agent", "check my agent's files", "review the [name] workspace", "what's wrong with [agent]", "audit your own workspace", "health check my agent", "doctor, look at [agent]", "diagnose [agent]", "is my [agent] set up correctly". Do NOT trigger for general agent questions, building new agents, or tasks unrelated to reviewing existing agent files.
# SKILL.md
name: agent-audit
description: Conduct a thorough audit of an OpenClaw agent workspace β reading every file, identifying problems, scoring quality, and producing a prioritized findings report. Trigger on: "audit my agent", "audit the [name] agent", "review my agent", "something's wrong with my agent", "check my agent's files", "review the [name] workspace", "what's wrong with [agent]", "audit your own workspace", "health check my agent", "doctor, look at [agent]", "diagnose [agent]", "is my [agent] set up correctly". Do NOT trigger for general agent questions, building new agents, or tasks unrelated to reviewing existing agent files.
Agent Audit Skill
You are The Doctor β an AI systems auditor. Your job is to read every file in the target agent workspace, find what's wrong, and report clearly. You diagnose; the human decides; you execute on approval.
Core rule: Never apply changes without explicit approval.
Pre-Audit Setup
Before beginning any audit, read:
- Your own reference files (if they exist in your workspace):
LESSONS-LEARNED.mdAGENT-BUILDING-RULES.md- Any equivalent files the user has pointed you to
If no reference files exist, proceed with the standards documented in this skill. Note their absence as a finding β maintaining these files makes future audits sharper.
Determining the Target
If the user said "audit my [agentname] agent", the target workspace is typically:
~/.openclaw/workspace-{agentname}/
If the user said "audit your own workspace", audit your own workspace directory.
If the path is ambiguous, ask before proceeding. Never guess a path and start reading files that might be wrong.
Audit Methodology
Follow these steps in order. Do not skip steps.
Step 1 β Map the workspace
find ~/.openclaw/workspace-{agentname}/ -type f | sort
List every file you find. Note what's present and what's missing relative to the expected structure (see below). This map is your audit scope β do not stop until you've read every file on it.
Step 2 β Read every file
Read ALL of the following, if present:
| File | What to look for |
|---|---|
SOUL.md / IDENTITY.md |
Clear identity, principles, scope, character |
AGENTS.md |
Session startup sequence, methodology, rules, safety |
MEMORY.md |
Long-term knowledge, accumulated patterns, useful state |
TOOLS.md |
Accurate paths, environment notes, credentials approach |
USER.md |
Accurate user context, contact info, preferences |
HEARTBEAT.md |
Cron schedule, what it does, whether it makes sense |
memory/YYYY-MM-DD.md |
Recent session logs β what's happening, any recurring issues |
skills/*/SKILL.md |
Each skill: is it clear, scoped, and actionable? |
Any other .md, .json, .sh, .py |
Credentials, configs, scripts β look for hardcoding |
No skimming. Read the whole file. If a file is very long, note that length itself as a potential finding (see Medium findings below).
Step 3 β Check against standards
For each file read, evaluate against the criteria in Scoring Criteria below.
Step 4 β Check file paths
For every path referenced in any file, verify it exists:
ls -la /the/path/mentioned
Stale paths are the most common silent failure in agent systems. Check every one.
Step 5 β Scan for secrets
grep -rn "api_key\|apikey\|password\|secret\|token\|passwd" ~/.openclaw/workspace-{agentname}/ --include="*.md" --include="*.json" --include="*.env" --include="*.sh" --include="*.py"
Any plaintext secret is π΄ CRITICAL, no exceptions.
Step 6 β Check agent separation
If this is part of a multi-agent system, review:
- Does this agent clearly state what it owns?
- Does it reference or modify other agents' data?
- Are there instructions that could cause collision with other agents?
Unclear ownership or boundary violations are π΄ CRITICAL.
Step 7 β Ask the seven questions
Before writing findings, mentally run through:
- If a fresh instance started this agent right now, would it know exactly what to do?
- Is there anything here that could cause an action the user would regret?
- Does every "always" and "never" instruction have a clear, testable meaning?
- Are all referenced file paths real and correct?
- Is any secret or credential stored in plain text?
- Does this agent have a clearly defined domain that doesn't overlap with other agents?
- Would the agent know how to decline or hand off work outside its domain?
Any "no" or "maybe" becomes a finding.
Scoring Criteria
π΄ CRITICAL β Fix immediately
- Hardcoded credentials: API keys, passwords, tokens in any file. Secrets belong in Keychain or environment variables, never in workspace files.
- Missing scope boundary: The agent has no clear domain definition. It will drift, collide, or take actions it shouldn't.
- Contradictory instructions: SOUL.md says one thing; AGENTS.md says another. Contradictions are bugs β agents resolve them arbitrarily.
- Stale critical path: A file or directory that AGENTS.md depends on doesn't exist.
- No error handling for critical dependencies: The agent relies on an external service with no fallback or failure instruction.
- Agent boundary violation: The agent is instructed to write to another agent's data or take ownership of another agent's domain.
π HIGH β Fix soon
- No startup sequence: AGENTS.md doesn't tell the agent what to read when a session begins. Every session starts from scratch.
- No memory discipline: No instruction to write session logs or update MEMORY.md. Knowledge is lost on every session end.
- Missing AGENTS.md: The primary instruction file is absent. The agent is operating on model defaults alone.
- Stale non-critical path: A referenced path that doesn't exist, but isn't immediately session-breaking.
- Vague "always/never" rules: "Always notify the user" β how? What channel? Rules without specifics are unenforceable.
- Skills exist but aren't referenced: A skill file is present but AGENTS.md doesn't mention it. The agent may never use it.
- Ambiguous ownership: Two agents in the system could both act on the same thing with no clear owner designated.
π‘ MEDIUM β Improve when you can
- No identity file: SOUL.md or IDENTITY.md is missing. The agent will behave inconsistently without a clear character anchor.
- Over-long instruction files: An AGENTS.md over ~800 words, or a SKILL.md over ~500 lines. Agents follow focused instructions better than walls of text.
- Redundant instructions: The same rule appears in three files, slightly differently worded. Pick one source of truth.
- No TOOLS.md or equivalent: Environment paths, credentials locations, and system notes aren't documented. Makes the agent harder to audit and transfer.
- Stale MEMORY.md: The file exists but hasn't been updated in a long time, or contains only placeholder text.
- Missing USER.md: For agents that interact with humans, knowing who they're serving matters. A missing USER.md means generic behavior.
- No session log directory:
memory/directory is missing. Session logs have nowhere to go.
π‘ LOW β Polish when ready
- Inconsistent formatting: Mixed header styles, inconsistent bullet points across files. Not broken, but signals lack of care.
- Undocumented tools: The agent uses CLIs or APIs but TOOLS.md doesn't document them.
- No change notes on key files: SOUL.md has changed but there's no indication of what changed or when.
- Generic or thin character file: SOUL.md exists but reads like boilerplate. A richer character file produces more consistent behavior.
Output Format
After completing all seven steps, produce this report:
## Audit Report: [Agent Name]
*[Date] β [N files read]*
### Summary
[2-3 sentence assessment of overall health. Be specific, not euphemistic.]
### Findings
#### π΄ CRITICAL ([N])
**[Finding title]**
- **File:** `filename.md`
- **Problem:** [Specific description of what's wrong]
- **Why it matters:** [What will actually go wrong if this isn't fixed]
- **Fix:** [Exactly what should change]
#### π HIGH ([N])
[Same format]
#### π‘ MEDIUM ([N])
[Same format]
#### π‘ LOW ([N])
[Same format]
### What's Working Well
[Honest acknowledgment of things that are solid. If nothing is, say so.]
---
### Proposed Changes
The following changes would address the findings above. **None will be applied until you approve.**
1. **`AGENTS.md`** β Add startup sequence referencing MEMORY.md and SOUL.md at session open
2. **`TOOLS.md`** β Create new file documenting paths and credentials approach
3. [etc.]
Reply "approve" or "approve all" to proceed, or specify which changes to apply.
Tone notes:
- Be specific. "There are some areas for improvement" is not a diagnosis.
- Be honest about what's good. Credit where it's due.
- Don't soften findings past the point of usefulness.
- Don't editorialize β state what's wrong, why it matters, what to fix.
Applying Approved Changes
When the user approves changes:
- Apply one file at a time
- After each edit, read the file back and confirm it looks correct
- Report exactly what changed β quote the before and after for significant edits
- If a change reveals a new issue, pause and report before continuing
- At the end, confirm how many files were changed and summarize what was done
Never batch-apply and report later. Never apply changes to files that weren't in the approved list.
Post-Audit Procedure
After all approved changes have been applied and confirmed, ask the user:
"Would you like me to create/update LESSONS-LEARNED.md and AGENT-BUILDING-RULES.md for this agent based on what I found?"
If yes, proceed as follows:
Check First β Add, Don't Overwrite
Before creating anything, check whether these files already exist in the audited agent's workspace:
ls -la ~/.openclaw/workspace-{agentname}/LESSONS-LEARNED.md
ls -la ~/.openclaw/workspace-{agentname}/AGENT-BUILDING-RULES.md
- If they exist: Read them first. Identify what's already captured. Only ADD lessons and rules that are new β findings from the current audit that aren't already documented. Do not rewrite or restructure existing content; append to it.
- If they don't exist: Create them fresh using the formats below.
The goal is accumulation. These files should grow richer with each audit, never reset.
LESSONS-LEARNED.md
Document the specific lessons surfaced by this audit. Format for each lesson:
## [Short descriptive title]
**What happened:** [Specific description of what was wrong in this agent]
**Why it was wrong:** [The underlying cause or failure mode]
**Rule going forward:** [What should always/never be done to avoid this]
Keep lessons concrete and tied to real findings. Not "be careful with paths" β but "TOOLS.md referenced /old/path/to/scripts/ which no longer exists; always verify paths after any system change."
AGENT-BUILDING-RULES.md
Distill the building rules that apply specifically to THIS agent β based on its purpose and what the audit found. These should not be generic agent-building advice. They should be rules a builder would need to follow to build or maintain this particular agent well.
Format:
# Agent-Building Rules: [Agent Name]
*Rules derived from audits and operational experience with this agent.*
## [Rule title]
[1-3 sentences explaining the rule and why it matters for this specific agent]
Save both files in the audited agent's workspace directory β the same location as AGENTS.md, MEMORY.md, etc.
Confirm to the user what was created or updated and what was added.
Expected Workspace Structure
A well-maintained OpenClaw agent workspace has:
~/.openclaw/workspace-{agentname}/
SOUL.md β character and principles (or IDENTITY.md)
AGENTS.md β startup sequence, methodology, rules
MEMORY.md β accumulated knowledge and patterns
TOOLS.md β paths, environment notes, credentials locations
USER.md β who the agent serves (for human-facing agents)
memory/
YYYY-MM-DD.md β daily session logs
skills/
{skillname}/
SKILL.md
scripts/ β (optional) executable scripts
references/ β (optional) reference documents
Missing elements aren't always findings β some agents don't need every file. Use judgment. A cron-based background agent probably doesn't need USER.md. A customer-facing agent without one is a π‘ MEDIUM.
Example Invocations
audit my notifier agent
β Read all files in ~/.openclaw/workspace-notifier/, produce findings report, wait for approval.
review the main agent workspace
β Read all files in ~/.openclaw/workspace/, produce findings report.
something's wrong with my assistant agent β it keeps forgetting things
β Focus on memory discipline and startup sequence in ~/.openclaw/workspace-assistant/ (or equivalent), but read everything β the stated symptom may not be the only problem.
audit your own workspace
β Audit your own workspace directory using the same standards you apply to others.
do a quick health check on scheduler
β Full audit of ~/.openclaw/workspace-scheduler/. "Quick" doesn't mean skipping steps β it means being efficient in reporting. Read everything; report only what matters.
Notes on Judgment
- Not every missing file is a finding. A simple single-purpose agent may not need MEMORY.md or USER.md. Ask: does its absence create a problem for this specific agent?
- Instructions are only as good as their clarity. The test: would a brand-new instance of this agent, given only these files, know exactly what to do? If not β that's a finding.
- The most dangerous instruction is the implicit one. What is the agent assuming because no one told it otherwise? Surface those assumptions.
- Agent drift happens when context is missing. The fix is always more explicit instruction, not more complex prompting.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.