ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

bookstack

BookStack Wiki & Documentation API integration. Manage your knowledge base programmatically: create, read, update, and delete books, chapters, pages, and shelves. Full-text search across all content. Use this skill whenever the user mentions BookStack, wiki pages, knowledge base, documentation pages, or wants to publish, update, or search content on a BookStack instance -- even if they just say 'update the docs' or 'check the wiki' without naming BookStack explicitly. Also use when syncing or automating documentation workflows between systems.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/f-liva/bookstack-api
Or

BookStack API Skill

Interact with a BookStack wiki through its REST API using the bundled Python script. No external dependencies beyond Python 3 standard library.

Configuration

Credentials live in ~/.clawdbot/clawdbot.json under the bookstack skill entry:

{
  "skills": {
    "entries": {
      "bookstack": {
        "env": {
          "BOOKSTACK_URL": "https://your-bookstack.example.com",
          "BOOKSTACK_TOKEN_ID": "your-token-id",
          "BOOKSTACK_TOKEN_SECRET": "your-token-secret"
        }
      }
    }
  }
}

Generate a token from BookStack: Profile > API Tokens > Create Token. The user's role needs the "Access System API" permission enabled.

Usage

All commands follow the pattern:

python3 scripts/bookstack.py <command> [args] [options]

Pass the env vars from the config above when executing.

Quick Reference

ActionCommand
Searchsearch "query" [--type page|book|chapter]
List pageslist_pages [--count N]
Read pageget_page <id> [--content|--markdown]
Create pagecreate_page --book-id <id> --name "Title" --html "<p>content</p>"
Update pageupdate_page <id> --html "<p>new content</p>"
Delete pagedelete_page <id>

The same CRUD pattern applies to books, chapters, and shelves. For the full command list with all flags and options, see references/api-commands.md.

Important Notes

  • Cloudflare protection: The script sends a User-Agent header because BookStack instances behind Cloudflare reject requests without one (HTTP 403). If you get a 403, this is likely why.
  • Content formats: Pages accept HTML by default. Use --markdown for Markdown input. When reading, get_page --content returns HTML, --markdown returns Markdown.
  • Large HTML updates: For big page updates, prepare the HTML in a temp file and read it into the API call programmatically, rather than passing it inline on the command line.

Metadata

Author@f-liva
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-f-liva-bookstack-api": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.

Related Skills

fatsecret

FatSecret nutrition API integration for food search, nutritional lookup, barcode scanning, recipe search, and food diary logging. Use when user needs to find nutritional information for foods, search the food database, scan product barcodes, look up calories/macros/micronutrients, search for healthy recipes, or log meals to their FatSecret diary.

f-liva 2387

ynab-api

YNAB (You Need A Budget) budget management via API. Add transactions, track goals, monitor spending, create transfers, and generate budget reports. Use this skill whenever the user mentions YNAB, budget tracking, spending analysis, budget goals, Age of Money, or wants to manage their personal finances -- even if they just say 'add an expense', 'how much did I spend', 'check my budget', or 'upcoming bills' without naming YNAB explicitly. Also use for automated budget reports and financial summaries.

f-liva 2387

ryot

Complete Ryot media tracker with progress tracking, reviews, collections, analytics, calendar, and automated daily/weekly reports. Track TV shows, movies, books, anime, games with full GraphQL API integration.

f-liva 2387

track17

Track parcels via the 17TRACK API (local SQLite DB, polling + optional webhook ingestion)

f-liva 2387

17track

Track parcels and shipments via the 17TRACK API. Manage a local SQLite database of tracked packages with automatic status polling, webhook ingestion, and daily reports with auto-cleanup. Use this skill whenever the user mentions package tracking, parcel tracking, shipment status, 17TRACK, tracking numbers, delivery status, or wants to check where a package is -- even if they just say 'track this', 'where is my order', or 'any updates on my package' without naming 17TRACK explicitly. Also use for automating delivery notifications and daily shipping reports.

f-liva 2387