Agent skill

Performance Gate

by DanielPodolsky in DanielPodolsky/ownyourcode

Verifies performance including N+1 query detection, scalability assessment, and complexity analysis.

MITAuto-check passed

Install Performance Gate

skills CLI
$ npx skills add DanielPodolsky/ownyourcode --skill performance-gate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install DanielPodolsky/ownyourcode performance-gate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/DanielPodolsky/ownyourcode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/gates/performance .claude/skills/performance-gate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
performance-gate
GitHub stars
290
Used in
1 other repo
Token cost
~1.4k tokens
SKILL.md length
435 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Verifies performance including N+1 query detection, scalability assessment, and complexity analysis.

  • Works in 5 steps: The N+1 Query Problem → Fetching Everything → Expensive Render Calculations → …
  • SKILL.md covers Purpose, Gate Status, Gate Questions and Performance Checklist, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Performance Gate is an agent skill from DanielPodolsky/ownyourcode. Verifies performance including N+1 query detection, scalability assessment, and complexity analysis. WARNING gate triggered during /own:done flow.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Claude Code workflow for AI-mentored development. Work efficiently with Spec-Driven Development and the 6 Gates. Built to fight cognitive offloading — for developers using AI to… The licence is MIT.

Example prompts

  • “Use the performance-gate skill to verify performance including N+1 query detection, scalability assessment, and complexity analysis”
  • “/performance-gate”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. The N+1 Query Problem
  2. Fetching Everything
  3. Expensive Render Calculations
  4. Inline Functions Causing Re-renders
  5. Missing Cleanup

What it can do on your machine

Read from SKILL.md and the folder at commit bd1f17c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Performance Gate loads about 1.4k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 435 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~41
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from DanielPodolsky/ownyourcode at commit bd1f17c, republished under its MIT licence (© DanielPodolsky). 435 words, ~1,435 tokens.

