superskill 0.2.0 → 0.2.4
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/marketplace.json +23 -0
- package/.claude-plugin/plugin.json +12 -0
- package/.mcp.json +9 -0
- package/CHANGELOG.md +24 -5
- package/LICENSE-COMMERCIAL.md +46 -0
- package/README.md +114 -151
- package/dist/setup/configure.js +21 -1
- package/dist/setup/configure.js.map +1 -1
- package/dist/setup/teardown.js +13 -5
- package/dist/setup/teardown.js.map +1 -1
- package/package.json +8 -2
- package/dist/commands/brainstorm.test.d.ts +0 -1
- package/dist/commands/brainstorm.test.js +0 -110
- package/dist/commands/brainstorm.test.js.map +0 -1
- package/dist/commands/context.test.d.ts +0 -1
- package/dist/commands/context.test.js +0 -230
- package/dist/commands/context.test.js.map +0 -1
- package/dist/commands/decide.test.d.ts +0 -1
- package/dist/commands/decide.test.js +0 -109
- package/dist/commands/decide.test.js.map +0 -1
- package/dist/commands/graph.test.d.ts +0 -1
- package/dist/commands/graph.test.js +0 -215
- package/dist/commands/graph.test.js.map +0 -1
- package/dist/commands/learn.test.d.ts +0 -1
- package/dist/commands/learn.test.js +0 -241
- package/dist/commands/learn.test.js.map +0 -1
- package/dist/commands/read.test.d.ts +0 -1
- package/dist/commands/read.test.js +0 -48
- package/dist/commands/read.test.js.map +0 -1
- package/dist/commands/resume.test.d.ts +0 -1
- package/dist/commands/resume.test.js +0 -243
- package/dist/commands/resume.test.js.map +0 -1
- package/dist/commands/search.test.d.ts +0 -1
- package/dist/commands/search.test.js +0 -61
- package/dist/commands/search.test.js.map +0 -1
- package/dist/commands/session.test.d.ts +0 -1
- package/dist/commands/session.test.js +0 -231
- package/dist/commands/session.test.js.map +0 -1
- package/dist/commands/skill/index.test.d.ts +0 -1
- package/dist/commands/skill/index.test.js +0 -137
- package/dist/commands/skill/index.test.js.map +0 -1
- package/dist/commands/skill/install.test.d.ts +0 -1
- package/dist/commands/skill/install.test.js +0 -225
- package/dist/commands/skill/install.test.js.map +0 -1
- package/dist/commands/skill/list.test.d.ts +0 -1
- package/dist/commands/skill/list.test.js +0 -101
- package/dist/commands/skill/list.test.js.map +0 -1
- package/dist/commands/skill/schema.test.d.ts +0 -1
- package/dist/commands/skill/schema.test.js +0 -142
- package/dist/commands/skill/schema.test.js.map +0 -1
- package/dist/commands/skill/validate.test.d.ts +0 -1
- package/dist/commands/skill/validate.test.js +0 -171
- package/dist/commands/skill/validate.test.js.map +0 -1
- package/dist/commands/task.test.d.ts +0 -1
- package/dist/commands/task.test.js +0 -395
- package/dist/commands/task.test.js.map +0 -1
- package/dist/commands/todo.test.d.ts +0 -1
- package/dist/commands/todo.test.js +0 -324
- package/dist/commands/todo.test.js.map +0 -1
- package/dist/commands/write.test.d.ts +0 -1
- package/dist/commands/write.test.js +0 -79
- package/dist/commands/write.test.js.map +0 -1
- package/dist/config.test.d.ts +0 -1
- package/dist/config.test.js +0 -147
- package/dist/config.test.js.map +0 -1
- package/dist/core/executor.test.d.ts +0 -1
- package/dist/core/executor.test.js +0 -206
- package/dist/core/executor.test.js.map +0 -1
- package/dist/core/registry.test.d.ts +0 -1
- package/dist/core/registry.test.js +0 -213
- package/dist/core/registry.test.js.map +0 -1
- package/dist/integration/coordination.test.d.ts +0 -1
- package/dist/integration/coordination.test.js +0 -286
- package/dist/integration/coordination.test.js.map +0 -1
- package/dist/integration/project-artifacts.test.d.ts +0 -1
- package/dist/integration/project-artifacts.test.js +0 -275
- package/dist/integration/project-artifacts.test.js.map +0 -1
- package/dist/integration/registry-graph.test.d.ts +0 -1
- package/dist/integration/registry-graph.test.js +0 -157
- package/dist/integration/registry-graph.test.js.map +0 -1
- package/dist/integration/vault-lifecycle.test.d.ts +0 -1
- package/dist/integration/vault-lifecycle.test.js +0 -183
- package/dist/integration/vault-lifecycle.test.js.map +0 -1
- package/dist/lib/auto-number.test.d.ts +0 -1
- package/dist/lib/auto-number.test.js +0 -88
- package/dist/lib/auto-number.test.js.map +0 -1
- package/dist/lib/auto-profile.test.d.ts +0 -1
- package/dist/lib/auto-profile.test.js +0 -227
- package/dist/lib/auto-profile.test.js.map +0 -1
- package/dist/lib/escape-regex.test.d.ts +0 -1
- package/dist/lib/escape-regex.test.js +0 -27
- package/dist/lib/escape-regex.test.js.map +0 -1
- package/dist/lib/frontmatter.test.d.ts +0 -1
- package/dist/lib/frontmatter.test.js +0 -192
- package/dist/lib/frontmatter.test.js.map +0 -1
- package/dist/lib/project-detector.test.d.ts +0 -1
- package/dist/lib/project-detector.test.js +0 -117
- package/dist/lib/project-detector.test.js.map +0 -1
- package/dist/lib/safe-external-path.test.d.ts +0 -1
- package/dist/lib/safe-external-path.test.js +0 -99
- package/dist/lib/safe-external-path.test.js.map +0 -1
- package/dist/lib/search-engine.test.d.ts +0 -1
- package/dist/lib/search-engine.test.js +0 -120
- package/dist/lib/search-engine.test.js.map +0 -1
- package/dist/lib/session-registry.test.d.ts +0 -1
- package/dist/lib/session-registry.test.js +0 -199
- package/dist/lib/session-registry.test.js.map +0 -1
- package/dist/lib/stack-detector.test.d.ts +0 -1
- package/dist/lib/stack-detector.test.js +0 -110
- package/dist/lib/stack-detector.test.js.map +0 -1
- package/dist/lib/token-estimator.test.d.ts +0 -1
- package/dist/lib/token-estimator.test.js +0 -65
- package/dist/lib/token-estimator.test.js.map +0 -1
- package/dist/lib/tool-detector.test.d.ts +0 -1
- package/dist/lib/tool-detector.test.js +0 -170
- package/dist/lib/tool-detector.test.js.map +0 -1
- package/dist/lib/vault-fs.test.d.ts +0 -1
- package/dist/lib/vault-fs.test.js +0 -210
- package/dist/lib/vault-fs.test.js.map +0 -1
- package/dist/setup/configure.test.d.ts +0 -1
- package/dist/setup/configure.test.js +0 -112
- package/dist/setup/configure.test.js.map +0 -1
- package/dist/setup/detect.test.d.ts +0 -1
- package/dist/setup/detect.test.js +0 -44
- package/dist/setup/detect.test.js.map +0 -1
- package/dist/setup/instructions.test.d.ts +0 -1
- package/dist/setup/instructions.test.js +0 -84
- package/dist/setup/instructions.test.js.map +0 -1
- package/dist/setup/json-config.test.d.ts +0 -1
- package/dist/setup/json-config.test.js +0 -92
- package/dist/setup/json-config.test.js.map +0 -1
- package/dist/setup/setup-integration.test.d.ts +0 -1
- package/dist/setup/setup-integration.test.js +0 -72
- package/dist/setup/setup-integration.test.js.map +0 -1
- package/dist/setup/teardown.test.d.ts +0 -1
- package/dist/setup/teardown.test.js +0 -105
- package/dist/setup/teardown.test.js.map +0 -1
- package/dist/setup/toml-config.test.d.ts +0 -1
- package/dist/setup/toml-config.test.js +0 -49
- package/dist/setup/toml-config.test.js.map +0 -1
- package/dist/test-helpers.test.d.ts +0 -1
- package/dist/test-helpers.test.js +0 -90
- package/dist/test-helpers.test.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "superskill",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Permanu (Atharva Pandey)",
|
|
5
|
+
"email": "license@permanu.com"
|
|
6
|
+
},
|
|
7
|
+
"metadata": {
|
|
8
|
+
"description": "Universal skill marketplace + knowledge vault for AI coding agents",
|
|
9
|
+
"version": "0.2.1"
|
|
10
|
+
},
|
|
11
|
+
"plugins": [
|
|
12
|
+
{
|
|
13
|
+
"name": "superskill",
|
|
14
|
+
"source": {
|
|
15
|
+
"source": "url",
|
|
16
|
+
"url": "https://github.com/permanu/superskill.git"
|
|
17
|
+
},
|
|
18
|
+
"description": "Universal skill marketplace + knowledge vault. Auto-detects your stack, resolves skill collisions across 9 repos, loads expert methodologies (TDD, brainstorming, code review, debugging, security, etc.) on demand.",
|
|
19
|
+
"version": "0.2.1",
|
|
20
|
+
"strict": true
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "superskill",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Universal skill marketplace + knowledge vault for AI coding agents. Auto-detects your stack, loads expert methodologies (TDD, brainstorming, code review, debugging, security, etc.) on demand.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "Permanu (Atharva Pandey)",
|
|
7
|
+
"url": "https://permanu.com"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/permanu/superskill",
|
|
10
|
+
"license": "AGPL-3.0-or-later",
|
|
11
|
+
"keywords": ["skills", "marketplace", "knowledge-base", "context", "vault", "tdd", "brainstorming", "code-review", "multi-tool"]
|
|
12
|
+
}
|
package/.mcp.json
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -5,12 +5,31 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [0.2.0] - 2026-03-22
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Skill Marketplace** — 87 skills cataloged from 9 repos (ECC, Superpowers, gstack, Anthropic, design repos)
|
|
12
|
+
- **Collision Detection** — 12 domains mapped with 55 competing skills, profile-based resolution
|
|
13
|
+
- **Smart Skill Activation** — `superskill` MCP tool: LLM picks domain based on user intent, loads expert methodology on demand
|
|
14
|
+
- **Per-Project Filtering** — Auto-detects stack (Go, React, Django, etc.) and loads only relevant skills (68% bloat reduction)
|
|
15
|
+
- **Progressive Disclosure** — Lightweight manifest + on-demand `vault_skill_load` for context-efficient skill loading
|
|
16
|
+
- **Auto-Detection** — Stack detector (languages/frameworks), tool detector (Claude Code/Codex/OpenCode/Gemini), auto-profile selection
|
|
17
|
+
- **3 Built-in Profiles** — `ecc-first`, `superpowers-first`, `minimal` for collision resolution
|
|
18
|
+
- **Layered Generation** — Core (~25k tokens), Extended (~50k), Reference (~31k) tiers sized to model context windows
|
|
19
|
+
- **Claude Code Plugin** — `.claude-plugin/plugin.json` + `.mcp.json` for first-class plugin support
|
|
20
|
+
- **Dual Licensing** — AGPL-3.0-or-later + Commercial license for businesses >$1M revenue
|
|
21
|
+
- **SPDX Headers** — All 51 source files tagged with `AGPL-3.0-or-later OR Commercial`
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- **Rebranded** from `obsidian-mcp` to `superskill` across all source, tests, configs, and documentation
|
|
25
|
+
- **Skill awareness injection** — `vault_resume` and `inject-project-context` now include skill domain menu
|
|
26
|
+
- **npm package** renamed to `superskill`
|
|
27
|
+
- **GitHub repo** renamed to `permanu/superskill`
|
|
9
28
|
|
|
10
29
|
## [0.1.2] - 2026-03-21
|
|
11
30
|
|
|
12
31
|
### Added
|
|
13
|
-
- **Auto-setup**: `
|
|
32
|
+
- **Auto-setup**: `superskill-cli setup` and `teardown` commands for multi-client MCP registration
|
|
14
33
|
- Supports 8 AI clients: Claude Code, Claude Desktop, Cursor, OpenCode, Crush CLI, Codex CLI, Gemini CLI, Droid
|
|
15
34
|
- Auto-detects installed clients and configures MCP server entries + behavioral instructions
|
|
16
35
|
- Postinstall script prints detected clients after `npm install`
|
|
@@ -37,6 +56,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
37
56
|
- CLI shorthand commands (`r`, `w`, `s`, `c`, `t`, `l`, `sk`)
|
|
38
57
|
- MCP tool annotations (`readOnlyHint`, `destructiveHint`, `idempotentHint`)
|
|
39
58
|
|
|
40
|
-
[
|
|
41
|
-
[0.1.2]: https://github.com/
|
|
42
|
-
[0.1.1]: https://github.com/
|
|
59
|
+
[0.2.0]: https://github.com/permanu/superskill/compare/v0.1.2...v0.2.0
|
|
60
|
+
[0.1.2]: https://github.com/permanu/superskill/compare/v0.1.1...v0.1.2
|
|
61
|
+
[0.1.1]: https://github.com/permanu/superskill/releases/tag/v0.1.1
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# SuperSkill Commercial License
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
SuperSkill is dual-licensed:
|
|
6
|
+
- **AGPL-3.0-or-later** for open source and personal use
|
|
7
|
+
- **Commercial License** for businesses exceeding the revenue threshold
|
|
8
|
+
|
|
9
|
+
## When You Need a Commercial License
|
|
10
|
+
|
|
11
|
+
A Commercial License is required when ALL of the following are true:
|
|
12
|
+
1. Your organization uses SuperSkill in a commercial product or service
|
|
13
|
+
2. Your organization's annual gross revenue exceeds **USD $1,000,000**
|
|
14
|
+
3. You do not wish to comply with AGPL-3.0 obligations (source disclosure)
|
|
15
|
+
|
|
16
|
+
Organizations below the revenue threshold may use SuperSkill under AGPL-3.0 without a commercial license.
|
|
17
|
+
|
|
18
|
+
## Attribution Requirement (All Users)
|
|
19
|
+
|
|
20
|
+
ALL users of SuperSkill, including AGPL users, must:
|
|
21
|
+
- Include "Powered by SuperSkill" attribution in any product, documentation, or service that uses SuperSkill
|
|
22
|
+
- Maintain the original copyright notices in source code
|
|
23
|
+
- Not remove or alter any license headers
|
|
24
|
+
|
|
25
|
+
## Commercial License Terms
|
|
26
|
+
|
|
27
|
+
The Commercial License includes:
|
|
28
|
+
- Permission to use SuperSkill without AGPL source disclosure requirements
|
|
29
|
+
- Permission to create proprietary modifications
|
|
30
|
+
- Priority support channel access
|
|
31
|
+
- License to use the SuperSkill name and logo in your product
|
|
32
|
+
|
|
33
|
+
## Pricing
|
|
34
|
+
|
|
35
|
+
Commercial license fees are based on organization size:
|
|
36
|
+
- **$1M - $10M annual revenue**: $500/year
|
|
37
|
+
- **$10M - $50M annual revenue**: $2,000/year
|
|
38
|
+
- **$50M+ annual revenue**: $5,000/year
|
|
39
|
+
|
|
40
|
+
## Contact
|
|
41
|
+
|
|
42
|
+
For commercial licensing inquiries: license@permanu.com
|
|
43
|
+
|
|
44
|
+
## Effective Date
|
|
45
|
+
|
|
46
|
+
These terms are effective as of March 2026.
|
package/README.md
CHANGED
|
@@ -1,168 +1,161 @@
|
|
|
1
|
-
#
|
|
1
|
+
# SuperSkill
|
|
2
2
|
|
|
3
|
-
**Universal
|
|
3
|
+
**Universal skill marketplace + knowledge vault for AI coding agents.** Auto-detects your stack, resolves skill collisions across repos, and loads expert methodologies on demand.
|
|
4
4
|
|
|
5
5
|
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
6
|
+
[](https://www.npmjs.com/package/superskill)
|
|
6
7
|
[](https://nodejs.org/)
|
|
7
8
|
[](https://www.typescriptlang.org/)
|
|
8
|
-
[](https://github.com/gopherine/obsidian-mcp/releases)
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## What It Does
|
|
11
11
|
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **Project
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **Multi-Agent Coordination** — Session registry for agent swarms
|
|
12
|
+
- **Skill Marketplace** — 87 skills from 9 repos (ECC, Superpowers, gstack, Anthropic, design repos). Catalog, search, filter by domain.
|
|
13
|
+
- **Collision Detection** — 12 domains where skills from different repos compete (TDD, planning, code review, etc.). Profile-based resolution picks the best skill per domain.
|
|
14
|
+
- **Per-Project Filtering** — Auto-detects your stack (Go+Echo, React+Next, Django, etc.) and loads only relevant skills. Go project? No Django/Spring/frontend skills loaded.
|
|
15
|
+
- **Progressive Disclosure** — Lightweight manifest (~100 tokens/skill) + on-demand loading. Small context models get essentials only.
|
|
16
|
+
- **Knowledge Vault** — Persistent project memory: tasks, decisions (ADRs), learnings, sessions, brainstorms. Cross-tool, cross-session continuity.
|
|
17
|
+
- **Multi-Agent Coordination** — Session registry for agent swarms. No file conflicts.
|
|
19
18
|
|
|
20
|
-
##
|
|
19
|
+
## Install
|
|
20
|
+
|
|
21
|
+
### Claude Code Plugin (recommended)
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
|
-
|
|
24
|
+
/plugin marketplace add permanu/superskill
|
|
25
|
+
/plugin install superskill
|
|
24
26
|
```
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
### npm (any MCP-compatible tool)
|
|
29
|
+
|
|
27
30
|
```bash
|
|
28
|
-
|
|
31
|
+
npm install -g superskill
|
|
29
32
|
```
|
|
30
33
|
|
|
31
|
-
Or
|
|
34
|
+
Or use directly:
|
|
32
35
|
```bash
|
|
33
|
-
|
|
34
|
-
cd obsidian-mcp
|
|
35
|
-
npm install && npm run build
|
|
36
|
+
npx superskill
|
|
36
37
|
```
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
## Quick Start
|
|
39
|
+
### From source
|
|
41
40
|
|
|
42
41
|
```bash
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
# CLI tool
|
|
47
|
-
npx @gopherine/obsidian-mcp-cli --help
|
|
42
|
+
git clone https://github.com/permanu/superskill.git
|
|
43
|
+
cd superskill
|
|
44
|
+
npm install && npm run build
|
|
48
45
|
```
|
|
49
46
|
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
| Shorthand | Full Command | Description |
|
|
53
|
-
|-----------|--------------|-------------|
|
|
54
|
-
| `r` | `read <path>` | Read a vault note |
|
|
55
|
-
| `w` | `write <path>` | Write/create a vault note |
|
|
56
|
-
| `s` | `search <query>` | Search the vault |
|
|
57
|
-
| `c` | `context` | Get project context |
|
|
58
|
-
| `i` | `init <path>` | Initialize project context |
|
|
59
|
-
| `d` | `decide` | Log an architecture decision |
|
|
60
|
-
| `t` | `task` | Manage tasks |
|
|
61
|
-
| `t add` | `task add` | Add a task |
|
|
62
|
-
| `t ls` | `task list` | List tasks |
|
|
63
|
-
| `t b` | `task board` | Show kanban board |
|
|
64
|
-
| `l` | `learn` | Manage learnings |
|
|
65
|
-
| `l add` | `learn add` | Capture a learning |
|
|
66
|
-
| `l ls` | `learn list` | List learnings |
|
|
67
|
-
| `sk i` | `skill install` | Install a skill |
|
|
68
|
-
| `sk ls` | `skill list` | List installed skills |
|
|
69
|
-
| `sk rm` | `skill delete` | Remove a skill |
|
|
70
|
-
|
|
71
|
-
## MCP Setup
|
|
47
|
+
## Quick Start
|
|
72
48
|
|
|
73
|
-
|
|
49
|
+
Once installed, SuperSkill auto-detects your project and loads skills on demand. The main MCP tool is `superskill` — the LLM calls it automatically when it recognizes a task that matches a skill domain.
|
|
74
50
|
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
claude mcp add obsidian-mcp -- npx -y @gopherine/obsidian-mcp
|
|
78
|
-
```
|
|
51
|
+
### How It Works
|
|
79
52
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{
|
|
83
|
-
|
|
84
|
-
"obsidian-mcp": {
|
|
85
|
-
"command": "npx",
|
|
86
|
-
"args": ["-y", "@gopherine/obsidian-mcp"]
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
```
|
|
53
|
+
1. Agent starts session → SuperSkill injects skill awareness via `vault_resume`
|
|
54
|
+
2. User says "let's think about this problem"
|
|
55
|
+
3. Agent recognizes brainstorming intent → calls `superskill({domain: "brainstorming"})`
|
|
56
|
+
4. SuperSkill returns expert methodology → agent follows it
|
|
91
57
|
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
claude mcp add obsidian-mcp -e VAULT_PATH=~/Vaults/ai -- npx -y @gopherine/obsidian-mcp
|
|
95
|
-
```
|
|
58
|
+
No manual commands needed. The LLM decides when to use skills based on your intent.
|
|
96
59
|
|
|
97
|
-
###
|
|
60
|
+
### Skill Domains
|
|
98
61
|
|
|
99
|
-
|
|
62
|
+
| Domain | What It Covers |
|
|
63
|
+
|--------|---------------|
|
|
64
|
+
| `brainstorming` | Thinking through problems, exploring ideas, ideating |
|
|
65
|
+
| `planning` | Architecture, implementation strategy, scoping |
|
|
66
|
+
| `code-review` | PR review, code quality, feedback |
|
|
67
|
+
| `tdd` | Writing tests, coverage, test-driven development |
|
|
68
|
+
| `debugging` | Investigating errors, troubleshooting, root cause |
|
|
69
|
+
| `security` | Vulnerability review, auth, OWASP, hardening |
|
|
70
|
+
| `verification` | Build checks, lint, type validation |
|
|
71
|
+
| `shipping` | Deployment, CI/CD, releases, rollbacks |
|
|
72
|
+
| `frontend-design` | UI/UX, components, visual design |
|
|
73
|
+
| `agent-orchestration` | Multi-agent, parallel tasks, subagents |
|
|
74
|
+
| `database` | SQL, schemas, migrations, query optimization |
|
|
100
75
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
76
|
+
### CLI
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Marketplace
|
|
80
|
+
superskill-cli skill catalog # 87 skills, 9 repos
|
|
81
|
+
superskill-cli skill catalog --search "tdd" # search
|
|
82
|
+
superskill-cli skill collisions # 12 collision domains
|
|
83
|
+
superskill-cli skill resolve --profile ecc-first # see winners
|
|
84
|
+
|
|
85
|
+
# Generate super-skill (auto-detects stack)
|
|
86
|
+
superskill-cli skill generate # Go project → 14 skills, React → different set
|
|
87
|
+
|
|
88
|
+
# Smart activate (describe task, get skill)
|
|
89
|
+
superskill-cli skill activate "brainstorm this" # → loads brainstorming skill
|
|
90
|
+
superskill-cli skill activate "write tests" # → loads TDD skill
|
|
91
|
+
superskill-cli skill activate "review PR" --domain code-review # direct domain
|
|
92
|
+
|
|
93
|
+
# Progressive disclosure
|
|
94
|
+
superskill-cli skill manifest # lightweight index
|
|
95
|
+
superskill-cli skill load ecc/tdd-workflow # load one skill
|
|
96
|
+
|
|
97
|
+
# Knowledge vault
|
|
98
|
+
superskill-cli context # project context
|
|
99
|
+
superskill-cli task add "Fix auth bug" --priority p0
|
|
100
|
+
superskill-cli task board # kanban view
|
|
101
|
+
superskill-cli learn add --title "Redis pattern" # capture learning
|
|
102
|
+
superskill-cli decide --title "Use PostgreSQL" # log ADR
|
|
103
|
+
superskill-cli resume # what happened last session
|
|
113
104
|
```
|
|
114
105
|
|
|
115
|
-
|
|
106
|
+
## MCP Setup (non-plugin)
|
|
116
107
|
|
|
117
|
-
|
|
108
|
+
For tools that don't support Claude Code plugins, configure as a standard MCP server:
|
|
118
109
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
"command": "npx",
|
|
124
|
-
"args": ["-y", "@gopherine/obsidian-mcp"]
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
110
|
+
### Claude Code
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
claude mcp add superskill -e VAULT_PATH=~/Vaults/ai -- npx -y superskill
|
|
128
114
|
```
|
|
129
115
|
|
|
130
|
-
### OpenCode
|
|
116
|
+
### Claude Desktop / Cursor / Codex / OpenCode
|
|
131
117
|
|
|
132
|
-
Add to your MCP
|
|
118
|
+
Add to your MCP config:
|
|
133
119
|
|
|
134
120
|
```json
|
|
135
121
|
{
|
|
136
122
|
"mcpServers": {
|
|
137
|
-
"
|
|
138
|
-
"type": "stdio",
|
|
123
|
+
"superskill": {
|
|
139
124
|
"command": "npx",
|
|
140
|
-
"args": ["-y", "
|
|
125
|
+
"args": ["-y", "superskill"],
|
|
126
|
+
"env": {
|
|
127
|
+
"VAULT_PATH": "~/Vaults/ai"
|
|
128
|
+
}
|
|
141
129
|
}
|
|
142
130
|
}
|
|
143
131
|
}
|
|
144
132
|
```
|
|
145
133
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
Add to your MCP configuration:
|
|
134
|
+
## MCP Tools
|
|
149
135
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
136
|
+
| Tool | Description |
|
|
137
|
+
|------|-------------|
|
|
138
|
+
| `superskill` | **Main tool** — load expert methodology by domain, task description, or skill ID |
|
|
139
|
+
| `vault_read` | Read file or directory from vault |
|
|
140
|
+
| `vault_write` | Write/append/prepend content |
|
|
141
|
+
| `vault_search` | Full-text search across vault |
|
|
142
|
+
| `vault_project_context` | Get project context (auto-detects from CWD) |
|
|
143
|
+
| `vault_init` | Generate draft context.md from a git repo |
|
|
144
|
+
| `vault_decide` | Log architecture decision |
|
|
145
|
+
| `vault_task` | Manage tasks (add/list/update/board) |
|
|
146
|
+
| `vault_learn` | Capture/list learnings |
|
|
147
|
+
| `vault_session` | Multi-agent session coordination |
|
|
148
|
+
| `vault_skill` | Skill marketplace operations (catalog/collisions/resolve/generate) |
|
|
149
|
+
| `vault_resume` | Resume context — recent sessions, interrupted work, next steps |
|
|
150
|
+
| `vault_prune` | Archive/delete stale content |
|
|
151
|
+
| `vault_stats` | Content statistics |
|
|
152
|
+
| `vault_deprecate` | Mark items as deprecated |
|
|
160
153
|
|
|
161
154
|
## Configuration
|
|
162
155
|
|
|
163
156
|
| Environment Variable | Default | Description |
|
|
164
157
|
|---------------------|---------|-------------|
|
|
165
|
-
| `VAULT_PATH` | `~/Vaults/ai` | Path to
|
|
158
|
+
| `VAULT_PATH` | `~/Vaults/ai` | Path to knowledge vault |
|
|
166
159
|
| `MAX_INJECT_TOKENS` | `1500` | Max tokens for context injection |
|
|
167
160
|
| `SESSION_TTL_HOURS` | `2` | Session heartbeat TTL |
|
|
168
161
|
|
|
@@ -176,6 +169,7 @@ Add to your MCP configuration:
|
|
|
176
169
|
│ └── locks/ # PID lockfiles
|
|
177
170
|
├── skills/
|
|
178
171
|
│ ├── installed/ # Installed skills
|
|
172
|
+
│ ├── super-skill/ # Generated super-skill files
|
|
179
173
|
│ └── registry.json # Skill metadata
|
|
180
174
|
└── projects/<slug>/
|
|
181
175
|
├── context.md # Project overview
|
|
@@ -187,49 +181,18 @@ Add to your MCP configuration:
|
|
|
187
181
|
└── _archive/ # Pruned content
|
|
188
182
|
```
|
|
189
183
|
|
|
190
|
-
## MCP Tools
|
|
191
|
-
|
|
192
|
-
| Tool | Description |
|
|
193
|
-
|------|-------------|
|
|
194
|
-
| `vault_read` | Read file or directory |
|
|
195
|
-
| `vault_write` | Write/append/prepend content |
|
|
196
|
-
| `vault_search` | Full-text search |
|
|
197
|
-
| `vault_project_context` | Get project context |
|
|
198
|
-
| `vault_init` | Generate draft context.md |
|
|
199
|
-
| `vault_decide` | Log architecture decision |
|
|
200
|
-
| `vault_task` | Manage tasks (add/list/update/board) |
|
|
201
|
-
| `vault_learn` | Capture/list learnings |
|
|
202
|
-
| `vault_session` | Register/heartbeat/complete sessions |
|
|
203
|
-
| `vault_skill_*` | Skill installer operations |
|
|
204
|
-
| `vault_prune` | Archive/delete stale content |
|
|
205
|
-
| `vault_stats` | Content statistics |
|
|
206
|
-
| `vault_resume` | Resume context for continuing work |
|
|
207
|
-
| `vault_deprecate` | Mark items as deprecated |
|
|
208
|
-
|
|
209
184
|
## Testing
|
|
210
185
|
|
|
211
186
|
```bash
|
|
212
|
-
# Run all tests
|
|
213
|
-
npm test
|
|
214
|
-
|
|
215
|
-
# Run with coverage (target: 90%+)
|
|
216
|
-
npm run test:coverage
|
|
217
|
-
|
|
218
|
-
# Run specific test file
|
|
219
|
-
npm test src/commands/task.test.ts
|
|
220
|
-
|
|
221
|
-
# Watch mode
|
|
222
|
-
npm run test:watch
|
|
187
|
+
npm test # Run all tests (Vitest)
|
|
188
|
+
npm run test:coverage # With coverage
|
|
189
|
+
npm test src/lib/auto-profile.test.ts # Specific file
|
|
223
190
|
```
|
|
224
191
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
## Documentation
|
|
192
|
+
## License
|
|
228
193
|
|
|
229
|
-
- [
|
|
230
|
-
- [Code of Conduct](./CODE_OF_CONDUCT.md)
|
|
231
|
-
- [Changelog](./CHANGELOG.md)
|
|
194
|
+
AGPL-3.0-or-later — See [LICENSE](./LICENSE)
|
|
232
195
|
|
|
233
|
-
|
|
196
|
+
Commercial license available for organizations with >$1M annual revenue. See [LICENSE-COMMERCIAL.md](./LICENSE-COMMERCIAL.md).
|
|
234
197
|
|
|
235
|
-
|
|
198
|
+
Copyright 2026 Permanu (Atharva Pandey)
|
package/dist/setup/configure.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
3
3
|
import { dirname } from "path";
|
|
4
4
|
import { INSTRUCTION_TEXT } from "./types.js";
|
|
5
|
-
import { readJsonConfig, writeJsonConfig, addMcpEntry } from "./json-config.js";
|
|
5
|
+
import { readJsonConfig, writeJsonConfig, addMcpEntry, removeMcpEntry } from "./json-config.js";
|
|
6
6
|
import { insertTomlBlock } from "./toml-config.js";
|
|
7
7
|
import { writeMarkdownInstruction, writeMdcInstruction, } from "./instructions.js";
|
|
8
8
|
export function buildMcpEntry(commandType, envKey, vaultPath, extraFields) {
|
|
@@ -33,6 +33,26 @@ export function configureClient(detected, vaultPath, options = {}) {
|
|
|
33
33
|
instructionConfigured: false,
|
|
34
34
|
};
|
|
35
35
|
try {
|
|
36
|
+
// 0. Migrate: remove old obsidian-mcp / obsidian-kb entries
|
|
37
|
+
const LEGACY_NAMES = ["obsidian-mcp", "obsidian-kb"];
|
|
38
|
+
if (!options.dryRun && config.configFormat === "json" && existsSync(mcpConfigPath)) {
|
|
39
|
+
try {
|
|
40
|
+
let migrated = readJsonConfig(mcpConfigPath);
|
|
41
|
+
if (migrated) {
|
|
42
|
+
let anyLegacyRemoved = false;
|
|
43
|
+
for (const oldName of LEGACY_NAMES) {
|
|
44
|
+
const result = removeMcpEntry(migrated, config.rootKey, oldName);
|
|
45
|
+
if (result?.removed) {
|
|
46
|
+
migrated = result.config;
|
|
47
|
+
anyLegacyRemoved = true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (anyLegacyRemoved)
|
|
51
|
+
writeJsonConfig(mcpConfigPath, migrated);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch { /* migration is best-effort */ }
|
|
55
|
+
}
|
|
36
56
|
// 1. Configure MCP entry
|
|
37
57
|
if (config.configFormat === "json") {
|
|
38
58
|
if (options.dryRun) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/setup/configure.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/setup/configure.ts"],"names":[],"mappings":"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"}
|
package/dist/setup/teardown.js
CHANGED
|
@@ -13,17 +13,25 @@ export function teardownClient(detected, options = {}) {
|
|
|
13
13
|
instructionRemoved: false,
|
|
14
14
|
};
|
|
15
15
|
try {
|
|
16
|
-
// 1. Remove MCP entry
|
|
16
|
+
// 1. Remove MCP entry (current name + legacy names)
|
|
17
|
+
const MCP_NAMES = ["superskill", "obsidian-mcp", "obsidian-kb"];
|
|
17
18
|
if (config.configFormat === "json") {
|
|
18
19
|
if (options.dryRun) {
|
|
19
20
|
result.mcpRemoved = true;
|
|
20
21
|
}
|
|
21
22
|
else if (existsSync(mcpConfigPath)) {
|
|
22
|
-
|
|
23
|
+
let existing = readJsonConfig(mcpConfigPath);
|
|
23
24
|
if (existing) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
let anyRemoved = false;
|
|
26
|
+
for (const name of MCP_NAMES) {
|
|
27
|
+
const { config: updated, removed } = removeMcpEntry(existing, config.rootKey, name);
|
|
28
|
+
if (removed) {
|
|
29
|
+
existing = updated;
|
|
30
|
+
anyRemoved = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (anyRemoved) {
|
|
34
|
+
writeJsonConfig(mcpConfigPath, existing);
|
|
27
35
|
result.mcpRemoved = true;
|
|
28
36
|
}
|
|
29
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../src/setup/teardown.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,UAAU,cAAc,CAC5B,QAAwB,EACxB,UAAgC,EAAE;IAElC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;IAC5D,MAAM,MAAM,GAAmB;QAC7B,MAAM,EAAE,MAAM,CAAC,IAAI;QACnB,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IAEF,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"teardown.js","sourceRoot":"","sources":["../../src/setup/teardown.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superskill",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Universal agentic knowledge base + context optimizer + skill marketplace for AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/mcp-server.js",
|
|
@@ -20,8 +20,14 @@
|
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist/",
|
|
23
|
+
"!dist/**/*.test.js",
|
|
24
|
+
"!dist/**/*.test.d.ts",
|
|
25
|
+
"!dist/**/*.test.js.map",
|
|
26
|
+
".claude-plugin/",
|
|
27
|
+
".mcp.json",
|
|
23
28
|
"README.md",
|
|
24
29
|
"LICENSE",
|
|
30
|
+
"LICENSE-COMMERCIAL.md",
|
|
25
31
|
"CHANGELOG.md"
|
|
26
32
|
],
|
|
27
33
|
"scripts": {
|
|
@@ -52,7 +58,7 @@
|
|
|
52
58
|
"author": "Permanu (Atharva Pandey)",
|
|
53
59
|
"repository": {
|
|
54
60
|
"type": "git",
|
|
55
|
-
"url": "https://github.com/
|
|
61
|
+
"url": "https://github.com/permanu/superskill.git"
|
|
56
62
|
},
|
|
57
63
|
"keywords": [
|
|
58
64
|
"mcp",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|