Initial commit: copilot-skill-factory v0.1.0
Meta-plugin for GitHub Copilot CLI that watches workflows and auto-generates reusable agent skills. - postToolUse hook: fingerprints and logs tool calls per session - sessionEnd hook: sliding-window pattern detection across sessions - sessionStart hook: injects context about proposed skills - /skill-factory slash command for reviewing/managing skills - 13 passing tests validating observer, analyzer, and edge cases Inspired by hermes-skill-factory (Romanescu11/hermes-skill-factory)
This commit is contained in:
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PLUGIN_NAME="copilot-skill-factory"
|
||||
PLUGIN_DIR="${HOME}/.copilot/plugins/${PLUGIN_NAME}"
|
||||
SKILL_DIR="${HOME}/.copilot/skills/skill-factory"
|
||||
|
||||
echo "🏭 Installing ${PLUGIN_NAME}..."
|
||||
|
||||
# Get script directory
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# Install plugin
|
||||
echo " → Installing plugin to ${PLUGIN_DIR}"
|
||||
mkdir -p "${PLUGIN_DIR}"
|
||||
cp "${SCRIPT_DIR}/plugin.json" "${PLUGIN_DIR}/"
|
||||
cp -r "${SCRIPT_DIR}/hooks" "${PLUGIN_DIR}/"
|
||||
cp -r "${SCRIPT_DIR}/bin" "${PLUGIN_DIR}/"
|
||||
chmod +x "${PLUGIN_DIR}/bin/observer.js"
|
||||
|
||||
# Install companion skill
|
||||
echo " → Installing skill to ${SKILL_DIR}"
|
||||
mkdir -p "${SKILL_DIR}"
|
||||
cp "${SCRIPT_DIR}/skills/skill-factory/SKILL.md" "${SKILL_DIR}/"
|
||||
|
||||
# Verify Node.js is available
|
||||
if command -v node &>/dev/null; then
|
||||
echo " ✓ Node.js $(node --version) detected"
|
||||
else
|
||||
echo " ⚠ Node.js not found — hooks require Node.js 18+"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✅ ${PLUGIN_NAME} installed successfully!"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo " 1. Restart Copilot CLI"
|
||||
echo " 2. Work normally — Skill Factory watches silently"
|
||||
echo " 3. After a few sessions, run /skill-factory review"
|
||||
echo ""
|
||||
echo "Data stored at: ${SKILL_DIR}/.data/"
|
||||
Reference in New Issue
Block a user