modu-ai/korean-spell-check
| 국립국어원 계열 규칙을 반영한 바른한글(구 부산대 맞춤법/문법 검사기) 표면을 이용해 한국어 문장의 띄어쓰기·맞춤법·문법을 최종 검수합니다. 긴 글은 청크 분할로 나눠 순차 검사하고, 결과를 원문·교정안·이유 중심으로 정리합니다. ai-slop-reviewer가 AI 패턴을 검수한 뒤 마지막 단계에서 호출하는 것을 권장합니다.
npx skills add https://github.com/modu-ai/cowork-plugins --skill korean-spell-check
국립국어원 계열 규칙을 반영한 바른한글(구 부산대 맞춤법/문법 검사기) 표면을 이용해 한국어 문장을 최종 교정합니다. AI가 만들어낸 글의 마지막 검수 단계로 사용합니다.
> 본 스킬은 NomaDamas k-skill korean-spell-check (MIT)를 cowork에 포팅했습니다. 공개 웹 검사기 기준이며, 최종 문맥 판단은 사람이 확인합니다.
https://nara-speller.co.kr/old_speller/는 비상업적 용도 안내와 개인·학생 무료 문구를 명시합니다.https://nara-speller.co.kr/robots.txt는 /를 허용하지만 /test_speller/는 금지합니다.사용: 블로그·뉴스레터·카피·계약서 등 텍스트 산출물의 최종 교정, README 검수, AI 교정 후 규칙 기반 재확인.
사용 금지: 코드 블록·로그·영문 위주 텍스트 대량 전송, 민감정보 많은 원문의 외부 전송, 상업적 대량 처리.
urllib POST는 old_speller/results에서 검사 결과 HTML을 반환합니다 (Cloudflare 우회용 일반 fetch는 403 가능).본 스킬은 Python 표준 라이브러리만으로 동작합니다. 브라우저형 User-Agent + urllib POST가 Cloudflare를 우회하며, 응답 HTML의 errInfo JSON 배열을 파싱해 원문 / 교정안 / 이유로 정리합니다. 1500자 청크 분할 + 청크 간 1초 휴지가 helper 안에 내장되어 있습니다.
# 파일 검사 (JSON 출력)
python3 scripts/korean_spell_check.py --file README.md --format json
# 짧은 문장 (텍스트 출력)
python3 scripts/korean_spell_check.py --text "아버지가방에들어가신다." --format text
helper는 scripts/korean_spell_check.py에 포함되어 있으며, 외부 의존성(requests, BeautifulSoup 등) 설치가 필요 없습니다.
권장 응답 순서:
원문 / 교정안 / 이유예시 JSON:
{
"original": "아버지가방에들어가신다",
"suggestions": ["아버지가 방에 들어가신다"],
"reason": "띄어쓰기, 붙여쓰기, 음절 대치와 같은 교정 방법에 따라 수정한 결과입니다."
}
표준 텍스트 산출물 체인:
{콘텐츠 생성 스킬} → ai-slop-reviewer → korean-spell-check → 사용자 최종 검토
moai-content:blog, moai-content:newsletter, moai-content:copywriting, moai-marketing:sns-contentmoai-core:ai-slop-reviewer — AI 패턴(과한 형용사·반복·번역체) 먼저 검수원문 / 교정안 / 이유 중심으로 정리했다.https://nara-speller.co.kr/guide/https://nara-speller.co.kr/speller/https://nara-speller.co.kr/old_speller/, https://nara-speller.co.kr/old_speller/resultshttps://nara-speller.co.kr/robots.txtTake modu-ai/korean-spell-check from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.