Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

coderabbit-performance-tuning

/coderabbit-performance-tuning

Optymalizuje wydajność API CodeRabbit przez buforowanie, grupowanie żądań i pulę połączeń, przy wolnych odpowiedziach i przepustowości.

Repozytorium
agent ↗
Licencja
MIT
Ostatnia zmiana repozytorium
14.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
3
Przestarzałość

Brak sygnałów. Repozytorium zmienione 14.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Optymalizuje wydajność API CodeRabbit przez buforowanie, grupowanie żądań i pulę połączeń, przy wolnych odpowiedziach i przepustowości.

Wyzwalacze z opisu

coderabbit performanceoptimize coderabbitcoderabbit latencycoderabbit cachingcoderabbit slowcoderabbit batch
Oryginalny opis (EN)

Optimize CodeRabbit API performance with caching, batching, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for CodeRabbit integrations. Trigger with phrases like "coderabbit performance", "optimize coderabbit", "coderabbit latency", "coderabbit caching", "coderabbit slow", "coderabbit batch".

Jak działa

  1. Overview
  2. Prerequisites
  3. Latency Benchmarks
  4. Caching Strategy
  5. Request Batching
  6. Connection Optimization
  7. Pagination Optimization
  8. Performance Monitoring
  9. Instructions
  10. Output
Sekcje z nagłówków SKILL.md, w oryginale · 201 linii, 606 słów
Podgląd SKILL.md
---
name: coderabbit-performance-tuning
description: |
  Optimize CodeRabbit API performance with caching, batching, and connection pooling.
  Use when experiencing slow API responses, implementing caching strategies,
  or optimizing request throughput for CodeRabbit integrations.
  Trigger with phrases like "coderabbit performance", "optimize coderabbit",
  "coderabbit latency", "coderabbit caching", "coderabbit slow", "coderabbit batch".
allowed-tools: Read, Write, Edit
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
---

# CodeRabbit Performance Tuning

## Overview
Optimize CodeRabbit API performance with caching, batching, and connection pooling.

## Prerequisites
- CodeRabbit SDK installed
- Understanding of async patterns
- Redis or in-memory cache available (optional)
- Performance monitoring in place

## Latency Benchmarks

| Operation | P50 | P95 | P99 |
|-----------|-----|-----|-----|
| Read | 50ms | 150ms | 300ms |
| Write | 100ms | 250ms | 500ms |
| List | 75ms | 200ms | 400ms |

## Caching Strategy

### Response Caching
```typescript
import { LRUCache } from 'lru-cache';

const cache = new LRUCache<string, any>({
  max: 1000,
  ttl: 60000, // 1 minute
  updateAgeOnGet: true,
});

async function cachedCodeRabbitRequest<T>(
  key: string,
  fetcher: () => Promise<T>,
  ttl?: number
): Promise<T> {
  const cached = cache.get(key);
  if (cached) return cached as T;

  const result = await fetcher();
  cache.set(key, result, { ttl });
  return result;
}
```

### Redis Caching (Distributed)
```typescript
import Redis from 'ioredis';

const redis = new Redis(process.env.REDIS_URL);

async function cachedWithRedis<T>(
  key: string,
  fetcher: () => Promise<T>,
  ttlSeconds = 60
): Promise<T> {
  const cached = await redis.get(key);
  if (cached) return JSON.parse(cached);

  const result = await fetcher();
  await redis.setex(key, ttlSeconds, JSON.stringify(result));
  return result;
}
```

## Request Batching

```typescript
import DataLoader from 'dataloader';

const coderabbitLoader = new DataLoader<string, any>(
  async (ids) => {
    // Batch fetch from CodeRabbit
    const results = await coderabbitClient.batchGet(ids);
    return ids.map(id => results.find(r => r.id === id) || null);
  },
  {
    maxBatchSize: 100,
    batchScheduleFn: callback => setTimeout(callback, 10),
  }
);

// Usage - automatically batched
const [item1, item2, item3] = await Promise.all([
  coderabbitLoader.load('id-1'),
  coderabbitLoader.load('id-2'),
  coderabbitLoader.load('id-3'),
]);
```

