Abridge
Skill Engccer/abridge
문서·글·책·아티클을 원문의 톤 앤 매너(저자의 목소리·문체·리듬)를 보존하면서 분량만 줄이는 abridged(축약본·발췌본) 요약을 만들 때 사용. Blinkist 스타일 요약, 원문에 충실한 요약, LLM 전형 요약체(불릿 나열·평탄한 재서술)를 피하고 싶을 때 반드시 사용. 추출 우선 + 원문 인용 보존 + 저자 구조 유지 + AI 상투어 제거 워크플로. 트리거: "원문 톤 살려서 요약", "발췌형·축약 요약", "Blinkist 스타일로 요약", "저자 목소리 유지하며 요약", "AI 티 안 나게 요약", "초록 말고 축약본", "원문 어투 그대로 줄여줘". 명시적 요청이 있을 때만 번역(목표 언어 미지정 시 한국어)과 ElevenLabs 오디오북(audiobook·MP3 나레이션) 후처리도 담당하며, 번역 요청이 없으면 요약도 오디오북도 원문 언어 그대로 만든다. 음성·영상 전사와 그 요약, 수신 메일 요약, 팟캐스트 요약은 범위 밖(전용 도구로 처리). Use when summarizing a document while preserving the author's voice and tone (abridged, Blinkist-style, faithful summary), avoiding the generic flat LLM summary style. Optional post-steps on explicit request only: translation (defaults to Korean) and an ElevenLabs audiobook; absent a translation request, both stay in the source language.From its SKILL.md
npx -y skills add Engccer/abridgeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
15.8 KB, ~5.9k tokens by cl100k_base, as published. Nobody here has run it
abridge: 원문 톤을 살린 발췌형 요약
저자의 목소리를 죽이지 않고 분량만 줄인다. 핵심 한 줄: 재서술하지 말고 발췌하라. 원문 문장을 뼈대로 삼고 군더더기만 외과적으로 깎아낸다.
왜 이 스킬이 필요한가
LLM이 요약하면 톤이 평탄해진다. 이건 버그가 아니라 RLHF가 정중하고 무난한 기본 목소리를 보상해서 생기는 구조적 기본값이다. 그래서 "톤 살려서 요약해"라는 프롬프트 한 줄로는 안 되고, 톤 보존을 워크플로로 강제해야 한다. 실제로 톤 보존이 가장 잘 되는 사례(Blinkist)는 전부 사람이 원문을 발췌·압축하는 방식이고, 자동화 SaaS는 대부분 저자 목소리를 깎아낸다. 이 스킬은 그 사람의 절차를 그대로 옮긴 것이다.
핵심 원리는 추출(extractive) 우선, 추상(abstractive) 최소다. 원문 문장을 그대로 살릴수록 톤이 산다. 전면 재서술할수록 LLM 특유의 평탄한 요약체가 끼어든다. 기법별 근거와 출처는 references/techniques.md에 있다.
입력 확보 (단계 0)
요약 대상이 파일이면 먼저 텍스트로 만든다. 직접 붙여넣은 텍스트면 그대로 단계 1로 간다.
- PDF·스캔·이미지·양식:
docparse스킬로 파싱( https://github.com/Engccer/docparse ) - HWP·HWPX:
hwpx-automation스킬로 읽기( https://github.com/Engccer/hwpx-automation ) - DOCX·PPTX·XLSX 등: 에이전트가 쓸 수 있는 로컬 파싱 수단(전용 스킬이나 라이브러리)으로 텍스트 추출
- 웹 페이지(URL): 본문 추출 도구로 추출(예:
defuddle스킬, kepano/obsidian-skills 수록). 없으면 페이지를 가져와 본문만 남긴다 - 음성·영상 전사와 그 요약은 이 스킬 범위 밖이다(전사 도구를 별도로 사용할 것)
원문을 손에 넣었으면 통독부터 한다. 요약은 전체를 읽은 다음에 시작한다. 앞부분만 보고 줄이면 저자의 논지 전개를 놓친다.
5단계 워크플로
순서가 곧 톤 보존 장치다. 단계를 건너뛰면 평탄한 요약으로 디폴트한다.
1. 구조 매핑 (structure-first)
압축하기 전에 저자의 골격을 먼저 고정한다. 원문의 구성·논리 흐름·섹션 경계·핵심 논지를 파악해 적어 둔다. 이 골격이 없으면 모델은 "의미를 보존하는 대신 뭉개버리는" 일반 요약으로 디폴트한다. 압축은 이 골격 안에서만 일어난다. 저자가 A에서 B로 간 순서를 요약본도 그대로 따른다.
2. 추출 (extractive-first)
각 구조 단위에서 핵심을 담은 원문 문장을 그대로 골라낸다. 이 단계에서는 한 문장도 새로 쓰지 않는다. 저자의 주제문·핵심 주장·결론·특징적 표현을 원문 그대로 수집한다. 이게 요약본의 뼈대가 된다. 좋은 요약의 품질은 더 나은 지시가 아니라 더 나은 원재료(잘 고른 발췌)에서 나온다.
3. 외과적 압축 (surgical cut)
추출한 문장들에서 군더더기만 잘라낸다. 제거 대상은 중복 설명, 같은 논지의 반복 강조, 곁가지 예시의 나열, 사족, 간투사다. 문장 자체는 최대한 원형을 유지하고, 연결이 끊기는 자리에만 최소한의 이음말을 넣는다. 전면 재서술은 금지다. "원래 언어를 대부분 그대로 두고 외과적 절개만" 한다는 감각이 핵심이다. 한 문장을 통째로 바꿔 쓰고 싶어지면, 그건 압축이 아니라 재서술이니 멈춘다.
4. 목소리·인용 보존 (voice + quote)
저자의 톤을 결정하는 요소는 의역하지 않는다. 특징적 비유, 문장 리듬, 반복 패턴, 고유한 핵심 용어, 강조 어법은 그대로 살린다. 그리고 저자의 가장 인상적인 문장 1~3개는 따옴표로 직접 인용해 요약본 안에 박는다. 직접 인용 한두 개가 저자의 목소리를 즉시 되살린다. 인용을 고를 때는 정보가 아니라 목소리를 기준으로 고른다. 가장 그 사람다운 문장을 고른다.
5. 금지어 필터와 최종 점검
마지막에 AI 티를 걷어낸다. 상투적 전환구, 공허한 최상급, 과도한 헤지 표현, 불릿 남발, 그리고 em dash(U+2014)를 제거한다. 금지 표현 목록은 references/forbidden_phrases.md에 있다(한국어·영어 양쪽). 그다음 세 가지를 확인한다.
- 분량: 원문 대비 목표 비율에 들어왔는가(기본값은 아래 참조)
- 구조: 저자의 논지 순서를 그대로 따랐는가
- 충실성: 새로 지어낸 주장이나 원문에 없는 해석이 끼어들지 않았는가(추출이라도 문맥을 떼어내 뜻이 바뀌는 일은 경계한다)
분량 기본값
별도 지시가 없으면 원문 대비 **1525%**로 압축한다. 1만 자 원문이면 1,5002,500자가 목표다. 사용자가 "더 짧게", "절반으로", "한 페이지로" 같은 지시를 주면 그에 맞춘다. 분량을 줄일수록 추출 비중을 더 높여서(재서술을 더 줄여서) 톤을 지킨다.
출력 형식
- 원문 구조를 따라가는 서사형으로 쓴다. 불릿 나열로 분해하지 않는다(불릿은 저자의 논지 흐름을 끊고 평탄하게 만든다).
- 저자가 장·절로 나눠 쓴 글이면, 요약본도 같은 단위로 짧은 섹션을 둔다(Blinkist의 blink처럼). 원문에 구획이 없으면 억지로 만들지 않는다.
- 직접 인용은 따옴표로 표시해 저자의 말과 요약자의 압축을 구분한다.
- 한국어 원문은 한국어로, 영어 원문은 영어로 요약한다(번역 요청이 따로 있을 때만 번역). 원문 언어를 바꾸면 톤이 통째로 사라진다.
- 메타 서술("이 글은 ~에 대해 설명한다", "저자는 ~라고 주장한다")로 감싸지 않는다. 저자의 목소리로 직접 말하게 둔다.
산출물 저장 위치
원문이 로컬 파일이면 그 파일과 같은 폴더(또는 사용자가 지정한 하위 폴더)에 산출물을 둔다. URL이나 붙여넣은 텍스트처럼 원문에 자연스러운 폴더가 없을 때는 사용자에게 저장 위치를 묻거나, 별도 지시가 없으면 현재 작업 디렉터리 기준 ./abridge-output/<날짜>_<제목 슬러그>/에 둔다. 이 스킬은 공개 배포 대상이므로 특정 사용자의 절대경로를 기본값으로 하드코딩하지 않는다. 개인 환경에서 고정 아카이브 경로를 쓰고 싶다면 그 설정은 이 스킬 밖(사용자의 개인 CLAUDE.md 등)에 두고 참조한다.
선택 후처리 (요청 시에만)
⚠ 언어 기본값 (반드시 지킨다): 명시적 지시가 없으면 요약·번역·오디오북 모두 원문 언어를 따른다. 번역은 별도 요청이 있을 때만 수행하는 선택 단계이지, 파이프라인에 항상 끼워 넣는 기본 단계가 아니다. "오디오북 만들어 줘"·"읽어 줘" 같은 요청은 그 자체로 번역 요청이 아니다. 원문이 영어면 요약도 오디오북도 영어로 만든다. 사용자가 오디오북을 한국어 목소리로 듣고 싶어 할 것 같다는 추측만으로 번역 단계를 임의로 끼워 넣지 않는다. 번역이 필요하면 사용자에게 확인하거나, 명시적 요청을 받은 뒤에만 진행한다.
요약이 끝난 뒤, 사용자가 요청할 때만 다음을 순서대로 얹는다: 윤문 → 번역 → 오디오북. 각 단계는 직전 산출물을 입력으로 받고, 오디오북은 사용자가 고른 텍스트(원문 언어 요약본 또는 번역본)를 읽는다. 아무 요청이 없으면 요약본이 최종 산출물이다.
윤문 위임 (외부 LLM)
윤문은 이 스킬의 선택 후처리 단계다. 최종본의 연결이 매끄럽지 않을 때만 수행하며, 마지막 다듬기는 외부 LLM에 위임할 수 있다. 구현은 톤 정제 전용 도구나 스킬이 있으면 그 위임 메커니즘을 재사용하고, 없으면 에이전트가 직접 수행한다. 단 위임이든 직접 수행이든 톤 정제에만 쓰고, 추출·압축·인용 선택은 반드시 Claude가 직접 한다. 압축까지 맡기면 저자 문장이 재서술되어 이 스킬의 목적이 깨진다. 다듬은 뒤에는 직접 인용한 원문 문장이 변형되지 않았는지 반드시 대조한다.
번역 (요청 시에만, 목표 언어 미지정 시 한국어)
요약본을 다른 언어로 옮겨 달라는 명시적 요청이 있을 때만 수행한다. 그런 요청 없이 오디오북·윤문만 요청받았다면 번역 단계는 건너뛰고 원문 언어 그대로 다음 단계로 넘긴다. 요청은 있었으나 언어 지정이 없으면 한국어로 번역한다. Claude가 직접 번역하며 외부 위임은 필요 없다.
- 요약을 다시 하지 않는다. 이미 완성된 발췌형 요약본을 입력으로 삼아 1:1로 옮긴다. 번역 단계에서 더 줄이거나 새 내용을 더하면 abridge의 결과가 깨진다. 줄이는 것은 번역이 아니라 재요약이다.
- 기계번역체를 피한다. 직역으로 어색해진 문장을 그대로 두지 말고, 목표 언어에서 자연스러운 어순·관용으로 옮기되 의미는 보존한다. 단계 5의 금지어 필터(AI 상투어·평탄화 어구)를 번역문에도 그대로 적용한다.
- 톤은 옮길 수 있는 만큼 옮긴다. 원저자의 정확한 목소리는 언어가 바뀌면 일부 소실된다(불가피). 대신 격식 수준·문장 리듬·직설성 같은 차원은 목표 언어에서 최대한 대응시킨다. 한국어로 옮길 때는 음슴체·해라체·합니다체 중 무엇이 원문 톤에 가까운지 먼저 정하고 끝까지 일관되게 간다.
- 직접 인용 처리. 단계 4에서 따옴표로 박은 직접 인용도 번역한다. 다만 원문이 외국어였고 인용의 원어 어감 자체가 핵심이면 "원어(번역)" 병기를 고려한다. 기본값은 번역문만.
- 별도 파일로 저장할 때는
<원본>_번역_<langcode>.md형식을 쓴다(예:요약_번역_ko.md).
오디오북 (ElevenLabs)
요약본(또는 위 번역본)을 음성으로 만들어 달라는 요청이 있을 때만 수행한다. ElevenLabs 유료 API를 호출하므로 비용이 발생한다. 실행 전 사용자에게 확인한다(자율성 헌장 하드 스톱 4: 비용 발생).
이 스킬에 동봉된 scripts/elevenlabs_tts.py를 호출한다. TTS를 새로 구현하거나 다른 스킬을 추가로 설치할 필요가 없다(원본은 speech-toolkit 저장소의 동일 스크립트이며 사본을 동봉했다: https://github.com/Engccer/speech-toolkit ).
<abridge>는 이 스킬의 설치 경로를 뜻한다(예: ~/.claude/skills/abridge).
python <abridge>/scripts/elevenlabs_tts.py 요약본.md --single --voice Yuna --speed 1.0
- 출력은
<입력>_elevenlabs.mp3. 환경변수ELEVENLABS_API_KEY와 Python 패키지elevenlabs가 필요하다(pip install elevenlabs, 미설치 시 스크립트가 설치 명령을 안내한다). - 낭독 전에 평문으로 정리한다. 마크다운 헤더(
##)·강조 기호·따옴표 글자가 그대로 읽히지 않게, TTS에 넣을 텍스트는 깨끗한 읽기용 텍스트로 만든 뒤 호출한다. - 반드시
--single(단일 나레이션). 요약본에화자: 대사콜론 패턴이 우연히 2개 이상 있으면 스크립트가 다중화자 모드로 오인하므로 단일 나레이션을 강제한다. - 음성은 읽는 텍스트의 언어를 따른다. 오디오북에 넣는 텍스트(원문 언어 요약본인지 번역본인지)의 언어를 먼저 확인하고, 그 언어에 맞는 음성을
--voice로 반드시 명시한다. 모델이eleven_v3다국어라 본문 언어 그대로 발음하지만(별도 언어 플래그 없음), 스크립트 기본 음성이 한국어 음성Yuna라--voice를 비우면 영어 요약본도 한국어 음성이 영어를 읽는 부조화가 난다. 한국어는Yuna(또는DoHyeon), 영어는James류. 사용자가 음성을 지정하면 그대로 쓰고,--list-voices로 목록을 확인한다. - 속도·안정성: 오디오북 낭독은
--speed 0.9~1.0, 안정적 톤은--stability 0.5부근. - 긴 요약본: ElevenLabs
text_to_speech는 요청당 약 5,000자 한도이고elevenlabs_tts.py는 자동 청킹을 하지 않는다(초과 시text_too_long400으로 실패). 한도를 넘기면 문단 경계로 4,500자 미만 청크로 나눠 각각--single로 변환한 뒤(<청크>_elevenlabs.mp3),ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp3로 이어 붙인다(동일 음성·속도면 재인코딩 없이 copy로 충분, dts 모노토닉 경고는 무시 가능). 장 구조가 뚜렷한 책 길이 출력이면 챕터 분할·무음 검증·concat을 갖춘 전용 오디오북 제작 도구로 위임하는 편이 낫다(단 그런 도구는 한국어를 기본적으로 다른 TTS 엔진으로 보낼 수 있으므로, ElevenLabs를 강제하려면 음성 옵션을 맞춰 준다). - Windows 함정: cp949 콘솔에서
elevenlabs_tts.py --help·--list-voices가 em dash(U+2014) 출력 중UnicodeEncodeError로 죽는다.export PYTHONUTF8=1 PYTHONIOENCODING=utf-8을 먼저 설정하면 우회된다(TTS 본 변환에도 안전). - 속도 기본값 주의:
elevenlabs_tts.py의--speed미지정 시 기본 1.2로 빠르게 낭독된다. 오디오북은--speed 1.0(또는 0.9)을 명시한다. - 생성한 MP3는 합성 음성이므로, 외부에 공유·게시할 때는 AI 합성 음성임을 밝힌다.
회고·반영
스킬 사용 직후 가볍게 회고하고, 다음은 발견 즉시 반영한다. 절차로 굳는 교훈은 이 SKILL.md나 references/에, 단발 사실은 사용자 메모리에 남긴다.
- 새로 발견한 AI 상투어·평탄화 어구:
references/forbidden_phrases.md에 추가 - 톤 보존이 깨진 패턴과 그 원인:
references/_changelog_local.md에YYYY-MM-DD메모 - 특정 장르(논문·소설·칼럼·기술 문서)에서 통한 조정:
references/techniques.md의 해당 항목 보강
파일 인덱스
| 파일 | 내용 |
|---|---|
references/techniques.md | 5단계 기법의 근거·출처·장르별 주의점 |
references/forbidden_phrases.md | AI 상투어·평탄화 어구 금지 목록(한/영) |
references/_changelog_local.md | 작업 회고 메모를 쌓는 로컬 전용 파일(git 추적 제외, 없으면 새로 만들어 사용) |
What ships with it: 6 files
32.3 KB alongside SKILL.md, 1 of them executable
references/
- forbidden_phrases.md2.4 KB
- techniques.md5.1 KB
scripts/
- elevenlabs_tts.pyruns20.5 KB
- .gitignore49 B
- LICENSE1.0 KB
- README.md3.3 KB