lsp-extract-function SKILL.md skillA

lsp-extract-function from blackwell-systems/agent-lsp is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add blackwell-systems/agent-lsp/lsp-extract-function@git:20261104.5790d48

Pins git:20261104.5790d48 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
blackwell-systems/agent-lsp
Path
skills/lsp-extract-function/SKILL.md
Versions recorded
6
Latest version
git:20261104.5790d48, committed Nov 4, 2026
First version recorded
Apr 21, 2026
Size
8,117 bytes
Repository stars
173
License
MIT

Extract a selected code block into a named function. Primary path uses the language server's extract-function code action; falls back to manual extraction when no code action is available. Validates captured variables, scope shadowing, and compilation after extraction.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

> Requires the agent-lsp MCP server.

# lsp-extract-function: Extract Code Block into a Named Function

**This skill RESTRUCTURES existing code** — it takes code that already exists
and moves it into a new function. This is distinct from `/lsp-generate`, which
creates NEW code that does not yet exist (stubs, mocks, interface implementations).
Use this skill when the code is already written; use `/lsp-generate` when you
need to generate code from scratch.

**Invocation:** User provides `file_path` (absolute path), `start_line` and
`end_line` (1-indexed range), and `new_function_name` (desired name for the
extracted function).

---

## Prerequisites

If LSP is not yet initialized, call `mcp__agent-lsp__start_lsp` with the workspace
root first. Auto-inference applies when file paths are provided, but an explicit
start is required when switching workspaces.

---

## Step 1 — Get context (document symbols)

Call `mcp__agent-lsp__open_document` to open the file, then call
`mcp__agent-lsp__list_symbols` to understand the containing function and scope:

```
mcp__agent-lsp__open_document({ "file_path": "<file_path>" })
mcp__agent-lsp__list_symbols({ "file_path": "<file_path>" })
```
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add blackwell-systems/agent-lsp/lsp-extract-function@sha256:3e1277477d5c6e92

The line at the top of this page pins the label git:20261104.5790d48, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_ixhyw324xqqwc76k.svg)](https://markdownregistry.com/a/art_ixhyw324xqqwc76k)

5 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 6 versions of this file, between Apr 21, 2026 and Nov 4, 2026, about one every 39 days.

versioncommittedcommitsizeaudit
git:20261104.5790d48 latest2026-11-04 5790d48 8,117 BA view · diff
git:20260510.2c5eef22026-05-10 2c5eef2 7,967 BA view · diff
git:20260423.17e71a82026-04-23 17e71a8 8,000 BA view · diff
git:20260423.0c48c282026-04-23 0c48c28 7,979 BA view · diff
git:20260422.b42794c2026-04-22 b42794c 7,850 BA view · diff
git:20260421.8c07e2d2026-04-21 8c07e2d 7,747 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (8117 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

blackwell-systems/agent-lsp · 173 stars · license MIT · pushed 2026-11-07 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_ixhyw324xqqwc76k
GET https://markdownregistry.com/api/v1/resolve?ref=blackwell-systems/agent-lsp/lsp-extract-function
GET https://markdownregistry.com/api/v1/blob/3e1277477d5c6e9262a180b129f66b5e8d8092ec9bbc8270165d614c8369ac09

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from blackwell-systems/agent-lsp

CLAUDE.md CLAUDE.md file
blackwell-systems/agent-lsp · CLAUDE.md
git:20261104.5790d48 · audit A · 173 stars
lsp-architecture SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-architecture/SKILL.md · Generate a structural architecture overview of a codebase: languages, package map, entry points, dependency graph, and…
git:20261104.5790d48 · audit A · 173 stars
lsp-concurrency-audit SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-concurrency-audit/SKILL.md · Concurrency safety audit for a type or file. Maps all fields, traces which are accessed from concurrent contexts…
git:20261104.5790d48 · audit A · 173 stars
lsp-cross-repo SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-cross-repo/SKILL.md · Cross-repository analysis — find all callers of a library symbol in one or more consumer repos. Use when refactoring a…
git:20261104.5790d48 · audit A · 173 stars
lsp-dead-code SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-dead-code/SKILL.md · Enumerate exported symbols in a file and surface those with zero references across the workspace. Use when auditing for…
git:20261104.5790d48 · audit A · 173 stars
lsp-docs SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-docs/SKILL.md · Three-tier documentation lookup for any symbol — hover → offline toolchain doc → source definition. Use when hover text…
git:20261104.5790d48 · audit A · 173 stars
lsp-edit-export SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-edit-export/SKILL.md · Safe workflow for editing exported symbols or public APIs. Use when changing a function signature, modifying a public…
git:20261104.5790d48 · audit A · 173 stars
lsp-edit-symbol SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-edit-symbol/SKILL.md · Edit a named symbol without knowing its file or position. Use when you want to change a function, type, or variable by…
git:20261104.5790d48 · audit A · 173 stars
lsp-explore SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-explore/SKILL.md · "Tell me about this symbol": hover + implementations + call hierarchy + references in one pass — for navigating…
git:20261104.5790d48 · audit A · 173 stars
lsp-fix-all SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-fix-all/SKILL.md · Apply available quick-fix code actions for all current diagnostics in a file, one at a time with re-collection between…
git:20261104.5790d48 · audit A · 173 stars
lsp-format-code SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-format-code/SKILL.md · Format a file or selection using the language server's formatter. Use before committing to apply consistent style, or…
git:20261104.5790d48 · audit A · 173 stars
lsp-generate SKILL.md skill
blackwell-systems/agent-lsp · skills/lsp-generate/SKILL.md · Trigger language server code generation — implement interface stubs, generate test skeletons, add missing methods…
git:20261104.5790d48 · audit A · 173 stars

Every file in blackwell-systems/agent-lsp

Browse by kind, by grade A, or by owner.