learnship 1.9.9 → 1.9.10
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/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/bin/install.js +48 -15
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
3
|
"description": "Agentic engineering done right — 42 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system. Works with Claude Code, Windsurf, Cursor, Gemini CLI, OpenCode, and Codex.",
|
|
4
|
-
"version": "1.9.
|
|
4
|
+
"version": "1.9.10",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Favio Vazquez",
|
|
7
7
|
"email": "favio.vazquezp@gmail.com"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "learnship",
|
|
3
3
|
"displayName": "learnship",
|
|
4
4
|
"description": "Agentic engineering done right — 42 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
|
|
5
|
-
"version": "1.9.
|
|
5
|
+
"version": "1.9.10",
|
|
6
6
|
"logo": "assets/logo.png",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "Favio Vazquez",
|
package/bin/install.js
CHANGED
|
@@ -608,23 +608,55 @@ function installClaudePlugins(skillsSrc, targetDir) {
|
|
|
608
608
|
const dest = path.join(pluginSkillsDir, skillName);
|
|
609
609
|
|
|
610
610
|
if (skillName === 'impeccable') {
|
|
611
|
-
// impeccable:
|
|
612
|
-
//
|
|
611
|
+
// impeccable: build a single inlined SKILL.md that contains all sub-skill
|
|
612
|
+
// content inline — same pattern as agentic-learning.
|
|
613
|
+
// Claude Code cannot follow markdown reference links to sibling files, so
|
|
614
|
+
// the hollow index approach produced an "@impeccable isn't installed" error.
|
|
613
615
|
fs.mkdirSync(dest, { recursive: true });
|
|
614
|
-
|
|
615
|
-
//
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
const
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
616
|
+
|
|
617
|
+
// Read root frontmatter + intro (everything up to the ## Actions section)
|
|
618
|
+
const rootContent = fs.readFileSync(path.join(srcPath, 'SKILL.md'), 'utf8');
|
|
619
|
+
// Strip frontmatter, keep the prose intro + "After running" footer
|
|
620
|
+
const rootBody = rootContent.replace(/^---[\s\S]*?---\n/, '');
|
|
621
|
+
|
|
622
|
+
// Ordered sub-actions (defines appearance order in the inlined file)
|
|
623
|
+
const SUB_ACTION_ORDER = [
|
|
624
|
+
'adapt', 'animate', 'audit', 'bolder', 'clarify', 'colorize',
|
|
625
|
+
'critique', 'delight', 'distill', 'extract', 'frontend-design',
|
|
626
|
+
'harden', 'normalize', 'onboard', 'optimize', 'polish', 'quieter',
|
|
627
|
+
'teach-impeccable',
|
|
628
|
+
];
|
|
629
|
+
|
|
630
|
+
// Build inlined sections by reading each sub-skill's body
|
|
631
|
+
const inlinedSections = [];
|
|
632
|
+
for (const subName of SUB_ACTION_ORDER) {
|
|
633
|
+
const subSkillPath = path.join(srcPath, subName, 'SKILL.md');
|
|
634
|
+
if (!fs.existsSync(subSkillPath)) continue;
|
|
635
|
+
const subContent = fs.readFileSync(subSkillPath, 'utf8');
|
|
636
|
+
// Strip YAML frontmatter, keep body only
|
|
637
|
+
const subBody = subContent.replace(/^---[\s\S]*?---\n/, '').trim();
|
|
638
|
+
// Also copy sub-skill directory (for Windsurf native skill support)
|
|
639
|
+
const subDest = path.join(dest, subName);
|
|
640
|
+
copyDir(path.join(srcPath, subName), subDest, '', 'claude');
|
|
641
|
+
inlinedSections.push(`\n## Action: \`${subName}\`\n\n${subBody}`);
|
|
627
642
|
}
|
|
643
|
+
|
|
644
|
+
// Root frontmatter: keep original header but update description to remove
|
|
645
|
+
// the "Invoke with @impeccable" preamble that confused Claude Code's matcher
|
|
646
|
+
const inlinedSkillMd =
|
|
647
|
+
`---\nname: impeccable\ndescription: >\n` +
|
|
648
|
+
` A design quality system for frontend interfaces. 18 focused actions for\n` +
|
|
649
|
+
` auditing, refining, and elevating UI quality. Use when the user asks to\n` +
|
|
650
|
+
` audit, critique, polish, improve, review, or refine a frontend interface.\n` +
|
|
651
|
+
` Invoke with @impeccable followed by one of: adapt, animate, audit, bolder,\n` +
|
|
652
|
+
` clarify, colorize, critique, delight, distill, extract, frontend-design,\n` +
|
|
653
|
+
` harden, normalize, onboard, optimize, polish, quieter, or teach-impeccable.\n` +
|
|
654
|
+
`---\n\n` +
|
|
655
|
+
rootBody.replace(/## Actions[\s\S]*?---\n\n## How to use/, '## How to use') +
|
|
656
|
+
`\n\n` +
|
|
657
|
+
inlinedSections.join('\n\n');
|
|
658
|
+
|
|
659
|
+
fs.writeFileSync(path.join(dest, 'SKILL.md'), inlinedSkillMd);
|
|
628
660
|
count++;
|
|
629
661
|
} else {
|
|
630
662
|
// agentic-learning and any future top-level skills — copy verbatim
|
|
@@ -1269,6 +1301,7 @@ if (process.env.LEARNSHIP_TEST_MODE) {
|
|
|
1269
1301
|
parseJsonc,
|
|
1270
1302
|
replacePaths,
|
|
1271
1303
|
rewriteNewProject,
|
|
1304
|
+
installClaudePlugins,
|
|
1272
1305
|
toHomePrefix,
|
|
1273
1306
|
LEARNSHIP_CODEX_MARKER,
|
|
1274
1307
|
CODEX_AGENT_SANDBOX,
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.10",
|
|
4
4
|
"description": "Agentic engineering done right — 42 structured workflows, persistent memory across sessions, integrated learning partner, and impeccable UI design system.",
|
|
5
5
|
"author": "Favio Vazquez",
|
|
6
6
|
"homepage": "https://faviovazquez.github.io/learnship/",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "learnship",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.10",
|
|
4
4
|
"description": "Learn as you build. Build with intent. — A multi-platform agentic engineering system for Windsurf, Claude Code, Cursor, OpenCode, Gemini CLI, and Codex: spec-driven workflows, integrated learning, and production-grade design.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"agentic",
|