Use when documents must be read from or maintained in a WizNote or 为知笔记 server, mirrored into a local repository, or organized under a configurable note category root.
Use WizNote as the canonical document store and keep local repository copies as mirrors. This public version is generic: you supply your own server URL, credentials, category root, and repository paths.
Do not use this skill for unrelated documentation systems.
New users must provide these values themselves:
WIZNOTE_BASE_URL — base URL of the WizNote server, for example https://notes.example.comWIZNOTE_USER — WizNote login user ID or emailWIZNOTE_PASSWORD — WizNote passwordcategory_root — the top-level WizNote category path to sync under, for example /team/docs/repo_root — local repository root used for mirror outputYou can pass credentials explicitly or set environment variables.
Support files live in the same directory:
wiznote_cli.pywiznote_helper.pyKey functions:
load_credentials(...)login(...)fetch_note_list(...)fetch_note_html(...)create_note(...)save_note(...)normalize_category_root(...)resolve_category(...)mirror_output_path(...)extract_html_body(...)from pathlib import Path
import sys
SKILL_DIR = Path("/path/to/wiznote")
sys.path.insert(0, str(SKILL_DIR))
import wiznote_cli as cli
import wiznote_helper as helper
Environment variables:
export WIZNOTE_BASE_URL="https://notes.example.com"
export WIZNOTE_USER="[email protected]"
export WIZNOTE_PASSWORD="your-password"
Or pass them directly:
creds = cli.load_credentials(
base_url="https://notes.example.com",
user="[email protected]",
password="your-password",
)
creds = cli.load_credentials()
login = cli.login(creds)
category_root = helper.normalize_category_root("/team/docs/")
category = helper.resolve_category(category_root, "plans/")
payload = cli.fetch_note_list(
base_url=login.kb_server,
kb_guid=login.kb_guid,
token=login.token,
category=category,
)
html = cli.fetch_note_html(
base_url=login.kb_server,
kb_guid=login.kb_guid,
doc_guid="<doc-guid>",
token=login.token,
)
body = helper.extract_html_body(html)
create_note(...) and save_note(...) expect HTML, not Markdown. Convert local Markdown before upload.
result = cli.create_note(
base_url=login.kb_server,
kb_guid=login.kb_guid,
token=login.token,
title="Project Design",
category=category,
html="<h1>Project Design</h1><p>...</p>",
)
mirror_path = helper.mirror_output_path(
repo_root=Path("/path/to/repo"),
category_root=category_root,
category=category,
title="Project Design",
)
WIZNOTE_BASE_URL, WIZNOTE_USER, and WIZNOTE_PASSWORD, or pass them explicitly.normalize_category_root(category_root).login.token, login.kb_server, and login.kb_guid.wiznote/ directory into your repo or your Claude skills directory.markdown:
python3 -m pip install markdown
/team/docs/ and keep all synced notes under it.mirror_output_path(repo_root, category_root, category, title).create_note(...). Convert to HTML first.normalize_category_root(...) and resolve_category(...).mirror_output_path(...) to avoid path escape issues.