Install
openclaw skills install claudifyAgentic AI lifecycle: create + improve + persist. create - convert functionality into Claude Code automation (agent/skill/rule/hook/command) [SKILL.md], improve - self-improving loop: retrospect + hook/skill review + pattern detect [improve.md], persist - knowledge persistence: documentation + memory save [persist.md]. Use when "agentify", "agentic", "automate this", "create an agent", "make a plugin", "make a skill", "self-improve", "claudify improve", "claudify persist".
openclaw skills install claudifyGuide users to convert functionality into the appropriate Claude Code automation type (Agent, Skill, Rule, Command, or Hook).
| Type | When to use | Implementation |
|---|---|---|
| Agent | High autonomy, multi-tool | .claude/agents/name.md |
| Skill | Domain expertise, logic | .claude/skills/name/SKILL.md |
| Rule | Constraints, styling | .claude/rules/name.md |
| Slash Command | User types /cmd | Simple prompt templates |
| Hook | Events (tool use, etc) | Automation on actions |
Full comparison: automation-decision-guide.md
If no target specified ("agentify" alone):
multiSelect: true when presenting candidates (users often want multiple)If target specified:
~/.claude/plugins/marketplaces/*/plugins/*//skill-dedup command to find overlapsWebFetch https://claudemarketplaces.com/?search=[keyword]Step 1 Guards (HARD STOP):
~/.claude/skills/), verify the change is project-agnostic. Project-specific variables, hostnames, or environment values must NOT be added to global skills. If the automation is project-specific, recommend a project-level skill (.claude/skills/) or a project rule (.claude/rules/) instead.When duplicate or similar automation candidates are found, confirm grouping and merge options with the user using AskUserQuestion.
Grouping criteria:
Merge criteria:
| Condition | Recommendation |
|---|---|
| 3+ similar topics | multi-topic Skill |
| Different triggers + same skill | General Agent |
| Simple instructions + Bash script | Skill (Agent with skill) |
| Complex multi-step + multiple tools | Agent |
AskUserQuestion (merge options): "Candidates found. How should I structure them?" options:
PROHIBITED: Do not create separate agents without merging candidates into a logical structure if they are related.
Use AskUserQuestion to clarify:
~/.claude/) / Project (.claude/)Question patterns: askuserquestion-patterns.md
Use the automation-decision-guide.md to recommend the best type.
CRITICAL: Follow the creation method for each type
Skill with scripts (If scripts are required, use skill directory structure):
skill-name/
├── SKILL.md # frontmatter + documentation + node scripts/xxx.js (mode)
├── topic-a.md # topic file
├── topic-b.md # topic file
└── scripts/
└── xxx.js # actual logic (temp location, permanent storage)
tmp_*.js in current directory; move to scripts/node <skill-dir>/scripts/xxx.js <mode>__dirname in scriptsSkill (no scripts): MUST use skill-writer (do NOT create directly)
Skill tool: skill: "project-automation:skill-writer"
Agent: Create in ~/.claude/agents/ or .claude/agents/
Rules: Create in ~/.claude/rules/ or .claude/rules/
Slash Command: Create in ~/.claude/commands/ or .claude/commands/
Hook: Add to settings.json
Plugin (open source):
Auto-sync hook: plugin-cache-sync.sh syncs marketplace to cache on Edit/Write
Keep responses concise:
| Context | multiSelect |
|---|---|
| Automation candidates | true (users often want multiple) |
| Merge options (Complexity) | false (merge vs separation - mutually exclusive) |
| Type selection | false (mutually exclusive) |
| Scope selection | false (one location) |
| Feature selection | true (additive choices) |
Scenario (2026-03-09):
Key factors:
Detection condition: do not judge by .ralph/ presence alone. Ralph mode requires all of:
.ralph/ directory exists ANDRALPH_LOOP=1 is set (Ralph autonomous loop sets this)Even when .ralph/ exists, an interactive user session is normal mode — AskUserQuestion works as usual.
Workflow Change:
| Step | User Interaction | Workflow |
|---|---|---|
| Step 1: Auto-detect | AskUserQuestion (multiSelect) | Summary info to .ralph/improvements.md |
| Step 1.5: Merge logic / Structure | - | improvements.md recording |
| Step 2: Requirements | AskUserQuestion | trigger/scope recommendation to improvements.md |
| Step 3: Type recommendation | Recommend only | improvements.md recording |
| Step 4: Implementation | Direct action | PROHIBITED - Use [NEEDS_REVIEW] tag |
| Step 5: Validation | Validation | Auto validation (after changes are complete) |
improvements.md recording example
## Agentify Candidate (Implementation)
### [Candidate Name]
- **Context**: [Why it was found]
- **Recommended Type**: [Skill/Agent/Hook/Slash Command]
- **Recommended Structure**: [Topics]
- **Rationale**: [Why it's recommended]
- **Tag**: [NEEDS_REVIEW]
After changes are complete, Self-improve based on conversation: