kenmark-skills 1.0.1 → 1.0.2
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 +8 -0
- package/brain/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/scripts/setup-skills.js +37 -0
package/README.md
CHANGED
|
@@ -45,6 +45,12 @@ npx kenmark-skills setup
|
|
|
45
45
|
- Rovo Dev: `~/.rovodev/skills`
|
|
46
46
|
- Qoder: `~/.qoder/skills`
|
|
47
47
|
|
|
48
|
+
For Claude Code specifically, setup also installs slash-command wrappers in `~/.claude/commands`:
|
|
49
|
+
|
|
50
|
+
- `/kenmark-init-brain`
|
|
51
|
+
- `/kenmark-commit-push`
|
|
52
|
+
- `/kenmark-issues-list` (and matching wrappers for all shipped skills)
|
|
53
|
+
|
|
48
54
|
Useful flags:
|
|
49
55
|
|
|
50
56
|
```bash
|
|
@@ -74,6 +80,8 @@ Use `--global` to force user-level install mode explicitly:
|
|
|
74
80
|
npx kenmark-skills setup --global --ide all
|
|
75
81
|
```
|
|
76
82
|
|
|
83
|
+
If new Claude slash commands do not appear immediately, restart Claude Code.
|
|
84
|
+
|
|
77
85
|
Verify what will ship before publishing:
|
|
78
86
|
|
|
79
87
|
```bash
|
package/brain/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## v2026.06.02-1938-claude-command-wrappers
|
|
4
|
+
- Updated setup installer to generate Claude Code slash-command wrappers under `.claude/commands` for every shipped Kenmark skill.
|
|
5
|
+
- This enables direct slash usage (for example `/kenmark-init-brain`) in addition to selecting skills from `/skills`.
|
|
6
|
+
- Updated README to document Claude wrapper commands and restart note.
|
|
7
|
+
|
|
3
8
|
## v2026.06.02-1930-readme-npx-first-install
|
|
4
9
|
- Updated README install guidance to remove the clone-based setup path.
|
|
5
10
|
- Reframed Option B as local/project installation via `npx kenmark-skills setup --project`.
|
package/package.json
CHANGED
package/scripts/setup-skills.js
CHANGED
|
@@ -86,6 +86,10 @@ function ensureTargetPath(targetPath) {
|
|
|
86
86
|
fs.mkdirSync(targetPath, { recursive: true });
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
function ensureParentDir(filePath) {
|
|
90
|
+
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
91
|
+
}
|
|
92
|
+
|
|
89
93
|
function copyDirectoryContents(sourcePath, targetPath) {
|
|
90
94
|
const entries = fs.readdirSync(sourcePath, { withFileTypes: true });
|
|
91
95
|
for (const entry of entries) {
|
|
@@ -100,6 +104,33 @@ function copyDirectoryContents(sourcePath, targetPath) {
|
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
|
|
107
|
+
function createClaudeCommandWrappers(basePath) {
|
|
108
|
+
const commandsDir = path.join(path.dirname(basePath), "commands");
|
|
109
|
+
const skills = fs
|
|
110
|
+
.readdirSync(sourceDir, { withFileTypes: true })
|
|
111
|
+
.filter((entry) => entry.isDirectory())
|
|
112
|
+
.map((entry) => entry.name)
|
|
113
|
+
.sort();
|
|
114
|
+
|
|
115
|
+
for (const skillName of skills) {
|
|
116
|
+
const commandFile = path.join(commandsDir, `kenmark-${skillName}.md`);
|
|
117
|
+
const commandBody = [
|
|
118
|
+
`# Kenmark ${skillName}`,
|
|
119
|
+
"",
|
|
120
|
+
`Use the \`${skillName}\` skill from installed user skills.`,
|
|
121
|
+
"",
|
|
122
|
+
"Instructions:",
|
|
123
|
+
`- Invoke and follow the \`${skillName}\` skill from the user skills directory.`,
|
|
124
|
+
"- Execute the skill workflow end-to-end for the current request.",
|
|
125
|
+
"- If required context is missing, ask concise clarifying questions first."
|
|
126
|
+
].join("\n");
|
|
127
|
+
ensureParentDir(commandFile);
|
|
128
|
+
fs.writeFileSync(commandFile, `${commandBody}\n`, "utf8");
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return { commandsDir, count: skills.length };
|
|
132
|
+
}
|
|
133
|
+
|
|
103
134
|
function run() {
|
|
104
135
|
const args = parseArgs(process.argv.slice(2));
|
|
105
136
|
if (args.help) {
|
|
@@ -147,6 +178,12 @@ function run() {
|
|
|
147
178
|
ensureTargetPath(targetPath);
|
|
148
179
|
copyDirectoryContents(sourceDir, targetPath);
|
|
149
180
|
console.log(`Installed skills for ${ide}: ${targetPath}`);
|
|
181
|
+
if (ide === "claude") {
|
|
182
|
+
const result = createClaudeCommandWrappers(targetPath);
|
|
183
|
+
console.log(
|
|
184
|
+
`Installed Claude command wrappers (${result.count}): ${result.commandsDir}`
|
|
185
|
+
);
|
|
186
|
+
}
|
|
150
187
|
}
|
|
151
188
|
|
|
152
189
|
console.log("Done.");
|