@0xkahi/llw 0.0.0-stage → 0.0.0

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.
@@ -0,0 +1,129 @@
1
+ ---
2
+ name: llw-vault-setup
3
+ description: >
4
+ Set up (or repair) the files the `llw` CLI needs inside the user's `llm-wiki` Obsidian vault:
5
+ the bundles base, the bundle/concept templates, the Templates plugin config, and the `bundles/` folder.
6
+ Use when the user mentions "setup llm-wiki", "setup vault", "llw setup", or when an `llw` command fails
7
+ because the base file or templates are missing.
8
+ ---
9
+
10
+ # LLW Vault Setup
11
+
12
+ This skill **only sets up files** inside an existing `llm-wiki` vault.
13
+ It does not create the vault, install Obsidian, or change app settings. The user does those, as listed below.
14
+
15
+ ## Guardrails
16
+
17
+ - **DO NOT** create, register, rename, or move a vault. If anything is missing, stop and tell the user what to do.
18
+ - **NEVER** overwrite an existing file without showing the user a diff and getting confirmation.
19
+ - **DO NOT** edit the shipped base or template contents. Copy them exactly; `llw` depends on their filters and frontmatter keys.
20
+ - Only write inside the vault folder (including its `.obsidian/templates.json`).
21
+
22
+ ---
23
+
24
+ ## Step 1: Check the user's prerequisites
25
+
26
+ Run:
27
+
28
+ ```bash
29
+ obsidian version
30
+ obsidian vaults verbose
31
+ ```
32
+
33
+ Both commands must succeed, and the vault list must include a vault named **exactly** `llm-wiki`.
34
+ If either check fails, **stop** and send the user this, then wait for them to confirm before re-running the check:
35
+
36
+ ```
37
+ Before I can set up the llm-wiki files, please:
38
+ 1. Install and open the Obsidian desktop app (it must be running whenever you use llw).
39
+ 2. Turn on the Obsidian CLI: Settings → General → Command line interface.
40
+ 3. Create a vault named exactly "llm-wiki" (vault switcher → Create new vault, or "Open folder as vault"
41
+ on a folder named llm-wiki).
42
+ 4. Make sure the "Bases" and "Templates" core plugins are on (Settings → Core plugins).
43
+ Let me know when that's done.
44
+ ```
45
+
46
+ Then get the vault path and the shipped setup files:
47
+
48
+ ```bash
49
+ VAULT_DIR="$(obsidian vault=llm-wiki vault info=path)"
50
+ SETUP_DIR="$(llw skills view llw-vault-setup --path)/../../obsidian-setup"
51
+ ls -la "$SETUP_DIR/.settings" "$SETUP_DIR/bases" "$SETUP_DIR/config/templates"
52
+ ```
53
+
54
+ ---
55
+
56
+ ## Step 2: Copy the vault files
57
+
58
+ | Source (`$SETUP_DIR/...`) | Target (`$VAULT_DIR/...`) |
59
+ |---|---|
60
+ | `bases/bundles-index.base` | `bases/bundles-index.base` |
61
+ | `config/templates/bundle.md` | `config/templates/bundle.md` |
62
+ | `config/templates/concept.md` | `config/templates/concept.md` |
63
+ | (folder) | `bundles/` |
64
+
65
+ ```bash
66
+ mkdir -p "$VAULT_DIR/bases" "$VAULT_DIR/config/templates" "$VAULT_DIR/bundles"
67
+ for f in bases/bundles-index.base config/templates/bundle.md config/templates/concept.md; do
68
+ if [ ! -e "$VAULT_DIR/$f" ]; then cp "$SETUP_DIR/$f" "$VAULT_DIR/$f" && echo "created $f"
69
+ elif diff -q "$SETUP_DIR/$f" "$VAULT_DIR/$f" >/dev/null; then echo "ok $f"
70
+ else echo "DIFFERS $f"; fi
71
+ done
72
+ ```
73
+
74
+ For any `DIFFERS` file, show `diff "$SETUP_DIR/<f>" "$VAULT_DIR/<f>"` to the user and only overwrite if they agree.
75
+
76
+ `cache/` is created automatically by `llw bundle sync`. Don't create it.
77
+
78
+ ---
79
+
80
+ ## Step 3: Configure the Templates plugin folder
81
+
82
+ The Templates plugin reads `$VAULT_DIR/.obsidian/templates.json`. The shipped version lives at
83
+ `$SETUP_DIR/.settings/templates.json` (the package folder is `.settings`, not `.obsidian`):
84
+
85
+ ```json
86
+ { "dateFormat": "", "timeFormat": "HH:mm", "folder": "config/templates" }
87
+ ```
88
+
89
+ - If `$VAULT_DIR/.obsidian/templates.json` doesn't exist, copy the shipped file there.
90
+ - If it exists, **merge**: set `folder` to `config/templates` and `timeFormat` to `HH:mm`, and keep every other key.
91
+ Leave `dateFormat` empty, because the default `YYYY-MM-DD` gives concept timestamps the format `YYYY-MM-DDTHH:mm`.
92
+
93
+ Obsidian may not notice the change while it's running, so reload:
94
+
95
+ ```bash
96
+ obsidian vault=llm-wiki reload
97
+ ```
98
+
99
+ ---
100
+
101
+ ## Step 4: Verify
102
+
103
+ These checks are read-only:
104
+
105
+ ```bash
106
+ obsidian vault=llm-wiki templates # must list bundle and concept
107
+ llw vault path # prints VAULT_DIR
108
+ llw bundle list --pretty # fresh vault: { "bundles": [] }
109
+ ```
110
+
111
+ - If `templates` doesn't list both, ask the user to check **Settings → Templates → Template folder location** = `config/templates`
112
+ and that the Templates core plugin is on.
113
+ - If `llw bundle list` fails on `base:query`, ask the user to make sure the Bases core plugin is on.
114
+
115
+ ---
116
+
117
+ ## Final report
118
+
119
+ ```
120
+ llm-wiki vault files ready (<VAULT_DIR>)
121
+ - bases/bundles-index.base: created | ok | kept user version
122
+ - config/templates/bundle.md: created | ok | kept user version
123
+ - config/templates/concept.md: created | ok | kept user version
124
+ - bundles/: ready
125
+ - .obsidian/templates.json: created | merged | ok
126
+ - verification: templates ✓, llw bundle list ✓
127
+ ```
128
+
129
+ List anything the user still needs to fix by hand.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: test-skill
3
+ description: >
4
+ a simple test skill for llw to test the llw skill output with
5
+ references
6
+ ---
7
+
8
+ # LLW Test Skill
9
+
10
+ this skill does nothing its only meant to test the skill output with references.
11
+
12
+ ## References
13
+ - TEST_REFERENCE_1: [Test Reference 1](sk-references/example-reference.md)
14
+ - TEST_REFERENCE_2: [Test Reference 2](sk-references/some-other-reference.md)
15
+
16
+ Ordinary shell variables such as `$HOME` are not skill references.
17
+ Repeated reference: [Test Reference 1](sk-references/example-reference.md)
18
+
19
+ some other gibberish text
@@ -0,0 +1,3 @@
1
+ # Example Reference 1
2
+
3
+ gibberish
@@ -0,0 +1,3 @@
1
+ # Orphan Reference
2
+
3
+ This file is intentionally not linked from `SKILL.md`. It exists to verify that unlinked files in `sk-references/` do not fail registry integrity validation.
@@ -0,0 +1,3 @@
1
+ # Some Other Reference
2
+
3
+ also some gibberish