graceful-degradation — скилл для Claude Code: подсказки при сбое
Скилл учит агента проверять доступность необязательных сервисов заранее и вместо пустого ответа объяснять, что отключилось и как это починить.
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a claude-codeЧто делает graceful-degradation
Когда агент обращается к локальному серверу или внешнему API, которого нет, он часто молча возвращает пустой результат. Скилл graceful-degradation задаёт другой порядок: проверить доступность в начале работы, запомнить ответ на время сессии и продолжить с урезанными возможностями, если сервис не отвечает.
Внутри — описание паттерна и пример проверки LMStudio на localhost:1234 с кэшем на 60 секунд. Результат проверки хранится в переменной, чтобы не дёргать сервис на каждом вызове. Есть шаблон сообщения: что именно недоступно, какие функции из-за этого урезаны, какие шаги включат сервис обратно.
Скилл не запускает сервисы за вас. Он только сообщает, что нужно сделать. Если в проекте нет проверок доступности, добавить их придётся самому — скилл задаёт форму, а не готовый код под ваш стек.
Какие задачи решает
- отличить недоступный сервис от пустого ответа
- объяснить пользователю, почему часть функций не работает
- не тратить вычисления на вызовы к лежащему серверу
- сократить число повторных проверок одного и того же сервиса
- подсказать шаги для запуска локальной модели
Примеры запросов агенту
- добавь проверку доступности LMStudio перед генерацией тактик
- сделай фолбэк с понятным сообщением, если локальный сервер не отвечает
- закэшируй результат health check на время сессии
Как установить graceful-degradation
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a claude-code2Вручную: положить файлы
~/.claude/skills/graceful-degradation/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/graceful-degradation/
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a codex2Вручную: положить файлы
.agents/skills/graceful-degradation/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a cursor2Вручную: положить файлы
.cursor/skills/graceful-degradation/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install parcadei/Continuous-Claude-v3 graceful-degradation2Вручную: положить файлы
.github/skills/graceful-degradation/SKILL.md1Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a gemini-cli2Командой платформы
gemini skills install https://github.com/parcadei/Continuous-Claude-v3 --path .claude/skills/graceful-degradationВручную: положить файлы
.devin/skills/graceful-degradation/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о graceful-degradation
Как установить graceful-degradation в Claude?
Выполните npx skills add parcadei/Continuous-Claude-v3 --skill graceful-degradation -a claude-code. Скилл окажется в ~/.claude/skills/graceful-degradation/SKILL.md.
Что делает graceful-degradation?
Описывает паттерн мягкой деградации: ранняя проверка доступности сервиса, кэш результата и понятное сообщение о том, что отключилось и как это включить.
Скилл сам поднимает сервисы?
Нет. Он проверяет доступность и выдаёт инструкцию, а запуск сервиса остаётся за вами.
Исходный текст
SKILL.md · MIT
---
name: graceful-degradation
description: Graceful Degradation with Helpful Messages
user-invocable: false
---
# Graceful Degradation with Helpful Messages
When optional services are unavailable, degrade gracefully with actionable fallback messages.
## Pattern
Check availability at the start, cache the result, and provide helpful messages that explain what's missing and how to fix it.
## DO
- Check service availability early (before wasting compute)
- Cache health check results for the session (e.g., 60s TTL)
- Provide actionable fallback messages:
- What service is missing
- What features are degraded
- How to enable the service
- Continue with reduced functionality when possible
## DON'T
- Silently fail or return empty results
- Check availability on every call (cache it)
- Assume the user knows how to start missing services
## Example: LMStudio Check Pattern
```typescript
let lmstudioAvailable: boolean | null = null;
let lastCheck = 0;
const CACHE_TTL = 60000; // 60 seconds
async function checkLMStudio(): Promise<boolean> {
const now = Date.now();
if (lmstudioAvailable !== null && now - lastCheck < CACHE_TTL) {
return lmstudioAvailable;
}
try {
const response = await fetch('http://localhost:1234/v1/models', {
signal: AbortSignal.timeout(2000)
});
lmstudioAvailable = response.ok;
} catch {
lmstudioAvailable = false;
}
lastCheck = now;
return lmstudioAvailable;
}
// Usage
if (!await checkLMStudio()) {
return {
result: 'continue',
message: `LMStudio not available at localhost:1234.
To enable Godel-Prover tactic suggestions:
1. Install LMStudio from https://lmstudio.ai/
2. Load "Goedel-Prover-V2-8B" model
3. Start the local server on port 1234
Continuing without AI-assisted tactics...`
};
}
```
## Fallback Message Template
```
[Service] not available at [endpoint].
To enable [feature]:
1. [Step to install/start]
2. [Configuration step if needed]
3. [Verification step]
Continuing without [degraded feature]...
```
## Source Sessions
- This session: LMStudio availability check with 60s caching and helpful fallback
- 174e0ff3: Environment variable debugging - print computed paths for troubleshooting
© parcadei · MIT · parcadei/Continuous-Claude-v3