协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
skill-compatibility-checker【开发与工程】Pre-installation skill vetter that checks for conflicts, system requirement mismatches, missing dependencies, and security issues before you install a skill. Analyzes skill manifests, scans for name/CLI/port conflicts with existing skills, verifies OS/architecture/Node version compatibility, checks for missing CLI tools and API keys, and runs automat…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Vet skills before installation. Analyzes compatibility, conflicts, dependencies, and security risks.
# Check a local skill directory
skill-compatibility-checker ~/clawd/some-skill
# Get JSON output for programmatic use
skill-compatibility-checker ~/clawd/some-skill --output json
Verifies your system meets the skill's requirements:
Parsed from:
engines.node fieldChecks for missing requirements:
CLI tools - ffmpeg, python, java, docker, etc.
API keys - Groq, ElevenLabs, OpenAI, Stripe, Twilio, etc.
Clawdbot version - Does the skill need Clawdbot X.Y.Z or higher?
npm packages - Dependency summary from package.json
Runs the security-scanner skill (if installed):
Ready to install. No blocking issues detected.
Proceed with caution. Review issues before installation.
Do not install.
$ skill-compatibility-checker ~/clawd/my-skill
╔════════════════════════════════════════════════════════════════════════════╗
║ SKILL COMPATIBILITY CHECKER REPORT ║
╚════════════════════════════════════════════════════════════════════════════╝
Skill: my-skill
Path: /Users/ericwoodard/clawd/my-skill
Date: 2026-01-29T15:30:00.000Z
┌─ INSTALLATION READINESS ─────────────────────────────────────────────────┐
│ ✅ GO - Safe to install
│
└────────────────────────────────────────────────────────────────────────────┘
┌─ SYSTEM REQUIREMENTS ────────────────────────────────────────────────────┐
│ Your System: darwin / arm64 / Node 25.4.0
│
│ System requirements met ✅
└────────────────────────────────────────────────────────────────────────────┘
┌─ RECOMMENDATION ─────────────────────────────────────────────────────────┐
│ ✅ Ready to install. No blocking issues detected.
│
│ Next step: npm install && clawdbot skill install
└────────────────────────────────────────────────────────────────────────────┘
$ skill-compatibility-checker ~/clawd/another-skill
┌─ INSTALLATION READINESS ─────────────────────────────────────────────────┐
│ ⚠️ CAUTION - Review issues before installation
│
└────────────────────────────────────────────────────────────────────────────┘
┌─ DEPENDENCIES ───────────────────────────────────────────────────────────┐
│ Missing CLI Tools:
│ ❌ ffmpeg
│ Install: brew install ffmpeg
│
│ Missing API Keys/Tokens:
│ ⚠️ groq - configure in TOOLS.md or environment
│ ⚠️ elevenlabs - configure in TOOLS.md or environment
└────────────────────────────────────────────────────────────────────────────┘
┌─ RECOMMENDATION ─────────────────────────────────────────────────────────┐
│ ⚠️ Proceed with caution. Review all issues above.
│
│ Actions before installation:
│ 1. Install missing CLI tools (see above)
│ 2. Configure missing API keys in TOOLS.md
│ 3. Review security findings and audit code if needed
└────────────────────────────────────────────────────────────────────────────┘
$ skill-compatibility-checker ~/clawd/my-skill --output json
{
"skill": {
"name": "my-skill",
"path": "/Users/ericwoodard/clawd/my-skill",
"description": "Does something useful"
},
"readiness": "GO",
"timestamp": "2026-01-29T15:30:00.000Z",
"system": {
"platform": "darwin",
"arch": "arm64",
"nodeVersion": "25.4.0",
"osVersion": "26.2"
},
"conflicts": {
"conflicts": [],
"warnings": []
},
"systemRequirements": {
"issues": [],
"warnings": []
},
"dependencies": {
"missingCLITools": [],
"missingApiKeys": [],
"clawdbotVersionRequired": null,
"warnings": []
},
"security": {
"riskLevel": "SAFE",
"findings": [],
"message": ""
},
"recommendation": "Ready to install. No blocking issues detected."
}
~/clawd/my-skill or /full/path/to/skillclawdhub:skill-name (future)process.platform (darwin, linux, win32)process.arch (arm64, x64)This allows scripts to programmatically handle compatibility:
skill-compatibility-checker ~/clawd/my-skill
if [ $? -eq 0 ]; then
echo "Installing..."
npm install && clawdbot skill install
elif [ $? -eq 1 ]; then
echo "Review issues and try again"
exit 1
else
echo "Cannot install on this system"
exit 2
fi
The skill-compatibility-checker is designed to be invoked by other tools:
# From command line
skill-compatibility-checker ~/clawd/some-skill --output json > report.json
# From Node.js
const checker = require('./scripts/checker.js');
const results = checker.checkSystemRequirements('./skill-path');
The checker automatically reads these to determine configured API keys:
GROQ_API_KEYELEVENLABS_API_KEYOPENAI_API_KEYSTRIPE_API_KEYTWILIO_AUTH_TOKENThe checker looks in ~/clawd/TOOLS.md for API key sections:
## API Keys & Services
- **Groq API:** `gsk_...` (Whisper audio transcription)
- **ElevenLabs API:** Configured (sk_...)
Use the skill in your own code:
const {
checkConflicts,
checkSystemRequirements,
checkDependencies,
runSecurityScan,
determineReadiness,
} = require('./scripts/checker.js');
// Run a single check
const sysReqs = checkSystemRequirements('./my-skill');
console.log(sysReqs);
// { issues: [], warnings: [] }
// Check readiness
const readiness = determineReadiness(results);
// 'GO' | 'CAUTION' | 'BLOCKED'
Before installing any skill, run the checker first:
skill-compatibility-checker ~/clawd/new-skill
For CI/CD pipelines, use JSON output and exit codes:
skill-compatibility-checker ~/clawd/new-skill --output json || exit $?
Check regularly - run the checker on existing skills if you update TOOLS.md:
for skill in ~/clawd/*-skill; do
skill-compatibility-checker "$skill" || true
done
Resolve CAUTION warnings - they're fixable:
brew install <tool>Don't force install BLOCKED skills - the system incompatibility is real and you'll encounter errors.