Community라이팅 & 에디팅github.com

yelixir-dev/no-more-dasi-eng

Field-aware academic English proofreading for research papers — an agent skill covering 71 Nature subject areas, mined from CC-BY papers. Every edit preserved and auditable.

no-more-dasi-eng란 무엇인가요?

no-more-dasi-eng is a Claude Code agent skill that field-aware academic English proofreading for research papers — an agent skill covering 71 Nature subject areas, mined from CC-BY papers. Every edit preserved and auditable.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add yelixir-dev/no-more-dasi-eng

Installed? Explore more 라이팅 & 에디팅 skills: steipete/notion, affaan-m/seo, affaan-m/brand-voice · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

nomoredasi — 분야 맞춤 학술 영어 교정 스킬 (v0.1)

"다시해와"가 나오기 전에 미리 다듬는 스킬. 논문 원고를 Nature 계열 학술지 투고 수준의 영어로 교정한다. 분야별 관행(단어선택·밀도·호흡·전개방식)은 references/overlays/<분야>.md가, 분야 공통 규칙은 references/core/가 담당한다.

4대 원칙 (모든 경로 공통, 위반 시 납품 금지)

  1. 의미 불변 — 내용·주장·논리 순서를 바꾸지 않는다. 문체와 표현만 고친다.
  2. 근거 기반 — 모든 교정은 references/core/ 규칙 또는 해당 분야 오버레이의 코퍼스 실측에 근거한다. 직감으로 "AI 같은" 표현을 지우지 않는다.
  3. 장르 유지 — 학술 논문 레지스터를 유지한다. 구어체화·에세이화 금지. ASD-STE100식 규칙(능동태 강제·문장 20단어 상한·-ing 금지) 적용 금지 — 게재지 실측(수동태 111-137/10K, 평균 문장 16.5-18.3단어)과 충돌한다 (references/core/academic-en.md 참조).
  4. 과윤문 금지 — 변경률 30% 초과 시 경고, 50% 초과 시 중단하고 사용자 확인. scripts/verify_integrity.py가 결정적으로 판정한다.

Phase 0: 입력 유형 판별

작업 시작 시 한 줄 출력한다. 레이블은 사용자 요청 언어를 따른다:

  • 한국어 요청: nomoredasi v0.1 — 유형 {A|B} / 분야: {확정된 분야}

  • 영어 요청: nomoredasi v0.1 — type {A|B} / field: {resolved field}

  • 그 외 언어: type/field 레이블을 해당 언어로 번역한다.

  • 유형 A (한국어 원고) — 번역+교정 복합 경로. references/core/korean-author-pitfalls.md의 번역투 유발 구조("~를 통해", "~에 의해" 등)를 먼저 탐지해 직역을 차단한 뒤 번역하고, 이후 유형 B와 동일한 3층 규칙을 적용한다.

  • 유형 B (영어 원고, AI 초안 포함) — 교정 경로. AI 초안 징후가 있으면 references/core/ai-tell-en.md 계층을 추가 적용한다.

Phase 1: 분야 라우팅 (3단 우선순위)

  1. 사용자 명시 — 사용자가 분야를 말하면 그대로 사용.
  2. 폴터명 — 원고 파일이 papers/<분야>/ 등 분야명 폴터에 있으면 사용.
  3. 자동감지scripts/route_field.py <원고> 실행, 상위 결과 사용. 상위 2개 점수가 근접하면 두 오버레이를 병합 적용.
  4. 불명확 시 1회 확인 — 열린 질문 금지. "Optics and photonics로 보입니다. 맞으면 진행합니다" 형태로 추정값을 제시하고 한 번만 묻는다.

분야가 틀려도 코어 규칙은 분야 무관하게 동작하므로 안전하다. 오버레이 파일이 없는 분야면 코어 규칙만으로 진행하고 그 사실을 고지한다. 오버레이 헤더의 Maturity:immature면(파일 <10편 또는 <100K 단어) 그 수치는 하드 타겟이 아니라 방향 참고치로만 쓴다.

Phase 1.5: 원고 상태 파일 (manuscript.json)

원고 폴터에 manuscript.json이 있으면 읽고 반영한다 — 약어 정의 목록, 확정된 용어 표기(예: bandgap), 도표 목록. 부분 윤문이나 반복 요청에서 문서 전체 일관성을 유지하는 장치다. 없으면 새로 만들지 않고 진행하되, 교정 납품 후 scripts/manuscript_state.py learn <폴터> <교정본>으로 그날의 결정(정의한 약어, 다수 표기)을 기록한다. 기존 값과 충돌하는 새 관측은 덮어쓰지 않고 사용자에게 보고한다.

Phase 2: route_hint — 교정 강도 3경로

