Find your landing page message
Connect a product’s value to a specific audience and write a clear first-screen message.
Configure Grammarly local development with hot reload and testing.
---
name: grammarly-local-dev-loop
description: 'Configure Grammarly local development with hot reload and testing.
Use when setting up a development environment, configuring test workflows,
or establishing a fast iteration cycle with Grammarly.
Trigger with phrases like "grammarly dev setup", "grammarly local development",
"grammarly dev environment", "develop with grammarly".
'
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pnpm:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- grammarly
- writing
compatibility: Designed for Claude Code
---
# Grammarly Local Dev Loop
## Overview
Set up a development workflow for Grammarly API integrations with mocked responses and vitest.
## Instructions
### Step 1: Project Structure
```
grammarly-integration/
├── src/grammarly/
│ ├── client.ts # API client with token management
│ ├── scoring.ts # Writing Score API
│ ├── detection.ts # AI + Plagiarism detection
│ └── types.ts # TypeScript interfaces
├── tests/
│ ├── fixtures/ # Mock API responses
│ └── scoring.test.ts
├── .env.local
└── package.json
```
### Step 2: Mocked Tests
```typescript
import { describe, it, expect, vi } from 'vitest';
const mockFetch = vi.fn();
vi.stubGlobal('fetch', mockFetch);
describe('Writing Score', () => {
it('should return scores for valid text', async () => {
mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => ({ overallScore: 85, engagement: 80, correctness: 90, clarity: 85, tone: 82 }),
});
// Test scoring logic
});
it('should reject text under 30 words', async () => {
mockFetch.mockResolvedValueOnce({ ok: false, status: 400, text: async () => 'Text too short' });
// Test error handling
});
});
```
## Resources
- [Grammarly API Docs](https://developer.grammarly.com/)
## Next Steps
See `grammarly-sdk-patterns` for production patterns.
---
name: grammarly-local-dev-loop
description: 'Configure Grammarly local development with hot reload and testing.
Use when setting up a development environment, configuring test workflows,
or establishing a fast iteration cycle with Grammarly.
Trigger with phrases like "grammarly dev setup", "grammarly local development",
"grammarly dev environment", "develop with grammarly".
'
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pnpm:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- grammarly
- writing
compatibility: Designed for Claude Code
---
# Grammarly Local Dev Loop
## Overview
Set up a development workflow for Grammarly API integrations with mocked responses and vitest.
## Instructions
### Step 1: Project Structure
```
grammarly-integration/
├── src/grammarly/
│ ├── client.ts # API client with token management
│ ├── scoring.ts # Writing Score API
│ ├── detection.ts # AI + Plagiarism detection
│ └── types.ts # TypeScript interfaces
├── tests/
│ ├── fixtures/ # Mock API responses
│ └── scoring.test.ts
├── .env.local
└── package.json
```
### Step 2: Mocked Tests
```typescript
import { describe, it, expect, vi } from 'vitest';
const mockFetch = vi.fn();
vi.stubGlobal('fetch', mockFetch);
describe('Writing Score', () => {
it('should return scores for valid text', async () => {
mockFetch.mockResolvedValueOnce({
ok: true,
json: async () => ({ overallScore: 85, engagement: 80, correctness: 90, clarity: 85, tone: 82 }),
});
// Test scoring logic
});
it('should reject text under 30 words', async () => {
mockFetch.mockResolvedValueOnce({ ok: false, status: 400, text: async () => 'Text too short' });
// Test error handling
});
});
```
## Resources
- [Grammarly API Docs](https://developer.grammarly.com/)
## Next Steps
See `grammarly-sdk-patterns` for production patterns.
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.