본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

ReadIt

기사, 파일, 붙여 넣은 글, 에이전트의 최신 답변을 DA의 Fish Audio 음성으로 읽어 줍니다. 몇 초 안에 연속 재생을 시작하며 일시 정지, 재개, 중지, 상태 확인을 할 수 있습니다.

원문원문 설명 보기

Reads content aloud in the DA's Fish Audio voice (an article, a file, pasted text, or what the DA just wrote) as one continuous read that starts within seconds and can be paused or stopped. USE WHEN read it to me, read this to me, read that aloud, read it, ri, /ri, play this, say this out loud, listen to this, read the article, read your write-up, stop reading, pause the read, resume the read. NOT FOR spoken tutorials (Teach), narrated video essays (the video-essay skill), one-line status notifications (the voice endpoint), or the phone and text lines.

danielmiessler/LifeOS스타 19,636(GitHub 19,636 + cccskills 0)

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • 화면을 보지 않고 기사를 들을 때
  • 에이전트 답변을 음성으로 확인할 때
  • 긴 낭독을 멈췄다가 다시 들을 때
  • 재생을 중지하거나 상태를 확인할 때

한국어 소개

할 수 있는 일

ReadIt은 기사, 파일, 붙여 넣은 글, 에이전트가 바로 전에 작성한 답변을 DA의 Fish Audio 음성으로 읽어 줍니다. 긴 글도 첫 음성 구간이 준비되면 몇 초 안에 재생을 시작하고, 나머지 구간은 재생 중에 합성합니다. 내용을 요약하지 않고 글의 내용을 그대로 읽습니다. 재생 중에는 일시 정지, 재개, 중지를 요청할 수 있으며 현재 상태도 확인할 수 있습니다. 새 낭독을 시작하면 이전 낭독은 중지됩니다.

이럴 때 유용합니다

화면을 계속 보지 않고 기사나 답변을 듣고 싶거나, 이동 중 또는 다른 일을 하면서 글을 귀로 확인하고 싶을 때 유용합니다. 긴 낭독을 중간에 멈추거나 이어서 듣고 싶을 때도 사용할 수 있습니다. 음성 수업, 동영상 에세이 내레이션, 짧은 알림 음성은 대상이 아닙니다.

사용 예시

  • “이 글을 소리 내어 읽어 주세요.”
  • “이 기사를 읽어 주세요.”
  • “일시 정지해 주세요”, “계속해 주세요”, “읽기를 멈춰 주세요.”

주의 사항

처음 사용할 때 Fish Audio 계정과 API 키, 음성 프로필 설정이 필요합니다. 재생에는 macOS의 afplay를 사용합니다. 헤드리스 환경이거나 터미널 신원 정보를 확인할 수 없는 경우에는 읽어 주지 않습니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호키를 출력하거나 주소에 넣지 않으며 헤드리스 실행에서는 재생하지 않는다고 명시합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족Fish Audio 계정과 API 키, 음성 프로필, macOS 재생 환경이 필요하다고 명시합니다.

점수에는 넣지 않았습니다. 2026년 10월 28일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(4)

  • SKILL.md5.3 KB
  • Intents/Read.md2.7 KB
  • Setup.md3.5 KB
  • Tools/ReadIt.ts18.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

ReadIt

One command turns content into the DA's voice reading it. The read starts within a few seconds regardless of length: the first chunk synthesizes, a detached player starts, and the rest synthesizes while earlier chunks play. stop, pause, resume, and status act on the running read.

Ideal State

  • The principal hears the requested content in the DA's voice within seconds, whatever its length, and the running read answers stop, pause, resume and status.
  • What plays is a faithful spoken version of the requested piece: not a summary, and not raw markup read out.
  • Nothing else speaks over the read, and a headless channel never speaks at all.

Intent Routing

IntentTriggerFile
Read"read it to me", "ri", "/ri", "read this", "read your write-up", a URL or file to readIntents/Read.md
Control"stop", "pause", "resume", "where are you in the read"Intents/Read.md § Control

References

FileRead when
Setup.mdfirst-time setup: the Fish Audio account and key, the voice profile, and a read-only check

Tool contract

bun ~/.claude/skills/ReadIt/Tools/ReadIt.ts read --file <path> [--title "<title>"] [--voice <profile>]
bun ~/.claude/skills/ReadIt/Tools/ReadIt.ts read --text "<short text>"
bun ~/.claude/skills/ReadIt/Tools/ReadIt.ts stop | pause | resume | status
  • Voice: LIFEOS_CONFIG.toml [da.voices.reader] when it has a fish_reference_id, else [da.voices.main]. --voice <name> picks any [da.voices.<name>] profile that has a fish_reference_id; --voice principal uses the voice id in FISH_PRINCIPAL_VOICE_ID. Speech goes through LIFEOS/TOOLS/FishTTS.ts (Fish Audio, Drama 3 model).
  • Key: FISH_API_KEY in the env file. Never printed, never in a URL.
  • Pronunciations: LIFEOS/USER/PRINCIPAL/PRONUNCIATIONS.json, through the one LifeOS pass (LIFEOS/TOOLS/Pronounce.ts) that FishTTS runs on every chunk, homographs like "live" included.
  • Audio and state: ~/Library/Caches/LifeOS/ReadIt/<run>/ (tmpdir on other platforms). Playback is macOS afplay.
  • A headless channel (LIFEOS_NOTIFICATION_CHANNEL=headless, or no terminal identity) prints skipped: headless and exits 0. Scheduled jobs never speak.

