Agent skill
tw
Command-line tool for managing TiddlyWiki files. Use when working with TiddlyWiki (.html) files, tiddlers, or when the user mentions TiddlyWiki operations.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/tw
SKILL.md
TiddlyWiki CLI (tw)
Quick Reference
tw is a Python-based CLI for managing single-file TiddlyWiki wikis.
Location: ~/dotfiles/tiddlywiki/bin/tw
Basic syntax:
bash
tw [<wiki_path>] <command> [args]
Common Commands
Reading/Listing
ls- List all tiddlerscat <tiddler>- Display tiddler contents (cat format: title, tags, other fields, blank line, text)json <tiddler> [...]- Output tiddler(s) as JSON (use--allfor all tiddlers)get <tiddler> <field>- Get a specific field valuefilter <expression>- Evaluate TiddlyWiki filter expression
Writing/Editing
init <dest_path>- Create a new empty wikitouch <tiddler> [text]- Create or update a tiddlerset <tiddler> <field> <val>- Set a field valueedit <tiddler>- Edit tiddler in $EDITOR (opens interactive editor)append <tiddler> [text]- Append text to tiddlerinsert <json>- Insert/replace tiddler(s) from JSONreplace <content>- Insert/replace from cat format (reads from stdin)rm <tiddler>- Remove a tiddler
Serving
serve [--host HOST] [--port PORT] [--readonly]- Serve wiki with live reloadwebdav [--host HOST] [--port PORT] [--readonly]- Serve tiddlers via WebDAV
Utilities
detect- Detect wiki format (modern or legacy)filetype-map- Output MIME type to filetype mapping as JSONmimetype <filename>- Get MIME type for a file extensioninstall_plugin- Install live reload plugin
Important Notes
- Wiki path: Always specify the wiki path as the first argument
- Cat format: Output format is
title: X\ntags: Y\nfield: Z\n\ntext content - Interactive commands:
editopens $EDITOR - don't use in automated scripts, usereplaceinstead - Filter expressions: Supports TiddlyWiki filter syntax (see tw_filter_progress.md for coverage)
- Live reload: Use
install_pluginonce, thenserveto get auto-refresh in browser
Examples
bash
# List all tiddlers in a wiki
tw ~/wiki.html ls
# Create a new tiddler
tw ~/wiki.html touch "MyTiddler" "This is the content"
# Get a field value
tw ~/wiki.html get "MyTiddler" tags
# Set a field
tw ~/wiki.html set "MyTiddler" tags "foo bar"
# Pipe content to replace (non-interactive)
echo -e "title: Test\ntags: demo\n\nContent here" | tw ~/wiki.html replace
# Export all tiddlers as JSON
tw ~/wiki.html json --all > backup.json
# Filter tiddlers (find all tagged "journal")
tw ~/wiki.html filter "[tag[journal]]"
# Serve wiki with live reload on port 8080
tw ~/wiki.html serve --port 8080
Integration with Other Tools
- Pipe JSON to/from
jqfor processing - Use with
nvimvia $EDITOR for editing - Combine with shell scripts for batch operations
- WebDAV server allows mounting as filesystem
Didn't find tool you were looking for?