grammarly-install-auth
Install and configure Grammarly SDK/CLI authentication. Use when setting up a new Grammarly integration, configuring API keys, or initializing Grammarly in your project. Trigger with phrases like "install grammarly", "setup grammarly", "grammarly auth", "configure grammarly API key".
Allowed Tools
Provided by Plugin
grammarly-pack
Claude Code skill pack for Grammarly (24 skills)
Installation
This skill is included in the grammarly-pack plugin:
/plugin install grammarly-pack@claude-code-plugins-plus
Click to copy
Instructions
Grammarly Install & Auth
Overview
Configure Grammarly API authentication using OAuth 2.0 Bearer tokens. Grammarly provides three main APIs: Writing Score API, AI Detection API, and Plagiarism Detection API. All use the same auth pattern via api.grammarly.com.
Prerequisites
- Grammarly Enterprise account with API access
- OAuth credentials from Grammarly admin portal
- Required scopes:
scores-api:read,scores-api:write
Instructions
Step 1: Configure Environment
# .env (NEVER commit)
GRAMMARLY_CLIENT_ID=your_client_id
GRAMMARLY_CLIENT_SECRET=your_client_secret
GRAMMARLY_ACCESS_TOKEN= # Populated after OAuth
Step 2: Obtain Access Token
// auth.ts
import 'dotenv/config';
async function getAccessToken(): Promise<string> {
const response = await fetch('https://api.grammarly.com/ecosystem/api/v1/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
grant_type: 'client_credentials',
client_id: process.env.GRAMMARLY_CLIENT_ID!,
client_secret: process.env.GRAMMARLY_CLIENT_SECRET!,
}),
});
const { access_token, expires_in } = await response.json();
console.log(`Token obtained, expires in ${expires_in}s`);
return access_token;
}
Step 3: Verify Connection
async function verify(token: string) {
const response = await fetch('https://api.grammarly.com/ecosystem/api/v2/scores', {
method: 'POST',
headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ text: 'This is a test sentence for verification.' }),
});
if (response.ok) console.log('Grammarly API connection verified');
else console.error('Verification failed:', response.status);
}
Error Handling
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized |
Invalid or expired token | Re-authenticate |
403 Forbidden |
Missing API scopes | Check enterprise admin settings |
invalid_client |
Wrong credentials | Verify client ID and secret |
Output
Return an authentication setup receipt containing environment, secret reference rather than value, token-scope class, approved-destination result, synthetic connectivity status, and rotation/cleanup owner. Never print an access token or request header.
Examples
env=sandbox; secret_ref=grammar-client-v4; scope=text-check; destination=approved; synthetic_probe=200; rotation_owner=platform-ops proves setup without exposing a credential.
Resources
- Grammarly Developer Portal
- Your First API Request
- API Support
Next Steps
After auth, proceed to grammarly-hello-world.