rhwp ๋ดํฌ์ ์ถ์ฒ ํ์ง(untrustedContent/untrustedFields)๋ฅผ ์ฝ๊ณ ๋ฌธ์ ํ์ ๊ฐ์ ๋ฐ์ดํฐ๋ก ๊ฒฉ๋ฆฌํ๋ ๊ท์ฝ์ ๋๋ค. export-provenance-map ์ผ๋ก "์ด๋ ํ๋๊ฐ ๋ฌธ์์์ ์จ ๊ฐ์ธ๊ฐ" ์ง๋๋ฅผ ์ป๊ณ , ๋ฌธ์ ํ์ ๊ฐ์ ํ๋กฌํํธ์ ๋ฃ์ ๋์ ์ฃผ์ ๋ฐฉ์ด ์์น(inspect injection ์ฐ๊ณ, nonce ๊ฒฝ๊ณ ํ์ง, ๊ธ์ง ์๋ฆฌ ๋ชฉ๋ก)์ ์ ์ฉํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "์ด ๊ฐ์ด ๋ฌธ์์์ ์จ ๊ฑด๊ฐ",โฆ
rhwp ์ ์ฅ์์ ๊ธฐ์ฌ(์ด์ยท์ฝ๋ ๋ณ๊ฒฝยท๋ฌธ์ยทPR)ํ ๋์ ๊ณต์ ์ ์ฐจ๋ฅผ ์๋ดํฉ๋๋ค. ์ด์ ๋ฑ๋ก โ ๋ถ์ โ ๋ธ๋์น(upstream/devel) โ ๊ตฌํ โ ๋ก์ปฌ ๊ฒ์ฆ ๊ฒ์ดํธ โ ์์ ์ฆ๋น(์บก์) โ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ ๋ฌธ์ โ ํ๊ตญ์ด PR ๊น์ง์ ์์์, ๋ณ๊ฒฝ ๋ฒ์๋ณ ํ์ ๊ฒ์ฆ(fmt/clippy/testยท์๊ฐ ๊ฒ์ฆ)์ ์ ์ฅ์ ๊ท์ฝ๋๋ก ๋ฐ์ต๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "rhwp์ ๊ธฐ์ฌ", "PR ์ฌ๋ ค", "์ด์ ๋ง๋ค๊ณ ์์ ", "๋ฒ๊ทธ ๊ณ ์ณ์ ์ ์ถ", "๊ธฐ์ฌ ์ ์ฐจ" ๋ฑ์โฆ
์ Claude ์คํฌ(.claude/skills/*/SKILL.md)์ ๋ง๋ค๊ฑฐ๋ ๊ณ ์น ๋ ์นดํ๋ก๊ทธยทintentยท๊ทธ๋ํ์ ๋ฑ๋กํ๊ณ 3-pass ๊ฒ์ดํธ๋ฅผ ๋ช ๋ น๋ง๋ค ์ธ ๋ฒ ํต๊ณผ์ํต๋๋ค. ํธ๋ฆฌ๊ฑฐ โ "์ ์คํฌ", "์คํฌ ๋ง๋ค์ด", "create a skill", "SKILL.md ์์ฑ". ์ rhwp CLIยท์ด์ ์คํฌ ๋ณธ๋ฌธยทtest_route.py ์์ ์ ์ฑ ์ ๋ฐ์ ๋๋ค.
๋ชจ๋ ์ฌ์ฉ์ ์์ฒญ์ ์คํฌ ๋ผ์ฐํฐ์ ํต๊ณผ์์ผ intentโcapabilityโskillโexecutionGraph ๋ดํฌ๋ฅผ ๋ฐ์ ๋ค ๊ทธ ๊ทธ๋ํ ์์๋๋ก ์คํํฉ๋๋ค. PRยท๊ธฐ์ฌ("PR ์ฌ๋ ค")๋ ์์ธ ์์ด ๊ฐ์ ๊ฒฝ๋ก์ ๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ rhwp ์์ ์ ์์ฒญํ ๋, "์ด๋ค ์คํฌ์ ์ฐ์ง", "๋ผ์ฐํฐ", "execution graph", "PR ์ฌ๋ ค", "๊ธฐ์ฌ", "์ด ์์ ์ฑ์์ค" ๋ฑ์ ๋งํ ๋. ๊ถ์๋โฆ
rhwp CLI ๋ก ์ฒ์ ๋ณด๋ HWP/HWPX ๋ฌธ์๋ฅผ ์ปจํ ์คํธ๋ฅผ ์๋ผ๋ฉฐ ๋น ๋ฅด๊ฒ ํ์ ํฉ๋๋ค. info ๋ฉํ โ explain ํ ์ค ์์ฝ โ export-structure ๊ฐ์/์กฐ๋ฌธ โ digest ๋ฐ์ท โ search ๊ทผ๊ฑฐ ์๋ ๊ฒ์ โ extract-data ๋ ์งยท๊ธ์ก ์ถ์ถ ์์ ํ๋จ ํธ๋ฆฌ๋ก, ๊ธด ๋ฌธ์์์ ์ ๋ฌธ ๋คํ ์์ด ํ์ํ ๋ถ๋ถ๋ง ์ขํ ์ฝ์ต๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "์ด hwp ๋ญ ๋ฌธ์์ผ?", "๋ด์ฉ ์์ฝํด์ค", "๋ชฉ์ฐจ ๋ฝ์์ค", "์ด๋์ X๊ฐโฆ
rhwp CLI ๋ก HWP/HWPX ์์์ ๋๋ฆํ์ ๊ฐ์ ์ฑ์ฐ๊ณ ๋ฉ์ผ๋จธ์ง ์ฐ์ถ๋ฌผ์ ๋ง๋ญ๋๋ค. fields ์กฐ์ฌ โ fill-fields ๋จ๊ฑด ์ฑ์(๋ฐ๋ณต ํ๋ `์ด๋ฆ[์๋ฒ]` ์ง๋ชฉ) โ batch fill(์์ 1 + ๋ฐ์ดํฐ Nํ) โ --dry-run/--verify ํ์ โ sanitize ์ ์ถ ์ ๋ฆฌ๊น์ง ์ํํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "์ด ์์/์ ์ฒญ์/์์ ์ฑ์์ค", "๋๋ฆํ์ ๊ฐ ๋ฃ์ด์ค", "๋ช ๋จ์ผ๋ก N๋ช ๋ถ ๋ง๋ค์ด์ค", "๋ฉ์ผ๋จธ์ง", "์์์ ๋ญ ์ฑ์์ผโฆ
rhwp ๋ฅผ MCP ์๋ฒ(mcp-serve)๋ก ์์ด์ ํธ ํธ์คํธ์ ๋ถ์ด๊ณ ์ธ์ ยท๋ฌด์ํ ๋๊ตฌ๋ฅผ ๊ณ ๋ฅด๋ ํตํฉ ๊ท์ฝ์ ๋๋ค. .mcp.json ๋ฑ๋ก, ์ธ์ ์๋ช (hwp_openโhwp_doc_*โhwp_close)๊ณผ ๋ฌด์ํ ์ ํ ๊ธฐ์ค, resources(์คํค๋งยท๋ ์ํผยท๋ฌธ์) ์๋น, capabilities --mcp ๊ฐ ๋๊ตฌ ์ ์์ ๋จ์ผ ์ถ์ฒ๋ผ๋ ๊ณ์ฝ, ํ์ 3์ธต ์ค๋ฅ ๋ณต๊ตฌ๋ฅผ ๋ค๋ฃน๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "rhwp ๋ฅผ MCP๋ก ๋ถ์ฌ/๋ฑ๋กํด", "mcp-serve",โฆ
rhwp ๋ฅผ ์ฒ์ ๋ง๋๋ ์์ด์ ํธ๋ฅผ ํ ๋ช ๋ น์ผ๋ก ์จ๋ณด๋ฉํฉ๋๋ค. tools/agent_onboarding/rhwp_doctor.py ํ๋๋ก ๋ฐ์ด๋๋ฆฌ ์์นยท๋ฒ์ ํ์ธ โ ๋ฒ๋ค ์ํ ์๊ฐ๊ฒ์ฆ(info/export-text) โ ๋ถ์ฌ๋ฃ๊ธฐ์ฉ .mcp.json ๋ฐฉ์ถ โ ์ฒซ 5๋ถ ๋ ์ํผ ์ง๋(ํธ๋ฆฌ์์งยทํ ์ถ์ถยท์์ ์กฐ์ฌยท๋ณด์ ์ค์ยท์์ ์์์ฆ)๊น์ง ๋๋ด๊ณ , ์ข ๋ฃ ์ฝ๋๋ก ์ ์/๋น๋ํ์๋ฅผ ์ ํธํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ โ ์ฌ์ฉ์๊ฐ "rhwp ์ฒ์/์ค์น/์์/์จ๋ณด๋ฉ", "rhwp ์ด๋ป๊ฒโฆ