agent-portability-checker
Audit agent skills for platform lock-in and cross-agent compatibility. Use when checking if a skill is portable, making a skill work across multiple agents (OpenClaw, Claude Code, Codex, etc.), fixing hardcoded paths, or preparing a skill for multi-platform distribution. Checks for hardcoded platform paths, missing env var support, and platform-specific dependencies.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/99rebels/agent-portability-checkerAgent Portability Checker š
Audit an agent skill for platform lock-in. Auto-fixes what it can, flags what needs manual attention.
Why
Skills with hardcoded paths only work on one platform. This tool catches those issues and fixes them ā making your skills work everywhere agents run.
When to Use
- "Is this skill portable?"
- "Make this skill cross-platform"
- "Check for hardcoded paths"
- "Prepare a skill for other agents"
How to Run
python3 scripts/audit.py <skill_dir> # audit only
python3 scripts/audit.py <skill_dir> --fix # auto-fix + audit
python3 scripts/audit.py <skill_dir> --json # structured output
What It Checks
š Hardcoded paths ā platform-specific dirs like ~/.<platform>/ in scripts
š§ SKILL_DATA_DIR ā env var support for data dir resolution
š¦ XDG fallback ā ~/.config/<skill>/ fallback path
š Platform CLI deps ā external binary dependencies (e.g. clawhub, gh)
š·ļø User-Agent strings ā platform names in HTTP headers
š SKILL.md paths ā platform-specific path references in docs
š„ļø Headless setup ā OAuth scripts without --no-browser flag
š Credential env vars ā file-only credentials with no env var alternative
Output Example
ā github-growth-tracker ā 8 errors, 9 warnings (9 auto-fixable)
š Hardcoded Paths
ā scripts/github_tracker.py:28: ~/.<platform>/ [auto-fix]
ā scripts/github_tracker.py:31: ~/.<platform>/ [auto-fix]
š§ SKILL_DATA_DIR: Not supported ā scripts use hardcoded paths
š§ XDG Fallback: Missing ~/.config/ fallback path
Two-Phase Flow
- Audit ā show all findings (auto-fixable + manual)
- Fix ā apply auto-fixes, show brief "what changed" confirmation
The agent reads the script output and formats it for the current channel. See references/formatting.md for Slack/WhatsApp/Discord styling.
Auto-Fixes
- Replaces
~/.<platform>/credentials/with$SKILL_DATA_DIR - Replaces
~/.<platform>/workspace/data/<skill>/with$SKILL_DATA_DIR/<skill>/ - Strips platform names from User-Agent strings
- Replaces hardcoded paths in SKILL.md with
<DATA_DIR>placeholder
ā Output styling is never modified. Emojis, formatting, and visual elements in script output are preserved exactly as-is.
Manual flags require human review (platform CLI deps, headless setup, env var alternatives).
Formatting
Read references/formatting.md for channel-specific styling (Slack, WhatsApp, Discord, terminal).
The Portability Pattern
Skills that work everywhere follow this:
1. Resolve data dir via $SKILL_DATA_DIR (set by agent platform)
2. Fall back to ~/.config/<skill>/ (XDG-compliant, works everywhere)
3. Accept credentials via env var OR file (env var preferred)
4. Output to stdout ā no platform messaging APIs
5. Self-contained scripts ā no platform SDK imports
Metadata
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 skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-99rebels-agent-portability-checker": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
github-growth-tracker
Track GitHub repo growth (stars, forks, issues, commits) with periodic digests and trend analysis. Compare your repos against a watchlist. Use when checking repo stats, monitoring growth, setting up a github digest, comparing repos, or managing a repo watchlist. Requires GITHUB_TOKEN environment variable or GitHub PAT (see Credentials).
gmail-checker
Check Gmail for unread inbox emails, filtered by priority. Use when asked to check emails, check inbox, email digest, email summary, or "any new mail". Outputs a brief list sorted by priority (HIGH/MEDIUM/LOW). Skips marketing, promotions, social, and update categories. Configurable via gmail-config.json.
invoice-extractor
Extract structured data from invoices and receipts (PDFs and images). Output JSON, CSV, or build a running expense ledger. Use when someone shares an invoice to process, asks to track expenses, categorize spending, or prepare tax documents.
skill-polisher
Polish a skill's SKILL.md for ClawHub readability without sacrificing LLM effectiveness. Use when improving a skill's listing, making a skill look better on ClawHub, or preparing a skill for publish. Rewrites SKILL.md with better formatting, then audits the changes to ensure nothing the LLM needs was lost. Moved content goes to references/ ā never deleted.