skills/skill-factory/SKILL.md
Create a new reusable skill by analyzing the current codebase to find how a task is already done, extracting the repeatable pattern, and producing a SKILL.md grounded in actual conventions. Use this skill when the user says 'create a skill for', 'make a skill that', 'I want a skill to', 'generate a skill', 'new skill for', 'skill for setting up', 'skill for adding', or 'skill for creating'. Also trigger when someone wants to codify a repeatable workflow into a reusable automation — scaffolding a module, wiring a route, adding a service, setting up a new package in a monorepo, or any task they find themselves explaining the same way each time.
npx skillsauth add ryan-mahoney/ryan-llm-skills skill-factoryInstall 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 a skill author. Given a description of a repeatable task, you analyze the current codebase to find how that task is already done, extract the pattern, identify what varies each time (the arguments), and produce a complete SKILL.md that any agent can execute.
The value is in grounding: the generated skill references real file paths, real naming conventions, and real patterns from the repo — not generic advice. A generated skill should read like it was written by someone who has done this task in this codebase twenty times.
Parse the user's description of what the skill should do. Clarify:
If the description is too vague to identify inputs and outputs, ask clarifying questions. You need enough to know what the skill's arguments will be.
Check for AGENTS.md in the repository root. If it exists, read it — it gives you the tech stack, directory layout, conventions, and gotchas.
If no AGENTS.md, survey the repo yourself:
package.json, pyproject.toml, etc.)This is the critical step. Search the codebase for existing examples of the task being done. You need at least 2 examples to extract a pattern, 3+ is better.
For example, if the skill is "add a route module in our Angular monorepo":
Use Glob and Grep aggressively. Read the actual files, not just file names.
Compare the examples to separate:
The skeleton becomes the skill's step-by-step instructions. The variables become the skill's arguments.
From the variables identified in Step 2c, decide what the skill takes as input. Arguments should be:
Write a description that matches how a user would naturally ask for this task. Use the same language patterns as existing skills — include specific trigger phrases.
The skill name should be:
Produce a complete SKILL.md following this structure:
---
name: [skill-name]
description: "[Trigger description with example phrases]"
argument-hint: "[argument format hint]"
---
# [Skill Title]
[One paragraph: what this skill does and when to use it.]
## Arguments
- `$1` — [first argument: what it is, format expected]
- `$2` — [second argument, if any]
- ...
## Before Starting
[Pre-flight checks: verify arguments, confirm the working directory is correct,
check that prerequisites exist.]
## Steps
### 1. [First step]
[Precise instructions grounded in actual file paths and patterns.
Reference specific files as examples.]
**Pattern reference:** Follow the structure in `[actual file path from the repo]`.
### 2. [Second step]
...
### N. [Final step]
[Usually: run targeted tests, stage files, commit.]
## Conventions
[Project-specific rules the skill must follow — naming, imports,
file placement, test structure. Derived from Step 2b analysis.]
libs/feature-name/src/lib/feature-name.module.ts, write that path with the argument variable substituted.libs/auth/src/lib/auth.module.ts is structured" is better than "follow the module pattern."Module suffix."Present the drafted SKILL.md to the user. Explain:
Ask if they want to adjust anything before writing the file.
Once approved, write the skill to:
~/.agents/skills/[skill-name]/SKILL.md
Then inform the user they can run ~/.agents/sync.sh to distribute it to all agent tools.
Precedent over theory. The generated skill must reflect how the codebase actually works, not how a framework's docs say it should work. If the team uses a non-standard pattern, the skill encodes that pattern.
Grounding over generality. A skill that says "create a file at libs/$1/src/lib/$1.routes.ts following the pattern in libs/dashboard/src/lib/dashboard.routes.ts" is useful. A skill that says "create a route file following Angular conventions" is not.
Arguments should be obvious. If someone invoking the skill has to read the SKILL.md to figure out what to pass, the argument design is wrong. Names should be self-evident.
The wiring step is mandatory. Scaffolding without registration is the #1 source of "I created the files but nothing works." Every generated skill must include the step that connects the new thing to the existing system.
One skill, one task. If the user describes a workflow with 3 distinct phases, suggest 3 skills. Skills compose; monolithic skills rot.
testing
This skill should be used when the user asks to "run the spec", "implement the spec", or "execute the spec". Implements every step in a SpecOps implementation spec by delegating each step (or logical group of adjacent steps) to a sequential subagent, conventional-committing each one independently, and — when `roborev` is on the path — running `roborev check` on every commit and `roborev fix` (with spec context, so the fix cannot silently drift the implementation away from the spec) on any commit that fails.
development
Exhaustively audit a top-level UI implementation component against an HTML prototype and produce a grouped markdown checklist of corrections. Use when a user asks for UI parity review, visual QA, design implementation audit, pixel-level drift detection, or behavior/style mismatch analysis between prototype HTML and shipped component code.
development
Audit a SpecOps implementation spec against its source analysis spec to find requirements, policies, contracts, edge cases, error modes, invariants, defaults, side effects, or implementation steps that the implementation has dropped, weakened, contradicted, or silently changed — then patch the implementation spec to restore them. Use this skill whenever the user mentions auditing, comparing, conforming, reconciling, or checking an implementation spec against an analysis spec, finding gaps between two specs, ensuring an implementation spec preserves analysis behavior, or verifying spec derivation or traceability. Also trigger when the user describes "did the implementation spec lose anything from the analysis," "does the implementation match the analysis," "verify the implementation spec covers everything," or asks to confirm one spec is faithful to another. Run this before generating code from an implementation spec and after either spec is edited.
development
Audit a set of SpecOps analysis specs for cross-spec coherence — establish a dependency-ordered implementation sequence, then verify pairwise integration contracts at module boundaries plus three cross-cutting consistency dimensions (shared data models, side-effect ownership, terminology) — and patch the affected specs to resolve gaps. Use this skill whenever the user mentions cross-spec consistency, integration gaps between specs, conflicts between specs, duplicate work across specs, implementation order, dependency order for migration, building an implementation-order checklist, ensuring specs interoperate, terminology drift across specs, or shared data model conflicts. Also trigger when the user describes "do my specs agree with each other," "what order should I implement these in," "find inconsistencies across all my specs," or asks to audit a folder of analysis specs as a set rather than individually. Run this once after generating a full set of analysis specs, before deriving implementation specs.