ClaudeMods
☰
KO
● 0 명 접속 중 · 조회 0 회
후원프로젝트 제출
GitHub 저장소 · 작성자 noopz

commonplace

어떤 폴더든 LLM이 관리하는 지식 베이스로 바꿉니다. commonplace book 전통과 [Karpathy](https://x.com/karpathy/status/1899559051789553968)가 LLM을 개인 wiki 관리에 활용하는 방식에서 영감을 받았습니다.

번역 완료

이 mod 소개

Obsidian vault든 일반 폴더든 모든 디렉터리에서 작동합니다. Obsidian은 필수가 아니며, [[wikilink]] Markdown을 사용한다면 좋은 브라우저일 뿐입니다.

기능

  • wiki-init: commonplace를 폴더에 처음 연결 → .wiki/를 구성하고 초기 도메인 탐색
  • wiki-ingest: 논문, 기사 또는 URL 공유 → 구조화된 vault 노트 + concepts + MOC 링크
  • wiki-query: 연구 질문 → wikilink가 포함된 답변과 새 연결을 다시 파일에 기록
  • wiki-lint: “vault 상태가 어때?” → 읽기 전용 상태 보고서
  • autoimprove: “vault 개선” → 점수로 제어되는 루프가 수정 사항을 고르고, 실행하고, 다시 점수를 매기며 반복
  • wiki-compile: 원 논문에서 실제 정의를 가져와 개념 스텁 채우기
  • wiki-supersede: 후속 항목으로 대체된 엔터티를 퇴역시키고 live→historical 재구성을 전파
  • wiki-domain: 범위 규칙이 있는 연구 도메인 생성 또는 관리
  • wiki-deep-link: 로컬 임베딩(Ollama)으로 숨은 개념 연결 찾기
  • paper-analyzer: 스마트 PDF 추출과 다중 에이전트 검토를 통한 심층 논문 분석

작동 방식

스킬은 자연스러운 대화에서 자동으로 트리거됩니다. 슬래시 명령을 입력할 필요 없이 대화하면 알맞은 스킬이 활성화됩니다.

설치

git clone https://github.com/noopz/commonplace
cd commonplace
npm install

# vault를 지정합니다
npx tsx scripts/init.ts --vault /path/to/your/vault

의존성

  • gray-matter — YAML frontmatter 파싱
  • glob — 파일 패턴 매칭
  • pdfjs-dist — PDF 텍스트 추출
  • tsx — TypeScript 실행

설치

먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.

claude plugin marketplace add noopz/commonplace
claude plugin install commonplace
원문 / README

commonplace

A Claude Code plugin that turns any folder into an LLM-maintained knowledge base. Inspired by the commonplace book tradition and Karpathy's approach to using LLMs for personal wiki management.

Works on any directory — Obsidian vault, plain folder, whatever. Obsidian is not required; it's just a good browser for [[wikilink]] markdown if you use it.

What it does

  • wiki-init: Point commonplace at a folder for the first time → scaffold .wiki/, discover initial domains
  • wiki-ingest: Share a paper, article, or URL → structured vault note + concepts + MOC links
  • wiki-query: Ask research questions → answers with wikilinks + novel connections filed back
  • wiki-lint: Ask "how's the vault?" → read-only health report
  • autoimprove: "improve the vault" → score-gated loop that picks fixes, executes, re-scores, repeats
  • wiki-compile: Fill concept stubs with real definitions from source papers
  • wiki-supersede: Retire an entity replaced by a successor, propagate the live→historical reframing
  • wiki-domain: Create or manage research domains with scope rules
  • wiki-deep-link: Find hidden concept connections via local embeddings (Ollama)
  • paper-analyzer: Deep paper analysis with smart PDF extraction and multi-agent review

How it works

Skills auto-trigger from natural conversation. You never type slash commands — just chat and the right skill activates.

Skill interactions

                        ┌─────────────┐
                        │  wiki-init  │  (one-time setup)
                        └──────┬──────┘
                               │ writes .vault-path
                               ▼
            ┌──────────────────────────────────────┐
            │            (vault is active)         │
            └──────────────────────────────────────┘
                               │
            ┌──────────────────┼──────────────────────────┐
            │                  │                          │
            ▼                  ▼                          ▼
     ┌────────────┐    ┌─────────────┐            ┌──────────────┐
     │ wiki-domain│    │ wiki-ingest │ ◀───┐      │  wiki-query  │
     └────────────┘    └──────┬──────┘     │      └──────┬───────┘
       (new domain             │ paper?    │             │ pivot Q
        when ingest             │ ─yes──▶ paper-analyzer  │ "how does
        finds none)             │           (returns      │  this relate
                                │            analysis)    │  to X?")
                                ▼                        │
                        ┌──────────────┐                 │ ◀────┘
                        │ supersession │   (post-ingest pivot
                        │  declared in │    auto-fires wiki-query)
                        │   body? ──yes┼─▶ wiki-supersede
                        └──────┬───────┘
                               │ no
                               ▼
                       ┌────────────────┐
                       │ post-write hook│
                       │  (deterministic)│
                       └──────┬─────────┘
                              │ dispatches
              ┌───────────────┼─────────────────┐
              ▼               ▼                 ▼
      wiki-moc-updater  wiki-impact-checker  wiki-cross-domain-linker
                                  │
                                  └─ supersession candidate ──▶ wiki-supersede

  Read-only path:                    Autonomous-write path:
  ┌──────────────┐                   ┌──────────────┐
  │  wiki-lint   │ ◀── if fixes ──▶ │ autoimprove  │
  │  (diagnose)  │     wanted        │ (score loop) │
  └──────────────┘                   └──────┬───────┘
                                            │ dispatches per round
                          ┌─────────────────┼────────────────┬──────────────────┐
                          ▼                 ▼                ▼                  ▼
                   wiki-linter      wiki-pruner      wiki-moc-updater   wiki-deep-linker
                                   (refuses retired                       (semantic
                                    → wiki-supersede)                      candidates)
                                            │
                                            ▼
                                    wiki-compile (inline at main-model cost)
                                            │
                                            ▼
                                    wiki-freshness-checker (post-loop)

  Bottom-up triggers (any skill → wiki-supersede):
    • wiki-query lands on retired note
    • wiki-pruner asked to delete retired
    • wiki-impact-checker flags candidate
    • commonplace lint reports retired-but-referenced

| Skill | Triggers on | Hands off to | Receives from | |---|---|---|---| | wiki-init | first-time setup; missing .vault-path | (none) | (entry point) | | wiki-domain | "set up a domain", "list domains" | (none) | wiki-ingest (no domain match) | | wiki-ingest | "save this", arXiv ID, paper URL | paper-analyzer; wiki-supersede; wiki-domain; post-write hook | (entry point) | | paper-analyzer | "analyze this paper"; arXiv without save intent | (returns analysis) | wiki-ingest | | wiki-query | "how does X relate to Y"; post-ingest pivot | wiki-supersede (retired note) | wiki-ingest | | wiki-supersede | "mark X retired"; body declares supersession; retired-but-live debt | (terminal) | wiki-ingest, wiki-query, wiki-pruner, wiki-impact-checker | | wiki-lint | "how's the vault" — read-only | autoimprove (if fixes wanted) | (entry point) | | autoimprove | "improve the vault", "what's the score" | wiki-linter, wiki-pruner, wiki-moc-updater, wiki-deep-linker, wiki-compile, wiki-freshness-checker | wiki-lint | | wiki-compile | "fill the stubs" | (none) | autoimprove; wiki-lint | | wiki-deep-link | "find hidden connections" (needs Ollama) | (none) | autoimprove (optional) |

Three-tier cost model:

  1. TypeScript scripts (zero LLM cost) — indexing, validation, linting
  2. Haiku agents (cheap) — mechanical fixes, wikilink insertion, MOC syncing
  3. Main model (synthesis) — paper analysis, concept definitions, query answers

Install

git clone https://github.com/noopz/commonplace
cd commonplace
npm install

# Point it at your vault
npx tsx scripts/init.ts --vault /path/to/your/vault

Dependencies

  • gray-matter — YAML frontmatter parsing
  • glob — File pattern matching
  • pdfjs-dist — PDF text extraction
  • tsx — TypeScript execution

비슷한 프로젝트