From astack
Gather all relevant public and internal context about a company before outreach or diligence. Use for sales call prep, prospect qualification, target account review, or '이 회사 맥락 다 훑어줘'. Default to account-first mode when existing project/context files already exist. Mandatory behavior: map fragmented public surfaces first (legal entity, parent site, local brand site, B2B portal, careers, IR, CDN attachments), then crawl those surfaces and collect first-party attachments, press coverage, and official market data by jurisdiction (Korean DART/KRX/public-data layers, SEC EDGAR for US-listed).
How this skill is triggered — by the user, by Claude, or both
Slash command
/astack:company-context-research [company or domain][company or domain]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
기업명(또는 도메인) 하나를 받아 **영업 전 사전조사**에 필요한 그 회사의 공개 맥락을 전수 수집한다. 목표는 "회사 소개 요약"이 아니라, 영업 대화·실사에서 바로 꺼내 쓸 수 있는 **근거 자료 패키지**다.
references/account-priority.mdreferences/entity-resolution.mdreferences/korean-market-data.mdreferences/press-coverage.mdreferences/public-sweep-checklist.mdreferences/recursive-crawl.mdreferences/report-schema.mdreferences/source-patterns.mdscripts/download_attachment_candidates.pyscripts/init_company_workspace.shscripts/mirror_selected_pages.pyscripts/postprocess_recursive_crawl.pyscripts/prune_recursive_crawl_pages.pyscripts/recursive_surface_crawl.pyscripts/search_press.pyscripts/second_pass_from_shortlist.py기업명(또는 도메인) 하나를 받아 영업 전 사전조사에 필요한 그 회사의 공개 맥락을 전수 수집한다. 목표는 "회사 소개 요약"이 아니라, 영업 대화·실사에서 바로 꺼내 쓸 수 있는 근거 자료 패키지다.
항상 회사별 작업 폴더를 먼저 만든다.
bash scripts/init_company_workspace.sh "<company-or-domain>" [base_dir]
파일 구조와 섹션 규약은 references/report-schema.md를 따른다. 최소 산출물:
00-surface-map.md — 법인/브랜드/부모회사/IR/CDN/채용/포털 표면 맵01-public-web.md — public surface 웹/문서/첨부 조사02-public-press.md — 보도자료/뉴스/인터뷰/파트너십/채용 시그널03-market-data.md — 관할별 공식 데이터(한국: KRX·DART·공공데이터 / 미국 상장: EDGAR)04-internal-context.md — 기존 접점/사내 맥락(있을 때)05-company-brief.md — 한 화면 요약 + 영업 포인트attachments/ — PDF/PPT/DOCX/XLS 등 원본source-manifest.tsv — 방문 URL, 파일, 저장 경로, 메모recursive-crawl/ — 재귀 크롤 원본(분절 표면 회사에서는 선택이 아니라 기본)press/press-inventory.tsv — 외부 보도 인벤토리(네이버 + Google News RSS)sales pre-call / prospect qualification 이다. 사용자가 더 좁은 목적을 줬다면 모든 단계에서 그 목적을 유지한다.00-surface-map.md에 먼저 적고 시작한다. surface map 없이 본문 조사로 바로 들어가지 않는다.context/ 폴더, 기존 영업 아카이브, 제안서/견적서 첨부, 프로젝트 문서가 이미 있고 회사명 키워드와 맞으면 account-first mode 로 간다.account-first 에서는 공개 웹 조사가 내부 계정 맥락을 덮어쓰면 안 된다. 공개 웹은 현재 딜/챔피언/니즈를 보강하는 근거로만 쓴다.references/source-patterns.md 를 읽는다.account-first 이면 references/account-priority.md 를 읽는다.references/entity-resolution.md 를 읽는다.references/public-sweep-checklist.md 를 읽는다.references/press-coverage.md 를 읽는다.references/recursive-crawl.md 를 읽는다.references/korean-market-data.md 를 읽는다.account-first 면 내부 맥락을 먼저 읽는다: 기존 context/*.md, 제안서/견적서/발송 이력, Slack / Gmail / Notion / Obsidian / 회의 메모 / 음성 메모.crawl 스킬 또는 동급 로컬 크롤러를 우선 사용한다. 몇 페이지를 브라우저/grep으로 훑고 요약만 남기는 식으로 끝내지 않는다.python3 scripts/recursive_surface_crawl.py <seed-url...> --keyword <kw> --out <recursive-crawl-dir>
crawl-manifest.tsv, link-inventory.tsv, attachment-candidates.tsv, keep-list-candidates.tsv, shortlist.tsv. 이후 shortlist.tsv를 1차 읽기 대상으로, keep-list-candidates.tsv를 2차 보강 대상으로 삼는다. link-inventory.tsv 전체를 다시 다 읽지 않는다.python3 scripts/download_attachment_candidates.py <attachment-candidates.tsv> --out <attachments-dir>
recursive-crawl/pages/가 있으면 scripts/postprocess_recursive_crawl.py <dir>로 인벤토리를 복구한다. broken slug/중복 경로가 보이면 scripts/prune_recursive_crawl_pages.py <pages-dir> 후 postprocess를 다시 돈다.brand-related/local-brand 도메인이 새로 나오면 scripts/second_pass_from_shortlist.py <shortlist.tsv> --out <dir> --mirror-out-root <public-mirror-dir>로 2차 패스를 돈다. 그 뒤에도 팔 가치가 있는 host가 남으면 그 host의 URL을 시드로 recursive_surface_crawl.py를 다시 돌리는 방식으로 재귀를 반복한다. 더 갈지/멈출지는 모델이 link-inventory의 신호(법인·브랜드 콘텐츠 표면이 계속 열리는가)로 직접 판단한다.pages/가 아니라 scripts/mirror_selected_pages.py <shortlist.tsv> --out <public-mirror-dir>로 만든 public-mirror/ 경로를 쓴다.references/recursive-crawl.md)..pdf, .docx, .pptx, .xlsx, .csv. attachments/에 읽기 쉬운 이름으로 저장하고 source-manifest.tsv에 기록한다.01-public-web.md에 남긴다. "봤다"고만 쓰지 않는다. 재귀 크롤을 썼다면 저장 페이지 수, 인벤토리 링크 수, 카테고리별 개수, 새로 발견된 연관 도메인, 새로 확보한 첨부, 노이즈가 큰 표면과 그 이유를 적는다.references/press-coverage.md 참조):agents-env run NAVER_CLIENT_ID NAVER_CLIENT_SECRET -- \
python3 scripts/search_press.py "<회사명>" --out <workspace>/press
press/press-inventory.tsv로 합쳐진다. 영문/글로벌 보도는 tvly search --topic news로 보강한다.references/korean-market-data.md를 따른다 — KRX 상장 확인, DART 공시(상장 여부와 무관하게 시도), 비상장·소규모 법인은 공공데이터 보강까지.03-market-data.md에 관측 공백으로 명시한다.05-company-brief.md에 정리한다: 현재 딜 상태/다음 액션, 내부 챔피언/buying center, 참가자별 니즈, 회사가 실제로 하는 일, 왜 지금 봐야 하는가, 근거 기반 buying signal, 반복적으로 쓰는 언어, 리스크/red flag, 아웃리치 각도.account-first 에서는 브리프 상단을 generic company overview가 아니라 deal context로 시작한다.account-first 여부를 먼저 판정했는가현재 딜 상태 / 챔피언 / 다음 액션 으로 시작하는가source-manifest.tsv의 saved_path가 전부 실존하는지 확인했는가references/source-patterns.md — account research / company research 합성 패턴references/account-priority.md — account-first sales prep 우선순위references/entity-resolution.md — 분절된 공개 표면 해상도 규칙references/public-sweep-checklist.md — 사이트/첨부/뉴스룸 점검표references/recursive-crawl.md — 재귀 크롤 + 인벤토리 후처리 규칙references/press-coverage.md — 외부 보도 수집(네이버 API·Google News RSS·tavily) 규칙references/korean-market-data.md — KRX + DART 사용 규칙references/report-schema.md — 작업 폴더와 최종 보고 형식npx claudepluginhub ai-native-engineer/astack --plugin astackGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.