Skip to content

welshofer/elevate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elevate

A Claude skill that audits a codebase end-to-end and produces a focused, file-grounded improvement plan across seven dimensions.

License: MIT Claude Skill

What it does

elevate is an Anthropic Claude skill that turns "how do I make this app better?" into a concrete, prioritized plan you can ship from. It walks your codebase across seven quality lenses — Performance, Functionality, Stability, Reliability, Security, Usability, and Attractiveness/Sexiness — and produces exactly five grounded recommendations per dimension. Every item names a specific file or flow, declares an effort/impact estimate, and the whole report ends with one recommended first move.

It works on web, macOS, and iOS codebases (auto-detected from your manifests).

Why this exists

Most "audit my codebase" prompts return one of three flavors of unhelpful: a wall of generic advice, a security-only review (because that's the easy quadrant to spot), or a list so long no one knows where to start. elevate exists because the most useful version of this output is a strictly bounded one — top 5 per dimension, every item grounded in a real file path, one explicit "ship this first" recommendation.

The seven-dimension contract is the value. It forces coverage of axes (like Attractiveness, Reliability vs Stability) that get skipped by default, while the 5-item cap forces honest prioritization.

Quick example

Ask Claude something like:

Run elevate on this codebase. It's a SwiftUI iOS app. I want it to feel like Things 3.

You'll get a report shaped like this (abbreviated):

# Elevate Plan: Inkling

> Platform: iOS (inferred — Package.swift platforms = [.iOS(.v17)], SwiftUI views, no AppKit)
> Surveyed: 2026-05-06
> Coverage: full — entry points, all feature modules, models, sync layer
> Attractiveness anchor: Things 3 (user-supplied)

## Performance

### 1. Decode entry images off the main actor
- **Location:** Inkling/Features/Feed/EntryRow.swift:38
- **Do:** EntryRow calls UIImage(data:) synchronously inside body. Move decoding
  into a Task.detached and cache the resulting Image in an actor ImageCache
  keyed by entry ID.
- **Why:** Scrolling jank on the feed today is caused by main-thread image
  decoding. Profiles show 60-120 ms hitches per row on iPhone 12.
- **Effort:** M · **Impact:** L

### 2. Replace List with LazyVStack in a ScrollView for the timeline
...

## Functionality, Stability, Reliability, Security, Usability, Attractiveness/Sexiness
(5 items each)

---

## First move

**Decode entry images off the main actor** (Performance)

Of the 35 items, this is the single change that materially shifts the
product's perceived quality the moment it ships. The current jank shows
up on the very first screen most users open...

Full examples in examples/:

The three examples deliberately spotlight different dimensions across platforms — read all three for the full vocabulary.

Installation

elevate is a Claude skill. Skills are loaded by Claude when their description matches user intent. Anthropic's full skills overview: https://docs.claude.com/en/docs/agents-and-tools/agent-skills.

For Claude Code

# 1. Clone into your Claude Code skills directory
git clone https://github.com/welshofer/elevate.git ~/.claude/skills/elevate

# 2. Verify it's discoverable
ls ~/.claude/skills/elevate/SKILL.md

Claude Code will auto-discover the skill on next session start. Invoke by asking naturally ("elevate the codebase", "do a thorough review", "build me an improvement plan") or by typing /elevate if your client supports slash invocation.

For Claude Desktop / claude.ai

Upload the elevate folder via your skills/agent configuration. Only SKILL.md, references/, and examples/ are required — the OSS metadata files (README.md, LICENSE, CONTRIBUTING.md, CHANGELOG.md) are inert at runtime and can be omitted from the upload to save context.

For the Claude API / Agent SDK

Pass the skill folder via the skills array in your agent configuration. See Anthropic's skills documentation for the exact wiring.

What gets produced

Exactly one report per invocation. Structure:

Section What it contains
Header Platform, survey date, coverage scope, Attractiveness anchor
7 dimension sections Exactly 5 items each — title, file location, what to do, why it matters, effort (S/M/L), impact (S/M/L)
First move One specific item picked from the 35, with a one-paragraph justification
Deferred (optional) Items considered but cut from the top 35, with reasoning

The seven dimensions

Dimension One-line definition
Performance Speed, smoothness, resource cost — does it feel fast under realistic load?
Functionality Feature completeness — does it do what users came to do?
Stability Doesn't crash or break under normal conditions.
Reliability Behaves correctly under adverse conditions (offline, retries, conflicts, recovery).
Security Attack surface, secrets handling, auth/authz, dependency posture.
Usability Easy and pleasant to operate — accessibility, navigation, native conventions.
Attractiveness / Sexiness Visual polish, motion, materials, micro-interactions, onboarding delight.

The Stability/Reliability split is deliberate — see references/dimensions.md for the tie-breaker rule when an issue could fit both.

The Attractiveness anchor

The Attractiveness dimension uses an anchor pattern: if you name a peer product the codebase should feel like ("Linear", "Things 3", "Raycast", "Arc", "Bear"), elevate frames each item as "close the gap to the anchor in this specific way." Without an anchor, the dimension drifts into "make it nicer" — which is the failure mode the anchor avoids.

You can supply the anchor explicitly:

Elevate this codebase. Anchor it against Linear.

Or let elevate infer one from your product's category and observed direction; it will name the inferred anchor in the report header so you can correct it.

Constraints (what elevate will not do)

  • Will not edit code. This skill produces a plan, not commits. Implementation is a follow-up step.
  • Will not iterate. One survey pass, one analysis pass, one synthesis pass. No self-critique loops.
  • Will not pad. If a dimension has fewer than 5 genuinely grounded findings, gap-fillers are explicitly tagged speculative rather than disguised as concrete items.
  • Will not double-count. Issues that touch multiple dimensions are assigned to one primary lens.
  • Will not invent files. Every recommendation must cite at least one specific file path, file:line, or named flow.

These are non-negotiable; they're what makes the report scannable and trustworthy.

Customization

The seven dimensions are fixed by design. Adding, removing, merging, or renaming them is not supported — the report's contract depends on them.

What you can usefully customize:

  • The Attractiveness anchor — supply your own peer product reference.
  • Output destination — by default the report is printed inline; ask for it to be saved to a file and elevate will write to elevate-plan-{YYYYMMDD}.md in the project root.
  • Coverage — for very large codebases, elevate will survey entry points + recently-modified files + manifests, and explicitly flag unscanned areas in a Coverage: line. You can direct it to focus on specific subsystems.

For per-dimension lens detail (what elevate looks for in each lens), see references/dimensions.md. For report-shape, tagging conventions, and what good output looks like, see references/output-format.md.

Compatibility

Platform Status
Claude Code ✅ Tested
Claude Desktop ✅ Frontmatter is portable (only name + description)
claude.ai (web) ✅ Frontmatter is portable
Claude API / Agent SDK ✅ Standard skill loader

Repository layout

elevate/
├── LICENSE              MIT
├── README.md            you are here
├── CONTRIBUTING.md      how to contribute
├── CHANGELOG.md         release history
├── SKILL.md             the skill itself (frontmatter + workflow)
├── references/
│   ├── dimensions.md       per-dimension lenses + platform cues
│   └── output-format.md    report shape, tagging conventions
└── examples/
    ├── sample-report.md         iOS example (abbreviated)
    ├── sample-report-macos.md   macOS example (abbreviated)
    └── sample-report-web.md     web example (abbreviated)

Contributing

Contributions welcome — see CONTRIBUTING.md. The skill is intentionally bounded, so most contributions will land in references/ (new platform cues, dimension lenses) or examples/ (additional sample reports) rather than reshaping the core contract.

License

MIT © 2026 welshofer

Acknowledgements

Built for use with Anthropic Claude. The skill format follows Anthropic's skill-building guidance and design principles from Building Effective Agents.

About

A Claude skill that audits a codebase end-to-end and produces a top-5-per-dimension improvement plan across seven lenses (Performance, Functionality, Stability, Reliability, Security, Usability, Attractiveness).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors