dsh-skills-manager 0.1.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/README.md ADDED
@@ -0,0 +1,84 @@
1
+ # dsh-skills-manager
2
+
3
+ A tree-external DeepSeek Harness plugin for managing reusable Agent Skills.
4
+
5
+ It adds a **Skill 管理** item to the Web Settings sidebar and a wrench control beside the composer attachment button. Skills are copied into a private Harness library, then enabled independently at two scopes:
6
+
7
+ - **Global**: available from every workspace.
8
+ - **Project**: available from one registered workspace and its child directories.
9
+
10
+ An imported skill is disabled by default. The plugin uses the official `ctx.skills` provider seam, so model-facing discovery and `/skill` loading keep the normal Harness behavior.
11
+
12
+ ## Install
13
+
14
+ Build a tarball or install the package from a trusted source:
15
+
16
+ ```sh
17
+ pnpm install
18
+ pnpm build
19
+ pnpm dsh plugin --profile web add .
20
+ ```
21
+
22
+ For source development, use the included absolute-path patch after updating the path if needed:
23
+
24
+ ```sh
25
+ pnpm dsh web --patch ./cordis.dev.yml
26
+ ```
27
+
28
+ After changing the bundle or installed dependencies, restart the Harness service. The browser half is discovered from the package `dsh.client` declaration.
29
+
30
+ ## Use
31
+
32
+ 1. Open Web Settings, then select **Skill 管理** in the sidebar.
33
+ 2. Choose **本机** to select a local skill folder, or **仓库** to enter a GitHub `owner/repo`, HTTPS URL, SSH URL, or other Git URL.
34
+ 3. Enable **全局** or select a workspace and enable **项目**.
35
+ 4. Choose **检查更新** to compare installed content with local sources or freshly cloned repositories. Use the refresh icon on a row to install a detected change.
36
+ 5. Use the wrench control beside the composer attachment button to toggle installed skills for the current session workspace only.
37
+ 6. Remove an installed skill with **移除**. This deletes only the plugin's copied library entry, not the local source or remote repository.
38
+
39
+ Repository imports discover a root `SKILL.md`, immediate entries under `skills/`, and immediate entries under `.agents/skills/`. Private repositories use the machine's existing Git credential helper or SSH configuration. Do not put credentials in repository URLs; the plugin stores the repository URL and skill subpath, never a token.
40
+
41
+ Updates preserve global and project enablement. Imports created by older plugin versions have no recorded source; their first update asks for a local source directory and tracks it for later checks.
42
+
43
+ The imported format follows the official filesystem provider: directory bundles use `<name>/SKILL.md`; flat skills use `<name>.md`. YAML frontmatter must contain a kebab-case `name` and non-empty `description`. Companion resources are copied with directory bundles.
44
+
45
+ ## Storage
46
+
47
+ By default the plugin uses the actual Harness home resolved from `DSH_HOME`:
48
+
49
+ ```text
50
+ $DSH_HOME/skill-manager/library/
51
+ $DSH_HOME/skill-manager/state.json
52
+ ```
53
+
54
+ Override the storage root in `cordis.patch.yml`:
55
+
56
+ ```yaml
57
+ - insert:
58
+ - id: dsh-skills-manager
59
+ name: dsh-skills-manager
60
+ config:
61
+ storageDir: /absolute/path/to/skill-manager
62
+ ```
63
+
64
+ ## Development
65
+
66
+ ```sh
67
+ pnpm install
68
+ pnpm test
69
+ pnpm validate
70
+ ```
71
+
72
+ The test suite covers scope resolution, path containment, local updates, Git clone/update behavior, credential URL rejection, and cleanup of persisted references. `pnpm validate` checks the DSH bundle shape.
73
+
74
+ ## Design boundaries
75
+
76
+ - This plugin does not call or shell out to the `skills` CLI. Git repositories are fetched with `git clone --depth 1` using an argv array, never through a shell.
77
+ - It does not rewrite an imported `SKILL.md` and does not alter the source folder or repository. Skill symlinks that escape their source root are rejected.
78
+ - Skills already present in other filesystem roots remain owned by those roots; import them into this library when they should be managed here.
79
+ - Import and mutation RPCs are loopback-only because they write local files.
80
+ - DSH is in developer preview; bundle and Cordis APIs can change between Harness releases.
81
+
82
+ ## License
83
+
84
+ `UNLICENSED` until the repository owner chooses an open-source license.
@@ -0,0 +1,3 @@
1
+ - insert:
2
+ - id: dsh-skills-manager
3
+ name: dsh-skills-manager