overskill 1.0.3 → 2.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.
Files changed (98) hide show
  1. package/README.md +13 -2
  2. package/dist/commands/add.d.ts.map +1 -1
  3. package/dist/commands/add.js +8 -35
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/bundle.d.ts.map +1 -1
  6. package/dist/commands/bundle.js +1 -6
  7. package/dist/commands/bundle.js.map +1 -1
  8. package/dist/commands/delete.d.ts +1 -1
  9. package/dist/commands/delete.d.ts.map +1 -1
  10. package/dist/commands/delete.js +19 -19
  11. package/dist/commands/delete.js.map +1 -1
  12. package/dist/commands/edit.js +5 -5
  13. package/dist/commands/edit.js.map +1 -1
  14. package/dist/commands/feedback.d.ts +3 -0
  15. package/dist/commands/feedback.d.ts.map +1 -0
  16. package/dist/commands/feedback.js +40 -0
  17. package/dist/commands/feedback.js.map +1 -0
  18. package/dist/commands/import.d.ts.map +1 -1
  19. package/dist/commands/import.js +5 -19
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/info.d.ts.map +1 -1
  22. package/dist/commands/info.js +10 -39
  23. package/dist/commands/info.js.map +1 -1
  24. package/dist/commands/list.d.ts.map +1 -1
  25. package/dist/commands/list.js +14 -20
  26. package/dist/commands/list.js.map +1 -1
  27. package/dist/commands/new.d.ts.map +1 -1
  28. package/dist/commands/new.js +81 -116
  29. package/dist/commands/new.js.map +1 -1
  30. package/dist/commands/open.d.ts +3 -0
  31. package/dist/commands/open.d.ts.map +1 -0
  32. package/dist/commands/open.js +75 -0
  33. package/dist/commands/open.js.map +1 -0
  34. package/dist/commands/publish.d.ts +1 -1
  35. package/dist/commands/publish.d.ts.map +1 -1
  36. package/dist/commands/publish.js +48 -105
  37. package/dist/commands/publish.js.map +1 -1
  38. package/dist/commands/push.d.ts.map +1 -1
  39. package/dist/commands/push.js +1 -13
  40. package/dist/commands/push.js.map +1 -1
  41. package/dist/commands/rename.d.ts +3 -0
  42. package/dist/commands/rename.d.ts.map +1 -0
  43. package/dist/commands/rename.js +177 -0
  44. package/dist/commands/rename.js.map +1 -0
  45. package/dist/commands/save.d.ts +3 -0
  46. package/dist/commands/save.d.ts.map +1 -0
  47. package/dist/commands/save.js +112 -0
  48. package/dist/commands/save.js.map +1 -0
  49. package/dist/commands/search.js +1 -1
  50. package/dist/commands/search.js.map +1 -1
  51. package/dist/commands/sync.d.ts +1 -1
  52. package/dist/commands/sync.d.ts.map +1 -1
  53. package/dist/commands/sync.js +29 -63
  54. package/dist/commands/sync.js.map +1 -1
  55. package/dist/commands/update.d.ts.map +1 -1
  56. package/dist/commands/update.js +80 -98
  57. package/dist/commands/update.js.map +1 -1
  58. package/dist/commands/upgrade.d.ts +3 -0
  59. package/dist/commands/upgrade.d.ts.map +1 -0
  60. package/dist/commands/upgrade.js +98 -0
  61. package/dist/commands/upgrade.js.map +1 -0
  62. package/dist/commands/validate.d.ts.map +1 -1
  63. package/dist/commands/validate.js +2 -8
  64. package/dist/commands/validate.js.map +1 -1
  65. package/dist/index.js +38 -25
  66. package/dist/index.js.map +1 -1
  67. package/dist/lib/index-gen.d.ts.map +1 -1
  68. package/dist/lib/index-gen.js +0 -2
  69. package/dist/lib/index-gen.js.map +1 -1
  70. package/dist/lib/local-registry/index.d.ts +3 -5
  71. package/dist/lib/local-registry/index.d.ts.map +1 -1
  72. package/dist/lib/local-registry/index.js +2 -5
  73. package/dist/lib/local-registry/index.js.map +1 -1
  74. package/dist/lib/local-registry/paths.d.ts +2 -2
  75. package/dist/lib/local-registry/paths.d.ts.map +1 -1
  76. package/dist/lib/local-registry/paths.js +4 -4
  77. package/dist/lib/local-registry/paths.js.map +1 -1
  78. package/dist/lib/local-registry/skills.d.ts +10 -29
  79. package/dist/lib/local-registry/skills.d.ts.map +1 -1
  80. package/dist/lib/local-registry/skills.js +57 -83
  81. package/dist/lib/local-registry/skills.js.map +1 -1
  82. package/dist/lib/local-registry/types.d.ts +6 -38
  83. package/dist/lib/local-registry/types.d.ts.map +1 -1
  84. package/dist/lib/local-registry/versions.d.ts +6 -57
  85. package/dist/lib/local-registry/versions.d.ts.map +1 -1
  86. package/dist/lib/local-registry/versions.js +6 -159
  87. package/dist/lib/local-registry/versions.js.map +1 -1
  88. package/dist/lib/lockfile.d.ts +2 -2
  89. package/dist/lib/lockfile.d.ts.map +1 -1
  90. package/dist/lib/lockfile.js +5 -10
  91. package/dist/lib/lockfile.js.map +1 -1
  92. package/dist/lib/meta-skill.d.ts +1 -1
  93. package/dist/lib/meta-skill.d.ts.map +1 -1
  94. package/dist/lib/meta-skill.js +19 -15
  95. package/dist/lib/meta-skill.js.map +1 -1
  96. package/dist/types.d.ts +0 -7
  97. package/dist/types.d.ts.map +1 -1
  98. package/package.json +1 -1
