plugins/lisa-agy/skills/lisa-review-implementation/SKILL.md
This skill should be used when comparing a project's Lisa-managed files against Lisa's source templates to identify drift. It reads the project manifest, locates source templates, generates diffs for drifted files, and offers to upstream improvements back to Lisa.
npx skillsauth add codyswanngt/lisa lisa-review-implementationInstall 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.
This skill compares the current project's Lisa-managed files against Lisa's source templates to identify drift and offer to upstream improvements back to Lisa.
This skill requires access to the Lisa installation directory. Either:
--add-dir ~/lisa (or your Lisa path)/lisa-review-implementation ~/lisaFirst, determine the Lisa installation directory:
--add-dir paths contain a src/core/lisa.ts file (Lisa's signature file)~/lisa, ~/workspace/lisa, ../lisaIf Lisa directory cannot be found, inform the user:
Unable to locate Lisa installation directory.
Please either:
1. Start Claude Code with: claude --add-dir /path/to/lisa
2. Run this command with the path: /lisa-review-implementation /path/to/lisa
Read the project's .lisa-manifest file to get the list of managed files.
Parse each line to extract:
strategy: The copy strategy used (copy-overwrite, copy-contents, merge, create-only)relativePath: The file path relative to project rootSkip:
# (comments)create-only strategy (these are meant to be customized)merge strategy (these are intentionally combined)For each managed file, locate its source in Lisa by checking these directories in order:
npm-package/copy-overwrite/ and npm-package/copy-contents/cdk/copy-overwrite/ and cdk/copy-contents/nestjs/copy-overwrite/ and nestjs/copy-contents/expo/copy-overwrite/ and expo/copy-contents/typescript/copy-overwrite/ and typescript/copy-contents/all/copy-overwrite/ and all/copy-contents/The FIRST match wins (most specific type takes precedence).
Detect which project types apply by checking the project for:
npm-package: package.json without "private": true AND has main, bin, exports, or filescdk: presence of cdk.json or aws-cdk in dependenciesnestjs: presence of nest-cli.json or @nestjs in dependenciesexpo: presence of app.json, eas.json, or expo in dependenciestypescript: presence of tsconfig.json or typescript in dependenciesOnly check type directories that match the project.
For each file, compare the project version against the Lisa source:
Use the Bash tool with diff to generate readable diffs:
diff -u "/path/to/lisa/source" "/path/to/project/file" || true
Create a markdown report with these sections:
# Lisa Implementation Review
**Project:** [project name from package.json]
**Lisa Source:** [lisa directory path]
**Generated:** [current date/time]
## Summary
- **Total managed files:** X
- **In sync:** X
- **Drifted:** X
- **Source not found:** X
## Drifted Files
### [relative/path/to/file]
**Source:** [lisa-type]/copy-overwrite/[path]
**Strategy:** copy-overwrite
<details>
<summary>View diff</summary>
```diff
[diff output]
</details>
Recommendation: [Brief analysis of whether this change should be upstreamed]
[Repeat for each drifted file]
These files are in the manifest but their source templates couldn't be located:
After presenting the report, ask the user which drifted files they want to copy back to Lisa.
For each file the user wants to upstream:
typescript/copy-overwrite/.github/workflows/ci.yml)Example prompt:
I found X files that have drifted from Lisa's templates.
Which files would you like to copy back to Lisa?
1. .github/workflows/ci.yml - [brief description of changes]
2. .claude/settings.json - [brief description of changes]
3. All of the above
4. None - just show me the report
Select an option (or list specific numbers):
typescript/ and all/, upstream to where it currently existscopy-contents files like .gitignore, the comparison is trickier since the project may have additional lines - highlight only if Lisa's required lines are missingUser: /lisa-review-implementation
Claude: I'll review your project's Lisa-managed files against the Lisa source templates.
[Locates Lisa directory]
[Reads manifest]
[Compares files]
[Generates report]
# Lisa Implementation Review
**Project:** my-awesome-app
**Lisa Source:** /Users/dev/lisa
**Generated:** 2026-01-18 10:30:00
## Summary
- **Total managed files:** 45
- **In sync:** 42
- **Drifted:** 3
- **Source not found:** 0
## Drifted Files
### .github/workflows/ci.yml
**Source:** typescript/copy-overwrite/.github/workflows/ci.yml
**Strategy:** copy-overwrite
[diff details]
**Recommendation:** This adds a new caching step that improves CI performance. Good candidate for upstreaming.
---
I found 3 files that have drifted. Would you like to upstream any of these changes back to Lisa?
development
Prepare a machine — a fresh laptop or a throwaway container — to run coding agents, before any repository exists. Detects which of Lisa's supported agents (Claude Code, Codex, Cursor, OpenCode, Antigravity, Copilot) are already installed, asks which credential manager the machine uses (Bitwarden, 1Password, Doppler, Vault, AWS, or none), and installs only what is missing, each by its vendor's own preferred method. Idempotent, headless by default, and emits a Dockerfile for a spin-up/spin-down environment. Run it on a new machine, in a container, or before cloning anything.
tools
Provision and verify a remote execution environment for a host project — Codex Cloud today, other remote surfaces as they are added. Generates a repository-owned setup script that installs the declared toolchain, materializes secrets through lisa-secrets-access, and runs the project's own hook. Provisions by API where one exists, by driving the vendor console where one does not, and by emitting exact config otherwise — then proves the result with the same read-back regardless of which tier did the work. Use before dispatching any work with executionEnv.
tools
Bring a developer's machine in line with the toolchain the project declares. Reports every tool in remoteEnv.tools that is missing, outdated, or unpinned for this platform, and installs the missing ones into ~/.local/bin from the same pinned, checksummed entries the remote surfaces use — but only when asked. Same manifest, same pins, same installers as lisa-setup-remote-env; what differs is consent and that the pin is a floor rather than an equality. Run it on a fresh checkout, after a manifest change, or when a tool fails at the moment of use.
tools
Route one unit of work to a remote execution surface. Reads the executionEnv parameter (local by default, codex-cloud or claude-web today), verifies the environment is provisioned and bound to this repository, submits a thin skill invocation, records the task identifier to .lisa/remote-dispatch.json, and exits without polling. Routing only — the remote runs the identical skill from the identical repository. Composable and inline: other skills invoke it via the Skill tool rather than users calling it directly.