From grammarly-pack
Executes Grammarly API outage triage: curl health checks, severity classification, TypeScript fallback implementation.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin grammarly-packThis skill is limited to using the following tools:
```bash
Diagnoses Grammarly API errors like 400/401/413/429 with fixes for auth, chunking, backoff. Includes curl tests for connectivity and scoring endpoint.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
# Test API health
curl -s -o /dev/null -w "%{http_code}" \
https://api.grammarly.com/ecosystem/api/v2/scores
# Test with auth
curl -s -w "\n%{http_code}" \
-H "Authorization: Bearer $GRAMMARLY_ACCESS_TOKEN" \
-X POST https://api.grammarly.com/ecosystem/api/v2/scores \
-H "Content-Type: application/json" \
-d '{"text": "Test sentence with enough words for minimum requirement for the Grammarly writing score API diagnostic check."}'
| Severity | Condition | Action |
|---|---|---|
| P1 | API returns 5xx for all requests | Activate fallback, notify stakeholders |
| P2 | Intermittent 5xx or high latency | Enable retry logic, monitor |
| P3 | Specific endpoint failing | Route around, file support ticket |
async function scoreWithFallback(text: string, token: string) {
try {
return await grammarlyClient.score(text);
} catch {
console.warn('Grammarly API unavailable, returning placeholder');
return { overallScore: -1, correctness: -1, clarity: -1, engagement: -1, tone: -1, fallback: true };
}
}