가이드 포트폴리오 워치 스킬(Guided Portfolio Watch Skill)
이 스킬이 구축하는 것
사용자가 제공한 모든 포트폴리오에 대해, 이 스킬은 다음을 생성합니다:
- MonitoringConfig — ALFS에 기록되는 구조화된 JSON 객체로, 티커 목록, 투자 지평, 안내 모드, 및 기본 설정 노트의 단일 정보 소스 역할을 합니다.
- 두 개의 피드 자동화 —
gpw-fundamentals(재무 이력) 및gpw-monitor(일일 이벤트 분석 + 푸시 알림), 둘 다 런타임에 설정을 읽습니다. - 하나의 플레이북 —
guided-portfolio-watch,https://alva.ai/u/{username}/playbooks/guided-portfolio-watch에서 실시간 제공됩니다. - 일일 알림 — 중요한 이벤트 발생 시 설명 우선 알림을 보냅니다.
이 스킬은 재사용 가능합니다: config.json을 변경하고 피드를 다시 실행하면 코드 변경 없이 새 포트폴리오에 대한 완전한 플레이북과 알림 파이프라인이 생성됩니다.
1단계 — 사용자 의도 분석
src/intent-to-config.js를 호출하거나 해당 로직을 적용하여 사용자 메시지에서 MonitoringConfig를 추출합니다. 질문을 하기 전에 이 작업을 수행하세요.
티커 추출
1~5개의 대문자 시퀀스 또는 BRK.B 같은 패턴을 찾습니다. 미국 상장 주식만 허용합니다. ETF, 암호화폐(예: BTC, ETH, SOL), 옵션, 비미국 티커는 거부하고 — 사용자에게 알린 후 수락된 심볼로 계속 진행합니다.
공통 단어 차단 목록(대문자여도 거부): I, A, AN, OR, FOR, AND, AT, IN, ON, MY, ME, THE.
안내 모드 (선호도 추론 — 전문성 주장 아님)
다음 우선 순위를 적용합니다. 첫 번째 일치에서 중단합니다.
1. 명시적 선호도 (항상 우선):
"쉬운 말로" / "설명해줘" / "투자 초보예요"
"이해가 안 돼" / "이해할 수 있게 도와줘" → guided
"기술적 세부 사항을 원해" / "금융 지식을 알고 있다고 가정해줘"
"기본은 생략해" / "기술적 분석" (선호도로) → standard
2. 문맥 신호 (명시적 선호도가 없을 때만):
EBITDA, FCF, NIM, P/E, 베이시스 포인트, 순이자 마진,
영업 레버리지, CAGR을 올바르게 사용 → standard
"걱정해야 하나요?" / "이게 나에게 무슨 의미인가요?" / "이게 나쁜 건가요?" → guided
3. 기본값 (혼합, 충돌, 또는 신호 없음):
→ neutral
"초보자입니까?" 또는 "당신의 경험 수준은 무엇입니까?"라고 절대 묻지 마십시오. NEUTRAL은 기본적으로 guided 레이아웃을 사용하며, 사용자는 AGENTS.md를 통해 변경할 수 있습니다.
투자 지평
- 키워드: "장기", "3~5년", "영원히 보유", "은퇴" →
long-term - 키워드: "중기", "1~3년", "앞으로 몇 년" →
medium-term - 키워드: "데이 트레이드", "스윙 트레이드", "단기", "< 1년" → 지원되지 않음. 사용자에게 알리고 계속하기 전에 장기 모니터링이 허용되는지 확인합니다.
- 기본값 (신호 없음):
long-term.
소유권 분류
- "소유하고 있어", "샀어", "내 포지션", "가지고 있어" →
holding - "지켜보고 있어", "추적 중", "주시하고 있어" →
watchlist - 모호함 →
holding(더 안전한 기본값; 보유자에게 소유하지 않았다고 말하는 것을 방지)
소유권은 알림 문구 언어에만 영향을 미칩니다. 파이프라인은 모든 심볼을 동일하게 처리합니다.
가중치 (선택 사항)
명시적 백분율 패턴 분석: "50% NVDA, 30% TSLA, 20% AAPL". 제공된 경우 weights 객체로 저장합니다(값 0~1, 합계가 1.0 ± 0.02이어야 함; 반올림 오류 시 정규화). 제공되지 않으면 설정에서 weights를 생략합니다.
2단계 — 필요한 경우 명확히 하기 (최대 한 질문)
답변이 구축되는 내용을 실질적으로 변경하는 경우에만 질문하십시오:
| 상황 | 질문 |
|---|---|
| 티커가 제공되지 않음 | "어떤 회사를 모니터링하고 싶으신가요?" |
| 투자 지평 충돌 (데이 트레이딩) | 정보 제공 + 장기 모니터링이 허용되는지 확인 |
주식 수, 원가 기준, 재무 목표, 경험 수준에 대해 묻지 마십시오. 두 번째 질문을 하지 마십시오.
3단계 — MonitoringConfig 조립
전체 MonitoringConfig 객체를 구축합니다(config/monitoring-config.schema.json 참조).
sectorFocusAreas — arrays-data-api-equity-fundamentals를 통해 각 티커의 회사 세부 정보를 가져옵니다. sector + industry 필드와 src/intent-to-config.js의 조회 테이블을 사용하여 티커당 한 문장의 초점 노트를 생성합니다. API 호출이 실패하거나 섹터를 알 수 없는 경우 일반적인 대체 텍스트를 사용합니다: "Watch: revenue, earnings, and business-specific developments." 절대 초점 영역을 임의로 만들지 마십시오.
preferencesNote — 다음 템플릿을 사용하여 설정 필드에서 조립:
사용자는 [TICKER LIST]를 [소유/추적]하고 있습니다. 투자 지평: [HORIZON].
[GUIDED인 경우:] 평이하고 전문 용어가 없는 영어를 사용하십시오. 처음 등장할 때 금융 용어를 정의하십시오.
사용자가 주의해야 할 사항과 그 이유를 중심으로 모든 것을 구성하십시오.
[STANDARD인 경우:] 중급 금융 이해력을 가정하십시오. 표준 금융 용어를 사용하십시오.
[NEUTRAL인 경우:] 명확하고 접근하기 쉬운 언어를 사용하십시오. 설명되지 않은 전문 용어를 피하십시오.
알림 정책: 장기적인 비즈니스 발전에만 초점을 맞추십시오.
제외: 순수 가격 움직임, 기술적 분석, 입증되지 않은 소문.
포함: 실적/가이던스 변경, 규제/법적 이벤트, 전략적 발표,
및 다년간 비즈니스 영향이 있는 공급망 또는 제품 변경.
[가중치가 제공된 경우:] 예시 할당: [TICKER] [PCT]%, ... (사용자가 제공한 시나리오, 확인된 현재 가중치 아님.)
[티커별 초점 영역:]
[TICKER]: [sectorFocusArea]
...
[알 수 없는 입력이 있는 경우:] 수량, 원가 기준 및 총 포트폴리오 가치는 알 수 없습니다. 포트폴리오 수준의 성과 수치를 계산하거나 암시하지 마십시오.
4단계 — ALFS에 설정 쓰기
# 설정을 로컬 임시 파일로 직렬화한 후 ALFS에 쓰기
alva fs write --path '~/feeds/gpw-monitor/v1/config.json' --file /tmp/gpw-config.json --mkdir-parents
쓰기 성공을 확인합니다:
alva fs read --path '~/feeds/gpw-monitor/v1/config.json'
또한 설정을 ~/feeds/gpw-fundamentals/v1/config.json에 씁니다 (동일한 내용 — 두 피드 모두 자체 경로에서 읽어 디커플링 유지).
5단계 — 피드 배포 (사용자 승인 필요)
배포 전에 references/setup-workflow.md를 읽으십시오. 사용자가 MonitoringConfig가 올바른지 확인할 때까지 배포하지 마십시오.
피드 1: gpw-fundamentals (템플릿 templates/gpw-fundamentals.stub.js 사용)
- Cron:
15 6 * * * - 출력:
fundamentals/snapshot(JSON blob) - 알림 출력 없음
피드 2: gpw-monitor (템플릿 templates/gpw-monitor.stub.js 사용)
- Cron:
30 6 * * * - 출력:
analysis/decision+alerts/daily(V2 alertOutput) --push-notify플래그로 배포
6단계 — 플레이북 빌드 및 릴리스 (사용자 승인 필요)
템플릿 templates/gpw-playbook.stub.html을 사용하십시오. 모든 [GPW-*] 표시자를 채우십시오.
전체 라이프사이클을 따르십시오: alva lint playbook → alva release playbook-draft → alva release playbook → alva screenshot.
7단계 — 알림 전달 활성화 (사용자 승인 필요)
게시는 소유자 FEED 알림 바인딩을 자동으로 생성합니다. 전달을 확인합니다:
alva alert history --automation gpw-monitor
# 예상 결과: 상태가 "sent"인 행이 하나 이상 있어야 함
승인 기준
다음 조건이 충족되면 스킬이 완료됩니다:
alva lint playbook이 오류 없이 통과alva screenshot에 표시 가능한 데이터가 표시됨 (빈 프레임 아님)alva alert history에 예약된 실행 후 24시간 이내에sent행이 표시됨config.json의 티커를 변경하고 gpw-fundamentals를 재실행하면 이전 티커 참조 없이 새 회사 섹션이 생성됨
이 스킬이 구축하지 않는 것
- 가격 차트 또는 장중 가격 모니터링
- 매수 / 매도 / 보유 권장 사항
- 실적 달력
- 벤치마크 대비 성과
- 거래 또는 주문 실행