Skill Discovery (SkillForge)
Automatically discovers, evaluates, and generates integration manifests for new PopeBot-compatible skills from GitHub repositories.
Overview
This skill implements a simplified version of ZeroClaw's SkillForge system. It:
-
Scouts GitHub for skill-related repositories
-
Evaluates candidates across multiple dimensions (compatibility, quality, security)
-
Generates PopeBot-compatible SKILL.md manifests for qualified candidates
Usage
Discover Skills
Basic discovery (searches for "thepopebot skill" and "ai agent skill")
{baseDir}/discover.js
Search with custom queries
{baseDir}/discover.js --query "popebot automation"
Show detailed output
{baseDir}/discover.js --verbose
Limit results
{baseDir}/discover.js --limit 10
Evaluate a Specific Repository
Evaluate a single repo by URL
{baseDir}/evaluate.js https://github.com/user/repo-name
Evaluate with custom scoring weights
{baseDir}/evaluate.js https://github.com/user/repo-name --min-score 0.6
Generate Skill Manifest
Generate SKILL.md from a evaluated candidate
{baseDir}/generate.js --name "skill-name" --url "https://github.com/user/repo" --description "What it does"
Scoring Dimensions
Skills are evaluated on three dimensions (each 0.0-1.0):
Dimension Weight Factors
Compatibility 30% Language (JavaScript/TypeScript favored), runtime requirements
Quality 35% Star count (log scale), documentation, test coverage
Security 35% License presence, bad pattern detection, update recency
Recommendations
-
Auto (score ≥ 0.7): Safe to auto-integrate
-
Manual (0.4 ≤ score < 0.7): Needs human review
-
Skip (score < 0.4): Not recommended
Output Format
=== SkillForge Discovery Report === Discovered: 5 candidates Evaluated: 5 candidates Auto-integratable: 2 Manual review: 2 Skipped: 1
--- Candidates ---
-
example-skill ⭐ AUTO (0.82) URL: https://github.com/user/example-skill Language: JavaScript | Stars: 156 | License: MIT Scores: Compatibility=1.0, Quality=0.72, Security=0.8
-
another-skill ⚠️ MANUAL (0.55) URL: https://github.com/user/another-skill Language: Python | Stars: 23 | License: None Scores: Compatibility=0.6, Quality=0.45, Security=0.5
-
low-quality ⛔ SKIP (0.28) URL: https://github.com/user/low-quality Language: Unknown | Stars: 1 | License: None Scores: Compatibility=0.2, Quality=0.15, Security=0.3
Installation
cd {baseDir} npm install
When to Use
-
When you want to find new skills for PopeBot
-
When exploring the skill ecosystem
-
When you need to evaluate a skill before integrating
-
When building automated skill management workflows
Example Workflow
1. Discover new skills
{baseDir}/discover.js --limit 20 --verbose > /job/tmp/skill-candidates.md
2. Review the report
cat /job/tmp/skill-candidates.md
3. Evaluate a promising candidate in detail
{baseDir}/evaluate.js https://github.com/user/promising-skill
4. Generate integration manifest for approved skills
{baseDir}/generate.js --name "promising-skill"
--url "https://github.com/user/promising-skill"
--description "Does something useful"
5. Move generated manifest to pi-skills/ and create symlink
mv /job/tmp/skills/promising-skill/SKILL.md /job/pi-skills/promising-skill/ ln -s ../../pi-skills/promising-skill /job/.pi/skills/promising-skill
Configuration
Set these environment variables for customization:
-
GITHUB_TOKEN
-
Personal access token for higher API rate limits
-
SKILLFORGE_MIN_SCORE
-
Minimum score for auto recommendation (default: 0.7)
-
SKILLFORGE_OUTPUT_DIR
-
Output directory for generated manifests (default: /job/tmp/skills)
Security Notes
-
Skills containing bad patterns (malware, exploit, etc.) are automatically flagged
-
Missing licenses reduce security scores significantly
-
Repositories not updated in 180+ days receive recency penalties