← Back to Skills Marketplace
99rebels

Agent Portability Checker

by 99rebels · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ Security Clean
128
Downloads
0
Stars
0
Active Installs
6
Versions
Install in OpenClaw
/install agent-portability-checker
Description
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 (...
README (SKILL.md)

Agent 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 \x3Cskill_dir>          # audit only
python3 scripts/audit.py \x3Cskill_dir> --fix    # auto-fix + audit
python3 scripts/audit.py \x3Cskill_dir> --json   # structured output

What It Checks

📍 Hardcoded paths     — platform-specific dirs like ~/.\x3Cplatform>/ in scripts
🔧 SKILL_DATA_DIR      — env var support for data dir resolution
📦 XDG fallback        — ~/.config/\x3Cskill>/ 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: ~/.\x3Cplatform>/ [auto-fix]
  ❌ scripts/github_tracker.py:31: ~/.\x3Cplatform>/ [auto-fix]

🔧 SKILL_DATA_DIR: Not supported — scripts use hardcoded paths
🔧 XDG Fallback: Missing ~/.config/ fallback path

Two-Phase Flow

  1. Audit — show all findings (auto-fixable + manual)
  2. 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 ~/.\x3Cplatform>/credentials/ with $SKILL_DATA_DIR
  • Replaces ~/.\x3Cplatform>/workspace/data/\x3Cskill>/ with $SKILL_DATA_DIR/\x3Cskill>/
  • Strips platform names from User-Agent strings
  • Replaces hardcoded paths in SKILL.md with \x3CDATA_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/\x3Cskill>/ (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
Usage Guidance
This skill appears to do what it says: audit a skill directory and optionally auto-fix portability issues. Before using --fix, run the audit in read-only or --json mode and inspect the findings. If you allow auto-fix, back up the target directory or review diffs produced by the script. Do not point the tool at system or home-root paths you don't want modified. If you plan to let agents call this skill autonomously, restrict which directories the agent may pass as <skill_dir> so it cannot scan or modify arbitrary filesystem locations.
Capability Analysis
Type: OpenClaw Skill Name: agent-portability-checker Version: 1.1.3 The 'agent-portability-checker' is a developer utility designed to audit and improve the cross-platform compatibility of other agent skills. It scans source code and documentation for hardcoded paths (e.g., ~/.openclaw/), platform-specific CLI dependencies, and credential handling flaws. While the script (scripts/audit.py) has the capability to modify files when the --fix flag is used, this behavior is explicitly documented and restricted to replacing platform-specific strings with portable environment variables or placeholders. No evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
Capability Tags
requires-oauth-token
Capability Assessment
Purpose & Capability
Name/description, SKILL.md, and the included scripts/audit.py are coherent: the repository contains an auditing script that looks for hardcoded paths, XDG fallbacks, SKILL_DATA_DIR usage, User-Agent strings, platform CLI invocations, headless setup flags, and credential env-var support. No unrelated environment variables, binaries, or install steps are requested.
Instruction Scope
SKILL.md tells the agent to run python3 scripts/audit.py <skill_dir> (and optionally --fix). The script will recursively read the provided directory and, when --fix is used, apply auto-fixes to files. This behavior is expected for a portability fixer but means the skill can modify files in any directory the agent is pointed at — review changes before applying --fix and avoid pointing it at sensitive system paths.
Install Mechanism
No install spec is provided (instruction-only with one helper script). This is the lowest-risk model: nothing is downloaded or installed automatically by the skill.
Credentials
The skill declares no required environment variables, no credentials, and no config-path access. The script itself searches target files for credential handling but does not request secrets from the runtime environment.
Persistence & Privilege
always:false and no special privileges are requested. However, the skill can be invoked autonomously (platform default) and — when given a path — can write changes to that path via its auto-fix mode. The combination of autonomous invocation and file-writing capability is not inherently malicious but merits caution (run audits read-only first; limit the directories the skill may inspect/modify).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install agent-portability-checker
  3. After installation, invoke the skill by name or use /agent-portability-checker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.3
v1.1.3: Broaden credential env var detection — now matches PASSWORD, USERNAME, AUTH, CREDENTIAL + dotenv support. Fixes false positive on skills using env var auth.
v1.1.2
v1.1.2: Fix credential env var detection, --no-browser comment false positive, UA display, version mismatch, dead code cleanup
v1.1.1
v1.1.1: Two-phase audit with detailed output, channel formatting, false positive fixes
v1.0.2
Cleaned display name
v1.0.1
Added note: auto-fixes never modify output styling, emojis, or visual elements
v1.0.0
Initial release: audit agent skills for cross-platform portability, auto-fix hardcoded paths, check for platform lock-in
Metadata
Slug agent-portability-checker
Version 1.1.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 6
Frequently Asked Questions

What is 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 (... It is an AI Agent Skill for Claude Code / OpenClaw, with 128 downloads so far.

How do I install Agent Portability Checker?

Run "/install agent-portability-checker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Agent Portability Checker free?

Yes, Agent Portability Checker is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Agent Portability Checker support?

Agent Portability Checker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Agent Portability Checker?

It is built and maintained by 99rebels (@99rebels); the current version is v1.1.3.

💬 Comments