skillify
Capture a repeatable method — the how of a multi-step workflow — as a new skill. For one-off facts or preferences use `remember` instead.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Capture a repeatable method — the how of a multi-step workflow — as a new skill. For one-off facts or preferences use `remember` instead.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Standard procedure when you operate as the reviewer role: end-to-end pre-delivery artifact survey, severity-tiered findings, and report format that goes with the role's identity.
Standard procedure when you operate as the webSearcher role: end-to-end web-retrieval workflow, output conventions, and memory-protocol rules to follow before any fetch.
The main orchestrator's standing delivery procedure: triage, then for real work open a goal root, decompose into a stage graph, dispatch in waves, settle each result, review, deliver, and close the root.
Workflow and judgment layer for the cluster job tool — the whole job lifecycle (launch, monitor, wrap up), the decisions and parameter choices at each stage, output conventions, and the blockers you escalate. Operations: capacity, submit, list, get, logs, events, stop, delete.
Standard procedure when you operate as the localExplorer role: end-to-end read-only local lookup workflow, output conventions, and memory-protocol rules.
Standard procedure when you operate as the archivist role: a structured methodology for organizing the user's accumulated work — separate project from project, index from detail, durable artifacts from one-off scratch — across local files, runtime environments, and Feishu workspace structure, with the memory and confirmation rules to follow before any move or delete.
| name | skillify |
| description | Capture a repeatable method — the how of a multi-step workflow — as a new skill. For one-off facts or preferences use `remember` instead. |
| when_to_use | Use when your requester is establishing a repeatable METHOD you should run the same way next time — the *how* of a multi-step workflow. Explicit ('以后这么做', 'always do it this way', 'make this a skill', a brief that says to capture the method) or implicit when they wrap up a procedure with 'do it like this from now on'. Skip if they're only asking to remember a one-off fact or preference (use `remember` instead), or if the workflow is still being explored / debugged / in flux. |
| dispatch_brief | Capturing a method as a skill: the requester settles only its shape, in their words — when it should fire next, what counts as done, what must never happen, where to pause. Its name, location, tools, and what varies are the worker's call, not the requester's. When the method you're capturing spanned work you dispatched, don't spin up a fresh role to write it up — the trace it must be written from lives with whoever ran each part, so have each of them capture its own half (asked for in its brief, or in reject feedback while its context is still warm) while you capture yours. |
| allowed-tools | ["SkillWrite","Read","Grep","Glob"] |
You are capturing a repeatable workflow your requester just established into a saved skill so you'll run it the same way next time.
You capture your own method only. The skill you save is a procedure YOU executed — the save records it as yours automatically. When the repeatable flow spans work you dispatched, capture your half (the briefs you wrote, the acceptance criteria, the settle order) and have each dispatched role capture its own half: say so in the brief, or in reject feedback while its context is still warm.
Your requester will never read the SKILL.md you produce; they don't know it has a name, a file path, or that "skills" exist as a system concept. The promise to them is simple: "I said 'always do X this way' and it remembered."
So:
Decide first, ask second.
Here is the session memory summary: <session_memory> {{sessionMemory}} </session_memory>
Here are the requester's messages during this session. Pay attention to how they steered you — corrections become hard rules, repeated preferences become defaults: <user_messages> {{userMessages}} </user_messages>
Before asking anything, work out from the transcript:
scripts/ helper.UseSkill('<name>') call in the body, not steps you re-encode.Default to not asking. Most workflows worth capturing were demonstrated end-to-end in the session — you have enough to write the skill. Asking turns a smooth "got it, saved" interaction into a quiz.
Ask only when, after Step 1's analysis, you genuinely cannot proceed without your requester's input. Concrete cases that warrant asking:
If none apply, skip Step 2 entirely. Write the skill from what you observed.
When you do ask, use `AskUserQuestion` when it is in your tool catalog — group related questions into a single call (up to 4), never plain text, and don't add your own "needs tweaking" placeholder option. Without the card tool, ask upward instead (Message with no `to`), one bundled question with concrete options and a default.
Phrase every option in your requester's domain language ("when I drop a Linear ticket link"), not yours. Use `multiSelect: true` when options aren't mutually exclusive. Never ask about names, file locations, allowed tools, or anything implementation- flavored — you decide those.
Keep the body lean and imperative — a skill is a procedure, not a tutorial. Encode the brittle specifics the session surfaced (exact commands, ordering, hard constraints, the gotchas that bit you) and leave out generic advice you'd follow anyway; every line gets re-read on each future run.
You decide all of the following without asking:
dispatch_brief (optional). Next time this method is requested it may not run in your hands: someone may delegate it to a worker. If, before that handoff, there's something they'd have to settle that the worker can't just discover — an external, costly, or irreversible resource to pin down, a step that can't be undone, or a decision only the person asking can make — capture it as a dispatch_brief: a short note addressed to whoever delegates, on what to settle first and what to leave to the worker. Same needs-not-implementation cut you drew above, aimed at the delegator. Say what to settle, never how the work runs.
Format:
name: {{kebab-slug}} description: {{one line, requester's language}} when_to_use: {{Use when… + trigger phrasings + 2-3 example messages}} allowed-tools:
{{One sentence describing the workflow.}}
{{## Inputs — only if arguments}}
{{Plain outcome statement.}}
{{What to do, concrete and actionable.}}
Success criteria: {{required}}
… ```
Supporting files (optional). When a step is a fixed, deterministic
procedure, write it as a helper instead of prose — the model re-deriving the
same parsing/formatting every run is where skills drift. Put helpers under
scripts/ and longer reference docs under references/, and reference them
from the body as ${LIGHTCLAW_SKILL_DIR}/scripts/<file>. Before saving:
write the script into your workspace, run it with Bash on a real input, and
confirm it works — only then pass its verified contents to SkillWrite's
files. A script you never ran is a guess. The script runs from
${LIGHTCLAW_SKILL_DIR}/scripts/ at use time — a different path than where
you tested it — so keep it self-contained: take input via arguments or stdin,
and don't hardcode absolute paths. If the body invokes a script, list its
interpreter in allowed-tools (e.g. Bash(python:*)).
Reusing an existing skill (optional). When a step is something a saved
skill already does, don't re-encode it — have the body call UseSkill('<name>')
there so that skill's procedure runs inline. Compose instead of copying its
steps, for the same reason you'd call a shared helper rather than paste it: when
either skill changes they stay in sync. Only reuse a skill you can see and that
cleanly covers the step; if it only half-fits, write the step out directly.
Save via SkillWrite — the SKILL.md as markdown, any helpers as files.
The save location is fixed; don't ask about it.
Do NOT print the SKILL.md. Do NOT mention the slug, the file path, or "skills" as a system concept. Just say, in natural language, what they'll get next time. Something like:
Got it — next time you {{trigger paraphrased}}, I'll {{step 1 paraphrased}}, then {{step 2}}, then {{step 3}}. {{If you added a human checkpoint, mention it: "I'll check with you before merging."}} If you want to tweak it later, just tell me.
The save is invisible to your requester; the promise is in plain language.