projects-maplisted
Install: claude install-skill Finfra/fpm
# 목적
`Projects.md` 는 전 프로젝트를 나열하지만 **어떤 프로젝트가 어디에 속하는지**는 표만으로 파악하기 어렵다. 본 스킬은 `Projects.md` 의 `# Project Map` 섹션(Issue294 rename — 구 `# Project Tree`·`# 프로젝트 트리` 도 파서 허용, 텍스트 인덴트 트리)을 소스로 `Projects_map.htm` 을 생성한다.
설계 근거는 [`_doc_arch/projects-map-design.md`](../../../_doc_arch/projects-map-design.md) 가 SSOT — 문법·완전성·토글·링크 사양 변경은 그 문서를 먼저 갱신할 것.
**prj1(`___pm`) 로컬 스킬이다** — `Projects.md` 자체가 `___pm` 전용 데이터라 글로벌 SCAR 화 불필요(issue-map 과의 핵심 차이).
# 트리거
* `python3 .claude/skills/projects-map/build_projects_map.py` 직접 실행
* "프로젝트 맵 갱신해줘", "Projects_map 다시 그려줘" (자연어, ___pm 루트에서)
* `Projects.md` 의 `# Project Map` 섹션 갱신 직후
# 실행
`___pm` 루트(= `Projects.md` 위치)에서 실행. 스크립트 자신의 위치로 루트를 자동 추론하므로 cwd 는 무관하나, 출력은 기본적으로 루트에 쓰인다.
```bash
python3 .claude/skills/projects-map/build_projects_map.py
# 경로 직접 지정
python3 .claude/skills/projects-map/build_projects_map.py --root ~/_git/___pm --projects Projects.md --out Projects_map.htm
```
생성 후 확인 — 목적에 따라 셋 중 하나:
| 보고 싶은 곳 | 방법 |
| :--- | :--- |
| **VSCode 탐색기 클릭** | `Projects_map.md` 클릭 → `⌘⇧V` (미리보기). `bierner.markdown-mermaid` 가 직접 렌더 — 서버·CDN 불요 |
| OS 브라우저 | `open "http://127.0.0.1:9876/projects-map"` |
| VSCode Simple Browser 패널 | `open "vscode://finfra.fpm-simple-browser/open?url=http%3A%2F%2F127.0.0.1%3A9876%2Fprojects-map"` |
`.md` 는 다이어그램·미할당 목록만 담은 읽기 전용 판이다. 필터·`cdf` 복사·활성 세션 배지가 필요하면 hub 판(`.htm`)을 열 것.
> ⚠️ `open Projects_map.htm`(= `file://`)로 열지 말 것. 맵 본체가 mermaid **원시 소스 텍스트**로 보인다. 파일에는 mermaid 런타임 로더가 없고, hub 서버가 serve 시점에