obsidian-wiki 2026.5.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. obsidian_wiki-2026.5.2/.agent/rules/obsidian-wiki.md +44 -0
  2. obsidian_wiki-2026.5.2/.agent/workflows/obsidian-wiki.md +29 -0
  3. obsidian_wiki-2026.5.2/.cursor/rules/obsidian-wiki.mdc +41 -0
  4. obsidian_wiki-2026.5.2/.env.example +76 -0
  5. obsidian_wiki-2026.5.2/.github/copilot-instructions.md +44 -0
  6. obsidian_wiki-2026.5.2/.github/workflows/publish.yml +65 -0
  7. obsidian_wiki-2026.5.2/.github/workflows/setup.yml +29 -0
  8. obsidian_wiki-2026.5.2/.gitignore +13 -0
  9. obsidian_wiki-2026.5.2/.hermes.md +1 -0
  10. obsidian_wiki-2026.5.2/.kiro/steering/obsidian-wiki.md +43 -0
  11. obsidian_wiki-2026.5.2/.skills/claude-history-ingest/SKILL.md +376 -0
  12. obsidian_wiki-2026.5.2/.skills/claude-history-ingest/references/claude-data-format.md +118 -0
  13. obsidian_wiki-2026.5.2/.skills/codex-history-ingest/SKILL.md +245 -0
  14. obsidian_wiki-2026.5.2/.skills/codex-history-ingest/references/codex-data-format.md +82 -0
  15. obsidian_wiki-2026.5.2/.skills/copilot-history-ingest/SKILL.md +373 -0
  16. obsidian_wiki-2026.5.2/.skills/copilot-history-ingest/references/copilot-data-format.md +321 -0
  17. obsidian_wiki-2026.5.2/.skills/cross-linker/SKILL.md +270 -0
  18. obsidian_wiki-2026.5.2/.skills/daily-update/SKILL.md +199 -0
  19. obsidian_wiki-2026.5.2/.skills/data-ingest/SKILL.md +195 -0
  20. obsidian_wiki-2026.5.2/.skills/graph-colorize/SKILL.md +180 -0
  21. obsidian_wiki-2026.5.2/.skills/hermes-history-ingest/SKILL.md +236 -0
  22. obsidian_wiki-2026.5.2/.skills/hermes-history-ingest/references/hermes-data-format.md +131 -0
  23. obsidian_wiki-2026.5.2/.skills/impl-validator/SKILL.md +118 -0
  24. obsidian_wiki-2026.5.2/.skills/ingest-url/SKILL.md +348 -0
  25. obsidian_wiki-2026.5.2/.skills/llm-wiki/SKILL.md +526 -0
  26. obsidian_wiki-2026.5.2/.skills/llm-wiki/references/karpathy-pattern.md +45 -0
  27. obsidian_wiki-2026.5.2/.skills/memory-bridge/SKILL.md +163 -0
  28. obsidian_wiki-2026.5.2/.skills/obsidian-wiki-ingest/SKILL.md +79 -0
  29. obsidian_wiki-2026.5.2/.skills/obsidian-wiki-ingest/scripts/ingest-wiki.sh +7 -0
  30. obsidian_wiki-2026.5.2/.skills/openclaw-history-ingest/SKILL.md +254 -0
  31. obsidian_wiki-2026.5.2/.skills/openclaw-history-ingest/references/openclaw-data-format.md +154 -0
  32. obsidian_wiki-2026.5.2/.skills/pi-history-ingest/SKILL.md +280 -0
  33. obsidian_wiki-2026.5.2/.skills/skill-creator/LICENSE.txt +202 -0
  34. obsidian_wiki-2026.5.2/.skills/skill-creator/SKILL.md +485 -0
  35. obsidian_wiki-2026.5.2/.skills/skill-creator/agents/analyzer.md +274 -0
  36. obsidian_wiki-2026.5.2/.skills/skill-creator/agents/comparator.md +202 -0
  37. obsidian_wiki-2026.5.2/.skills/skill-creator/agents/grader.md +223 -0
  38. obsidian_wiki-2026.5.2/.skills/skill-creator/assets/eval_review.html +146 -0
  39. obsidian_wiki-2026.5.2/.skills/skill-creator/eval-viewer/generate_review.py +471 -0
  40. obsidian_wiki-2026.5.2/.skills/skill-creator/eval-viewer/viewer.html +1325 -0
  41. obsidian_wiki-2026.5.2/.skills/skill-creator/references/schemas.md +430 -0
  42. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/__init__.py +0 -0
  43. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  44. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/generate_report.py +326 -0
  45. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/improve_description.py +247 -0
  46. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/package_skill.py +136 -0
  47. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/quick_validate.py +103 -0
  48. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/run_eval.py +310 -0
  49. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/run_loop.py +328 -0
  50. obsidian_wiki-2026.5.2/.skills/skill-creator/scripts/utils.py +47 -0
  51. obsidian_wiki-2026.5.2/.skills/tag-taxonomy/SKILL.md +218 -0
  52. obsidian_wiki-2026.5.2/.skills/wiki-agent/SKILL.md +312 -0
  53. obsidian_wiki-2026.5.2/.skills/wiki-capture/SKILL.md +249 -0
  54. obsidian_wiki-2026.5.2/.skills/wiki-context-pack/SKILL.md +138 -0
  55. obsidian_wiki-2026.5.2/.skills/wiki-dashboard/SKILL.md +469 -0
  56. obsidian_wiki-2026.5.2/.skills/wiki-dedup/SKILL.md +282 -0
  57. obsidian_wiki-2026.5.2/.skills/wiki-digest/SKILL.md +240 -0
  58. obsidian_wiki-2026.5.2/.skills/wiki-export/SKILL.md +314 -0
  59. obsidian_wiki-2026.5.2/.skills/wiki-history-ingest/SKILL.md +61 -0
  60. obsidian_wiki-2026.5.2/.skills/wiki-ingest/SKILL.md +390 -0
  61. obsidian_wiki-2026.5.2/.skills/wiki-ingest/references/ingest-prompts.md +42 -0
  62. obsidian_wiki-2026.5.2/.skills/wiki-lint/SKILL.md +532 -0
  63. obsidian_wiki-2026.5.2/.skills/wiki-query/SKILL.md +188 -0
  64. obsidian_wiki-2026.5.2/.skills/wiki-quick-chat-capture/SKILL.md +114 -0
  65. obsidian_wiki-2026.5.2/.skills/wiki-quick-chat-capture/references/RAW-FORMAT.md +115 -0
  66. obsidian_wiki-2026.5.2/.skills/wiki-rebuild/SKILL.md +213 -0
  67. obsidian_wiki-2026.5.2/.skills/wiki-research/SKILL.md +241 -0
  68. obsidian_wiki-2026.5.2/.skills/wiki-setup/SKILL.md +182 -0
  69. obsidian_wiki-2026.5.2/.skills/wiki-stage-commit/SKILL.md +164 -0
  70. obsidian_wiki-2026.5.2/.skills/wiki-status/SKILL.md +462 -0
  71. obsidian_wiki-2026.5.2/.skills/wiki-switch/SKILL.md +98 -0
  72. obsidian_wiki-2026.5.2/.skills/wiki-synthesize/SKILL.md +204 -0
  73. obsidian_wiki-2026.5.2/.skills/wiki-update/SKILL.md +239 -0
  74. obsidian_wiki-2026.5.2/.windsurf/rules/obsidian-wiki.md +41 -0
  75. obsidian_wiki-2026.5.2/AGENTS.md +133 -0
  76. obsidian_wiki-2026.5.2/CLAUDE.md +1 -0
  77. obsidian_wiki-2026.5.2/GEMINI.md +1 -0
  78. obsidian_wiki-2026.5.2/LICENSE +21 -0
  79. obsidian_wiki-2026.5.2/PKG-INFO +499 -0
  80. obsidian_wiki-2026.5.2/README.md +477 -0
  81. obsidian_wiki-2026.5.2/SETUP.md +174 -0
  82. obsidian_wiki-2026.5.2/obsidian_wiki/__init__.py +14 -0
  83. obsidian_wiki-2026.5.2/obsidian_wiki/__main__.py +6 -0
  84. obsidian_wiki-2026.5.2/obsidian_wiki/cli.py +398 -0
  85. obsidian_wiki-2026.5.2/pyproject.toml +88 -0
  86. obsidian_wiki-2026.5.2/scripts/com.obsidian-wiki.daily-update.plist +35 -0
  87. obsidian_wiki-2026.5.2/scripts/daily-update.sh +114 -0
  88. obsidian_wiki-2026.5.2/scripts/wiki-notify.sh +42 -0
  89. obsidian_wiki-2026.5.2/setup.sh +245 -0