Data & Config

User customizations live at <configRoot>/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ReadIt/ (configRoot is $CLAUDE_CONFIG_DIR when set, else ~/.claude). When it exists, its PREFERENCES.md, configurations and resources override the defaults; otherwise the defaults stand.

First-time setup (the Fish Audio key and voice, macOS playback) is in Setup.md.

Gotchas

  • This skill sends no /notify voice line. The read itself is the voice; a notification would queue in front of it and delay the start.
  • The tool strips markdown as a backstop, but a raw article is not a script. Stripped, tables read as comma lists, headers become bare fragments, and acronyms get spelled out letter by letter.
  • A new read stops the running one. There is no queue.
  • Chunks are capped at 2,400 characters and split at paragraph, then sentence, boundaries. A single-paragraph wall of text still works; it just splits by sentence.
  • Pace is the profile's fish_speed (0.5 to 2.0), sent to Fish as prosody speed. Unset means 1.0. Fish accepts at most 2,500 characters per request, which is why chunks stay under 2,400. Drama 3 tags such as [sigh] and <emphasis> pass through to the voice.
  • Source tree only: On hosts with a low open-file limit, bun test from the repo root can fail with EMFILE. In the source tree, run this skill's test path instead: bun test ./skills/ReadIt/Tools/ReadIt.test.ts. Tests do not ship in the public release.

Examples

Example 1: read what I just wrote

User: "ri"  (after the DA produced a write-up)
→ Read intent: authors a spoken script from the write-up (no tables, no URLs, no headers), writes it to a temp file
→ `ReadIt.ts read --file <tmp> --title "<subject>"`
→ Reply: title, chunk count, estimated minutes; audio is already playing

Example 2: read a URL

User: "/ri https://example.com/some-article"
→ Fetches the article, authors a spoken script of its prose, reads it

Example 3: control

User: "pause"  /  "ok keep going"  /  "stop reading"
→ `ReadIt.ts pause`  /  `resume`  /  `stop`

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

AnnualReports

무료요약 있음

여러 업체와 공공기관의 사이버 보안 보고서를 검색하고 가져와 위협, 랜섬웨어, 침해 통계 등의 추세를 비교합니다. 분석에는 출처별 업체, 연도, 보고서를 표시하고 자료 간 차이도 따로 다룹니다.

  • 분류별 위협 보고서를 찾을 때
  • 특정 업체의 보고서를 가져올 때
  • 여러 업체의 랜섬웨어 동향을 비교할 때
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ApertureOscillation

무료요약 있음

기능이나 구성 요소 자체의 설계 요구와 시스템 전체의 목표를 세 단계로 비교합니다. 설계상의 충돌과 적절한 구현 범위를 정리하고, 제안한 설계가 전체 방향과 맞는지 평가합니다.

  • 서비스나 라이브러리를 분리할지 판단하기
  • 기능 요구와 제품 방향 비교하기
  • 새 구성 요소와 기존 시스템의 정합성 확인하기
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

Aphorisms

무료요약 있음

글의 주제에 맞는 격언과 인용문을 찾아 저자와 선정 이유를 함께 제안합니다. 출처가 있는 인용문을 추가하고, 사상가의 말을 주제별로 조사하며, 사용 기록을 관리해 같은 인용문을 반복하지 않도록 돕습니다.

  • 뉴스레터에 어울리는 인용문 찾기
  • 출처와 함께 중복 없이 인용문 저장하기
  • 주제별로 사상가의 말 조사하기
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

Art

무료요약 있음

블로그 삽화, 기술 도표, 비교 그림, 만화, 아이콘 등을 용도에 맞는 절차로 제작합니다. 구도와 색상, 이미지 모델을 정하고 검토용 이미지를 출력합니다.

  • 블로그 제목 이미지를 만들 때
  • 시스템 구조를 그림으로 설명할 때
  • 비교나 연대표를 시각화할 때
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ArtDirection

무료요약 있음

브리프와 제작 기준에 따라 이미지, 영상, 슬라이드, 사이트 화면 캡처의 시각 품질을 평가합니다. 두 비전 심사자가 점수와 결함 우선순위를 제시하고, 정해진 횟수 안에서 수정을 돕습니다. 평가를 통과한 결과물만 전달할 수 있으며, 사람의 점수와 의견은 별도 기록해 심사 보정에 활용합니다.

  • 이미지 수정 항목의 우선순위 정리
  • 기준에 따라 영상이나 슬라이드 평가
  • 공개 전 시각 품질 점검
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

ArXiv

무료요약 있음

주제, 연구 분야, 논문 ID로 arXiv 논문을 찾고 제목, 저자, 초록, 링크를 정리합니다. 새 논문을 확인하고, 제공되는 경우 AlphaXiv의 AI 생성 개요도 가져옵니다.

  • AI·머신러닝 분야의 새 논문 확인
  • 특정 주제의 논문 검색
  • 논문 ID나 arXiv 주소로 조회
danielmiessler/LifeOS2만2026년 10월 28일 업데이트

danielmiessler의 스킬 모두 보기

이 스킬의 문제 신고