@@ -63,7 +63,7 @@ export function updateLockedSkill(skill) {
63
63
  lock = createLockfile([skill]);
64
64
  }
65
65
  else {
66
- const existingIndex = lock.skills.findIndex(s => s.slug === skill.slug && s.registry === skill.registry);
66
+ const existingIndex = lock.skills.findIndex(s => s.slug === skill.slug);
67
67
  if (existingIndex >= 0) {
68
68
  lock.skills[existingIndex] = skill;
69
69
  }
@@ -77,25 +77,20 @@ export function updateLockedSkill(skill) {
77
77
  /**
78
78
  * Remove a skill from the lockfile
79
79
  */
80
- export function removeLockedSkill(slug, registry) {
80
+ export function removeLockedSkill(slug) {
81
81
  const lock = readLockfile();
82
82
  if (!lock)
83
83
  return;
84
- if (registry) {
85
- lock.skills = lock.skills.filter(s => !(s.slug === slug && s.registry === registry));
86
- }
87
- else {
88
- lock.skills = lock.skills.filter(s => s.slug !== slug);
89
- }
84
+ lock.skills = lock.skills.filter(s => s.slug !== slug);
90
85
  lock.locked_at = new Date().toISOString();
91
86
  writeLockfile(lock);
92
87
  }
93
88
  /**
94
89
  * Check if a skill has changed (compare hash)
95
90
  */
96
- export function hasSkillChanged(slug, registry, newHash) {
91
+ export function hasSkillChanged(slug, newHash) {
97
92
  const locked = getLockedSkill(slug);
98
- if (!locked || locked.registry !== registry)
93
+ if (!locked)
99
94
  return true;
100
95
  return locked.sha256 !== newHash;
101
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockfile.js","sourceRoot":"","sources":["../../src/lib/lockfile.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * The meta-skill content that teaches AI agents how to use the skills system.
3
3
  * This is bundled with the CLI and installed to _system/SKILL.md during sync.
4
4
  */
5
- export declare const META_SKILL_CONTENT = "# Skills System \u2014 Agent Instructions\n\nYou have access to a skills system that provides curated instruction files\nto guide your work. This file explains how to use it.\n\n## Discovering Skills\n\nCheck the file `SKILLS_INDEX.md` in this directory. It lists every skill\ninstalled in this project with its name, description, tags, and file path.\n\nBefore starting any task, scan SKILLS_INDEX.md to identify relevant skills.\nMatch skills to your task by:\n- Name and description (most reliable)\n- Tags (e.g. if working with Supabase, look for \"supabase\" tag)\n- Compatibility (check if your agent type is listed)\n\n## Using Skills\n\nWhen you find a relevant skill:\n1. Read the full SKILL.md file at the path listed in SKILLS_INDEX.md\n2. Follow its instructions as authoritative guidance for your work\n3. If multiple skills are relevant, read all of them before starting\n4. Skills take precedence over your default patterns when they conflict\n\n## Managing Skills (When Asked by the User)\n\nIf the user asks you to manage skills, you have these CLI commands available.\nRun them in the terminal:\n\n### Viewing Available Skills\n- `skills list` \u2014 Show all skills available in remote registries\n- `skills list --installed` \u2014 Show skills installed in this project\n- `skills search <query>` \u2014 Search for skills by keyword\n- `skills info <name>` \u2014 Show full details about a skill\n\n### Installing and Removing\n- `skills add <name>` \u2014 Add a skill to this project and sync it\n- `skills remove <name>` \u2014 Remove a skill from this project\n- `skills sync` \u2014 Re-sync all installed skills from remote\n- `skills update` \u2014 Pull latest versions of all skills\n\n### Editing and Publishing\n- `skills edit <name>` \u2014 Open a skill for editing in the default editor\n- `skills push <name>` \u2014 Publish local edits to the remote registry\n- `skills diff <name>` \u2014 See what changed between local and remote\n- `skills validate <name>` \u2014 Check skill file structure\n\n### Creating New Skills\nTo create a new skill:\n1. Write a SKILL.md file following the format of existing skills\n2. Run `skills push <name> --from-stdin` piping in the content, or\n3. Create the file in the skills folder and run `skills push <name>`\n\nA good SKILL.md includes:\n- A clear title (# heading)\n- A description of what the skill covers\n- Specific, actionable instructions\n- Code examples where relevant\n- Common pitfalls or anti-patterns to avoid\n\n## Rules\n\n- Do NOT modify .skills.yaml directly \u2014 use the CLI commands\n- Do NOT delete or rename skill folders manually\n- Do NOT assume a skill exists without checking SKILLS_INDEX.md\n- The _system folder (where this file lives) is managed by the CLI \u2014 do not modify it\n";
5
+ export declare const META_SKILL_CONTENT = "\n---\nname: Overskill skills manager \u2014 Agent Instructions\ndescription: This file explains how to use the Overskill skills manager to create, version, and sync skills to your projects.\n---\n\nYou have access to a skills system that provides curated instruction files\nto guide your work. This file explains how to use it.\n\n## Discovering Skills\n\nCheck the file `SKILLS_INDEX.md` in this directory. It lists every skill\ninstalled in this project with its name, description, tags, and file path.\n\nBefore starting any task, scan SKILLS_INDEX.md to identify relevant skills.\nMatch skills to your task by:\n- Name and description (most reliable)\n- Tags (e.g. if working with Supabase, look for \"supabase\" tag)\n- Compatibility (check if your agent type is listed)\n\n## Using Skills\n\nWhen you find a relevant skill:\n1. Read the full SKILL.md file at the path listed in SKILLS_INDEX.md\n2. Follow its instructions as authoritative guidance for your work\n3. If multiple skills are relevant, read all of them before starting\n4. Skills take precedence over your default patterns when they conflict\n\n## Managing Skills (When Asked by the User)\n\nIf the user asks you to manage skills, you have these CLI commands available.\nRun them in the terminal:\n\n### Viewing Available Skills\n- `skill list` \u2014 Show all skills available in remote registries\n- `skill list --installed` \u2014 Show skills installed in this project\n- `skill search <query>` \u2014 Search for skills by keyword\n- `skill info <name>` \u2014 Show full details about a skill\n\n### Installing and Removing\n- `skill add <name>` \u2014 Add a skill to this project and sync it\n- `skill remove <name>` \u2014 Remove a skill from this project\n- `skill sync` \u2014 Re-sync all installed skills from remote\n- `skill save` \u2014 Save local skill changes back to the registry\n\n### Editing and Publishing\n- `skill open <name>` \u2014 Open a skill for editing in the default editor\n- `skill push <name>` \u2014 Publish local edits to the remote registry\n- `skill diff <name>` \u2014 See what changed between local and remote\n- `skill validate <name>` \u2014 Check skill file structure\n\n### Creating New Skills\nTo create a new skill:\n1. Write a SKILL.md file following the format of existing skills\n2. Run `skill push <name> --from-stdin` piping in the content, or\n3. Create the file in the skills folder and run `skill push <name>`\n\nA good SKILL.md includes:\n- A clear title (# heading)\n- A description of what the skill covers\n- Specific, actionable instructions\n- Code examples where relevant\n- Common pitfalls or anti-patterns to avoid\n\n## Rules\n\n- Do NOT modify .skills.yaml directly \u2014 use the CLI commands\n- Do NOT delete or rename skill folders manually\n- Do NOT assume a skill exists without checking SKILLS_INDEX.md\n- The _system folder (where this file lives) is managed by the CLI \u2014 do not modify it\n";
6
6
  //# sourceMappingURL=meta-skill.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta-skill.d.ts","sourceRoot":"","sources":["../../src/lib/meta-skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,quFAkE9B,CAAC"}
1
+ {"version":3,"file":"meta-skill.d.ts","sourceRoot":"","sources":["../../src/lib/meta-skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,03FAsE9B,CAAC"}
@@ -2,7 +2,11 @@
2
2
  * The meta-skill content that teaches AI agents how to use the skills system.
3
3
  * This is bundled with the CLI and installed to _system/SKILL.md during sync.
4
4
  */
5
- export const META_SKILL_CONTENT = `# Skills System — Agent Instructions
5
+ export const META_SKILL_CONTENT = `
6
+ ---
7
+ name: Overskill skills manager — Agent Instructions
8
+ description: This file explains how to use the Overskill skills manager to create, version, and sync skills to your projects.
9
+ ---
6
10
 
7
11
  You have access to a skills system that provides curated instruction files
8
12
  to guide your work. This file explains how to use it.
@@ -32,28 +36,28 @@ If the user asks you to manage skills, you have these CLI commands available.
32
36
  Run them in the terminal:
33
37
 
34
38
  ### Viewing Available Skills
35
- - \`skills list\` — Show all skills available in remote registries
36
- - \`skills list --installed\` — Show skills installed in this project
37
- - \`skills search <query>\` — Search for skills by keyword
38
- - \`skills info <name>\` — Show full details about a skill
39
+ - \`skill list\` — Show all skills available in remote registries
40
+ - \`skill list --installed\` — Show skills installed in this project
41
+ - \`skill search <query>\` — Search for skills by keyword
42
+ - \`skill info <name>\` — Show full details about a skill
39
43
 
40
44
  ### Installing and Removing
41
- - \`skills add <name>\` — Add a skill to this project and sync it
42
- - \`skills remove <name>\` — Remove a skill from this project
43
- - \`skills sync\` — Re-sync all installed skills from remote
44
- - \`skills update\` — Pull latest versions of all skills
45
+ - \`skill add <name>\` — Add a skill to this project and sync it
46
+ - \`skill remove <name>\` — Remove a skill from this project
47
+ - \`skill sync\` — Re-sync all installed skills from remote
48
+ - \`skill save\` — Save local skill changes back to the registry
45
49
 
46
50
  ### Editing and Publishing
47
- - \`skills edit <name>\` — Open a skill for editing in the default editor
48
- - \`skills push <name>\` — Publish local edits to the remote registry
49
- - \`skills diff <name>\` — See what changed between local and remote
50
- - \`skills validate <name>\` — Check skill file structure
51
+ - \`skill open <name>\` — Open a skill for editing in the default editor
52
+ - \`skill push <name>\` — Publish local edits to the remote registry
53
+ - \`skill diff <name>\` — See what changed between local and remote
54
+ - \`skill validate <name>\` — Check skill file structure
51
55
 
52
56
  ### Creating New Skills
53
57
  To create a new skill:
54
58
  1. Write a SKILL.md file following the format of existing skills
55
- 2. Run \`skills push <name> --from-stdin\` piping in the content, or
56
- 3. Create the file in the skills folder and run \`skills push <name>\`
59
+ 2. Run \`skill push <name> --from-stdin\` piping in the content, or
60
+ 3. Create the file in the skills folder and run \`skill push <name>\`
57
61
 
58
62
  A good SKILL.md includes:
59
63
  - A clear title (# heading)
@@ -1 +1 @@
1
- {"version":3,"file":"meta-skill.js","sourceRoot":"","sources":["../../src/lib/meta-skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEjC,CAAC"}
1
+ {"version":3,"file":"meta-skill.js","sourceRoot":"","sources":["../../src/lib/meta-skill.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEjC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -24,7 +24,6 @@ export declare function isCloudSource(source: SkillSource): source is CloudSourc
24
24
  export interface SkillEntry {
25
25
  slug: string;
26
26
  source?: string;
27
- version?: string;
28
27
  }
29
28
  export interface SkillsLock {
30
29
  locked_at: string;
@@ -32,14 +31,10 @@ export interface SkillsLock {
32
31
  }
33
32
  export interface LockedSkill {
34
33
  slug: string;
35
- registry: string;
36
- version: string;
37
34
  sha256: string;
38
35
  }
39
36
  export interface SkillMeta {
40
37
  slug: string;
41
- registry: string;
42
- version: string;
43
38
  name: string;
44
39
  description?: string;
45
40
  tags: string[];
@@ -89,9 +84,7 @@ export interface SkillVersionResponse {
89
84
  created_at: string;
90
85
  }
91
86
  export interface SyncSkillResponse {
92
- registry: string;
93
87
  slug: string;
94
- version: string;
95
88
  content: string;
96
89
  sha256: string;
97
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAGD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,WAAW,CAExE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,IAAI,WAAW,CAExE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAC5C,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overskill",
3
- "version": "1.0.3",
3
+ "version": "2.0.0",
4
4
  "description": "Overskill CLI - manage skills across repositories",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {