claudify
Agentic AI lifecycle: create + improve + persist. create - convert functionality into Claude Code automation (agent/skill/rule/hook/command) [SKILL.md], background-polling - mandat…
es6kr
@drumrobot
What This Skill Does
Guides users through converting functionality into Claude Code automation types (Agent, Skill, Rule, Command, or Hook) using a decision matrix and step-by-step workflow. Includes output-size routing to prevent context bloat by dispatching large operations to subagents or scripts.
Replaces manual trial-and-error when deciding which automation type to create and how to avoid parent context overload during skill creation.
When to Use It
- Convert a repetitive manual workflow into a reusable Claude Code agent
- Decide whether to create a Skill, Rule, Command, or Hook for a given task
- Dispatch large resource reads or transcript scans to subagents to preserve context budget
- Create a new agent file with correct YAML metadata and trigger keywords
- Self-improve an existing automation by reviewing patterns and retrospectives
- Persist knowledge by saving documentation and memory snapshots
Install
$ openclaw skills install @drumrobot/claudifyClaudify
Guide users to convert functionality into the appropriate Claude Code automation type (Agent, Skill, Rule, Command, or Hook).
Topic Dispatch
When this skill is invoked with a topic specifier (e.g., Skill("claudify", "improve") or /claudify improve), load and follow ONLY the matching topic file below — do NOT default to the creation-wizard body (Decision Matrix / Workflow) in this SKILL.md. A bare invocation (no topic, agentify, or create) uses the creation workflow below.
| Topic arg | File | Purpose |
|---|---|---|
create / agentify / (none) | this SKILL.md (below) | Convert functionality into an automation (Agent/Skill/Rule/Command/Hook) |
improve | improve.md | Self-improving loop: retrospect + hook/skill review + pattern detect |
persist | persist.md | Knowledge persistence: documentation + memory save |
background-polling | background-polling.md | ScheduleWakeup/timeout polling discipline for 5min+ background dispatches |
For improve / persist / background-polling, Read that topic file and follow it — the Decision Matrix and creation Workflow below apply only to the create/agentify/(none) creation path. For any other/unrecognized topic arg, fall back to the create/agentify/(none) creation workflow below rather than assuming a matching topic file exists.
Decision Matrix
| 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
Workflow
Step 0: Output-size routing (HARD STOP — before Step 1)
Before any large-output operation, decide: inline vs subagent vs script. Parent context bloat from claudify itself reduces the budget available for the actual automation creation work.
Routing decision matrix
| Operation | Inline OK? | Dispatch to subagent? | Script? |
|---|---|---|---|
| Read 1 resource file (template/guide) | ✅ Inline | — | — |
| Read 2+ large resource files (>200 lines each) | ❌ | ✅ general-purpose subagent | — |
| Scan transcript for automation patterns (no target) | ❌ | ✅ Explore or general-purpose | — |
Enumerate ~/.claude/plugins/marketplaces/*/plugins/*/ | ❌ | — | ✅ find / ls 1-liner |
| Create single agent/rule/command file (inputs known) | ✅ Inline | — | — |
| Create multi-topic skill (writer + multiple topic files) | ❌ | ✅ skill-writer subagent | — |
| Marketplace remote search (WebFetch + parsing) | ❌ | ✅ general-purpose subagent | — |
Don't / Do table
| # | Don't | Do |
|---|---|---|
| 1 | Read resources/agent-templates.md (358 lines) + automation-decision-guide.md + askuserquestion-patterns.md inline before creating one agent | Dispatch general-purpose subagent: "Read these 3 templates and create agent at <path> with name=X, tools=Y, description=Z. Return the created file path only." |
| 2 | Inline scan transcript for candidates by Read-ing the full session JSONL | Dispatch Explore subagent: "Find verbose tool-output patterns (>500 tokens repeated 2+ times) in conversation. Return candidate list (label + 1-line description) under 200 words." |
| 3 | Inline Glob + Read all marketplace plugin SKILL.md files | Bash 1-liner: find ~/.claude/plugins/marketplaces/*/plugins/*/ -name SKILL.md -exec head -3 {} \; returns names without body |
| 4 | "Just one more Read" cumulative inline reading | Quantify: if next operation expected to add >2K tokens to parent context AND result is not the deliverable itself, dispatch subagent |
| 5 | Dispatch subagent with vague prompt ("create the agent") | Subagent prompt must include: target file path, name, tools, model, description (single-line YAML), trigger keywords. Return only the file path |
Self-check (before each Read/Glob/WebFetch in claudify workflow)
- Is the read result the deliverable, or intermediate context that the subagent's parent doesn't need?
- Will this Read + subsequent Reads cumulatively add >2K tokens to parent context?
- Is the operation parallelizable (multiple Reads, multiple files)?
- If 1=intermediate OR 2=yes OR 3=yes → dispatch subagent
Subagent return contract: subagent returns only the deliverable path(s). No template dump, no intermediate analysis, no confirmation text.
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: truewhen presenting candidates (users often want multiple)
If target specified:
- Check local marketplaces first:
~/.claude/plugins/marketplaces/*/plugins/*/- Use
/skill-dedupcommand to find overlaps
- If not found locally, search remote:
WebFetch https://claudemarketplaces.com/?search=[keyword] - 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:
| 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:
- "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. Apply Step 0 routing first — multi-template Reads or transcript scans dispatch to subagent.
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_*.jsin current directory; move toscripts/ - Call in SKILL.md:
node <skill-dir>/scripts/xxx.js <mode> - Use relative path from
__dirnamein 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
- Register or copy to target location
- Reload Claude Code:
- Manual sync to cache, OR
- New session to reload
No auto-sync hook currently exists — verified 2026-08-18: no plugin-cache-sync.sh is registered in settings.json/settings.local.json, and no live copy of the script exists outside a Syncthing version-history backup. A marketplace checkout's installPath in ~/.claude/plugins/installed_plugins.json can point at a cache directory that either does not exist on disk (harness apparently falls back to reading the marketplace source directly in that case) or exists but has drifted stale relative to the marketplace checkout — see hook-kit/audit.md Step 3-D for the detection procedure. Until that gap is closed, manually verify (diff the marketplace source against the cache installPath) after editing any plugin's hook scripts, rather than assuming this auto-sync exists.
Output Guidelines
Keep responses concise:
- List identified candidates (with multiSelect)
- Summarize the recommended structure (Merge logic)
- Provide the creation plan
| 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) |
Success Case
Scenario (2026-03-09):
- Found 3 openclaw-related functions
- Proposed 3 options for merging
- Result: Implementation success, user satisfied
Key factors:
- Identification of 3 functions
- "Merge?" AskUserQuestion
- 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:
.ralph/directory exists AND- Environment variable
RALPH_LOOP=1is 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) |
Scope note (HARD STOP): this table governs the creation workflow only (new agent/skill/rule/hook). It does not extend to passive, no-ask persistence steps elsewhere in this skill's topics (improve/persist RAG session/discovery-chunk store) — those follow the narrower carve-out in persist.md's own "Ralph Mode" section, not this table. Do not generalize "Ralph Mode = record-only, nothing runs" from this table alone.
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:
- Identify failure and workaround patterns
Top skills in this category
Self-Improving + Proactive Agent
@ivangdavilaSelf-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when...
Self Improving Agent
@xiuchengSelf-improving agent system that analyzes conversation quality, identifies improvement opportunities, and continuously optimizes response strategies.
Proactive Agent Lite
@bestrockyTransform AI agents from task-followers into proactive partners with memory architecture, reverse prompting, and self-healing patterns. Lightweight version f...
Marketing Skills
@jchopard69Access 23 marketing modules offering checklists, frameworks, and ready-to-use deliverables for CRO, SEO, copywriting, analytics, launches, ads, and social me...
得到大脑(原 Get 笔记)
@iswalle通过官方 getnote CLI 连接得到大脑,完成浏览器授权、连接诊断、CLI 升级,以及保存、查询、搜索、整理和管理用户的真实笔记。用户明确要求登录、诊断或升级,或要保存链接/图片、查找和查看笔记、整理知识库/文件夹、订阅博主、管理标签时使用;不会自行安装或更新 Skill。