초안을 훑어 light / standard / heavy 중 하나로 결정하고 출력한다. 교정 중 아래 Phase 3 규칙에 따라 <교정본>.edits.json 저널을 섹션 단위로 항상 누적 작성한다.

  • light (1패스) — 이미 잘 쓴 원고(게재 수준 문체, 산발적 문법 오류만). 코어 규칙 위반만 고치고 끝. 변경률 하한.
  • standard (2패스) — 일반적 케이스. 1패스: 코어 3층 규칙(① 일반 학술 영어 — 시제·관사·수 일치 ② 분야 용어 표기 통일 — 오버레이 Notation watch ③ 저널 레지스터). 2패스: 자체 검토 + 검증 스크립트.
  • heavy (3패스+) — 번역투/AI-tell 다수, 구조적 어색함. 패스1: 유형별 전처리(pitfalls 또는 ai-tell). 패스2: 코어 3층 규칙. 패스3: 문단 흐름·전개 다듬기. 그 후 검증.

교정 강도 예산 축 (level): route_hint는 원고 상태라는 진단(변경 금지, 에이전트 판단)이고, level은 사용자가 선택하는 변경 예산(기본 하/low) 이다. verify_integrity.py --level {low,mid,high}(log_edit.py --level으로 기록)로 입력하며 low=하/10-30%, mid=중/20-50%, high=상/30-50% 임계를 적용한다(내장 게이트보다 강할 수 없다). 유효 작업량 = min(진단, 예산) — 예산은 진단이 요구하는 강도를 낮출 수 있어도 결코 그보다 높게 끌어올리지 않는다. 요청 예산과 진단이 어긋나면 사용자에게 명시적으로 고지한다(예: “원고는 heavy 진단이나 하 요청으로 코어 위반만 교정했습니다”), 같은 원고를 light 목표로 도약하려면 재문의한다.

복수 강도 동시 요청: 사용자가 "하·중 둘 다", "중·상", "세 개 모두"처럼 여러 강도를 요청하면 강도별로 독립 교정·검증·납품한다. 출력은 <원고명>.low.md / .mid.md / .high.md로 구분하고, 저널(edits.json)·리포트(HTML)·로그(log_edit --level)도 강도별로 각각 생성한다.

Phase 3: 섹션 인식 교정

원고를 scripts/section_split.py로 나눠 인식한다 (IMRaD + Results and Discussion 병합, Experimental Section 등 변형 대응).

저널 (edits.json) 작성 의무: 교정하는 동안 <교정본>.edits.json섹션 단위로 조금씩 누적 작성한다 — 각 편집은 지운 뒤에 채우지 않고, 오히려 kept 항목(평가했지만 바꾸지 않은 스팬)과 함께 기록해둔다. 형식은 scripts/check_journal.py의 스키마 v1을 따른다:

  • changed — 원문 스팬(original, 교정본의 corrected, <40 토큰)을 바꾼 편집. rule: {source, id}로 근거 규칙을 지목하고 reason으로 이유를 짧게 기록한다.
  • kept — 평가했으나 건드리지 않은 스팬. original(양쪽 파일에 그대로 존재)과 reason을 기록한다. rule은 선택.

original·corrected는 각각 원문·교정본의 정확한 부분 문자열이어야 한다. 구두점 편집도 빼놓지 말고 기록한다 — 저널 커버리지 게이트가 diff의 모든 changed/insert/delete 영역이 저널로 덮였는지를 기계 검증한다. 학회·논문집마다 구조는 다르지만 거시 구조는 요약/서론/본론/결과/결론의 선택이며, 병합형(Results+Discussion, 본론+결과)은 오류가 아니니 교정으로 "정규화"하지 않는다. 섹션별 시제·수동태 규칙과 전개·호흡 규칙은 references/core/academic-en.md §3·§8을 따른다.

  • Methods = 과거·수동 우세 유지 (억지 능동화 금지)
  • Results = 과거 중심, 도표 지시 현재. 해석 문장을 Results에 넣지 않는다
  • Discussion/Conclusion = 해석은 현재 시제
  • Abstract = 섹션 축약형, 시제 혼용 규칙 적용
  • Introduction에는 결론 구조를 만들지 않는다 (§8 교차 오염 검사) — 서론에 "in conclusion" 류를 추가하는 것은 의미 불변 위반

부분 윤문 요청 ("서론만", "본론만")

사용자가 특정 섹션만 요청하면 범위 잠금: 요청한 구간만 고치고 다른 섹션은 건드리지 않는다. 그 섹션의 역할(§8)을 유지하고, 없는 섹션의 규칙은 적용하지 않으며, 교차 참조(“Section 3”, “Figure 4”)는 편집하지 않고 끊긴 참조만 노트로 보고한다. 검증 게이트도 그 구간 기준으로 실행한다 (academic-en.md §9).

Phase 4: 검증 (코드 게이트 — LLM 자기판정 금지)

테스트 실행: 비 UTF-8 콘솔(예: Korean Windows cp949)에서도 테스트 스위트는 인코딩을 명시하므로 환경 변수 없이 실행한다.

