plugins/lisa/skills/improve-max-lines-per-function/SKILL.md
This skill should be used when reducing the maximum lines per function threshold and fixing all violations. It updates the eslint threshold configuration, identifies functions exceeding the new limit, generates a brief with refactoring strategies, and creates a plan with tasks to split oversized functions.
npx skillsauth add codyswanngt/lisa improve-max-lines-per-functionInstall 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.
Target threshold: $ARGUMENTS lines per function
If no argument provided, prompt the user for a target.
bun run lint 2>&1 | grep "max-lines-per-function"
If no violations at $ARGUMENTS, report success and exit.
Compile the gathered information into a structured brief:
Reduce max lines per function threshold to $ARGUMENTS.
Functions exceeding threshold (ordered by line count):
1. [file:function] (lines: X, target: $ARGUMENTS) - Line Y
2. ...
Configuration change: eslint.thresholds.json, maxLinesPerFunction to $ARGUMENTS
Refactoring strategies: extract functions, early returns, extract conditions, use lookup tables, consolidate logic
Verification: `bun run lint 2>&1 | grep "max-lines-per-function" | wc -l` → Expected: 0
Invoke /implement with this brief to create the implementation plan.
development
Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
development
Guidelines for upgrading Expo SDK versions and fixing dependency issues
development
Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
tools
`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.