| name | syncing-knowledge-garden |
| description | Syncs the sb-knowledge-base Obsidian vault to the knowledge-garden Quartz site. Use after reorganizing content in Obsidian or when the vault has been updated and the Quartz site needs to match. |
Syncing Knowledge Base to Knowledge Garden
Overview
This skill synchronizes content from sb-knowledge-base (Obsidian vault) to knowledge-garden (Quartz static site). The vault is the source of truthโall content reorganization should happen in Obsidian first, then sync to Quartz.
IMPORTANT: Only files with publish: true in their frontmatter are synced. Files without this field or with publish: false are excluded from the knowledge garden.
Note: The knowledge-garden target structure may need updates to match the new vault organization. Coordinate with the KG repository maintainers before running sync operations.
When to Use
- After reorganizing content in Obsidian
- After adding or editing published content in the vault
- When preparing to test a Quartz build with updated content
- When type definitions have been updated in
tools/types/
Repository Structure
sb-knowledge-base (source):
sb-knowledge-base/
โโโ docs/ โ Working documents by group
โ โโโ aifs/
โ โโโ dao-primitives/
โ โโโ rpp/
โ โโโ ...
โโโ data/ โ Structured records by type
โ โโโ concepts/ โ Lexicon entries
โ โโโ links/ โ External resources
โ โโโ resources/
โ โ โโโ patterns/
โ โ โโโ practices/
โ โ โโโ primitives/
โ โ โโโ protocols/
โ โ โโโ playbooks/
โ โโโ stories/
โ โ โโโ articles/
โ โ โโโ studies/
โ โโโ questions/
โ โโโ people/
โ โโโ groups/
โ โโโ projects/
โ โโโ places/
โ โโโ gatherings/
โโโ tools/
โโโ types/ โ FileClass definitions
knowledge-garden (target):
knowledge-garden/
โโโ content/
โ โโโ docs/ โ Sync from docs/
โ โโโ data/ โ Sync from data/
โ โ โโโ concepts/
โ โ โโโ links/
โ โ โโโ resources/
โ โ โโโ stories/
โ โ โโโ ...
โ โโโ types/ โ Sync from tools/types
โโโ quartz/
โโโ quartz.config.ts
Workflow
1. Locate Repositories
Find where both repos are cloned on your machine. Common locations:
find ~ -type d -name "sb-knowledge-base" 2>/dev/null | head -5
find ~ -type d -name "knowledge-garden" 2>/dev/null | head -5
Set variables for your paths:
KB_REPO="/path/to/sb-knowledge-base"
KG_REPO="/path/to/knowledge-garden"
2. Verify Clean State
Both repos should have no uncommitted changes before syncing:
cd "$KB_REPO" && git status
cd "$KG_REPO" && git status
3. Sync Content
Sync all content directories:
rm -rf "$KG_REPO/content/docs"/*
cp -r "$KB_REPO/docs"/* "$KG_REPO/content/docs"/
rm -rf "$KG_REPO/content/data"/*
cp -r "$KB_REPO/data"/* "$KG_REPO/content/data"/
rm -rf "$KG_REPO/content/types"/*
cp -r "$KB_REPO/tools/types"/* "$KG_REPO/content/types"/
4. Verify Sync
echo "=== Docs ==="
echo "Source:" && find "$KB_REPO/docs" -name "*.md" | wc -l
echo "Target:" && find "$KG_REPO/content/docs" -name "*.md" | wc -l
echo "=== Data ==="
echo "Source:" && find "$KB_REPO/data" -name "*.md" | wc -l
echo "Target:" && find "$KG_REPO/content/data" -name "*.md" | wc -l
echo "=== Types ==="
echo "Source:" && find "$KB_REPO/tools/types" -name "*.md" | wc -l
echo "Target:" && find "$KG_REPO/content/types" -name "*.md" | wc -l
5. Test Build
cd "$KG_REPO"
npx quartz build
Quick Sync Commands
For teammates who have both repos in the same parent directory:
rm -rf knowledge-garden/content/docs/* && cp -r sb-knowledge-base/docs/* knowledge-garden/content/docs/ && \
rm -rf knowledge-garden/content/data/* && cp -r sb-knowledge-base/data/* knowledge-garden/content/data/ && \
rm -rf knowledge-garden/content/types/* && cp -r sb-knowledge-base/tools/types/* knowledge-garden/content/types/
Or use the provided script:
./tools/workflows/syncing-content/sync-to-garden.sh
Validation Checklist
Troubleshooting
Build fails with type errors
The Quartz type definitions may not match the new content structure. Check content/types/ and quartz/types/typeRegistry.ts.
Missing files after sync
Ensure you used cp -r (recursive) and included the trailing /* to copy contents, not the folder itself.
Links broken on site
Content should be reorganized IN Obsidian first (which auto-updates links), then synced. If you moved files outside Obsidian, links won't be updated.
Notes
- Source of truth: sb-knowledge-base (the Obsidian vault)
- Never edit content directly in knowledge-gardenโit will be overwritten on next sync
- Always reorganize content in Obsidian to preserve internal links