Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Grammarly Api Reliability

ASecurity

Analyze a sanitized Grammarly asynchronous job receipt without sending requests, reading document content, or guessing provider SLAs. Use when a Writing Score or similar document job is PENDING, FAILED, or COMPLETED and a bounded retry decision is needed. Trigger with "analyze Grammarly job receipt", "Grammarly 429 retry", or "Grammarly job status".

2,785 stars
0 votes
0 copies
1 views
Added 9/23/2026
ai-agentspythonbashapidocumentation

Works with

terminalapi

Security Analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned 9/23/2026

$npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill grammarly-api-reliability --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Grammarly Api Reliability?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Grammarly Api Reliability
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeremylongshore-grammarly-api-reliability-183d34a4/badge)](https://www.skillsdirectory.com/skills/jeremylongshore-grammarly-api-reliability-183d34a4)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: grammarly-api-reliability
description: >-
  Analyze a sanitized Grammarly asynchronous job receipt without sending requests,
  reading document content, or guessing provider SLAs. Use when a Writing Score or
  similar document job is PENDING, FAILED, or COMPLETED and a bounded retry decision
  is needed. Trigger with "analyze Grammarly job receipt", "Grammarly 429 retry", or
  "Grammarly job status".
allowed-tools: Bash(python3:*)
version: 2.0.0
author: Jeremy Longshore <jeremy@intentsolutions.io>
license: MIT
compatibility: Agent Skills-compatible hosts; requires Python 3.10+
tags: [saas, grammarly, reliability, retries, privacy]
---

# Grammarly API Reliability

This is a read-only, metadata-only decision aid for asynchronous Grammarly jobs. It
does not call Grammarly, upload text, inspect a response body, create a token, or
retry a request. It turns one strict JSON receipt into a bounded, evidence-labeled
classification.

## Overview

Use this skill to classify a sanitized asynchronous receipt without treating a
provider response as permission to retry blindly.

## Prerequisites

No credentials, network access, Grammarly account, document, or response body is
needed. Python 3.10+ is the only runtime requirement. If a separate live integration
is being designed, use the official [OAuth 2.0 credentials documentation](https://developer.grammarly.com/oauth-credentials.html)
(accessed 2026-09-04) to determine access; live authentication and requests are
outside this skill.

## Instructions

### Step 1: Run the deterministic analyzer

Run the bundled script against a receipt file or standard input:

```bash
python3 scripts/analyze_job_receipt.py receipt.json
cat receipt.json | python3 scripts/analyze_job_receipt.py -
python3 scripts/analyze_job_receipt.py --self-test
```

The analyzer accepts only the documented metadata schema in
[`references/receipt-schema.md`](references/receipt-schema.md). It recursively rejects
keys associated with document content, bodies, text, headers, or tokens, including
those hidden in an otherwise unknown nested object. Unknown keys, malformed values,
inconsistent 429 evidence, and attempts above the cap fail closed.

### Step 2: Apply the decision rules

- `COMPLETED` is terminal. Do not retry it.
- `PENDING` is not a failure. Report that the receipt is still pending; do not invent
  a polling interval, timeout, SLA, quota, or freshness guarantee.
- `FAILED` with `http_status: 429` is the only status-specific retry class in this
  skill. If a numeric `retry_after_seconds` value is supplied, the output preserves
  that evidence as the wait instruction. If it is absent, the output names
  Grammarly's documented 2-second-base exponential-backoff guidance for 429 only;
  it does not invent a maximum, jitter rule, quota, or service promise.
- Any failure without 429 evidence is `MANUAL_REVIEW`: the receipt alone does not
  establish that retrying is safe.
- A failed receipt at `attempts == max_attempts` is `ATTEMPT_CAP_REACHED` and must
  not receive retry guidance. An input with `attempts > max_attempts` is invalid.

The cap is caller-supplied policy, not a Grammarly limit. The analyzer never changes
the cap or performs the next attempt. A human or caller-owned controller must decide
whether a retry is appropriate after reviewing the emitted classification.

### Step 3: Enforce the safety boundaries

Use synthetic receipts for evaluation. Never paste document text, raw request or
response bodies, HTTP headers, access tokens, authorization values, or secrets. The
script is standard-library-only and has no network, filesystem-write, subprocess,
or deletion behavior. It reports validation errors rather than trying to sanitize
unsafe input.

Read the focused references only when needed:

- [`references/receipt-schema.md`](references/receipt-schema.md) — exact accepted
  fields, recursive rejection rules, and output classes.
- [`references/official-contract.md`](references/official-contract.md) — the
  primary Grammarly Writing Score contract and the narrow 429 guidance boundary.

## Output

The JSON result names the accepted status, attempts, cap, classification, and a
short evidence-bounded guidance string. It never echoes submitted metadata beyond
those safe scalar fields and never fabricates an SLA, timeout, quota, result body,
or document diagnosis.

## Error Handling

Invalid JSON, forbidden recursive keys, unknown fields, unsupported statuses,
contradictory 429 evidence, and cap violations are errors. The script exits non-zero
and emits no classification. A valid non-429 failure is `MANUAL_REVIEW`, not a retry
recommendation.

## Examples

- A completed receipt returns `COMPLETED_TERMINAL` and no retry instruction.
- A failed 429 with `retry_after_seconds: 17` returns `RETRY_AFTER_EVIDENCE` and
  preserves 17 seconds.
- A nested `diagnostics.response_body` or `credentials.access_token` field is
  rejected before classification.

## Resources

- [`references/receipt-schema.md`](references/receipt-schema.md) — accepted fields,
  recursive rejection, and classifications.
- [`references/official-contract.md`](references/official-contract.md) — primary
  Grammarly contract and narrow 429 guidance.
- [Grammarly Writing Score API](https://developer.grammarly.com/writing-score-api.html)
  (accessed 2026-09-04).

## Official source

[Grammarly Writing Score API](https://developer.grammarly.com/writing-score-api.html)
(accessed 2026-09-04).

Attribution

jeremylongshorejeremylongshore
View sourceSee grades on GitHubMore from jeremylongshore →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →