aidevops 2.67.2 → 2.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/VERSION +1 -1
- package/aidevops.sh +1 -1
- package/package.json +1 -1
- package/setup.sh +88 -1
package/README.md
CHANGED
|
@@ -891,6 +891,33 @@ aidevops is registered as a **Claude Code plugin marketplace**. Install with two
|
|
|
891
891
|
|
|
892
892
|
This installs the complete framework: ~15 domain agents, 80+ subagents, and 100+ helper scripts.
|
|
893
893
|
|
|
894
|
+
### Importing External Skills
|
|
895
|
+
|
|
896
|
+
Import skills from any GitHub repository using `/add-skill`:
|
|
897
|
+
|
|
898
|
+
```bash
|
|
899
|
+
# Import from GitHub (auto-detects format)
|
|
900
|
+
/add-skill owner/repo
|
|
901
|
+
|
|
902
|
+
# Examples
|
|
903
|
+
/add-skill anthropics/courses # SKILL.md format
|
|
904
|
+
/add-skill PatrickJS/awesome-cursorrules # .cursorrules format
|
|
905
|
+
/add-skill someone/agents-repo # AGENTS.md format
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
**Supported formats:**
|
|
909
|
+
- `SKILL.md` - Agent Skills standard (preferred)
|
|
910
|
+
- `AGENTS.md` - Claude Code agents format
|
|
911
|
+
- `.cursorrules` - Cursor rules (auto-converted to SKILL.md)
|
|
912
|
+
|
|
913
|
+
**Features:**
|
|
914
|
+
- Conflict detection with existing skills
|
|
915
|
+
- Version tracking for updates (`/add-skill --check-updates`)
|
|
916
|
+
- Symlinks created for Claude Code, Cursor, Amp, and other tools
|
|
917
|
+
- Registry stored in `.agent/configs/skill-sources.json`
|
|
918
|
+
|
|
919
|
+
See `.agent/tools/build-agent/add-skill.md` for full documentation.
|
|
920
|
+
|
|
894
921
|
## **AI Agents & Subagents**
|
|
895
922
|
|
|
896
923
|
**Agents are specialized AI personas with focused knowledge and tool access.** Instead of giving your AI assistant access to everything at once (which wastes context tokens), agents provide targeted capabilities for specific tasks.
|
|
@@ -1099,6 +1126,7 @@ Plans are tracked in `TODO.md` (all tasks) and `todo/PLANS.md` (complex executio
|
|
|
1099
1126
|
|
|
1100
1127
|
| Command | Purpose |
|
|
1101
1128
|
|---------|---------|
|
|
1129
|
+
| `/add-skill` | Import external skills from GitHub repos (SKILL.md, AGENTS.md, .cursorrules) |
|
|
1102
1130
|
| `/agent-review` | Analyze session and suggest agent improvements |
|
|
1103
1131
|
| `/session-review` | Review session for completeness and capture learnings |
|
|
1104
1132
|
| `/full-loop` | End-to-end development loop (task → preflight → PR → postflight → deploy) |
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.68.0
|
package/aidevops.sh
CHANGED
package/package.json
CHANGED
package/setup.sh
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# AI Assistant Server Access Framework Setup Script
|
|
4
4
|
# Helps developers set up the framework for their infrastructure
|
|
5
5
|
#
|
|
6
|
-
# Version: 2.
|
|
6
|
+
# Version: 2.68.0
|
|
7
7
|
#
|
|
8
8
|
# Quick Install (one-liner):
|
|
9
9
|
# bash <(curl -fsSL https://aidevops.dev/install)
|
|
@@ -1470,6 +1470,92 @@ generate_agent_skills() {
|
|
|
1470
1470
|
return 0
|
|
1471
1471
|
}
|
|
1472
1472
|
|
|
1473
|
+
# Create symlinks for imported skills to AI assistant skill directories
|
|
1474
|
+
create_skill_symlinks() {
|
|
1475
|
+
print_info "Creating symlinks for imported skills..."
|
|
1476
|
+
|
|
1477
|
+
local skill_sources="$HOME/.aidevops/agents/configs/skill-sources.json"
|
|
1478
|
+
local agents_dir="$HOME/.aidevops/agents"
|
|
1479
|
+
|
|
1480
|
+
# Skip if no skill-sources.json or jq not available
|
|
1481
|
+
if [[ ! -f "$skill_sources" ]]; then
|
|
1482
|
+
print_info "No imported skills found (skill-sources.json not present)"
|
|
1483
|
+
return 0
|
|
1484
|
+
fi
|
|
1485
|
+
|
|
1486
|
+
if ! command -v jq &>/dev/null; then
|
|
1487
|
+
print_warning "jq not found - cannot create skill symlinks"
|
|
1488
|
+
return 0
|
|
1489
|
+
fi
|
|
1490
|
+
|
|
1491
|
+
# Check if there are any skills
|
|
1492
|
+
local skill_count
|
|
1493
|
+
skill_count=$(jq '.skills | length' "$skill_sources" 2>/dev/null || echo "0")
|
|
1494
|
+
|
|
1495
|
+
if [[ "$skill_count" -eq 0 ]]; then
|
|
1496
|
+
print_info "No imported skills to symlink"
|
|
1497
|
+
return 0
|
|
1498
|
+
fi
|
|
1499
|
+
|
|
1500
|
+
# AI assistant skill directories
|
|
1501
|
+
local skill_dirs=(
|
|
1502
|
+
"$HOME/.config/opencode/skills"
|
|
1503
|
+
"$HOME/.codex/skills"
|
|
1504
|
+
"$HOME/.claude/skills"
|
|
1505
|
+
"$HOME/.config/amp/tools"
|
|
1506
|
+
)
|
|
1507
|
+
|
|
1508
|
+
# Create skill directories if they don't exist
|
|
1509
|
+
for dir in "${skill_dirs[@]}"; do
|
|
1510
|
+
mkdir -p "$dir" 2>/dev/null || true
|
|
1511
|
+
done
|
|
1512
|
+
|
|
1513
|
+
local created_count=0
|
|
1514
|
+
|
|
1515
|
+
# Read each skill and create symlinks
|
|
1516
|
+
while IFS= read -r skill_json; do
|
|
1517
|
+
local name local_path
|
|
1518
|
+
name=$(echo "$skill_json" | jq -r '.name')
|
|
1519
|
+
local_path=$(echo "$skill_json" | jq -r '.local_path')
|
|
1520
|
+
|
|
1521
|
+
# Skip if path doesn't exist
|
|
1522
|
+
local full_path="$agents_dir/${local_path#.agent/}"
|
|
1523
|
+
if [[ ! -f "$full_path" ]]; then
|
|
1524
|
+
print_warning "Skill file not found: $full_path"
|
|
1525
|
+
continue
|
|
1526
|
+
fi
|
|
1527
|
+
|
|
1528
|
+
# Create symlinks in each AI assistant directory
|
|
1529
|
+
for skill_dir in "${skill_dirs[@]}"; do
|
|
1530
|
+
local target_file
|
|
1531
|
+
|
|
1532
|
+
# Amp expects <name>.md directly, others expect <name>/SKILL.md
|
|
1533
|
+
if [[ "$skill_dir" == *"/amp/tools" ]]; then
|
|
1534
|
+
target_file="$skill_dir/${name}.md"
|
|
1535
|
+
else
|
|
1536
|
+
local target_dir="$skill_dir/$name"
|
|
1537
|
+
target_file="$target_dir/SKILL.md"
|
|
1538
|
+
# Create skill subdirectory
|
|
1539
|
+
mkdir -p "$target_dir" 2>/dev/null || continue
|
|
1540
|
+
fi
|
|
1541
|
+
|
|
1542
|
+
# Create symlink (remove existing first)
|
|
1543
|
+
rm -f "$target_file" 2>/dev/null || true
|
|
1544
|
+
if ln -sf "$full_path" "$target_file" 2>/dev/null; then
|
|
1545
|
+
((created_count++))
|
|
1546
|
+
fi
|
|
1547
|
+
done
|
|
1548
|
+
done < <(jq -c '.skills[]' "$skill_sources" 2>/dev/null)
|
|
1549
|
+
|
|
1550
|
+
if [[ $created_count -gt 0 ]]; then
|
|
1551
|
+
print_success "Created $created_count skill symlinks across AI assistants"
|
|
1552
|
+
else
|
|
1553
|
+
print_info "No skill symlinks created"
|
|
1554
|
+
fi
|
|
1555
|
+
|
|
1556
|
+
return 0
|
|
1557
|
+
}
|
|
1558
|
+
|
|
1473
1559
|
# Inject aidevops reference into AI assistant AGENTS.md files
|
|
1474
1560
|
inject_agents_reference() {
|
|
1475
1561
|
print_info "Adding aidevops reference to AI assistant configurations..."
|
|
@@ -2576,6 +2662,7 @@ main() {
|
|
|
2576
2662
|
confirm_step "Extract OpenCode prompts" && extract_opencode_prompts
|
|
2577
2663
|
confirm_step "Deploy aidevops agents to ~/.aidevops/agents/" && deploy_aidevops_agents
|
|
2578
2664
|
confirm_step "Generate agent skills (SKILL.md files)" && generate_agent_skills
|
|
2665
|
+
confirm_step "Create symlinks for imported skills" && create_skill_symlinks
|
|
2579
2666
|
confirm_step "Inject agents reference into AI configs" && inject_agents_reference
|
|
2580
2667
|
confirm_step "Update OpenCode configuration" && update_opencode_config
|
|
2581
2668
|
confirm_step "Setup Python environment (DSPy, crawl4ai)" && setup_python_env
|