Download SKILL.mdSave it as .claude/skills/performance-gate/SKILL.md (or your agent's skills folder).
name
performance-gate
description
Verifies performance including N+1 query detection, scalability assessment, and complexity analysis. WARNING gate triggered during /own:done flow.

Gate 4: Performance Review

"Code that works is step one. Code that scales is step two."

Purpose

This gate catches performance anti-patterns before they cause problems. The focus is on obvious issues, not micro-optimizations.

Gate Status

  • PASS — No obvious performance issues
  • WARNING — Issues found that could cause problems at scale

Gate Questions

Question 1: Scalability

"What happens when there are 10,000 items? 1,000,000?"

Looking for:

  • Awareness of data growth
  • Pagination for large datasets
  • Efficient data structures
  • No unnecessary loops
Question 2: Query Efficiency

"How many database queries does this operation make?"

Looking for:

  • No N+1 queries
  • Bulk operations where appropriate
  • Indexes on queried columns
  • Awareness of query cost
Question 3: Re-render Awareness (Frontend)

"When this state changes, what components re-render?"

Looking for:

  • Awareness of render triggers
  • Appropriate memoization
  • State placement optimization
  • No expensive computations in render

Performance Checklist

Database Operations
  • No N+1 queries (queries inside loops)
  • Pagination for list endpoints
  • Indexes on frequently queried columns
  • SELECT only needed columns (not SELECT *)
Frontend Rendering
  • Expensive computations use useMemo
  • Event handlers use useCallback where needed
  • Large lists use virtualization
  • Heavy components are lazy loaded
API & Network
  • Response payloads are minimal
  • Large data is paginated
  • Caching headers where appropriate
  • No redundant API calls
General
  • No nested loops (O(n²)) without justification
  • No blocking operations
  • Cleanup of intervals/timeouts
  • Reasonable memory usage

Response Templates

If PASS
✅ PERFORMANCE GATE: PASSED

Performance considerations look good:
- Data fetching is efficient
- No obvious N+1 patterns
- Appropriate pagination in place

Moving to the next gate...
If WARNING
⚠️ PERFORMANCE GATE: WARNING

Found [X] performance concerns:

**Issue 1: [N+1 Query / Inefficient Loop]**
Location: `file.ts:42`
Question: "This makes [N] queries. Can we batch into 1?"

**Issue 2: [Missing Pagination]**
Location: `file.ts:88`
Question: "What happens with 100,000 records?"

**Issue 3: [Expensive Render]**
Location: `Component.tsx:15`
Question: "Does this need to recalculate on every render?"

These may not matter now, but will become problems as the app grows.

Common Issues to Check

1. The N+1 Query Problem
❌ const users = await User.findAll();
   for (const user of users) {
     user.posts = await Post.findByUserId(user.id);
   }
   // 1 + N queries!

✅ const users = await User.findAll({
     include: [{ model: Post }]
   });
   // 1 query with JOIN
2. Fetching Everything
❌ // Returns 10,000 users with 50 fields each
   GET /api/users

✅ // Paginated with only needed fields
   GET /api/users?page=1&limit=20&fields=id,name,email
3. Expensive Render Calculations
❌ function UserList({ users }) {
     // Runs on every render
     const sorted = users.sort((a, b) => a.name.localeCompare(b.name));
     return <ul>{sorted.map(...)}</ul>;
   }

✅ function UserList({ users }) {
     const sorted = useMemo(
       () => [...users].sort((a, b) => a.name.localeCompare(b.name)),
       [users]
     );
     return <ul>{sorted.map(...)}</ul>;
   }
4. Inline Functions Causing Re-renders
❌ function Parent() {
     return <Child onClick={() => doSomething()} />;
     // New function every render → Child re-renders
   }

✅ function Parent() {
     const handleClick = useCallback(() => doSomething(), []);
     return <Child onClick={handleClick} />;
   }
5. Missing Cleanup
❌ useEffect(() => {
     const interval = setInterval(fetchData, 5000);
     // Memory leak! Runs forever
   }, []);

✅ useEffect(() => {
     const interval = setInterval(fetchData, 5000);
     return () => clearInterval(interval);
   }, []);

Show full SKILL.md (189 more words)Show less

Socratic Performance Questions

Instead of pointing out the fix, ask:

  1. "How many queries does this endpoint execute for 100 users?"
  2. "If I add 10,000 more items, what breaks?"
  3. "Does this array get re-sorted on every render?"
  4. "What clears this interval when the component unmounts?"
  5. "Do we need all 50 columns from this table?"

Big O Quick Reference

PatternComplexity10,000 itemsConcern Level
Map lookupO(1)1 opFine
Single loopO(n)10,000 opsUsually fine
Nested loopO(n²)100M opsWarning
Triple loopO(n³)1T opsCritical

Performance Red Flags

FlagQuestionWhy
Query in a loop"Can we batch?"N+1 problem
No pagination"What at scale?"Memory/time explosion
SELECT *"Need all fields?"Wasted bandwidth
setInterval no cleanup"What clears this?"Memory leak
Inline object/function in JSX"New reference?"Unnecessary re-renders
Array.sort() in render"Cached?"Runs every render

When to NOT Worry

Not everything needs optimization:

  • Small datasets: Don't paginate 20 items
  • Rare operations: One-time admin scripts can be slow
  • Prototype phase: Get it working first
  • Micro-optimizations: Focus on algorithms, not for vs forEach

The gate is about catching obvious issues, not micro-optimization.

© DanielPodolsky, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/gates/performance of DanielPodolsky/ownyourcode.

Open the folder on GitHubat commit bd1f17c

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in DanielPodolsky/ownyourcode, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Performance Gate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Performance Gate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Performance Gate this skillDanielPodolsky/ownyourcode2901 repos~1.4kAutomated safety check: PassMIT
Verifyasgeirtj/system_prompts_leaks69k—~3kAutomated safety check: PassCC0-1.0
Verify Before CompletionYeachan-Heo/oh-my-claudecode40k—~277Automated safety check: PassMIT
Verify Thiscursor/plugins10k2 repos~693Automated safety check: PassNone
Spreadsheet Create Verify GateHKUDS/OpenSpace7.7k—~4.3kAutomated safety check: PassMIT
Verify and StopJuliusBrussee/caveman110k1 repos~176Automated safety check: PassApache-2.0

Similar skills

  • Verify

    asgeirtj/system_prompts_leaks

    Verify that a code change actually does what it's supposed to by exercising it end-to-end and observing behavior — drive the affected flow, not just tests or typecheck.

    69k GitHub stars~3k tokensUpdated yesterday
    Testing & QAAuto-check passed
  • Verify Before Completion

    Yeachan-Heo/oh-my-claudecode

    Has the agent prove that a feature, fix or refactor works, using existing tests first, then narrow commands and manual checks, and report only what was actually verified.

    40k GitHub stars~277 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Verify This

    cursor/plugins

    Official

    Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.

    10k GitHub starsUsed in 2 repos~693 tokens
    Auto-check passed
  • Create or edit Excel workbooks with openpyxl-specific pitfall handling, anchored preflight audit, and deterministic post-write proof that every criterion is satisfied

    7.7k GitHub stars~4.3k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Verify and Stop

    JuliusBrussee/caveman

    Prove existing work meets acceptance conditions without expanding scope. Use for validation-only tasks, completion checks, focused gate runs, and last-mile…

    110k GitHub starsUsed in 1 repo~176 tokens
    Agent WorkflowsAuto-check passed
  • Verify

    codewhale-hq/Codewhale

    Exercise the real app/API/CLI and collect observable evidence; tests alone do not count as end-to-end verification.

    41k GitHub stars~156 tokensUpdated today
    Testing & QAAuto-check passed

More from DanielPodolsky/ownyourcode

All 19 skills in this repo
  • Accessibility Fundamentals

    DanielPodolsky/ownyourcode

    Reviews accessibility including WCAG, ARIA, keyboard navigation.

    290 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Backend Fundamentals

    DanielPodolsky/ownyourcode

    Reviews API design, REST conventions, and backend architecture.

    290 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Database Fundamentals

    DanielPodolsky/ownyourcode

    Reviews schema design, SQL queries, ORM patterns. An agent skill from DanielPodolsky/ownyourcode.

    290 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Documentation Fundamentals

    DanielPodolsky/ownyourcode

    Guides documentation standards including READMEs, JSDoc, and code comments.

    290 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check passed
  • Error Handling Fundamentals

    DanielPodolsky/ownyourcode

    Guides error handling for async operations and API calls. An agent skill from DanielPodolsky/ownyourcode.

    290 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Frontend Fundamentals

    DanielPodolsky/ownyourcode

    Reviews React/Vue component architecture, state, and hooks. An agent skill from DanielPodolsky/ownyourcode.

    290 GitHub starsUsed in 1 repo~874 tokens
    Auto-check passed

Questions about Performance Gate

What does Performance Gate do?

Verifies performance including N+1 query detection, scalability assessment, and complexity analysis. Performance Gate is an agent skill from DanielPodolsky/ownyourcode. Verifies performance including N+1 query detection, scalability assessment, and complexity analysis.

How do I install Performance Gate in Claude Code?

Run `npx skills add DanielPodolsky/ownyourcode --skill performance-gate -a claude-code`. Or copy the skill folder (.claude/skills/gates/performance in DanielPodolsky/ownyourcode) into .claude/skills/performance-gate in your project. Claude Code loads it when a task matches its description.

How do I install Performance Gate in Codex?

Run `npx skills add DanielPodolsky/ownyourcode --skill performance-gate -a codex`. Or copy the skill folder (.claude/skills/gates/performance in DanielPodolsky/ownyourcode) into .agents/skills/performance-gate in your project. Codex loads it when a task matches its description.

Can I use Performance Gate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DanielPodolsky/ownyourcode --skill performance-gate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/performance-gate, .gemini/skills/performance-gate, .github/skills/performance-gate and .opencode/skills/performance-gate in your project.

What does Performance Gate need to run?

SKILL.md names no scripts, command-line tools or credentials: Performance Gate is instructions for the agent only.

Does Performance Gate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Performance Gate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Performance Gate use?

Performance Gate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Performance Gate use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Performance Gate?

Skills that share tags, products or a category with Performance Gate: Verify (asgeirtj/system_prompts_leaks, 69k stars), Verify Before Completion (Yeachan-Heo/oh-my-claudecode, 40k stars), Verify This (cursor/plugins, 10k stars) and Spreadsheet Create Verify Gate (HKUDS/OpenSpace, 7.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Performance Gate?

DanielPodolsky (a GitHub user) maintains it in DanielPodolsky/ownyourcode, which has 290 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on June 27, 2026.

Source: DanielPodolsky/ownyourcode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.