@contextium/cli 1.0.2 → 1.0.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/package.json +1 -1
- package/skills/ium/marketplace.md +61 -32
- package/skills/ium/new-project.md +133 -39
package/package.json
CHANGED
|
@@ -3,71 +3,100 @@ name: ium:marketplace
|
|
|
3
3
|
description: Browse, install, or publish skills, agents, and MCP servers on the Contextium Marketplace
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
|
+
- mcp__contextium__search_marketplace
|
|
7
|
+
- mcp__contextium__get_marketplace_listing
|
|
8
|
+
- mcp__contextium__install_marketplace_listing
|
|
9
|
+
- mcp__contextium__list_agents
|
|
10
|
+
- mcp__contextium__list_skills
|
|
6
11
|
- AskUserQuestion
|
|
7
12
|
---
|
|
8
13
|
|
|
9
14
|
<objective>
|
|
10
|
-
|
|
15
|
+
Help the user find and install the right tools from the Contextium Marketplace using natural language. Do not dump category lists — understand what they're trying to do and surface the best 5 matches across all types (skills, agents, MCP servers).
|
|
11
16
|
</objective>
|
|
12
17
|
|
|
13
18
|
<process>
|
|
14
19
|
|
|
15
20
|
<step name="choose_action">
|
|
16
|
-
Ask
|
|
17
|
-
- Question: "What would you like to do on the Marketplace?"
|
|
21
|
+
Ask: "What would you like to do on the Marketplace?"
|
|
18
22
|
- Options:
|
|
19
|
-
- "
|
|
20
|
-
- "Publish — share a skill, agent, or MCP server
|
|
21
|
-
- "My installs — see what's
|
|
23
|
+
- "Find & install — I'll describe what I need"
|
|
24
|
+
- "Publish — share a skill, agent, or MCP server"
|
|
25
|
+
- "My installs — see what's in my workspace"
|
|
22
26
|
</step>
|
|
23
27
|
|
|
24
|
-
<step name="
|
|
25
|
-
If
|
|
28
|
+
<step name="find_and_install">
|
|
29
|
+
If Find & install selected:
|
|
26
30
|
|
|
27
|
-
Ask: "What
|
|
28
|
-
- Options: "Skill", "Agent", "MCP Server", "Any"
|
|
31
|
+
Ask: "What are you looking for? Describe what you want to do or what problem you want to solve."
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
Wait for a natural language response. Examples: "I want to plan and research my project", "I need something to help with writing", "I want to analyse customer feedback".
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
From their description, infer intent and search intelligently:
|
|
36
|
+
|
|
37
|
+
1. Silently fetch what the user already has in their workspace:
|
|
38
|
+
- **CLI:** `contextium skills list -w <workspace> 2>/dev/null` and `contextium agents list -w <workspace> 2>/dev/null`
|
|
39
|
+
- **MCP:** call list_skills and list_agents
|
|
40
|
+
|
|
41
|
+
2. Search the marketplace across all types using the user's keywords:
|
|
42
|
+
- **CLI:** `contextium marketplace list -q "<extracted keywords>" 2>/dev/null`
|
|
43
|
+
- **MCP:** call mcp__contextium__search_marketplace with the extracted keywords
|
|
44
|
+
|
|
45
|
+
3. Decide which type(s) to prioritise based on what the user described:
|
|
46
|
+
- If they want to extend Claude's capabilities (web access, file parsing, external APIs) → prioritise MCP servers
|
|
47
|
+
- If they want a specialist assistant persona → prioritise agents
|
|
48
|
+
- If they want reusable knowledge or instructions → prioritise skills
|
|
49
|
+
- If something relevant already exists in their workspace → flag it as "you already have this" and skip suggesting it
|
|
36
50
|
|
|
37
|
-
|
|
51
|
+
4. From all results, pick the top 5 that best match the intent. If fewer than 5 good matches exist, only show what's relevant — do not pad with irrelevant results.
|
|
52
|
+
|
|
53
|
+
Present results like this:
|
|
38
54
|
|
|
39
|
-
To see full details of a specific listing:
|
|
40
|
-
```bash
|
|
41
|
-
contextium marketplace show <slug>
|
|
42
55
|
```
|
|
56
|
+
Here are the best matches for what you described:
|
|
57
|
+
|
|
58
|
+
1. **Name** (type: skill / agent / mcp)
|
|
59
|
+
What it does and why it fits what you described.
|
|
60
|
+
|
|
61
|
+
2. **Name** (type: ...)
|
|
62
|
+
...
|
|
43
63
|
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
contextium marketplace install <slug> -w <workspace>
|
|
64
|
+
↗ Already in your workspace: "Name" — this already covers part of what you need.
|
|
47
65
|
```
|
|
48
66
|
|
|
49
|
-
|
|
67
|
+
Ask: "Which would you like to install? Give me a number, or say skip."
|
|
68
|
+
|
|
69
|
+
If the user picks one, fetch full details and install:
|
|
70
|
+
- **CLI:** `contextium marketplace show <slug>` then `contextium marketplace install <slug> -w <workspace>`
|
|
71
|
+
- **MCP:** call get_marketplace_listing then install_marketplace_listing
|
|
72
|
+
|
|
73
|
+
Confirm: `✓ Installed "<Name>" into your workspace.`
|
|
74
|
+
|
|
75
|
+
Ask if they want to install another from the list or search for something different.
|
|
50
76
|
</step>
|
|
51
77
|
|
|
52
78
|
<step name="publish">
|
|
53
79
|
If Publish selected:
|
|
54
80
|
|
|
55
|
-
The CLI does not support publishing — direct the user to the web marketplace.
|
|
56
|
-
|
|
57
81
|
"Publishing is done via the web UI. Go to https://contextium.io/marketplace and click 'Publish' to share your skill, agent, or MCP server."
|
|
58
82
|
</step>
|
|
59
83
|
|
|
60
84
|
<step name="my_installs">
|
|
61
85
|
If My installs selected:
|
|
62
86
|
|
|
63
|
-
|
|
87
|
+
Silently fetch the workspace's skills and agents:
|
|
88
|
+
- **CLI:** `contextium skills list -w <workspace> 2>/dev/null` and `contextium agents list -w <workspace> 2>/dev/null`
|
|
89
|
+
- **MCP:** call list_skills and list_agents
|
|
64
90
|
|
|
65
|
-
|
|
66
|
-
contextium skills list -w <workspace>
|
|
67
|
-
contextium agents list -w <workspace>
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
Show what's available and offer to install more from the marketplace.
|
|
91
|
+
Show a clean list grouped by type. Offer to search for more.
|
|
71
92
|
</step>
|
|
72
93
|
|
|
73
94
|
</process>
|
|
95
|
+
|
|
96
|
+
<rules>
|
|
97
|
+
- Never ask the user to pick a type (skill / agent / MCP) — infer it from what they describe
|
|
98
|
+
- Never show all marketplace items — always filter to top 5 relevant results
|
|
99
|
+
- Always check what the user already has before suggesting installs
|
|
100
|
+
- Do not show raw CLI output, IDs, or slugs to the user
|
|
101
|
+
- If search returns nothing useful, say so and ask them to rephrase
|
|
102
|
+
</rules>
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ium:new-project
|
|
3
|
-
description: Set up a new Contextium project — authenticate, pick a workspace, create libraries, agents, skills, and a workflow
|
|
3
|
+
description: Set up a new Contextium project — authenticate, pick a workspace, describe project, intelligently suggest and create libraries, agents, skills, tags, and a workflow
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- mcp__contextium__list_workspaces
|
|
7
7
|
- mcp__contextium__create_context_library
|
|
8
|
-
- mcp__contextium__create_agent
|
|
9
|
-
- mcp__contextium__create_skill
|
|
10
|
-
- mcp__contextium__create_workflow
|
|
11
8
|
- mcp__contextium__list_context_libraries
|
|
9
|
+
- mcp__contextium__create_agent
|
|
12
10
|
- mcp__contextium__list_agents
|
|
11
|
+
- mcp__contextium__create_skill
|
|
13
12
|
- mcp__contextium__list_skills
|
|
13
|
+
- mcp__contextium__create_workflow
|
|
14
14
|
- mcp__contextium__list_workflows
|
|
15
|
+
- mcp__contextium__list_tags
|
|
16
|
+
- mcp__contextium__list_tag_types
|
|
17
|
+
- mcp__contextium__create_tag
|
|
18
|
+
- mcp__contextium__create_tag_type
|
|
15
19
|
- AskUserQuestion
|
|
16
20
|
---
|
|
17
21
|
|
|
18
22
|
<objective>
|
|
19
|
-
Set up a new Contextium project — workspace
|
|
23
|
+
Set up a new Contextium project intelligently — understand what the user is trying to do, quietly analyse the workspace for existing resources, then recommend exactly what to create (libraries, agents, skills, tags, workflow) with clear reasoning. Get confirmation before creating anything.
|
|
20
24
|
</objective>
|
|
21
25
|
|
|
22
26
|
<mode-detection>
|
|
@@ -28,7 +32,7 @@ command -v contextium &>/dev/null && echo "cli" || echo "no-cli"
|
|
|
28
32
|
|
|
29
33
|
- If `cli`: use CLI commands throughout. Do not attempt MCP tools.
|
|
30
34
|
- If `no-cli`: check if mcp__contextium__list_workspaces is available. If yes, use MCP tools throughout.
|
|
31
|
-
- If neither: tell the user "Contextium doesn't appear to be installed. Install the CLI with `npm install -g @contextium/cli` or connect the MCP server, then re-run this."
|
|
35
|
+
- If neither: tell the user "Contextium doesn't appear to be installed. Install the CLI with `npm install -g @contextium/cli` or connect the MCP server, then re-run this." Stop here.
|
|
32
36
|
|
|
33
37
|
Do not mention the mode to the user. Pick one path and stick with it.
|
|
34
38
|
</mode-detection>
|
|
@@ -54,56 +58,143 @@ Ask: "Which workspace is this project for?"
|
|
|
54
58
|
Present names only — no IDs, no raw output.
|
|
55
59
|
</step>
|
|
56
60
|
|
|
57
|
-
<step name="
|
|
58
|
-
Ask
|
|
61
|
+
<step name="project_description">
|
|
62
|
+
Ask the user this question exactly:
|
|
59
63
|
|
|
60
|
-
|
|
61
|
-
**MCP:** mcp__contextium__create_context_library for each.
|
|
64
|
+
"Tell me about your project — what are you trying to do, what topics are involved, and what kind of work will you be doing with this? The more detail you give me, the better I can set things up for you."
|
|
62
65
|
|
|
63
|
-
|
|
66
|
+
Wait for their response. Store it as the project description. Do not proceed until you have a meaningful answer.
|
|
64
67
|
</step>
|
|
65
68
|
|
|
66
|
-
<step name="
|
|
67
|
-
|
|
69
|
+
<step name="quiet_analysis">
|
|
70
|
+
Silently fetch all existing workspace resources. Do not show raw output or errors. Show only these progress lines as you go:
|
|
68
71
|
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
```
|
|
73
|
+
Searching libraries...
|
|
74
|
+
Searching agents...
|
|
75
|
+
Searching skills...
|
|
76
|
+
Searching tags...
|
|
77
|
+
```
|
|
71
78
|
|
|
72
|
-
|
|
73
|
-
|
|
79
|
+
**CLI:**
|
|
80
|
+
```bash
|
|
81
|
+
contextium library list --workspace <slug> 2>/dev/null
|
|
82
|
+
contextium agent list --workspace <slug> 2>/dev/null
|
|
83
|
+
contextium skill list --workspace <slug> 2>/dev/null
|
|
84
|
+
contextium tag list --workspace <slug> 2>/dev/null
|
|
85
|
+
```
|
|
74
86
|
|
|
75
|
-
|
|
76
|
-
Ask: "Any skills to add? Skills are reusable knowledge blocks (e.g. brand guidelines, refund policy). Name them or say skip."
|
|
87
|
+
**MCP:** call list_context_libraries, list_agents, list_skills, list_tags — all for the selected workspace. Suppress any errors silently.
|
|
77
88
|
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
After all four searches complete, output this line:
|
|
90
|
+
```
|
|
91
|
+
Creating Contextium setup plan...
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then analyse the results against the project description:
|
|
95
|
+
- Which existing libraries (if any) are relevant to what the user described?
|
|
96
|
+
- Which existing agents (if any) could serve this project?
|
|
97
|
+
- Which existing skills (if any) are applicable?
|
|
98
|
+
- Which existing tags/tag types (if any) relate to the topics mentioned?
|
|
80
99
|
|
|
81
|
-
|
|
100
|
+
Internally categorise everything as: **reuse** (relevant, already exists) or **create** (needed, does not exist).
|
|
82
101
|
</step>
|
|
83
102
|
|
|
84
|
-
<step name="
|
|
85
|
-
|
|
103
|
+
<step name="intelligent_plan">
|
|
104
|
+
Based on the project description and the analysis, build a setup plan. Think through:
|
|
105
|
+
|
|
106
|
+
**Libraries:** What distinct knowledge areas did the user mention? Each major topic or type of content that needs to be stored separately should be its own library. If an existing library already covers one of these, mark it for reuse.
|
|
107
|
+
|
|
108
|
+
**Agents:** What kind of AI assistant roles would serve this project? Think about what tasks the user will perform — research, writing, analysis, Q&A, etc. If an existing agent fits, mark it for reuse.
|
|
109
|
+
|
|
110
|
+
**Skills:** What reusable knowledge blocks would help agents working on this project? Think about domain-specific guidelines, reference material, or persistent context the agent needs. If an existing skill fits, mark it for reuse.
|
|
111
|
+
|
|
112
|
+
**Tags:** What topic or category labels would make sense for organising content in this project? Look for existing tag types that match. If none exist, suggest new ones. Think in terms of tag categories (e.g. `topic`, `source`, `status`) and the specific tag values within them (e.g. `topic:space-travel`, `topic:rocket-engineering`).
|
|
113
|
+
|
|
114
|
+
**Workflow:** Propose one workflow name that bundles everything together for quick loading.
|
|
115
|
+
|
|
116
|
+
Present the plan in this format (omit any section that has nothing in it):
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
Here's what I'll set up for you:
|
|
86
121
|
|
|
87
|
-
**
|
|
88
|
-
|
|
122
|
+
**New libraries to create**
|
|
123
|
+
- "Library Name" — reason why this is needed
|
|
89
124
|
|
|
90
|
-
|
|
125
|
+
**Existing libraries to reuse**
|
|
126
|
+
- "Library Name" — why it's relevant
|
|
127
|
+
|
|
128
|
+
**New agents to create**
|
|
129
|
+
- "Agent Name" — what it will do for this project
|
|
130
|
+
|
|
131
|
+
**Existing agents to reuse**
|
|
132
|
+
- "Agent Name" — why it fits
|
|
133
|
+
|
|
134
|
+
**New skills to create**
|
|
135
|
+
- "Skill Name" — what knowledge it will hold
|
|
136
|
+
|
|
137
|
+
**Existing skills to reuse**
|
|
138
|
+
- "Skill Name" — why it fits
|
|
139
|
+
|
|
140
|
+
**Tags to create**
|
|
141
|
+
- `category:value` — why this label is useful
|
|
142
|
+
|
|
143
|
+
**Workflow**
|
|
144
|
+
- "Workflow Name" — bundles everything above for quick loading
|
|
145
|
+
|
|
146
|
+
Shall I go ahead and create all of this?
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
Wait for the user to confirm, adjust, or say skip on any item before proceeding.
|
|
91
151
|
</step>
|
|
92
152
|
|
|
93
|
-
<step name="
|
|
94
|
-
|
|
153
|
+
<step name="create_resources">
|
|
154
|
+
Only create what the user confirmed. Create in this order: tag types → tags → libraries → skills → agents → workflow.
|
|
155
|
+
|
|
156
|
+
Show `✓ Created "Name"` for each item as it is created. Show `↗ Reusing "Name"` for each existing resource being included.
|
|
95
157
|
|
|
158
|
+
Suppress all errors silently — if something fails, skip it quietly and note it in the summary.
|
|
159
|
+
|
|
160
|
+
**CLI commands:**
|
|
161
|
+
```bash
|
|
162
|
+
contextium library create "<name>" --workspace <slug>
|
|
163
|
+
contextium agent create "<name>" --workspace <slug>
|
|
164
|
+
contextium skill create "<name>" --workspace <slug>
|
|
165
|
+
contextium workflow create "<name>" --workspace <slug>
|
|
166
|
+
contextium tag create "<value>" --type <type-slug> --workspace <slug>
|
|
167
|
+
contextium tag-type create "<name>" --workspace <slug>
|
|
96
168
|
```
|
|
97
|
-
✓ Contextium project ready
|
|
98
169
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
170
|
+
**MCP:** use the corresponding create_* tools for each resource type.
|
|
171
|
+
</step>
|
|
172
|
+
|
|
173
|
+
<step name="load_workflow">
|
|
174
|
+
After all resources are created, automatically load the workflow without asking the user. Run silently:
|
|
175
|
+
|
|
176
|
+
**CLI:** `contextium workflow load "<workflow-name>" --workspace <slug> 2>/dev/null`
|
|
177
|
+
**MCP:** call mcp__contextium__load_workflow with the workflow name and workspace.
|
|
178
|
+
|
|
179
|
+
Do not tell the user to load it themselves — just load it as part of setup.
|
|
180
|
+
</step>
|
|
181
|
+
|
|
182
|
+
<step name="summary">
|
|
183
|
+
Show a clean final summary:
|
|
104
184
|
|
|
105
|
-
Load it anytime with /ium:workflow.
|
|
106
185
|
```
|
|
186
|
+
✓ Project ready
|
|
187
|
+
|
|
188
|
+
Workspace: <name>
|
|
189
|
+
Libraries: <list — new + reused>
|
|
190
|
+
Agents: <list — new + reused, or none>
|
|
191
|
+
Skills: <list — new + reused, or none>
|
|
192
|
+
Tags: <list, or none>
|
|
193
|
+
Workflow: <name> — loaded and ready
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
If anything failed to create, add a single line at the end:
|
|
197
|
+
`⚠ Could not create: <list of names> — you can add these manually.`
|
|
107
198
|
</step>
|
|
108
199
|
|
|
109
200
|
</process>
|
|
@@ -111,7 +202,10 @@ Load it anytime with /ium:workflow.
|
|
|
111
202
|
<rules>
|
|
112
203
|
- Never say "the wizard", "Contextium would like to know", or "the next step is"
|
|
113
204
|
- Never show raw bash output, API responses, or IDs to the user
|
|
114
|
-
- Run all checks silently — only surface
|
|
115
|
-
-
|
|
116
|
-
-
|
|
205
|
+
- Run all checks and fetches silently — only surface progress labels and the final plan
|
|
206
|
+
- Only ask questions when genuinely needed — the description step and the confirmation step
|
|
207
|
+
- Do not ask the user what to create — figure it out from the description, then ask them to confirm
|
|
208
|
+
- If a resource already exists and is relevant, always prefer reuse over creating a duplicate
|
|
209
|
+
- The plan report must explain the reasoning for each item — not just list names
|
|
210
|
+
- Never create anything before the user confirms the plan
|
|
117
211
|
</rules>
|