Installation

clawhub install nulltea/hackmd

Summary

Use hackmd-track.js (in scripts/ ) to detect document changes efficiently.

SKILL.md

HackMD Integration

Requirements

bash
npm install -g @hackmd/hackmd-cli

Quick Reference

Read Notes

bash
# List all personal notes
hackmd-cli notes

# Get note metadata (includes lastChangedAt)
hackmd-cli notes --noteId=<id> --output json

# Get note content (markdown)
hackmd-cli export --noteId=<id>

# List teams
hackmd-cli teams

# List team notes
hackmd-cli team-notes --teamPath=<path>

Write Notes

bash
# Create note
hackmd-cli notes create --content='# Title'

# Create from file
cat file.md | hackmd-cli notes create

# Update note
hackmd-cli notes update --noteId=<id> --content='# Updated'

# Delete note
hackmd-cli notes delete --noteId=<id>

Team Notes

bash
hackmd-cli team-notes create --teamPath=<path> --content='# Team Note'
hackmd-cli team-notes update --teamPath=<path> --noteId=<id> --content='...'
hackmd-cli team-notes delete --teamPath=<path> --noteId=<id>

Change Tracking

Use hackmd-track.js (in scripts/) to detect document changes efficiently.

Track a Note

bash
node scripts/hackmd-track.js add <noteId>

Check for Changes

bash
# Single note - outputs content only if changed
node scripts/hackmd-track.js changes <noteId>

# All tracked notes
node scripts/hackmd-track.js changes --all

# JSON output for parsing
node scripts/hackmd-track.js changes <noteId> --json

Manage Tracking

bash
node scripts/hackmd-track.js list              # Show tracked notes
node scripts/hackmd-track.js remove <noteId>   # Stop tracking
node scripts/hackmd-track.js reset <noteId>    # Reset (next check shows as changed)

How It Works

  1. hackmd-track.js add stores note's lastChangedAt timestamp
  2. hackmd-track.js changes compares current lastChangedAt with stored value
  3. If changed: outputs content and updates stored timestamp
  4. If unchanged: outputs nothing (use --verbose for status)

State stored in ./.hackmd/tracked-notes.json (current working directory)

Note Metadata Fields

When using --output json, notes include:

FieldDescription
lastChangedAtUnix timestamp of last modification
lastChangeUser{name, userPath, photo} of last editor
titleUpdatedAtWhen title changed
tagsUpdatedAtWhen tags changed

Rate Limits

  • 100 calls per 5 minutes
  • 2000 calls/month (10k on Prime plan)

Recommended skills

Browse all →

Related guides

Hand-picked reading to help you choose, install, and use agent skills.