copilot.tools 1.0.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/CHANGELOG.md +255 -0
- package/LICENSE +660 -0
- package/README.md +268 -0
- package/_extract_office.js +175 -0
- package/_list_sessions.js +206 -0
- package/package.json +24 -0
- package/skills/history/SKILL.md +46 -0
- package/skills/snapshot/SKILL.md +74 -0
- package/skills/teach-me/SKILL.md +1188 -0
- package/skills/tools/tools-skill/SKILL.md +38 -0
- package/tools-install.js +104 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tools
|
|
3
|
+
description: Lists all available tools and their capabilities, grouped by category. Triggered when the user types `/tools`.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Copyright (C) 2026 Celestial Consulting Ltd
|
|
8
|
+
|
|
9
|
+
This program is free software: you can redistribute it and/or modify
|
|
10
|
+
it under the terms of the GNU Affero General Public License as
|
|
11
|
+
published by the Free Software Foundation, either version 3 of the
|
|
12
|
+
License, or (at your option) any later version.
|
|
13
|
+
|
|
14
|
+
This program is distributed in the hope that it will be useful,
|
|
15
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
+
GNU Affero General Public License for more details.
|
|
18
|
+
|
|
19
|
+
You should have received a copy of the GNU Affero General Public License
|
|
20
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
21
|
+
|
|
22
|
+
# `/tools` Command
|
|
23
|
+
|
|
24
|
+
When the user types `/tools`, enumerate every tool available to Copilot in this session, grouped by category with a brief description of each.
|
|
25
|
+
|
|
26
|
+
## Behavior
|
|
27
|
+
1. Scan all tools currently available in the runtime
|
|
28
|
+
2. Group by category (File I/O, Search, Git, Sub-agents, RLM, Shell/Execution, Planning, etc.)
|
|
29
|
+
3. For each tool, provide the name and a one-line description of what it does
|
|
30
|
+
4. Present as a readable terminal-friendly list
|
|
31
|
+
|
|
32
|
+
### `/tools help` / `/tools readme`
|
|
33
|
+
When the user types `/tools help` or `/tools readme`, read and display the full tools README from `~/.copilot/tools-readme.md`. This file is copied during install and contains detailed docs for all four commands: `/tools`, `/history`, `/snapshot`, and `/teach-me`.
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
36
|
+
- Read-only — no files modified or state changed
|
|
37
|
+
- The tool list is dynamic per session in Copilot — do not hardcode it
|
|
38
|
+
- Do not fabricate tools; list only what's actually available in the current Copilot session
|
package/tools-install.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (C) 2026 Celestial Consulting Ltd
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Affero General Public License as
|
|
7
|
+
* published by the Free Software Foundation, either version 3 of the
|
|
8
|
+
* License, or (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Copilot Tools Installer
|
|
21
|
+
*
|
|
22
|
+
* Installs global skills for /tools, /history, /snapshot, and /teach-me.
|
|
23
|
+
* Skills are auto-discovered by GitHub Copilot when installed to ~/.copilot/skills/
|
|
24
|
+
*
|
|
25
|
+
* Usage:
|
|
26
|
+
* node tools-install.js # standard installation
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
const fs = require('fs');
|
|
30
|
+
const path = require('path');
|
|
31
|
+
const os = require('os');
|
|
32
|
+
|
|
33
|
+
const sourceDir = __dirname;
|
|
34
|
+
|
|
35
|
+
// ── 1. Install skills ──────────────────────────────────
|
|
36
|
+
const skillsSource = path.join(sourceDir, 'skills');
|
|
37
|
+
const skillsDest = path.join(os.homedir(), '.copilot', 'skills');
|
|
38
|
+
|
|
39
|
+
console.log('[1/2] Installing global Copilot skills to ~/.copilot/skills/...');
|
|
40
|
+
if (fs.existsSync(skillsSource)) {
|
|
41
|
+
for (const entry of fs.readdirSync(skillsSource)) {
|
|
42
|
+
const src = path.join(skillsSource, entry);
|
|
43
|
+
if (fs.statSync(src).isDirectory()) {
|
|
44
|
+
const dest = path.join(skillsDest, entry);
|
|
45
|
+
fs.cpSync(src, dest, { recursive: true, force: true });
|
|
46
|
+
console.log(` ✓ Installed '${entry}' skill`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
console.log(' All skills installed.');
|
|
50
|
+
} else {
|
|
51
|
+
console.log(' ERROR: Skills folder not found.');
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// ── 2. Copy tools README for /tools help ───────────────
|
|
56
|
+
console.log('[2/2] Copying documentation...');
|
|
57
|
+
const readmeSource = path.join(sourceDir, 'README.md');
|
|
58
|
+
const readmeDest = path.join(os.homedir(), '.copilot', 'tools-readme.md');
|
|
59
|
+
|
|
60
|
+
if (fs.existsSync(readmeSource)) {
|
|
61
|
+
fs.copyFileSync(readmeSource, readmeDest);
|
|
62
|
+
console.log(` ✓ Copied README to ~/.copilot/tools-readme.md`);
|
|
63
|
+
} else {
|
|
64
|
+
console.log(' WARNING: README.md not found.');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// ── 3. Verify ─────────────────────────────────────────
|
|
68
|
+
console.log('');
|
|
69
|
+
console.log('Verifying installation...');
|
|
70
|
+
let errors = 0;
|
|
71
|
+
|
|
72
|
+
const checklist = {
|
|
73
|
+
'history skill': path.join(skillsDest, 'history', 'SKILL.md'),
|
|
74
|
+
'tools skill': path.join(skillsDest, 'tools', 'tools-skill', 'SKILL.md'),
|
|
75
|
+
'snapshot skill': path.join(skillsDest, 'snapshot', 'SKILL.md'),
|
|
76
|
+
'teach-me skill': path.join(skillsDest, 'teach-me', 'SKILL.md'),
|
|
77
|
+
'tools readme': readmeDest
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
for (const [name, filePath] of Object.entries(checklist)) {
|
|
81
|
+
if (fs.existsSync(filePath)) {
|
|
82
|
+
console.log(` ✓ ${name}`);
|
|
83
|
+
} else {
|
|
84
|
+
console.log(` ✗ ${name} not found at ${filePath}`);
|
|
85
|
+
errors++;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
console.log('');
|
|
90
|
+
if (errors === 0) {
|
|
91
|
+
console.log('✅ Installation complete!');
|
|
92
|
+
console.log('');
|
|
93
|
+
console.log('The following skills are now available globally in GitHub Copilot:');
|
|
94
|
+
console.log(' • /tools - Lists available tools and capabilities');
|
|
95
|
+
console.log(' • /history - Shows Copilot chat session history with tokens and costs');
|
|
96
|
+
console.log(' • /snapshot - Manages automatic file backups before edits');
|
|
97
|
+
console.log(' • /teach-me - Interactive code quizzes with multiple themes');
|
|
98
|
+
console.log('');
|
|
99
|
+
console.log('Usage: Open VS Code, type / in the chat panel, and select a skill.');
|
|
100
|
+
console.log(`Location: ${skillsDest}`);
|
|
101
|
+
} else {
|
|
102
|
+
console.log(`❌ Installation finished with ${errors} error(s).`);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|