원클릭으로
my-market-summary
딴지게시판 특정 작성자(EXAMPLE_USER_ID) 사용자의 미국·한국 증시 마감 요약 글을 자동 수집해 Slack
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
딴지게시판 특정 작성자(EXAMPLE_USER_ID) 사용자의 미국·한국 증시 마감 요약 글을 자동 수집해 Slack
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
User의 일일 컨텍스트 싱크. Slack(외부 워크스페이스), Gmail, Google Calendar에서 최근 정보를 수집하고, 마에스트로 데이터(my-maestro 결과 JSON + Webex)도 함께 통합해서 하나의 문서로 정리한다. "싱크", "sync", "정보 수집" 요청에 사용.
AI·SW마에스트로(서울/부산) 멘토 활동 통합 관리. MY 멘토링·보고서 현황, 회의실 예약내역, 빈 회의실 조회, Webex 메시지 수집을 담당. User 멘토 전용. "마에스트로", "MY 멘토링", "내 예약", "빈 회의실", "회의실 비어있", "보고서 현황", "마에스트로 공지" 요청에 사용.
세션 종료 시 작업 정리, 문서 업데이트, 학습 기록을 하는 스킬. "/wrap", "세션 정리", "마무리" 요청에 사용.
Playwright로 외부 Slack 워크스페이스의 채널 메시지를 수집한다. 게스트 권한으로 API 접근이 불가능한 워크스페이스 대상. "슬랙 스크래핑", "외부 슬랙 싱크", "슬랙 수집" 요청에 사용.
YouTube URL을 받으면 자막을 추출하고, Web Search로 자동자막 오류를 보정한 뒤, 요약-인사이트-전체 번역을 제공하는 스킬. "유튜브 번역", "영상 정리", "YouTube 요약" 요청에 사용.
AI 컨설팅/교육 프로젝트의 모호한 요구사항을 명확하게 만든다. "요구사항 정리", "기획 정리", "뭘 원하는 건지", "프로젝트 clarify", "컨설팅 정리", "교육 기획 정리" 요청에 사용.
| name | my-market-summary |
| description | 딴지게시판 특정 작성자(EXAMPLE_USER_ID) 사용자의 미국·한국 증시 마감 요약 글을 자동 수집해 Slack |
| triggers | ["증시요약","market summary","딴지 증시","ddanzi 증시"] |
딴지게시판 사용자 특정 작성자 (user_id: EXAMPLE_USER_ID)가 매일 작성하는 증시 마감 요약 글을
자동 수집해 Slack #증시요약 발송 + ~/ai-workspace/market-summary/ 마크다운 적재.
scripts/ddanzi-scraper/check.js (Node 18+, cheerio + turndown)scripts/ddanzi-scraper/launchd/*.plist)
SLACK_WEBHOOK_MARKET_SUMMARY 환경변수)~/ai-workspace/market-summary/YYYY-MM-DD-{us|kr}.md (git 추적)git pull --ff-only로 자동 동기화)ddanzi.com 서버가 Anthropic 클라우드 IP를 명시적으로 차단 (Host not in allowlist 403).
Claude Code routine은 클라우드 sandbox에서 실행되므로 ddanzi 페치 불가능.
로컬 launchd가 사용자 머신 IP로 fetch하면 통과. (2026-05-14 검증)
설치되어 있으면 매일 06:30 + 16:30 KST에 알아서 실행. 별도 액션 불요.
설치 여부 확인: launchctl list | grep market-summary
사용자가 "증시요약 한번 돌려줘", "ddanzi 증시 수집", "/my-market-summary" 등으로 호출 시:
cd ~/ai-workspace/scripts/ddanzi-scraper
npm run both # us + kr 둘 다
# 또는
npm run us
npm run kr
결과 보고: 각 market별로 처리 결과(no_post / skipped / posted) + 새 파일 경로 + Slack/git push 결과를 사용자에게 요약.
새 머신에서 처음 돌릴 때 scripts/ddanzi-scraper/README.md 의 셋업 절차 참고:
cd ~/ai-workspace/scripts/ddanzi-scraper
npm install # cheerio, turndown
echo 'export SLACK_WEBHOOK_MARKET_SUMMARY="..."' >> ~/.zshrc # webhook URL
source ~/.zshrc
cp launchd/*.plist ~/Library/LaunchAgents/
launchctl bootout gui/$UID/com.user.market-summary-us 2>/dev/null || true
launchctl bootout gui/$UID/com.user.market-summary-kr 2>/dev/null || true
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.user.market-summary-us.plist
launchctl bootstrap gui/$UID ~/Library/LaunchAgents/com.user.market-summary-kr.plist
주의: launchd의 기본 PATH에는 nvm Node가 없으므로 plist 명령은 source "$HOME/.zshrc" 2>/dev/null; ... node ... 형태여야 한다.
https://www.ddanzi.com/index.php?mid=free&search_target=t_user_id&search_keyword=EXAMPLE_USER_ID fetchYYYY년 M월 D일 {미국|한국} 증시 {요약|마감 요약} 제목 매칭. 오늘 우선, 없으면 어제 fallback. 둘 다 없으면 조용히 종료.market-summary/YYYY-MM-DD-{us|kr}.md 이미 존재 → idempotent skip.rd_body article 등) 추출 → turndown으로 markdown 변환 (이모지·▲▼ 보존)---
date: YYYY-MM-DD
market: us | kr
source_author: 특정 작성자
source_url: https://www.ddanzi.com/index.php?mid=free&document_srl=...
posted_at: YYYY-MM-DD HH:MM
scraped_at: ISO-8601
---
# {원본 제목}
{본문 마크다운 — 이모지·▲▼·종목명·수치 보존}
---
*출처: [딴지게시판 특정 작성자](source_url) — my-market-summary 자동 수집*
/tmp/market-summary-{us,kr}.err 확인)scripts/ddanzi-scraper/README.md — 셋업 및 운영 상세~/ai-workspace/market-summary/ — 적재 디렉토리 (git 추적)wiki/projects/market-summary.md — 인프라 패턴·운영 메모feedback_ddanzi_cloud_ip_blocked.md — ddanzi가 Anthropic IP 차단 → 클라우드 routine 우회 패턴feedback_slack_mrkdwn_link.md — Slack 링크 포맷 주의