Install
openclaw skills install nai-workflow-crystallizerAnalyze memory logs to detect recurring patterns and suggest automations — cron jobs, skills, or workflow shortcuts. The agent builds its own shortcuts over time. Use when: pattern analysis, workflow patterns, recurring tasks, what do I keep doing, suggest automations, crystallize workflows, detect habits, optimize my workflows, what should be automated.
openclaw skills install nai-workflow-crystallizerMines memory logs (memory/YYYY-MM-DD.md) for recurring patterns — repeated requests,
multi-step workflows, time-correlated tasks — and generates actionable suggestions:
cron jobs, skill drafts, workflow shortcuts, or monitoring proposals.
Unlike a one-shot "analyze my logs" prompt, this skill persists state across runs. It remembers what it suggested, what was accepted/rejected, and only surfaces new insights backed by real evidence.
All scripts live in scripts/ relative to this SKILL.md.
cd /Users/openclaw/.openclaw/workspace/skills/workflow-crystallizer
python3 scripts/analyze_patterns.py --full | python3 scripts/generate_suggestions.py | python3 scripts/report.py --state-file state.json
This analyzes all memory files, generates suggestions, and prints a markdown report.
cd /Users/openclaw/.openclaw/workspace/skills/workflow-crystallizer
python3 scripts/analyze_patterns.py | python3 scripts/generate_suggestions.py | python3 scripts/report.py --state-file state.json
Only processes new/modified memory files. Uses cached events from prior runs.
Check state: python3 scripts/state.py — shows cached dates, events, suggestions.
To accept/reject/snooze: edit state.json directly. Set status to accepted,
rejected (add rejection_reason), or snoozed. Or use state.py imports.
Reset everything: python3 scripts/state.py --reset
Each script accepts --help. Key options:
analyze_patterns.py: --memory-dir PATH, --state-file PATH, --full, --min-confidence 0.4generate_suggestions.py: --state-file PATH, --cron-path PATH, --clusters FILEreport.py: --state-file PATH, --output PATH, --clusters FILE, --suggestions FILEstate.py: (no args = inspect state), --reset (clear everything)| Pattern Type | Evidence Needed | Suggestion Output |
|---|---|---|
| Recurring request | 3+ occurrences, 2+ days | Workflow shortcut or monitor |
| Multi-step workflow | 2+ occurrences with step similarity | Skill draft |
| Time-correlated | 2+ at similar times/days | Cron job definition |
| Already formalized | Contains "cron", "automated", etc. | Skipped (no suggestion) |
| Project (not pattern) | Same entity, different actions | Skipped |
See references/pattern-types.md for detailed detection logic and scoring weights.
Run weekly via cron or heartbeat. Cost: ~5-10K tokens incremental, ~30K first run.
Name: Weekly Workflow Crystallizer
Schedule: 0 20 * * 0 (Sunday 8 PM ET)
Message: Run the workflow-crystallizer skill and present any new suggestions.
python3 scripts/state.py --resetmin_confidence in state.json config