stow/shared/.claude-work/skills/skillify/SKILL.md
Capture this session's repeatable process into a reusable skill. Call at end of a process you want to automate.
npx skillsauth add fredrikaverpil/dotfiles skillifyInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are capturing this session's repeatable process as a reusable skill.
You have the full conversation history available to you. Analyze it directly to understand what process was performed, what tools were used, and how the user steered you.
If a description was provided: The user described this process as: "$description"
Before asking any questions, analyze the conversation history to identify:
You will use AskUserQuestion to understand what the user wants to automate. Important notes:
Round 1: High level confirmation
Round 2: More details
.claude/skills/<name>/SKILL.md) -- for workflows specific
to this project~/.claude/skills/<name>/SKILL.md) -- follows you across all
reposRound 3: Breaking down each step For each major step, if it's not glaringly obvious, ask:
You may do multiple rounds of AskUserQuestion here, one round per step, especially if there are more than 3 steps or many clarification questions. Iterate as much as needed.
IMPORTANT: Pay special attention to places where the user corrected you during the session, to help inform your design.
Round 4: Final questions
Stop interviewing once you have enough information. IMPORTANT: Don't over-ask for simple processes!
Create the skill directory and file at the location the user chose in Round 2.
Use this format:
---
name: { { skill-name } }
description: { { one-line description } }
allowed-tools: { { list of tool permission patterns observed during session } }
when_to_use:
{
{
detailed description of when Claude should automatically invoke this skill,
including trigger phrases and example user messages,
},
}
argument-hint: "{{hint showing argument placeholders}}"
arguments: { { list of argument names } }
context: { { inline or fork -- omit for inline } }
---
# {{Skill Title}}
Description of skill
## Inputs
- `$arg_name`: Description of this input
## Goal
Clearly stated goal for this workflow. Best if you have clearly defined
artifacts or criteria for completion.
## Steps
### 1. Step Name
What to do in this step. Be specific and actionable. Include commands when
appropriate.
**Success criteria**: ALWAYS include this! This shows that the step is done and
we can move on. Can be a list.
IMPORTANT: see the next section below for the per-step annotations you can
optionally include for each step.
...
Per-step annotations:
Direct (default), Task agent (straightforward subagents),
Teammate (agent with true parallelism and inter-agent communication), or
[human] (user does it). Only needs specifying if not Direct.Step structure tips:
[human] in the titleFrontmatter rules:
allowed-tools: Minimum permissions needed (use patterns like Bash(gh:*)
not Bash)context: Only set context: fork for self-contained skills that don't need
mid-process user input.when_to_use is CRITICAL -- tells the model when to auto-invoke. Start with
"Use when..." and include trigger phrases. Example: "Use when the user wants
to cherry-pick a PR to a release branch. Examples: 'cherry-pick to release',
'CP this PR', 'hotfix'."arguments and argument-hint: Only include if the skill takes parameters.
Use $name in the body for substitution.Review the skill against the
official documentation. Use the
skill-creator skill to evaluate it.
Before writing the file, output the complete SKILL.md content as a yaml code block in your response so the user can review it with proper syntax highlighting. Then ask for confirmation using AskUserQuestion with a simple question like "Does this SKILL.md look good to save?" -- do NOT use the body field, keep the question concise.
After writing, tell the user:
/{{skill-name}} [arguments]development
Google API Improvement Proposals (AIP) reference. Use BEFORE designing or reviewing APIs, protobuf definitions, or any work involving Google API design standards. Fetches relevant AIP rules from https://google.aip.dev for the task at hand.
tools
Guide for writing Neovim plugins in Lua following official Neovim conventions (https://neovim.io/doc/user/lua-plugin/). Use this skill whenever the user is creating, modifying, or reviewing a Neovim plugin — including when they mention plugin structure, ftplugin, health checks, keymaps, setup() functions, vimdoc, LuaCATS annotations, or lazy loading in the context of Neovim plugin development. Also trigger when the user is working in a directory that looks like a Neovim plugin (contains plugin/, lua/, ftplugin/ subdirectories).
tools
Native Neovim config idioms and conventions — use whenever writing, reviewing, or modifying any Neovim configuration that uses Neovim's built-in conventions WITHOUT a plugin manager framework (no lazy.nvim, packer, etc.). Covers directory structure, vim.pack plugin management, lsp/ auto-discovery, plugin/ loading order, keymaps, and standard paths. Trigger on any task involving init.lua, plugin/*.lua, lsp/*.lua, vim.pack.add(), vim.lsp.enable(), or "native neovim config" — even if the user just says "add a plugin" or "configure LSP" in a native-style config.
development
Analyze a git repo's history to surface high-churn files, ownership risks, bug hotspots, momentum trends, and firefighting patterns. Use this skill whenever the user wants to understand a codebase, assess repo health, or orient themselves before reading code — even if they don't explicitly say "audit".