liger-autopatch
linkedin/Liger-Kernel/.agents/skills/liger-autopatch/SKILL.md
Adds Liger Kernel support for a new HuggingFace Transformers model, or modifies existing monkey-patching. Generates lce_forward, monkey-patch function, tests, and README entry. Use when adding a new model to Liger Kernel, when a user asks to patch an unsupported model, when extending MODEL_TYPE_TO_APPLY_LIGER_FN, or when modifying/updating/fixing an existing monkey-patch (e.g., adding a new kernel to an already-supported model, fixing instance patching, updating a patch for upstream HF changes).
What's in it
- Liger Auto-Patch
- Mode Detection
- Pipeline (Create Mode)
- Stage 1: Analyze
- Stage 2: Generate
- Stage 3: Validate
- Pipeline (Modify Mode)
- Stage 1: Change Impact Analysis
- Stage 2: Apply Changes
- Stage 3: Validate
- Reference Files
---
name: liger-autopatch
description: "Adds Liger Kernel support for a new HuggingFace Transformers model, or modifies existing monkey-patching. Generates lce_forward, monkey-patch function, tests, and README entry. Use when adding a new model to Liger Kernel, when a user asks to patch an unsupported model, when extending MODEL_TYPE_TO_APPLY_LIGER_FN, or when modifying/updating/fixing an existing monkey-patch (e.g., adding a new kernel to an already-supported model, fixing instance patching, updating a patch for upstream HF changes)."
---
# Liger Auto-Patch
Adds Liger Kernel optimization support for a new HuggingFace model, or modifies existing monkey-patching, through a staged pipeline with human review between stages. Supports creating new model patches and modifying existing ones.
## Mode Detection
- **Create mode**: User asks to add/patch/support a new model → full pipeline (Analyze → Generate → Validate)
- **Modify mode**: User asks to update/fix/change/extend an existing monkey-patch → lighter pipeline (Change Impact Analysis → Apply Changes → Validate)
Keywords that suggest modify mode: update, fix, change, add [kernel] to [existing model], extend, modify, new activation, new norm, bug in patch, upstream changed
## Pipeline (Create Mode)
### Stage 1: Analyze
Follow the **Model Analyzer** workflow in [model-analyzer.md](model-analyzer.md). If the host runtime supports parallel subagents, this stage may be delegated to one; otherwise execute the workflow directly.
This stage reads the HF `modeling_*.py` source and produces a **model profile** answering 12 architectural questions from [decision-matrix.md](decision-matrix.md).
**Human checkpoint:** Present the profile. Confirm before proceeding.
### Stage 2: Generate
Follow the **Code Generator** workflow in [code-generator.md](code-generator.md).
Generates/modifies up to 13 files:
1. `src/liger_kernel/transformers/model/{model}.py` — NEW lce_forward
2. `src/liger_kernel/transformers/monkey_patch.py` — MODIFY
3. `src/liger_kernel/transformers/__init__.py` — MODIFY
4. `src/liger_kernel/transformers/model/output_classes.py` — MODIFY if needed
5. `test/transformers/test_monkey_patch.py` — MODIFY
6. `test/convergence/bf16/test_mini_models.py` — MODIFY (FLCE path)
7. `test/convergence/bf16/test_mini_models_with_logits.py` — MODIFY (non-FLCE path)
8. `test/convergence/fp32/test_mini_models.py` — MODIFY (FLCE path)
9. `test/convergence/fp32/test_mini_models_with_logits.py` — MODIFY (non-FLCE path)
10. `test/convergence/bf16/test_mini_models_multimodal.py` — MODIFY if VL model
11. `test/convergence/fp32/test_mini_models_multimodal.py` — MODIFY if VL model
12. `test/utils.py` — MODIFY
13. `README.md` — MODIFY
**Human checkpoint:** Present changes for review.
### Stage 3: Validate
Follow the **Validator** workflow in [validator.md](validator.md).
Runs instance patching test, convergence test, and lint check. Retries up to 3 times on failure.
**Human checkpoint:** Report final test results.
## Pipeline (Modify Mode)
### Stage 1: Change Impact Analysis
Read the existing `apply_liger_kernel_to_{model_type}` function in `monkey_patch.py` and the relevant section of the upstream HF `modeling_{model_type}.py`. Produce a short change plan:
- What is being added/changed/fixed
- Which Liger kernel(s) are involved
- Which files need modification (subset of the 13 files from create mode)
- What the expected behavior should be after the change
**Human checkpoint:** Present the change plan. Confirm before proceeding.
### Stage 2: Apply Changes
Follow the **Code Generator** workflow in [code-generator.md](code-generator.md) in **modify mode**.
**Human checkpoint:** Present changes for review.
### Stage 3: Validate
Follow the **Validator** workflow in [validator.md](validator.md). This stage is **mandatory** — do not skip it. At minimum, run:
1. Instance patching test: `pytest test/transformers/test_monkey_patch.py -k "{model_type}" -xvs`
2. All convergence tests for the model:
- `pytest test/convergence/bf16/test_mini_models.py -k "{model_type}" -xvs` (FLCE, bf16)
- `pytest test/convergence/bf16/test_mini_models_with_logits.py -k "{model_type}" -xvs` (non-FLCE, bf16)
- `pytest test/convergence/fp32/test_mini_models.py -k "{model_type}" -xvs` (FLCE, fp32)
- `pytest test/convergence/fp32/test_mini_models_with_logits.py -k "{model_type}" -xvs` (non-FLCE, fp32)
- If VL (multimodal) model, also run:
- `pytest test/convergence/bf16/test_mini_models_multimodal.py -k "{model_type}" -xvs`
- `pytest test/convergence/fp32/test_mini_models_multimodal.py -k "{model_type}" -xvs`
3. Checkstyle: `make checkstyle`
**Human checkpoint:** Report final test results.
## Reference Files
- [decision-matrix.md](decision-matrix.md) — 12 architectural decisions to resolve per model
- [examples/llama-profile.md](examples/llama-profile.md) — Reference profile for standard dense model
- [examples/gemma-profile.md](examples/gemma-profile.md) — Reference profile showing GeGLU + offset variant
- Templates in [templates/](templates/) — Code generation patterns for each file type
More agent context in linkedin/Liger-Kernel
3 other files this repository gives its agents.
AGENTS.md
Skill
- liger-kernel-dev.agents/skills/liger-kernel-dev/SKILL.md
- liger-kernel-perf.agents/skills/liger-kernel-perf/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

