94cfd80dd0a8fba02c9f41c266d8adde0d8ad3a4
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)
🏭 Copilot Skill Factory
The meta-plugin that creates skills. Watches your GitHub Copilot CLI workflows and automatically turns them into reusable agent skills.
Built for GitHub Copilot CLI (v1.0.52+).
Inspired by hermes-skill-factory for Hermes Agent.
What It Does
Every time you solve a problem with Copilot CLI, you're performing a workflow worth repeating. Skill Factory watches silently via hooks, detects patterns, and proposes reusable skills.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🏭 SKILL FACTORY — New Pattern Detected
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
You've repeated this workflow in 3 sessions:
1. bash (git commands)
2. grep (search code)
3. edit (apply changes)
4. bash (run tests)
Proposed Skill: git-edit-test
Status: Ready for review
Use /skill-factory review to inspect it.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
How It Works
Architecture
┌──────────────────────────────────────────┐
│ Copilot CLI Session │
│ │
│ postToolUse ──┐ sessionEnd ──┐ │
│ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ observer.js │ │ analyzer │ │
│ │ (logs tools)│ │ (detects │ │
│ └──────┬───────┘ │ patterns) │ │
│ │ └──────┬──────┘ │
│ ▼ ▼ │
│ ┌─────────────────────────────┐ │
│ │ pattern-db.json │ │
│ │ (cross-session patterns) │ │
│ └─────────────┬───────────────┘ │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ proposed/<name>/SKILL.md │ │
│ │ (auto-generated skills) │ │
│ └─────────────────────────────┘ │
└──────────────────────────────────────────┘
sessionStart ──► Injects notification about new skills
/skill-factory ──► User reviews & manages skills
Plugin Components
| Component | File | Purpose |
|---|---|---|
| Manifest | plugin.json |
Plugin metadata (name, version, hooks path) |
| Hooks config | hooks/hooks.json |
Defines postToolUse, sessionEnd, sessionStart hooks |
| Observer | bin/observer.js |
Main hook handler — logs, analyzes, notifies |
| Skill | skills/skill-factory/SKILL.md |
/skill-factory slash command for user interaction |
Detection Algorithm
- postToolUse hook — Every successful tool call is fingerprinted (tool name + normalized args) and logged to a per-session JSONL file
- sessionEnd hook — Analyzes the session using sliding windows (3-8 consecutive tool calls). Matching sequences across 2+ sessions are flagged as "patterns"
- Auto-generation — Patterns seen in 2+ different sessions get a proposed
SKILL.mdgenerated automatically - sessionStart hook — Next session, the agent is notified about pending proposals via
additionalContext - User review — The
/skill-factoryskill lets the user review, accept, edit, or dismiss proposals
Installation
Prerequisites
- GitHub Copilot CLI v1.0.52+ installed and authenticated
- Node.js 18+ (for the hook scripts)
Via Copilot CLI plugin install (recommended)
copilot plugin install droideparanoico/copilot-skill-factory
Then install the companion skill:
mkdir -p ~/.copilot/skills/skill-factory
cp skills/skill-factory/SKILL.md ~/.copilot/skills/skill-factory/
Manual installation
# Clone the repo
git clone https://github.com/droideparanoico/copilot-skill-factory.git
cd copilot-skill-factory
# Install plugin
mkdir -p ~/.copilot/plugins/skill-factory
cp plugin.json ~/.copilot/plugins/skill-factory/
cp -r hooks/ ~/.copilot/plugins/skill-factory/
cp -r bin/ ~/.copilot/plugins/skill-factory/
chmod +x ~/.copilot/plugins/skill-factory/bin/observer.js
# Install companion skill
mkdir -p ~/.copilot/skills/skill-factory
cp skills/skill-factory/SKILL.md ~/.copilot/skills/skill-factory/
Then restart Copilot CLI.
Usage
Once installed, Skill Factory runs silently in the background. Use the slash command to interact:
| Command | What it does |
|---|---|
/skill-factory |
Show available commands |
/skill-factory review |
Review proposed skills (accept/edit/dismiss) |
/skill-factory propose |
Force-analyze current session patterns |
/skill-factory list |
List all generated skills |
/skill-factory status |
Show detection statistics |
/skill-factory save <name> |
Save with custom name |
/skill-factory dismiss <name> |
Dismiss a proposal |
/skill-factory clear |
Reset all data |
You can also tell Copilot naturally:
- "Review my skill factory proposals"
- "Save this workflow as a skill"
- "Turn this into a reusable skill"
Configuration
Skill Factory stores data in:
~/.copilot/skills/skill-factory/.data/
├── pattern-db.json # Cross-session pattern database
└── sessions/
└── <session-id>.jsonl # Per-session tool call logs (kept for last 20 sessions)
Proposed skills are stored in:
~/.copilot/skills/skill-factory/proposed/
└── <skill-name>/
├── SKILL.md # Generated skill definition
└── .proposal.json # Detection metadata
Limitations
- Not real-time: Patterns are analyzed at session end, not during the session
- Heuristic-based: Detection uses fingerprint similarity — similar but not identical workflows may not match
- No cross-device sync: Pattern database is local to each machine
- Windows: PowerShell hooks are not yet implemented (contributions welcome!)
Roadmap
- Real-time pattern suggestion during sessions
- Cross-device sync via GitHub Gist
- Pattern confidence scoring
- Automatic skill refinement (merge similar patterns)
- Web dashboard for pattern visualization
- Export/import pattern database
Comparison with hermes-skill-factory
| Feature | hermes-skill-factory | copilot-skill-factory |
|---|---|---|
| Platform | Hermes Agent | GitHub Copilot CLI |
| Observation | In-process (Python plugin) | Hooks (external Node.js) |
| Detection | AI-assisted pattern analysis | Heuristic fingerprint matching |
| Skill format | SKILL.md + plugin.py | SKILL.md (Copilot agent skill) |
| User interaction | Inline prompt during session | Slash command + sessionStart context |
| Slash commands | /skill-factory propose, etc. |
/skill-factory review, etc. |
License
MIT
Description
Meta-plugin for GitHub Copilot CLI that watches your workflows and automatically turns them into reusable agent skills. Inspired by hermes-skill-factory.
Languages
JavaScript
96.1%
Shell
3.9%