parcadei / graceful-degradation
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/graceful-degradation && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/3047" && unzip -o skill.zip -d .claude/skills/graceful-degradation && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/graceful-degradation/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Graceful Degradation with Helpful Messages
0 views
0 installs
Skill Content
---
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