file-save-protocol-stock
4
总安装量
3
周安装量
#52151
全站排名
安装命令
npx skills add https://github.com/orientpine/honeypot --skill file-save-protocol-stock
Agent 安装分布
mcpjam
3
claude-code
3
replit
3
junie
3
windsurf
3
zencoder
3
Skill 文档
íì¼ ì ì¥ íë¡í ì½ (주ì/ETF ë¶ìì©)
Overview
ì´ ì¤í¬ì 주ì/ETF ë¶ì ìì´ì í¸ê° 결과를 íì¼ë¡ ì ì¥í ë ë°ë¼ì¼ íë ê·ì¹ì ì ìí©ëë¤.
íµì¬ 목í: ë¶ì ê²°ê³¼ì ììì± ë³´ì¥ ë° íê° ë°©ì§
1. íì¼ ì ì¥ íì ê·ì¹ (CRITICAL)
íê° ë°©ì§ì íµì¬: ë¶ì 결과를 ë°ëì íì¼ë¡ ì ì¥í´ì¼ í©ëë¤. í롬íí¸ë¡ë§ ë°ííë©´ ë°ì´í° ìì¤ ë° íê° ë°ì ìíì´ ììµëë¤.
ì íì¼ ì ì¥ì´ íìì¸ê°?
| 문ì | ì¤ëª |
|---|---|
| 컨í ì¤í¸ ìì¤ | 긴 ëíìì ì´ì ë¶ì ê²°ê³¼ê° ì릴 ì ìì |
| ì¬í ë¶ê° | íì¼ ìì´ë ë¶ì 결과를 ì¬ê²ì¦í ì ìì |
| íê° ìí | ì ì¥ ìì´ “ì ì¥ë¨”ì´ë¼ê³ ìëµíë©´ íê° |
| ìí¬íë¡ì° ì¤ë¨ | ë¤ì ìì´ì í¸ê° ì ë ¥ íì¼ì ì°¾ì§ ëª»í¨ |
íì ì¬í (MUST)
- 모ë ë¶ì ê²°ê³¼ë
Writeëêµ¬ë¡ íì¼ ì ì¥ - ì ì¥ ê²½ë¡ë coordinatorê° ì ê³µíë
output_pathì¬ì© - ì ì¥ ì±ê³µ ì¬ë¶ íì¸ í ìëµ
- ì ì¥ ì¤í¨ ì ëª ìì FAIL ìëµ
ê¸ì§ ì¬í (NEVER)
- íì¼ ì ì¥ ìì´ ë¶ì ê²°ê³¼ “ì룔 ìëµ
- ì ì¥ ì¤í¨ë¥¼ 무ìíê³ ì§í
output_path무ìíê³ ìì ê²½ë¡ ì¬ì©
1.5 Markdown ì ì¥ ê·ì¹ (MANDATORY)
JSON ì ì¥ì íì íìì´ë©°, ì¬ëì´ ì½ê¸° ìí Markdown ìì½ë ë°ëì ì ì¥í©ëë¤.
íì ê·ì¹
- JSONê³¼ MD 모ë ì ì¥ (ë ì¤ íëë¼ë ëë½ ì FAIL)
- MDë JSON ë´ì©ì ìì½/ì ë¦¬ë§ ìí (ì ìì¹/ì ì¶ì² ì¶ê° ê¸ì§)
- íì¼ëª
ì ë²í¸ ì ëì´ ê³ ì :
{output_path}/{NN}-{base}.md(base = JSON íì¼ëª ìì.jsonì ê±°)
2. ì ì¥ íë¡ì¸ì¤
Step-by-Step
Step 1: ë¶ì ìë£ í JSON ê°ì²´ ìì±
Step 2: Write ëêµ¬ë¡ íì¼ ì ì¥
Write(
file_path="{output_path}/{filename}.json",
content=JSON.stringify(analysis_result, null, 2)
)
Step 3: ì ì¥ ì±ê³µ íì¸
ââ ì±ê³µ: ì ì ìëµ ë°í
ââ ì¤í¨: FAIL ìëµ ë°í (íê° ë°ì´í° ìì± ê¸ì§)
ì ì¥ ê²½ë¡ ì»¨ë²¤ì
coordinator(stock-consultant)ê° ì ê³µíë output_path를 ì¬ì©í©ëë¤:
consultations/{session_folder}/{filename}
ìì:
consultations/2026-01-14-TSLA-abc123/
âââ index-data.json # index-fetcher ì¶ë ¥
âââ rate-analysis.json # rate-analyst ì¶ë ¥
âââ sector-analysis.json # sector-analyst ì¶ë ¥
âââ risk-analysis.json # risk-analyst ì¶ë ¥
âââ leadership-analysis.json # leadership-analyst ì¶ë ¥
âââ material-summary.md # material-organizer ì¶ë ¥ (ìµì
ë)
âââ macro-outlook.json # macro-synthesizer ì¶ë ¥
âââ 00-macro-outlook.md # macro-synthesizer ì¶ë ¥
âââ 00-materials-summary.md # ìë£ ì 리 (materials_path ì ê³µ ì)
âââ 01-stock-screening.json # stock-screener ì¶ë ¥
âââ 02-valuation-report.json # stock-valuation ì¶ë ¥
âââ 03-bear-case.json # bear-case-critic ì¶ë ¥
âââ 04-final-verification.json # stock-critic ì¶ë ¥
âââ 05-consultation-summary.md # ìµì¢
ìë´ ë³´ê³ ì
ìì´ì í¸ë³ ì¶ë ¥ íì¼
| ìì´ì í¸ | ì¶ë ¥ íì¼ | íì |
|---|---|---|
| stock-screener | 01-stock-screening.json |
O (í¬í¸í´ë¦¬ì¤ ìì² ì) |
| stock-valuation | 02-valuation-report.json |
O |
| bear-case-critic | 03-bear-case.json |
O |
| stock-critic | 04-final-verification.json |
O |
ê±°ìê²½ì ë¶ì ì¶ë ¥ íì¼ (macro-analysis ì¬ì¬ì©)
| ìì´ì í¸ | ì¶ë ¥ íì¼ | íì |
|---|---|---|
| index-fetcher | index-data.json |
O |
| rate-analyst | rate-analysis.json |
O |
| sector-analyst | sector-analysis.json |
O |
| risk-analyst | risk-analysis.json |
O |
| leadership-analyst | leadership-analysis.json |
O |
| material-organizer | material-summary.md |
X (ìµì ë) |
| macro-synthesizer | macro-outlook.json, 00-macro-outlook.md |
O |
3. ì ì¥ ì¤í¨ ì ìëµ
ì ì¥ì´ ì¤í¨íë©´ ì ë “ì ì¥ë¨”ì¼ë¡ ìëµíì§ ììµëë¤:
{
"status": "FAIL",
"error": "FILE_SAVE_FAILED",
"detail": "{filename} ì ì¥ ì¤í¨",
"attempted_path": "{output_path}/{filename}",
"action": "ì¬ìë íì"
}
ì¤í¨ ì íë³ ëì
| ì¤í¨ ì í | ì½ë | ëì |
|---|---|---|
| ê²½ë¡ ìì | PATH_NOT_FOUND |
coordinatorì ê²½ë¡ íì¸ ìì² |
| ê¶í ì¤ë¥ | PERMISSION_DENIED |
ê²½ë¡ ê¶í íì¸ |
| ëì¤í¬ ê³µê° | DISK_FULL |
ê³µê° íë³´ í ì¬ìë |
| ì ì ìì | UNKNOWN_ERROR |
ìë¬ ë©ìì§ í¬í¨íì¬ ë³´ê³ |
4. Write ë구 ì¬ì©ë²
기본 ì¬ì©ë²
Write(
file_path="consultations/{session_folder}/02-valuation-report.json",
content="{\"status\": \"PASS\", \"ticker\": \"005930\", ...}"
)
JSON í¬ë§·í
# ë¤ì¬ì°ê¸° 2칸ì¼ë¡ í¬ë§·í
JSON.stringify(analysis_result, null, 2)
íì¼ íì¥ì ê·ì¹
| ë°ì´í° ì í | íì¥ì |
|---|---|
| 구조íë ë¶ì ë°ì´í° | .json |
| ë§í¬ë¤ì´ ë³´ê³ ì | .md |
| ìì í ì¤í¸ | .txt |
5. ì ì¥ íì¸ ì²´í¬ë¦¬ì¤í¸ (MANDATORY)
ì ì¥ ì íì¸
-
output_pathê° coordinatorë¡ë¶í° ì ë¬ëìëê°? - ì ì¥í ë°ì´í°ê° ìì íê° (모ë íì íë í¬í¨)?
- JSON íìì´ ì¬ë°ë¥¸ê°?
ì ì¥ í íì¸
- Write ëêµ¬ê° ìë¬ ìì´ ìë£ëìëê°?
- ì ì¥ ê²½ë¡ë¥¼ ìëµì í¬í¨íëê°?
- ì ì¥ ì¤í¨ ì FAIL ìëµì ë°ííëê°?
ì ë ê¸ì§
- íì¼ ì ì¥ ì¤í¨ ì “ì ì¥ë ê²ì²ë¼” ìëµíì§ ììëê°?
- ì ì¥ ìì´ ë¶ì “ìë£”ë¡ ìëµíì§ ììëê°?
6. ìëµ í í릿
ì±ê³µ ì ìëµ
{
"status": "PASS",
"output_file": "{output_path}/{filename}.json",
"summary": {
// ë¶ì ê²°ê³¼ ìì½
}
}
ì¤í¨ ì ìëµ
{
"status": "FAIL",
"error": "FILE_SAVE_FAILED",
"detail": "02-valuation-report.json ì ì¥ ì¤í¨",
"attempted_path": "consultations/2026-01-14-TSLA-abc123/02-valuation-report.json",
"action": "ì¬ìë íì"
}
ë©í ì ë³´
version: "1.0"
created: "2026-01-20"
purpose: "íì¼ ì ì¥ íë¡í ì½ íµí© - ì½ë ì¤ë³µ ì ê±°"
based_on: "investments-portfolio/skills/file-save-protocol"
consumers:
- stock-screener
- stock-valuation
- bear-case-critic
- stock-critic
extracted_from:
- "íì¼ ì ì¥ íì ì¹ì
(investments-portfolio)"
- "ì ì¥ íë¡ì¸ì¤ ì¹ì
"
- "ì ì¥ ì¤í¨ ì ìëµ íì"
dependencies:
- Write
output_path_pattern: "consultations/{YYYY-MM-DD}-{ticker}-{session_id}/"