@@ -0,0 +1,44 @@
1
+ ---
2
+ alwaysApply: true
3
+ description: Obsidian Wiki skill-based framework — routing, conventions, and core rules.
4
+ ---
5
+
6
+ # Obsidian Wiki — Agent Context
7
+
8
+ This project is a **skill-based framework** for building and maintaining an Obsidian knowledge base.
9
+
10
+ ## Quick Orientation
11
+
12
+ 1. Read `~/.obsidian-wiki/config` (or `.env` in this repo) for `OBSIDIAN_VAULT_PATH` — this is where the wiki lives.
13
+ 2. Read `.manifest.json` at the vault root to see what's already been ingested.
14
+ 3. Skills are in `.skills/` (also at `.agents/skills/`). Each subfolder has a `SKILL.md`.
15
+
16
+ ## When to Use Skills
17
+
18
+ | User says something like… | Read this skill |
19
+ |---|---|
20
+ | "set up my wiki" / "initialize" | `wiki-setup` |
21
+ | "ingest" / "add this to the wiki" | `wiki-ingest` |
22
+ | "import my Claude history" | `claude-history-ingest` |
23
+ | "import my Codex history" | `codex-history-ingest` |
24
+ | "import my Hermes history" | `hermes-history-ingest` |
25
+ | "import my OpenClaw history" | `openclaw-history-ingest` |
26
+ | "import my Pi history" | `pi-history-ingest` |
27
+ | "process this export" / "ingest this data" | `data-ingest` |
28
+ | "what's the status" / "show the delta" | `wiki-status` |
29
+ | "what do I know about X" | `wiki-query` |
30
+ | "audit" / "lint" / "find broken links" | `wiki-lint` |
31
+ | "rebuild" / "archive" / "restore" | `wiki-rebuild` |
32
+ | "link my pages" / "cross-reference" | `cross-linker` |
33
+ | "fix my tags" | `tag-taxonomy` |
34
+ | "update wiki" / "sync to wiki" | `wiki-update` |
35
+ | "export wiki" / "export graph" | `wiki-export` |
36
+
37
+ ## Core Rules
38
+
39
+ - **Compile, don't retrieve** — update existing pages, don't append or duplicate.
40
+ - **Track everything** — update `.manifest.json`, `index.md`, and `log.md` after every operation.
41
+ - **Connect with `[[wikilinks]]`** — every page should link to related pages.
42
+ - **Frontmatter required** — every page needs `title`, `category`, `tags`, `sources`, `created`, `updated`.
43
+
44
+ For full context, read `AGENTS.md` at the repo root.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: obsidian-wiki
3
+ description: Obsidian wiki workflows — query, update, ingest, lint, status.
4
+ commands:
5
+ - name: wiki-query
6
+ description: Answer questions from the compiled Obsidian wiki with [[wikilink]] citations.
7
+ skill: .skills/wiki-query/SKILL.md
8
+ - name: wiki-update
9
+ description: Sync the current project's knowledge into the Obsidian wiki.
10
+ skill: .skills/wiki-update/SKILL.md
11
+ - name: wiki-ingest
12
+ description: Ingest documents into the Obsidian wiki.
13
+ skill: .skills/wiki-ingest/SKILL.md
14
+ - name: wiki-status
15
+ description: Show what's been ingested, what's pending, and the delta.
16
+ skill: .skills/wiki-status/SKILL.md
17
+ - name: wiki-lint
18
+ description: Audit the wiki for orphans, broken links, stale content.
19
+ skill: .skills/wiki-lint/SKILL.md
20
+ ---
21
+
22
+ # Obsidian Wiki — Workflow Registry
23
+
24
+ Each command above maps to a `SKILL.md` in `.skills/`. When a user invokes one
25
+ of these commands, read the mapped skill file and follow its instructions
26
+ exactly. The skills handle vault path resolution, manifest tracking, and
27
+ `[[wikilink]]` connectivity on their own.
28
+
29
+ For the full routing table (all 15+ skills), see `AGENTS.md` at the repo root.
@@ -0,0 +1,41 @@
1
+ ---
2
+ description: Obsidian Wiki skill-based framework for building and maintaining knowledge bases. Use these rules whenever engaging with the vault, wiki, ingestion, or knowledge management.
3
+ globs: "**/*"
4
+ alwaysApply: true
5
+ ---
6
+
7
+ # Obsidian Wiki — Agent Context
8
+
9
+ This project is a **skill-based framework** for building and maintaining an Obsidian knowledge base.
10
+
11
+ ## Quick Orientation
12
+
13
+ 1. Read `.env` for `OBSIDIAN_VAULT_PATH` — this is where the wiki lives.
14
+ 2. Read `.manifest.json` at the vault root to see what's already been ingested.
15
+ 3. Skills are in `.skills/` (also at `.cursor/skills/`). Each subfolder has a `SKILL.md`.
16
+
17
+ ## When to Use Skills
18
+
19
+ | User says something like… | Read this skill |
20
+ |---|---|
21
+ | "set up my wiki" / "initialize" | `.skills/wiki-setup/SKILL.md` |
22
+ | "ingest" / "add this to the wiki" | `.skills/wiki-ingest/SKILL.md` |
23
+ | "/wiki-history-ingest claude" / "/wiki-history-ingest codex" | `.skills/wiki-history-ingest/SKILL.md` |
24
+ | "import my Claude history" | `.skills/claude-history-ingest/SKILL.md` |
25
+ | "import my Codex history" | `.skills/codex-history-ingest/SKILL.md` |
26
+ | "process this export" / "ingest this data" | `.skills/data-ingest/SKILL.md` |
27
+ | "what's the status" / "show the delta" | `.skills/wiki-status/SKILL.md` |
28
+ | "what do I know about X" / any question | `.skills/wiki-query/SKILL.md` |
29
+ | "audit" / "lint" / "find broken links" | `.skills/wiki-lint/SKILL.md` |
30
+ | "rebuild" / "start over" / "archive" | `.skills/wiki-rebuild/SKILL.md` |
31
+ | "link my pages" / "cross-reference" | `.skills/cross-linker/SKILL.md` |
32
+ | "fix my tags" / "normalize tags" | `.skills/tag-taxonomy/SKILL.md` |
33
+ | "create a new skill" | `.skills/skill-creator/SKILL.md` |
34
+
35
+ ## Key Rules
36
+
37
+ - **Compile, don't retrieve.** Update existing pages, don't just append.
38
+ - **Always update `.manifest.json`** after ingesting.
39
+ - **Always update `index.md` and `log.md`** after any operation.
40
+ - **Use `[[wikilinks]]`** to connect related pages.
41
+ - **Frontmatter is required** on every wiki page.
@@ -0,0 +1,76 @@
1
+ # =============================================================================
2
+ # Obsidian Wiki — Environment Configuration
3
+ # Copy this to .env and set your vault path
4
+ # =============================================================================
5
+
6
+ # --- Required ---
7
+
8
+ # Absolute path to your Obsidian vault
9
+ OBSIDIAN_VAULT_PATH=
10
+
11
+ # --- Optional ---
12
+
13
+ # Comma-separated source directories to ingest documents from
14
+ # Leave empty to skip document ingestion
15
+ OBSIDIAN_SOURCES_DIR=
16
+
17
+ # Wiki categories (directories created in the vault)
18
+ OBSIDIAN_CATEGORIES=concepts,entities,skills,references,synthesis,journal
19
+
20
+ # Max pages to create/update per ingest operation
21
+ OBSIDIAN_MAX_PAGES_PER_INGEST=15
22
+
23
+ # Claude conversation history path (auto-discovered from ~/.claude if empty)
24
+ CLAUDE_HISTORY_PATH=
25
+
26
+ # Codex history path (defaults to ~/.codex if empty)
27
+ CODEX_HISTORY_PATH=
28
+
29
+ # Pi agent session history path (defaults to ~/.pi/agent/sessions if empty)
30
+ PI_HISTORY_PATH=
31
+
32
+ # Lint schedule: daily | weekly | manual
33
+ LINT_SCHEDULE=weekly
34
+
35
+ # Internal link format for generated/updated pages
36
+ # wikilink (default) → [[concepts/foo]] or [[concepts/foo|display text]]
37
+ # markdown → [display text](relative/path.md)
38
+ # Only affects future writes — existing vault content is never migrated automatically.
39
+ OBSIDIAN_LINK_FORMAT=wikilink
40
+
41
+ # --- QMD Semantic Search (optional) ---
42
+ #
43
+ # QMD indexes your wiki and sources for fast semantic search.
44
+ # Install: https://github.com/tobi/qmd
45
+ # After installing, point these at your QMD collection names (set when you ran `qmd index`).
46
+ #
47
+ # Without QMD: wiki-ingest and wiki-query fall back to Grep/Glob — fully functional, just slower.
48
+ # With QMD: semantic search replaces grep passes, enabling concept-level matches and cross-collection queries.
49
+
50
+ # Name of the QMD collection indexing your compiled wiki pages (OBSIDIAN_VAULT_PATH)
51
+ QMD_WIKI_COLLECTION=
52
+
53
+ # Name of the QMD collection indexing your raw source documents (OBSIDIAN_SOURCES_DIR or _raw/)
54
+ QMD_PAPERS_COLLECTION=
55
+
56
+ # QMD integration transport: mcp | cli
57
+ # mcp preserves the original behavior and uses an agent-configured QMD MCP server.
58
+ # cli runs the local qmd command directly; useful for agents without QMD MCP support.
59
+ QMD_TRANSPORT=mcp
60
+
61
+ # CLI search quality mode: quality | balanced | fast
62
+ # quality: qmd query with reranking (best relevance, slowest on CPU)
63
+ # balanced: qmd query --no-rerank (good hybrid results, faster)
64
+ # fast: qmd vsearch (semantic only) or qmd search when exact terms matter
65
+ QMD_CLI_SEARCH_MODE=quality
66
+
67
+ # Optional qmd binary override if qmd is not on PATH.
68
+ QMD_CLI=qmd
69
+
70
+ # --- Raw Staging Directory (optional) ---
71
+ #
72
+ # A directory inside OBSIDIAN_VAULT_PATH for unprocessed draft pages.
73
+ # Drop rough notes, clipboard pastes, or quick captures here.
74
+ # wiki-ingest will promote them to proper wiki pages when you run it.
75
+ # Promoted files are deleted from _raw/ after processing.
76
+ OBSIDIAN_RAW_DIR=_raw
@@ -0,0 +1,44 @@
1
+ # Obsidian Wiki — Copilot Context
2
+
3
+ This project is a **skill-based framework** for building and maintaining an Obsidian knowledge base using AI coding agents. There are no scripts or dependencies — everything is markdown instructions that the agent executes directly.
4
+
5
+ ## Project Overview
6
+
7
+ - **Purpose:** Build and maintain an Obsidian wiki using the LLM Wiki pattern (Andrej Karpathy).
8
+ - **Tech Stack:** Markdown only. No code, no dependencies. The AI agent IS the runtime.
9
+ - **Key Config:** `.env` contains `OBSIDIAN_VAULT_PATH` pointing to the vault location.
10
+ - **Skills:** `.skills/` contains skill folders, each with a `SKILL.md` defining a workflow.
11
+
12
+ ## Key Concepts
13
+
14
+ - The wiki is a **compiled artifact** — knowledge distilled from raw sources into interconnected pages.
15
+ - Every wiki page has YAML frontmatter: `title`, `category`, `tags`, `sources`, `created`, `updated`.
16
+ - Pages are connected with Obsidian `[[wikilinks]]`.
17
+ - A `.manifest.json` in the vault root tracks all ingested sources for delta-based updates.
18
+ - `index.md` and `log.md` must be updated after every operation.
19
+
20
+ ## Skills Reference
21
+
22
+ | Skill | Folder | Purpose |
23
+ |---|---|---|
24
+ | Setup | `.skills/wiki-setup/` | Initialize vault structure |
25
+ | Ingest | `.skills/wiki-ingest/` | Distill documents into wiki pages |
26
+ | History Router | `.skills/wiki-history-ingest/` | Route `/wiki-history-ingest <claude|codex>` to the right history skill |
27
+ | Claude History | `.skills/claude-history-ingest/` | Mine `~/.claude` conversations |
28
+ | Codex History | `.skills/codex-history-ingest/` | Mine `~/.codex` sessions and rollout logs |
29
+ | Data Ingest | `.skills/data-ingest/` | Process any text data |
30
+ | Status | `.skills/wiki-status/` | Audit ingestion state and delta |
31
+ | Query | `.skills/wiki-query/` | Answer questions from wiki |
32
+ | Lint | `.skills/wiki-lint/` | Find broken links, orphans |
33
+ | Rebuild | `.skills/wiki-rebuild/` | Archive and rebuild |
34
+ | Cross-Linker | `.skills/cross-linker/` | Auto-discover and insert missing wikilinks |
35
+ | Tag Taxonomy | `.skills/tag-taxonomy/` | Enforce consistent tag vocabulary |
36
+ | LLM Wiki | `.skills/llm-wiki/` | Core architecture pattern |
37
+ | Skill Creator | `.skills/skill-creator/` | Create new skills |
38
+
39
+ ## Coding Conventions
40
+
41
+ - When creating wiki pages, always use YAML frontmatter.
42
+ - Use `[[wikilinks]]` syntax for cross-references — NOT markdown links.
43
+ - Project-specific knowledge goes in `projects/<name>/`. Global knowledge goes in top-level categories.
44
+ - Never modify the `.obsidian/` directory.
@@ -0,0 +1,65 @@
1
+ name: publish
2
+
3
+ # Build and publish obsidian-wiki to PyPI when a version tag is pushed.
4
+ #
5
+ # Setup (one-time): on PyPI, add a Trusted Publisher for this repo with
6
+ # workflow `publish.yml` and environment `pypi`. No API token needed — the
7
+ # `id-token: write` permission below mints a short-lived OIDC credential.
8
+ #
9
+ # Release: bump `version` in pyproject.toml, commit, then
10
+ # git tag v0.1.0 && git push origin v0.1.0
11
+
12
+ on:
13
+ push:
14
+ tags:
15
+ - "v*"
16
+ # Allow a manual build (artifacts only, no publish) for verification.
17
+ workflow_dispatch:
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ jobs:
23
+ build:
24
+ runs-on: ubuntu-latest
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+ - uses: actions/setup-python@v5
28
+ with:
29
+ python-version: "3.x"
30
+ - name: Build sdist and wheel
31
+ run: |
32
+ python -m pip install --upgrade build
33
+ python -m build
34
+ - name: Verify wheel bundles the skills
35
+ run: |
36
+ python -m pip install --upgrade twine
37
+ twine check dist/*
38
+ wheel=$(ls dist/*.whl)
39
+ echo "Inspecting $wheel"
40
+ if ! python -m zipfile -l "$wheel" | grep -q "obsidian_wiki/_data/skills/wiki-setup/SKILL.md"; then
41
+ echo "::error::wheel is missing bundled skills under obsidian_wiki/_data/skills/"
42
+ exit 1
43
+ fi
44
+ - uses: actions/upload-artifact@v4
45
+ with:
46
+ name: dist
47
+ path: dist/
48
+
49
+ publish:
50
+ needs: build
51
+ runs-on: ubuntu-latest
52
+ # Only publish on a real tag push, not workflow_dispatch.
53
+ if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
54
+ environment: pypi
55
+ permissions:
56
+ id-token: write # required for PyPI Trusted Publishing (OIDC)
57
+ steps:
58
+ - uses: actions/download-artifact@v4
59
+ with:
60
+ name: dist
61
+ path: dist/
62
+ - name: Publish to PyPI
63
+ uses: pypa/gh-action-pypi-publish@release/v1
64
+ with:
65
+ skip-existing: true
@@ -0,0 +1,29 @@
1
+ name: setup
2
+
3
+ # Guards setup.sh against the regression where it rewrites committed
4
+ # relative symlinks with absolute paths (or any other modification to
5
+ # tracked files). See #52 for the original bug.
6
+
7
+ on:
8
+ push:
9
+ branches: [main]
10
+ pull_request:
11
+
12
+ jobs:
13
+ install-leaves-tree-clean:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - name: Run setup.sh
18
+ # stdin closed so the vault-path prompt returns empty rather than hang
19
+ run: bash setup.sh < /dev/null
20
+ - name: Working tree must be unchanged
21
+ run: |
22
+ if ! git diff --exit-code; then
23
+ echo "::error::setup.sh modified tracked files. Likely cause: an" \
24
+ "in-repo symlink mirror is being written with an absolute" \
25
+ "target instead of a relative one. See install_skills() in setup.sh."
26
+ exit 1
27
+ fi
28
+ - name: Re-run is idempotent
29
+ run: bash setup.sh < /dev/null && git diff --exit-code
@@ -0,0 +1,13 @@
1
+ .env
2
+ .DS_Store
3
+ *.pyc
4
+ __pycache__/
5
+
6
+ # Python build artifacts (pyproject.toml / `python -m build`)
7
+ /dist/
8
+ /build/
9
+ *.egg-info/
10
+
11
+ # Agent skill symlinks (created by setup.sh) — these are just pointers to .skills/
12
+ # We track them so cloners get the symlinks too, but if your git doesn't
13
+ # preserve symlinks, run `bash setup.sh` after cloning.
@@ -0,0 +1 @@
1
+ AGENTS.md
@@ -0,0 +1,43 @@
1
+ ---
2
+ inclusion: always
3
+ ---
4
+
5
+ # Obsidian Wiki — Agent Context
6
+
7
+ This project is a **skill-based framework** for building and maintaining an Obsidian knowledge base.
8
+
9
+ ## Quick Orientation
10
+
11
+ 1. Read `~/.obsidian-wiki/config` (or `.env` in this repo) for `OBSIDIAN_VAULT_PATH` — this is where the wiki lives.
12
+ 2. Read `.manifest.json` at the vault root to see what's already been ingested.
13
+ 3. Skills are in `.skills/` (also at `.kiro/skills/`). Each subfolder has a `SKILL.md`.
14
+
15
+ ## When to Use Skills
16
+
17
+ | User says something like… | Read this skill |
18
+ |---|---|
19
+ | "set up my wiki" / "initialize" | `wiki-setup` |
20
+ | "ingest" / "add this to the wiki" / "process these docs" | `wiki-ingest` |
21
+ | "import my Claude history" / "mine my conversations" | `claude-history-ingest` |
22
+ | "import my Codex history" | `codex-history-ingest` |
23
+ | "import my Hermes history" | `hermes-history-ingest` |
24
+ | "import my OpenClaw history" | `openclaw-history-ingest` |
25
+ | "import my Pi history" | `pi-history-ingest` |
26
+ | "process this export" / "ingest this data" | `data-ingest` |
27
+ | "what's the status" / "show the delta" | `wiki-status` |
28
+ | "what do I know about X" | `wiki-query` |
29
+ | "audit" / "lint" / "find broken links" | `wiki-lint` |
30
+ | "rebuild" / "archive" / "restore" | `wiki-rebuild` |
31
+ | "link my pages" / "cross-reference" | `cross-linker` |
32
+ | "fix my tags" | `tag-taxonomy` |
33
+ | "update wiki" / "sync to wiki" | `wiki-update` |
34
+ | "export wiki" / "export graph" | `wiki-export` |
35
+
36
+ ## Core Rules
37
+
38
+ - **Compile, don't retrieve** — update existing pages, don't append or duplicate.
39
+ - **Track everything** — update `.manifest.json`, `index.md`, and `log.md` after every operation.
40
+ - **Connect with `[[wikilinks]]`** — every page should link to related pages.
41
+ - **Frontmatter required** — every page needs `title`, `category`, `tags`, `sources`, `created`, `updated`.
42
+
43
+ For full context, read `AGENTS.md` at the repo root.