Grammar and style checking using local LanguageTool server (localhost:8081). Detects grammar errors, style issues, and provides suggestions for improving text quality.
View on GitHubplugins/write/skills/languagetool/SKILL.md
February 2, 2026
Select agents to install to:
npx add-skill https://github.com/pknull/asha-marketplace/blob/main/plugins/write/skills/languagetool/SKILL.md -a claude-code --skill languagetoolInstallation paths:
.claude/skills/languagetool/# LanguageTool Local Server Guide
## Overview
This skill provides access to your local LanguageTool server running on `localhost:8081`. LanguageTool checks grammar, style, punctuation, and offers suggestions for improving text quality.
**Server Status**: Running at http://localhost:8081
**Process**: java -jar languagetool-server.jar (PID: 8834)
## Quick Start
### Check Text (Python)
```python
import requests
def check_text(text, language='en-US'):
url = 'http://localhost:8081/v2/check'
data = {
'text': text,
'language': language
}
response = requests.post(url, data=data)
return response.json()
# Example usage
text = "This is a example sentence with error."
result = check_text(text)
for match in result['matches']:
print(f"Issue: {match['message']}")
print(f"Context: {match['context']['text']}")
print(f"Suggestions: {', '.join([s['value'] for s in match['replacements'][:3]])}")
print()
```
### Check Text (bash/curl)
```bash
curl -X POST 'http://localhost:8081/v2/check' \
--data 'text=This is a example sentence with error.' \
--data 'language=en-US'
```
## Common Operations
### Check File
```python
import requests
def check_file(filepath, language='en-US'):
with open(filepath, 'r') as f:
text = f.read()
url = 'http://localhost:8081/v2/check'
data = {'text': text, 'language': language}
response = requests.post(url, data=data)
return response.json()
# Usage
result = check_file('document.txt')
print(f"Found {len(result['matches'])} issues")
```
### Batch Check Multiple Texts
```python
def batch_check(texts, language='en-US'):
results = []
for text in texts:
result = check_text(text, language)
results.append({
'text': text,
'issues': len(result['matches']),
'matches': result['matches']
})
return results
# Usage
texts = [
"First sentence to check.",
"Second sentence with a error.",
"Third sen