Claudify

Automation

Agentic 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".

Install

openclaw skills install claudify

Claudify

Guide users to convert functionality into the appropriate Claude Code automation type (Agent, Skill, Rule, Command, or Hook).

Decision Matrix

TypeWhen to useImplementation
AgentHigh autonomy, multi-tool.claude/agents/name.md
SkillDomain expertise, logic.claude/skills/name/SKILL.md
RuleConstraints, styling.claude/rules/name.md
Slash CommandUser types /cmdSimple prompt templates
HookEvents (tool use, etc)Automation on actions

Full comparison: automation-decision-guide.md

Workflow

Step 1: Identify Candidates

If no target specified ("agentify" alone):

  • Review conversation for automation candidates
  • Look for: verbose outputs, multi-step workflows, repeated patterns
  • MUST use multiSelect: true when presenting candidates (users often want multiple)

If target specified:

  1. Check local marketplaces first:
    • ~/.claude/plugins/marketplaces/*/plugins/*/
    • Use /skill-dedup command to find overlaps
  2. If not found locally, search remote: WebFetch https://claudemarketplaces.com/?search=[keyword]
  3. If found, recommend existing or extend. If not, proceed to create

Step 1 Guards (HARD STOP):

  • No immediate-execution options: AskUserQuestion options must all be automation types (Skill/Agent/Rule/Hook/Command). "Just execute now" or "Execute without automation" options are forbidden — claudify's purpose is creating/extending automation, not executing the underlying task.
  • Scope check when extending existing skills: Before proposing to extend a global skill (~/.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.

Step 1.5: Merge logic / Grouping / AskUserQuestion

When duplicate or similar automation candidates are found, confirm grouping and merge options with the user using AskUserQuestion.

Grouping criteria:

  • Similarity in model or functionality
  • Contextual similarity
  • Keyword grouping (e.g., "openclaw management")

Merge criteria:

ConditionRecommendation
3+ similar topicsmulti-topic Skill
Different triggers + same skillGeneral Agent
Simple instructions + Bash scriptSkill (Agent with skill)
Complex multi-step + multiple toolsAgent

AskUserQuestion (merge options): "Candidates found. How should I structure them?" options:

  • "Merge related topics into one multi-topic skill (e.g., openclaw: exec/gateway/test)"
  • "Create separate agents for each functionality"
  • "Skill + Agent combination (instruction=skill, implementation=agent)"

PROHIBITED: Do not create separate agents without merging candidates into a logical structure if they are related.

Step 2: Gather Requirements

Use AskUserQuestion to clarify:

  • Triggers: Commands or conditions that activate the automation
  • Tools: Required tools or skills
  • Scope: Global (~/.claude/) / Project (.claude/)
  • Language: code comments, variable names, documentation

Question patterns: askuserquestion-patterns.md

Step 3: Recommend Type

Use the automation-decision-guide.md to recommend the best type.

Step 4: Create

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)
  • Do not create tmp_*.js in current directory; move to scripts/
  • Call in SKILL.md: node <skill-dir>/scripts/xxx.js <mode>
  • Use relative path from __dirname in scripts
  • Separate implementation logic and topic files

Skill (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):

Step 5: Validate

  1. Register or copy to target location
  2. Reload Claude Code:
    1. Manual sync to cache, OR
    2. New session to reload

Auto-sync hook: plugin-cache-sync.sh syncs marketplace to cache on Edit/Write

Output Guidelines

Keep responses concise:

  1. List identified candidates (with multiSelect)
  2. Summarize the recommended structure (Merge logic)
  3. Provide the creation plan
ContextmultiSelect
Automation candidatestrue (users often want multiple)
Merge options (Complexity)false (merge vs separation - mutually exclusive)
Type selectionfalse (mutually exclusive)
Scope selectionfalse (one location)
Feature selectiontrue (additive choices)

Success Case

Scenario (2026-03-09):

  • Found 3 openclaw-related functions
  • Proposed 3 options for merging
  • Result: Implementation success, user satisfied

Key factors:

  1. Identification of 3 functions
  2. "Merge?" AskUserQuestion
  3. merging skills using skill-writer (multi-topic)

Ralph Mode (AskUserQuestion bypass)

Detection condition: do not judge by .ralph/ presence alone. Ralph mode requires all of:

  1. .ralph/ directory exists AND
  2. Environment variable RALPH_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:

StepUser InteractionWorkflow
Step 1: Auto-detectAskUserQuestion (multiSelect)Summary info to .ralph/improvements.md
Step 1.5: Merge logic / Structure-improvements.md recording
Step 2: RequirementsAskUserQuestiontrigger/scope recommendation to improvements.md
Step 3: Type recommendationRecommend onlyimprovements.md recording
Step 4: ImplementationDirect actionPROHIBITED - Use [NEEDS_REVIEW] tag
Step 5: ValidationValidationAuto 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]

Self-Improvement

After changes are complete, Self-improve based on conversation:

  1. Identify failure and workaround patterns