Our review
Activates or deactivates a Pro license for vault-analyze features by validating a license key against a remote API and updating local settings.
Strengths
- Validates license key format and checks against API with machine ID binding
- Supports offline grace period with cached validation for up to 7 days
- Handles deactivation cleanly by clearing license data from settings
Limitations
- Requires internet connectivity for first activation and subsequent re-validation
- License key format is fixed and cannot be customized
- Machine limit of 3 may require management through external portal
Use when you need to unlock Pro features of vault-analyze by entering a license key or deactivate an existing license.
Do not use if you have no license key, if you are permanently offline, or if you are not using the vault-analyze plugin.
Security analysis
SafeThe skill only reads system info (hostname, username) to generate a non-sensitive machine ID, makes an HTTPS API call for license validation, and writes to a local settings file. No destructive or exfiltrating actions beyond the intended license activation process.
No concerns found
Examples
Activate the vault-analyze Pro license with key OE-ABC12-DEF34-GHI56-JKL78.Deactivate the vault-analyze Pro license.name: vault-activate description: Activate Pro license for vault-analyze features. Validates license key against API and saves to settings. model: inherit user-invocable: true context: fork arguments: key: type: string description: "License key (format: OE-XXXXX-XXXXX-XXXXX-XXXXX)" required: true deactivate: type: boolean description: "Remove license and disable Pro features" allowed-tools: filesystem: [Read, Write] network: [WebFetch] cli: [Bash]
$ARGUMENTS
License Activation
Activate Pro features by validating a license key against the API.
License Key Format
OE-XXXXX-XXXXX-XXXXX-XXXXX
Where X is alphanumeric (A-Z, 0-9, excluding ambiguous chars I/O/0/1).
Activation Flow
-
Validate format: Check key matches
OE-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5} -
Generate machine ID: Create stable ID from system:
echo "m-$(echo "$(hostname)-$(whoami)" | md5 | cut -c1-12)" -
Call validation API:
POST https://api.obsidian-explorer.jhavens.tech/v1/license/validate Content-Type: application/json { "license_key": "OE-XXXXX-XXXXX-XXXXX-XXXXX", "machine_id": "m-abc123def456" } -
Handle response:
valid: true→ Update settings.json, report successvalid: false→ Report reason (invalid, expired, machine_limit)
-
Update settings.json:
{ "pro_enabled": true, "pro_license_key": "OE-XXXXX-XXXXX-XXXXX-XXXXX" }
Settings Location
Plugin settings: ./settings.json (relative to plugin root)
Deactivation
When deactivate=true:
- Read current settings.json
- Set
pro_enabled: false - Clear
pro_license_key: "" - Report deactivation complete
Machine Limit
Licenses support up to 3 machines. If limit reached:
- API returns
valid: false, reason: "Machine limit reached" - User must manage machines via customer portal
Offline Behavior
If API unreachable:
- Check for cached validation at
~/.obsidian-explorer/license-cache.json - 7-day offline grace period if previously validated
Output
Success:
Pro license activated!
Type: lifetime
Expires: never
Machines: 1/3
Failure:
License validation failed: Machine limit reached
Manage your devices at: https://obsidian-explorer.jhavens.tech/account
Deactivation:
Pro license deactivated. Pro features disabled.
Task Prioritizer
Productivity
Prioritizes your tasks using Eisenhower, ICE, and RICE frameworks.
Weekly Status Report Generator
Productivity
Generate structured and concise weekly status reports.
Daily Standup Report
Productivity
Generates structured and concise daily standup reports.