xlsx
npx skills add https://github.com/unicorn-plugins/claude-skills --skill xlsx
Agent 安装分布
Skill 文档
Excel ì¤íë ëìí¸(XLSX) ì²ë¦¬ ì¤í¬
[XLSX ì¤í¬ íì±í]
목í
Excel ì¤íë ëìí¸(.xlsx) ìì±, ì½ê¸°, í¸ì§, ë¶ìì ì 문 ìì´ì í¸ì ììíì¬ ì¬ì©ì ìì²ì ììí¨.
íì±í ì¡°ê±´
ì¬ì©ìê° .xlsx, Excel, ìì
, ì¤íë ëìí¸ í¤ìë를 ì¸ê¸íê±°ë í íì ë°ì´í° íì¼ ì°ì¶ë¬¼ì ìì²í ë íì±í.
ìí¬íë¡ì°
Phase 1: ìì
ì í íë³ (ulw íì©)
ì¬ì©ì ìì²ì ë¶ìíì¬ ìì±/ì½ê¸°/í¸ì§/ìì ì¬ê³ì° ìì ì íì ê²°ì í¨.
| ìì ì í | íë³ ì¡°ê±´ |
|---|---|
| ìì±/í¸ì§ | openpyxlë¡ Excel íì¼ ìì± ëë 기존 íì¼ ìì |
| ì½ê¸°/ë¶ì | pandasë¡ ë°ì´í° ì½ê¸°, íµê³ ë¶ì, ìê°í |
| ìì ì¬ê³ì° | LibreOffice 매í¬ë¡ë¡ ìì ê° ì ë°ì´í¸ |
ì´ Phaseë ulw ë§¤ì§ í¤ìë를 íì©íì¬ ìíí¨.
Phase 2-A: ìì±/í¸ì§ â Agent: office-editor (/oh-my-claudecode:ralph íì©)
- TASK: openpyxlì ì¬ì©íì¬ Excel ìì± ëë í¸ì§
- EXPECTED OUTCOME: ì í¨í Excel íì¼ ìì±. ììì´ ìë ê²½ì° recalc.pyë¡ ì¬ê³ì° ìë£. ì¤ë¥ 0ê°
- MUST DO:
- ê³ì° ë¡ì§ì Excel ììì¼ë¡ ìì± (Pythonìì ê³ì° í íëì½ë© ê¸ì§)
- ì¬ë¬´ 모ë¸ë§ ì ìì ì½ë© íì¤ ì¤ì (blue=ì ë ¥, black=ìì, green=ìí¬ìí¸ ë§í¬)
- ì«ì ìì íì¤í (ì°ëë í ì¤í¸, íµíë $#,##0, 0ì “-“)
- 모ë ê°ì ì ë³ë ì ì ë°°ì¹íê³ ìììì 참조
- ìì± í recalc.pyë¡ ìì ì¬ê³ì° (íì)
- ì¬ê³ì° ê²°ê³¼ìì ì¤ë¥ ë°ê²¬ ì ìì í ì¬ì¤í
- MUST NOT DO:
- ììì íëì½ë©ë ê°ì¼ë¡ ëì²´íì§ ìì
- #REF!, #DIV/0!, #VALUE! ë± ìì ì¤ë¥ë¥¼ ë¨ê¸°ì§ ìì
- CONTEXT:
- PYTHONPATH=gateway/tools íê²½ë³ì ì¤ì íì
- openpyxl/pandas API ë í¼ë°ì¤ë
agents/office-editor/references/xlsx-api-reference.md참조 - ì¬ë¬´ 모ë¸ë§ íì¤ì
agents/office-editor/references/financial-modeling.md참조
ì´ Phaseë /oh-my-claudecode:ralph를 íì©íì¬ ìíí¨.
Phase 2-B: ì½ê¸°/ë¶ì â Agent: office-editor (ulw íì©)
- TASK: pandasë¡ Excel ë°ì´í° ì½ê¸° ë° ë¶ì
- EXPECTED OUTCOME: ë°ì´í° ì¶ì¶, íµê³ ë¶ì, ìê°í ê²°ê³¼
- MUST DO:
- ì ì í dtype ì§ì íì¬ íì ì¶ë¡ ì¤ë¥ ë°©ì§
- ëì©ë íì¼ì usecolsë¡ íì 컬ë¼ë§ ì½ê¸°
- ë ì§ ì»¬ë¼ì parse_dates ì¬ì©
- MUST NOT DO: ë¶ì 결과를 íëì½ë©ë ê°ì¼ë¡ Excelì ì ì¥ ê¸ì§ (ìì ì¬ì©)
- CONTEXT: pandas APIë
agents/office-editor/references/xlsx-api-reference.md참조
ì´ Phaseë ulw ë§¤ì§ í¤ìë를 íì©íì¬ ìíí¨.
Phase 2-C: ìì ì¬ê³ì° â Agent: office-editor (ulw íì©)
- TASK: LibreOffice 매í¬ë¡ ì¤íì¼ë¡ Excel ìì ì¬ê³ì°
- EXPECTED OUTCOME: 모ë ìì ê°ì´ ìµì ìíë¡ ì ë°ì´í¸ë¨. ì¤ë¥ 0ê°
- MUST DO:
- recalc.py ì¤í¬ë¦½í¸ ì¤í
- ë°íë JSONìì ì¤ë¥ íì¸
- ì¤ë¥ê° ë°ê²¬ëë©´ (#REF!, #DIV/0! ë±) í´ë¹ ì ìì í ì¬ì¤í
- MUST NOT DO: ì¤ë¥ê° ìë ìíìì ìë£ ì ì¸íì§ ìì
- CONTEXT: recalc.pyë ìëì¼ë¡ LibreOffice 매í¬ë¡ ì¤ì . ìëë°ì¤ íê²½ ì§ì
ì´ Phaseë ulw ë§¤ì§ í¤ìë를 íì©íì¬ ìíí¨.
Phase 3: ê²°ê³¼ ê²ì¦ (ulw íì©)
ìì±/í¸ì§ë Excel íì¼ì ë¬´ê²°ì± íì¸.
| ê²ì¦ í목 | ê²ì¦ ë°©ë² |
|---|---|
| íì¼ ë¡ë ê°ë¥ | openpyxlë¡ ì ì ë¡ë íì¸ |
| ìì ì¬ê³ì° ìë£ | recalc.py ì¤í ê²°ê³¼ status: success íì¸ |
| ì¤ë¥ 0ê° | recalc.py ë°í JSONìì total_errors: 0 íì¸ |
| ë°ì´í° ë¬´ê²°ì± | ì ê°, ìì, ìì ë³´ì¡´ íì¸ |
ì´ Phaseë ulw ë§¤ì§ í¤ìë를 íì©íì¬ ìíí¨.
ìì´ì í¸ í¸ì¶ ê·ì¹
ìì´ì í¸ FQN
| ìì´ì í¸ | FQN | í°ì´ |
|---|---|---|
| office-editor | claude-skills:office-editor:office-editor |
MEDIUM |
í롬íí¸ ì¡°ë¦½ ì ì°¨
agents/office-editor/ìì 3íì¼ ë¡ë (AGENT.md + agentcard.yaml + tools.yaml)gateway/runtime-mapping.yaml참조íì¬ êµ¬ì²´í:- ëª¨ë¸ êµ¬ì²´í: agentcard.yamlì
tier: MEDIUMâtier_mapping.default.MEDIUMâclaude-sonnet-4-5 - í´ êµ¬ì²´í: tools.yamlì ì¶ì ë구 â
tool_mappingìì ì¤ì ë구 ê²°ì - ê¸ì§ì¡ì
구체í:
forbidden_actions: [user_interact, agent_delegate]âaction_mappingìì[AskUserQuestion, Task]ì ì¸ - ìµì¢ ë구 = (구체íë ë구) – (ì ì¸ ë구)
- ëª¨ë¸ êµ¬ì²´í: agentcard.yamlì
- í롬íí¸ ì¡°ë¦½: 3íì¼ì í©ì³ íëì í롬íí¸ë¡ 구ì±
- êµ¬ì± ìì: ê³µíµ ì ì (runtime-mapping) â ìì´ì í¸ë³ ì ì (3íì¼) â ëì (ìì ì§ì)
Task(subagent_type="claude-skills:office-editor:office-editor", model="claude-sonnet-4-5", prompt=조립ë í롬íí¸)í¸ì¶
ì¤ì¼ì¤í¸ë ì´ì ì¤í¬ íì©
| ìí¬íë¡ì° Phase | ì¶ì² ì¤í¬ | ì ì© |
|---|---|---|
| Phase 1 (ìì ì í íë³) | ulw ë§¤ì§ í¤ìë |
íì |
| Phase 2 (ìì±/í¸ì§ ì¤í) | /oh-my-claudecode:ralph |
íì |
| Phase 3 (ê²°ê³¼ ê²ì¦) | ulw ë§¤ì§ í¤ìë |
íì |
ì¤í¬ë¦½í¸ í¸ì¶ í¨í´
모ë 커ì¤í ë구 í¸ì¶ ì PYTHONPATH íê²½ë³ì를 ì¤ì :
PYTHONPATH=gateway/tools python gateway/tools/xlsx/recalc.py output.xlsx
ìë£ ì¡°ê±´
| # | ì¡°ê±´ |
|---|---|
| 1 | ìì±/í¸ì§ë Excelì´ openpyxlë¡ ì ì ë¡ëë¨ |
| 2 | ììì´ ìë ê²½ì° recalc.pyë¡ ì¬ê³ì° ìë£ |
| 3 | ë°ì´í° ë¬´ê²°ì± íì¸ (ì ê°, ìì, ìì ë³´ì¡´) |
| 4 | ìì ì¤ë¥ 0ê° (total_errors: 0) |
ê²ì¦ íë¡í ì½
- openpyxlë¡ ê²°ê³¼ íì¼ ë¡ëíì¬ ë¬´ê²°ì± íì¸
- ììì´ í¬í¨ë ê²½ì° recalc.pyë¡ ì¬ê³ì° í ê²°ê³¼ JSON íì¸
- JSONì statusê° “errors_found”ì´ë©´ error_summary 참조íì¬ ìì í ì¬ì¤í
- 모ë ê²ì¦ íµê³¼ íìë§ ìë£ ì ì¸
ìí ì 리
ìí íì¼ ë¯¸ì¬ì© (ë¨ê±´ ìì ). ìì íì¼ ìì.
ì·¨ì
cancelomc ëë stopomc í¤ìëë¡ ì¦ì ì¤ë¨.
ì¬ê°
ì본 íì¼ì´ ë³´ì¡´ëì´ ìì¼ë¯ë¡ ì²ìë¶í° ì¬ìì ê°ë¥.
MUST ê·ì¹
| # | ê·ì¹ |
|---|---|
| 1 | ììì´ í¬í¨ë ì ì ê°ì´ ìë ììì ë³´ì¡´ |
| 2 | ì¬ë¬´ 모ë¸ë§ ì financial-modeling.md ê°ì´ë ì¤ì |
| 3 | 모ë Phaseì ì¤ì¼ì¤í¸ë ì´ì ì¤í¬ íì© íì ëª ì |
| 4 | ìì´ì í¸ ìì ì 5í목 í¬í¨ |
| 5 | ììì´ ìë Excel ìì±/í¸ì§ ì ë°ëì recalc.py ì¤í |
| 6 | recalc.py ë°í JSONìì ì¤ë¥ ë°ê²¬ ì ìì í ì¬ì¤í |
MUST NOT ê·ì¹
| # | ê¸ì§ ì¬í |
|---|---|
| 1 | ììì íëì½ë©ë ê°ì¼ë¡ ëì²´íì§ ìì |
| 2 | ìì´ì í¸ì ë´ë¶ ì 차를 ì¤í¬ìì 기ì íì§ ìì |
| 3 | ìì ì¤ë¥(#REF!, #DIV/0! ë±)를 ë¨ê¸°ì§ ìì |
ê²ì¦ ì²´í¬ë¦¬ì¤í¸
- frontmatterì name, description í¬í¨
- ìì´ì í¸ í¸ì¶ ê·ì¹ ì¹ì í¬í¨ (FQN, í롬íí¸ ì¡°ë¦½ 4ë¨ê³, ì¤ì¼ì¤í¸ë ì´ì íì©)
- 모ë Phaseì ì¤í¬ ë¶ì¤í ëª ì
- ìë£ ì¡°ê±´, ê²ì¦ íë¡í ì½, ìí ì 리, ì·¨ì/ì¬ê° ì¹ì í¬í¨
- MUST ê·ì¹, MUST NOT ê·ì¹ ì¹ì í¬í¨
- Agent ìì ë¨ê³ì 5í목 í¬í¨