Imported from ictechgy/cartograph (
Skills/AGENTS.md). Install upstream withnpx skills add ictechgy/cartograph --skill Skills. Copyright stays with the author.
Skills/AGENTS.md
์์ด์ ํธ ์คํฌ ๋ฌธ์ ๊ท์น์ ๋๋ค. ๋ฃจํธ AGENTS.md๋ฅผ ๋จผ์ ์ฝ์ผ์ธ์.
Skills/cartograph/SKILL.md๋ ์ง์ ํธ์งํ์ง ์์ต๋๋ค
์ด ํ์ผ์ ์์ฑ๋ฌผ์
๋๋ค. ์๋ณธ์ Sources/CartographConfig/AgentSkillTemplate.swift์ markdown ์์์ด๊ณ , cartograph skill์ด ๊ทธ๊ฒ์ ์ค์นํฉ๋๋ค. ์ ์ฅ์์ ์ฌ๋ณธ์ ์ฌ๋์ด GitHub์์ ์ฝ๊ธฐ ์ํ ๊ฒ์ด๋ฉฐ, AgentSkillTemplateTests์ ๋๋ฆฌํํธ ํ
์คํธ๊ฐ ๋์ด ๊ฐ์์ง ๋น๊ตํฉ๋๋ค.
์ ์ฅ์ ๋ฃจํธ์์ ๊ณ ์น๋ ์์(๊ฐ ๋ช ๋ น์ด ์ฑ๊ณตํ ๋ค ๋ค์์ผ๋ก ์งํ):
# 1. ํ
ํ๋ฆฟ์ ๊ณ ์น๋ค
$EDITOR Sources/CartographConfig/AgentSkillTemplate.swift
# 2. ์ฌ๋ณธ์ ๋ค์ ์์ฑํ๋ค
swift build
skill_bin_dir="$(swift build --show-bin-path)"
skill_stage="$(mktemp -d "${TMPDIR:-/tmp}/cartograph-skill.XXXXXX")"
"$skill_bin_dir/cartograph" skill --project "$skill_stage"
cp "$skill_stage/.claude/skills/cartograph/SKILL.md" Skills/cartograph/SKILL.md
# 3. ๋๋ฆฌํํธ ํ
์คํธ๋ฅผ ๋๋ฆฐ๋ค
swift test --filter AgentSkillTemplateTests
# 4. ์ด๋ฒ์ ๋ง๋ ์์ ์ฌ๋ณธ๋ง ์ ๋ฆฌํ๋ค. ์ ์ ์๋ ํ์ผ์ด ์์ผ๋ฉด rmdir๊ฐ ์คํจํ๋ค.
rm "$skill_stage/.claude/skills/cartograph/SKILL.md"
rmdir "$skill_stage/.claude/skills/cartograph" "$skill_stage/.claude/skills" \
"$skill_stage/.claude" "$skill_stage"
์ด ์ ์ฅ์ ์์ฒด์ .claude/skills/๋ฅผ ๋จ๊ธฐ์ง ๋ง์ธ์. ๋ ์ฌ๋ณธ์ด ๋๋ ์๊ฐ ๋๋ฆฌํํธ ๋ฌธ์ ๊ฐ ๋ค์ ์๊น๋๋ค.
์ด ๋ฌธ์๊ฐ ์งํค๋ ๊ฒ
์์ด์ ํธ๋ ํ์ ์ ๊ณง๋ฐ๋ก ํธ์ง์ผ๋ก ์ฎ๊น๋๋ค. ์ฌ๋์ unreachable์ ๋ณด๋ฉด ํ ๋ฒ ๋ ํ์ธํ์ง๋ง ์์ด์ ํธ๋ ์ง์๋๋ค. ๊ทธ๋์ ์ด ๋ฌธ์์ ์ ๋ฐ์ "๋ฌด์์ ์คํํ๋ผ"๊ฐ ์๋๋ผ "๋ฌด์์ ๊ทผ๊ฑฐ๋ก ์ผ์ง ๋ง๋ผ" ์ด๊ณ , ๊ทธ ์ ๋ค์ ํ
์คํธ๋ก ๊ณ ์ ๋์ด ์์ต๋๋ค. ์ง์ฐ๋ฉด ํ
์คํธ๊ฐ ์คํจํฉ๋๋ค.
state๋ ํ์ ์ด ์๋๋ค โ "It is not "safe to delete""- public API๋ ๊ธฐ๋ณธ์ผ๋ก ๋ณด์กด ๋ฟ๋ฆฌ๊ฐ ์๋๋ค โ
retain_public๊ธฐ๋ณธ๊ฐ์ด ๊บผ์ง์ด๋ผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๊ณต๊ฐ API ์ ์ฒด๊ฐ unreachable๋ก ๋์จ๋ค. ์ด ๋ฌธ์๊ฐ ๋ผ ์ ์๋ ๊ฐ์ฅ ํฐ ์ฌ๊ณ ๋ผ ๊ท์น 2์ ์๋ค limitations๋ฅผ ๊ฐ์ ์๋ต์์ ์ฝ์ด๋ผsuppressedByBaseline์ ํ์ด ์ด๋ฏธ ๋ด๋ฆฐ ๊ฒฐ์ ์ด๋ค- ํ์
์
dependsOn: []์ "์๋ฌด๊ฒ๋ ์์กดํ์ง ์๋๋ค"๊ฐ ์๋๋ค โmembers๋ฅผ ๋ฐ๋ผ๊ฐ๋ผ - ๊ท์น์ ํต๊ณผํ ๋ค ๋ฌด์์ ํ ์ง โ ๊ธ์ง๋ง ์ ์ผ๋ฉด ์ฒดํฌ๋ฆฌ์คํธ๊ฐ "ํต๊ณผํ๋ฉด ์งํ"์ผ๋ก ๋ฌด๋์ง๋ค.
## When the rules pass์ ์ด ๊ทธ ๋ต์ด๊ณ , ์ด๊ฒ์ด ์์ผ๋ฉด ์ด ๋ฌธ์๋ ์์ ๋๋ณด๋ค ๋์๋ค dead์ผ๊ด ๋ชฉ๋ก์๋ ๊ท์น์ด ์ ์ฉ๋๋ค โ "A long list is not a mandate"- ์ด ๋๊ตฌ๊ฐ ๋ตํ ์ ์๋ ๊ฒ โ Objective-C ์ ์ธ, ์ด ์ธ์ ์์ ๋ฐ๊พผ ์ฝ๋(์ธ๋ฑ์ค๋ ๋น๋ํด์ผ ๊ฐฑ์ ), rename์ ์์ ์ฑ
์๋งค ํ๋ก์ ํธ์์ ๊ด๊ณ
kartograph ยท dartograph ์ ์คํฌ์ ์ด ๋ฌธ์๋ฅผ ์ถ๋ฐ์ ์ผ๋ก ์ผ๊ณ , ์ ์ ๋ค์ ๊ทธ๋๋ก ์ ์งํ ์ฑ ํ๋ซํผ ๊ณ ์ ์ ๋ง ๋ํฉ๋๋ค. query ์คํค๋ง๊ฐ ๊ฐ์ผ๋ฏ๋ก ๊ฐ์ ๋ฌธ์ฅ์ผ๋ก ๊ฐ๋ฅด์น ์ ์์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ ์ ๋ฐ๊พธ๋ฉด ์๋งค ํ๋ก์ ํธ์๋ ์๋ฆฌ์ธ์.
์๋จธ๋ฆฌ(frontmatter)
name๊ณผ description์ ๋ฐ๋ ์กฐ๊ฑด์
๋๋ค. ์ค๋ช
์ ์ฝ๋ก ์ ๋ฃ์ผ๋ฉด YAML์ด ๊นจ์ง๊ณ , ๊นจ์ง ์คํฌ์ ์ค์น๋์ง๋ง ์๋ฌด๋ ๋ถ๋ฅด์ง ์๋ ๋ฌธ์๊ฐ ๋ฉ๋๋ค. ํ
์คํธ๊ฐ ํค: ๊ฐ ํ์ฑ๊ณผ ๋ฐ๋ ํค์๋("before deleting", "dead", "unused", "who calls", "Swift")๋ฅผ ํ์ธํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ฐ๋ ๋ง๋ก ๋ฐ๋ํ์ง ์์ผ๋ฉด ๋๋จธ์ง ๋ฌธ์๊ฐ ์๋ฌด๋ฆฌ ์ณ์๋ ์ฝํ์ง ์์ต๋๋ค.