납품 전에 반드시 아래를 실행하고 결과를 보고한다 (게이트 0부터 순서대로 — 이전 게이트가 exit 1이면 이후 납품 금지):

  1. scripts/check_journal.py <원고> <교정본> --journal <교정본>.edits.json — 저널 커버리지 게이트(모든 diff 변경 영역이 저널로 덮였는지, 스팬 ≤40토큰, rule.id가 rule.source에 존재). exit 1이면 납품 차단 — 빠진 편집/kept 항목을 저널에 보강하거나 스팬을 쪼개고 재실행한다.

  2. scripts/verify_integrity.py <원고> <교정본> --repeat 2 --report <교정본>.integrity-report.html — 수치·단위·화학식·인용·수식·DOI(+--overlay 시 전문용어) 보존 + 변경률 게이트. exit 1이면 납품 금지, 해당 위반을 수정하고 재실행. 리포트 파일(<교정본>.integrity-report.html)을 교정본과 함께 납품해 사용자가 무엇이 바뀌었는지 diff로 검토할 수 있게 한다.

  3. scripts/check_terms.py <교정본> — 용어 표기 일관성 (bandgap/band gap 등). exit 1이면 다수형으로 통일 후 재실행.

  4. scripts/check_abbrev.py <교정본> [--state <폴터>] — 미정의 약어 탐지. exit 1이면 최초 사용 시 정의를 추가하거나 manuscript.json과 대조. 미검증 약어(전개형을 모르는 약어)는 scripts/abbrev_registry.py references/abbrev-registry.json record <ABBR> --field <분야> --context <문장>으로 레지스트리에 기록한다. 이후 같은 분야 텍스트에서 같은 약어의 전개형이 관측되면(scan) 맥락 문장과 함께 verified로 갱신되고, 다른 전개형이 관측되면 conflict로 표시된다 — conflict는 사용자에게 확인을 요청한다. 사람용 뷰는 references/abbrev-registry.html(자동 재생성, 편집 금지; SSOT는 json).

  5. 부분 윤문이면 위 검사들을 해당 구간 기준으로 실행한다.

납품 시 scripts/log_edit.py <분야> <route_hint> <A|B> <원고> <교정본> [--journal <교정본>.edits.json]으로 교정 쌍과(삽입 시) 저널을 logs/edits/에 기록한다(품질 벤치 실측·pitfalls 파이프라인·왜 바꿨나 저널 입력).

품질 측정 (스킬 자체 개선용)

scripts/bench_edit.py <원고> <교정본> — 교정 전후 위반/100단어(AI-tell·중첩 헤징·과장 수식·도표 시제·장문·전이부사 과밀·표기 불일치)를 비교한다. 납품 게이트가 아니라 스킬 성능 측정 장치: 월/목 델타 사이클에서 golden 케이스와 실제 교정 로그에 적용해 위반율이 회귀(exit 1)하면 오버레이/규칙 변경을 되돌아본다.

참조 파일

  • references/core/academic-en.md — 시제·관사·수동태 균형·전이부사·헤징 (분야 공통)
  • references/core/ai-tell-en.md — 영어 AI 초안 탐지 패턴 (게재지 비출현 근거 포함)
  • references/core/korean-author-pitfalls.md — 한국어 화자 오류 사전 (초판, diff 축적으로 성장)
  • references/overlays/<분야>.md — 분야별 실측: 문체 지표·상위 용어·phrase bank·표기 감시 목록. scripts/mine_corpus.py~/Documents/papers/<분야>/에서 자동 생성, 주 2회 갱신.

하지 않는 것

  • 내용 추가·삭제·재구성 (의미 불변 위반)
  • ASD-STE100·Plain English 등 비학술 간소화 규칙 적용
  • 분야를 모른 채 열린 질문으로 사용자에게 떠넘기기
  • 검증 스크립트 없이 "확인했습니다"라고만 보고하기

관련 스킬

steipete/notion

Notion CLI/API for pages, Markdown content, data sources, files, comments, search, Workers, and raw API calls.

community

affaan-m/seo

Audit, plan, and implement SEO improvements across technical SEO, on-page optimization, structured data, Core Web Vitals, and content strategy. Use when the user wants better search visibility, SEO remediation, schema markup, sitemap/robots work, or keyword mapping.

community

affaan-m/brand-voice

Build a source-derived writing style profile from real posts, essays, launch notes, docs, or site copy, then reuse that profile across content, outreach, and social workflows. Use when the user wants voice consistency without generic AI writing tropes.

community

affaan-m/crosspost

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

community

affaan-m/x-api

X/Twitter API integration for posting tweets, threads, reading timelines, search, and analytics. Covers OAuth auth patterns, rate limits, and platform-native content posting. Use when the user wants to interact with X programmatically.

community

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

community