## Connection Optimization

```typescript
import { Agent } from 'https';

// Keep-alive connection pooling
const agent = new Agent({
  keepAlive: true,
  maxSockets: 10,
  maxFreeSockets: 5,
  timeout: 30000,
});

const client = new CodeRabbitClient({
  apiKey: process.env.CODERABBIT_API_KEY!,
  httpAgent: agent,
});
```

## Pagination Optimization

```typescript
async function* paginatedCodeRabbitList<T>(
  fetcher: (cursor?: string) => Promise<{ data: T[]; nextCursor?: string }>
): AsyncGenerator<T> {
  let cursor: string | undefined;

  do {
    const { data, nextCursor } = await fetcher(cursor);
    for (const item of data) {
      yield item;
    }
    cursor = nextCursor;
  } while (cursor);
}

// Usage
for await (const item of paginatedCodeRabbitList(cursor =>
  coderabbitClient.list({ cursor, limit: 100 })
)) {
  await process(item);
}
```

## Performance Monitoring

```typescript
async function measuredCodeRabbitCall<T>(
  operation: string,
  fn: () => Promise<T>
): Promise<T> {
  const start = performance.now();
  try {
    const result = await fn();
    const duration = performance.now() - start;
    console.log({ operation, duration, status: 'success' });
    return result;
  } catch (error) {
    const duration = performance.now() - start;
    console.error({ operation, duration, status: 'error', error });
    throw error;
  }
}
```

## Instructions

### Step 1: Establish Baseline
Measure current latency for critical CodeRabbit operations.

### Step 2: Implement Caching
Add response caching for frequently accessed data.

### Step 3: Enable Batching
Use DataLoader or similar for automatic request batching.

### Step 4: Optimize Connections
Configure connection pooling with keep-alive.

## Output
- Reduced API latency
- Caching layer implemented
- Request batching enabled
- Connection pooling configured

## Error Handling
| Issue | Cause | Solution |
|-------|-------|----------|
| Cache miss storm | TTL expired | Use stale-while-revalidate |
| Batch timeout | Too many items | Reduce batch size |
| Connection exhausted | No pooling | Configure max sockets |
| Memory pressure | Cache too large | Set max cache entries |

## Examples

### Quick Performance Wrapper
```typescript
const withPerformance = <T>(name: string, fn: () => Promise<T>) =>
  measuredCodeRabbitCall(name, () =>
    cachedCodeRabbitRequest(`cache:${name}`, fn)
  );
```

## Resources
- [CodeRabbit Performance Guide](https://docs.coderabbit.com/performance)
- [DataLoader Documentation](https://github.com/graphql/dataloader)
- [LRU Cache Documentation](https://github.com/isaacs/node-lru-cache)

## Next Steps
For cost optimization, see `coderabbit-cost-tuning`.

Wersje

RepozytoriumWynikLicencja
Ta strona · HelixDevelopment/agent100MIT
jeremylongshore/tons-of-skills-marketplace100MIT

Migawka bazy z 28.10.2026 · wersja paczki c75b13791a42 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100windsurf-performance-tuning
    Optymalizuje wydajność API Windsurf przez cache, grupowanie żądań i pulę połączeń, przy wolnych odpowiedziach i przepustowości.
  • 100exa-performance-tuning
    Optymalizuje wydajność API Exa przez cache, batching i pulę połączeń, przy wolnych odpowiedziach i przepustowości żądań.
  • 100framer-performance-tuning
    Optymalizuje wydajność API Framer przez cache, batching i pulę połączeń, gdy odpowiedzi są wolne lub trzeba zwiększyć przepustowość żądań.
  • 95hex-performance-tuning
    Przyspiesza integracje z API Hex przez cache, batching i pule połączeń, gdy odpowiedzi są wolne lub trzeba zwiększyć przepustowość żądań.
  • 96coderabbit-review
    Ocenia komentarze CodeRabbit w pull requeście, a następnie poprawia kod lub odpowiada na uwagi.
  • 90coderabbit
    Przetwarza komentarze i raporty CodeRabbit z przeglądów kodu, porządkując ustalenia do dalszej pracy.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.