About linkgo
linkgo is a skill for managing LinkGo v3 navigation pages through an HTTP API. It covers service cards, page settings, icons, and configuration import and export.
Key features
- 01Query, add, edit, and delete service cards
- 02Update page settings
- 03Upload and list icons
- 04Export and import configuration
- 05Manage the admin password and debug information
Use cases
- 01Check enabled or disabled service cards
- 02Add or update navigation page entries
- 03Back up configuration before migration or restoration
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ wmy2981/ skills --skill linkgoAfter installing, type/linkgoin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
.claude-plugin/plugin.jsonreferences/api_doc.mdscripts/.env.examplelinkgo.pyDetails
From the project READMELinkGo v3 Remote Management
Manage service cards, page configuration, icons, and system settings on a LinkGo v3 navigation page via its HTTP API.
Execution Rule
Run the user's requested command directly without pre-checking dependencies, environment variables, or configuration. If something is wrong, the script will fail with a clear error — check and fix only then.
Environment Variables
| Variable | Required | Purpose |
|---|---|---|
LINKGO_HOST | ✅ | Instance address, e.g. http://192.168.1.100:80 |
LINKGO_PASSWORD | ✅ | Admin password |
The script loads these from ~/.wmyskills/.env (shared across skills) automatically; a scripts/.env in the script directory takes priority if present. Use scripts/.env.example as the template — add the variables to ~/.wmyskills/.env, never overwriting an existing file.
Requirements
No external dependencies (stdlib only).
Usage
Script: scripts/linkgo.py
Connectivity
python scripts/linkgo.py ping
Query Cards
# List enabled cards (default)
python scripts/linkgo.py list
# List all cards (including disabled)
python scripts/linkgo.py list --all
# Query a specific card by id
python scripts/linkgo.py list --id my-service
Card Management
# Add a card (JSON string)
python scripts/linkgo.py add '{"id":"my-service","title":"My Service","href":"http://example.com","icon":"static/icon/link.svg","displayAddress":"example.com","description":"Service description","status":1}'
# Edit a card (merge fields by id)
python scripts/linkgo.py edit my-service '{"title":"New Title","href":"http://new.example.com"}'
# Delete a card
python scripts/linkgo.py delete my-service
# Enable / disable
python scripts/linkgo.py enable my-service
python scripts/linkgo.py disable my-service
Page Settings
python scripts/linkgo.py page '{"title":"New Title","searchEnabled":0}'
Icons
# Upload one or more icons (multi-file supported)
python scripts/linkgo.py upload-icon /path/to/icon.svg /path/to/another.png
# List available icons
python scripts/linkgo.py icons
Config Export / Import
# Export config to file
python scripts/linkgo.py export -o backup.json
# Export to stdout
python scripts/linkgo.py export
# Import config (overwrites all data)
python scripts/linkgo.py import backup.json
# Reset to default config
python scripts/linkgo.py reset
Password & Debug
# Change admin password
python scripts/linkgo.py change-password <old_password> <new_password>
# Reset password to a random 8-char one (server-local only, 127.0.0.1)
python scripts/linkgo.py reset-password
# Debug info
python scripts/linkgo.py debug
Service Card Fields
| Field | Required | Type | Description |
|---|---|---|---|
id | ✅ | string | Unique identifier, alphanumeric only, immutable after creation |
title | ✅ | string | Display title, supports variable substitution |
href | ✅ | string | Click target URL, supports javascript: protocol |
icon | ❌ | string | Icon path (e.g. static/icon/home.svg), available after upload |
displayAddress | ❌ | string | Address text shown on the card |
description | ❌ | string | Description text, supports variable substitution and HTML |
status | ❌ | int | 1=enabled (default), 0=disabled |
Parameterized Syntax (description only)
| Syntax | Description | Example |
|---|---|---|
{link:URL,text} | Plain link | {link:https://example.com,Example} |
{sublink:URL,text} | Blue bold link | {sublink:https://example.com,Details} |
{modallink:URL,title,text} | Iframe modal link | {modallink:http://x:8080,Service,View} |
{tip:content} | Search keyword hint (invisible) | {tip:keyword1 keyword2} |
{page_info} | Page info placeholder (selectable text) | {page_info} |
Static Variables
| Variable | Replaced with | Example |
|---|---|---|
{project_name} | Project name | LinkGo |
{project_version} | Project version | v3_20250823 |
{addr_prefit} | 地址: label | {addr_prefit} → 地址: |
{space} | Three spaces | Line 1{space}Line 2 |
{icon_path} | Icon directory | {icon_path}myicon.svg → /static/icon/myicon.svg |
{api_path} | API directory | {api_path} → /api/ |
{static_path} | Static directory | {static_path} → /static/ |
{pages_path} | Pages directory | {pages_path} → /pages/ |
Dynamic Variables (auto-replaced by frontend per page)
| Variable | Description | Example |
|---|---|---|
{host} | Hostname + port | localhost:8080 |
{hostname} | Hostname only | localhost |
{port} | Port | 8080 |
{protocol} | Protocol (http/https) | http |
{pathname} | Current URL path | /index.html |
{href} | Full URL | http://localhost:8080/index.html |
%s | Alias of {host} | localhost:8080 |
Important Notes
- Edit is incremental — only pass the fields you want to change; others stay as-is
- Backup before import/reset — both operations overwrite all data and are irreversible
- Icon upload limit: 1MB per file; supported formats: SVG/PNG/JPG/JPEG/GIF/WEBP/ICO
resetclears all custom cardsreset-passwordonly works on the server host itself (the API accepts127.0.0.1only);LINKGO_HOSTmust point athttp://127.0.0.1for it- Password change auto-updates the server's
config.php - After
change-password/reset-password, guide the user to updateLINKGO_PASSWORDin~/.wmyskills/.env(andscripts/.envif present — it takes priority); the stored password becomes invalid and further commands will fail with 401
Reference
For the full LinkGo v3 API reference, variable substitution system, frontend modules, and deployment config, read references/api_doc.md.