Claude Code skills and plugins for Magik development.
| Path | What it does |
|---|---|
skills/magik/ | Magik skill — teaches Claude Code Magik syntax, idioms, and best practices |
plugins/magik-lsp/ | magik-lsp plugin — wires the Magik Language Server into Claude Code's LSP |
The skill gives Claude deep knowledge of Magik: syntax, naming conventions, collections, error handling, anti-patterns, and more. It is auto-triggered whenever you work on Magik or Smallworld code.
# Clone this repo (or your fork)
git clone https://github.com/krn-robin/claude-magik.git
# Copy the skill into Claude's user skills directory
cp -r claude-magik/skills/magik ~/.claude/skills/magik
Claude Code will pick up the new skill automatically — no restart needed.
The plugin configures the magik-tools language server so Claude Code gets live diagnostics, hover info, and completions for .magik files.
Go to the magik-tools releases page and download the latest magik-language-server-*.jar.
Extract / place it in a permanent location, for example:
mkdir -p ~/.local/share/magik-lsp
mv magik-language-server-*.jar ~/.local/share/magik-lsp/
Open (or create) ~/.claude/settings.json and add an lsp section. Replace the JAR filename with the version you downloaded:
{
"lsp": {
"magik": {
"command": "java",
"args": [
"-jar",
"/Users/YOU/.local/share/magik-lsp/magik-language-server-0.11.0.jar",
"--debug"
],
"extensionToLanguage": {
".magik": "magik",
".def": "sw-product-def"
},
"settings": {
"magik": {
"productDirs": [],
"lint": {
"overrideConfigFile": null
},
"typing": {
"typeDatabasePaths": [],
"showTypingInlayHints": false,
"showArgumentInlayHints": false,
"enableChecks": false,
"indexGlobalUsages": true,
"indexMethodUsages": false,
"indexSlotUsages": true,
"indexConditionUsages": true,
"cacheIndexedDefinitions": true
},
"formatting": {
"indentChar": "space",
"indentWidth": 2,
"insertFinalNewline": true,
"trimTrailingWhitespace": true,
"trimFinalNewlines": true,
"indentStrategy": "null"
}
}
}
}
}
}
If settings.json already contains other configuration, merge the "lsp" key into the existing JSON object rather than replacing the file.
productDirs at your Smallworld installation (optional but recommended)For type checking and symbol resolution to work, add your Smallworld product directories:
"productDirs": ["/opt/smallworld/core", "/path/to/your/product"]
cd claude-magik
git pull
cp -r skills/magik ~/.claude/skills/magik
The LSP plugin is just configuration — update the JAR path in settings.json when you upgrade magik-tools.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub krn-robin/claude-magikClaude Code skills and plugins for Magik development
TypeScript/JavaScript full-stack development with NestJS, React, and React Native
Comprehensive Java development toolkit with Spring Boot, testing, LangChain4J, and AWS integration
Python development capabilities
A plugin for all things related to Svelte development, MCP, skills, and more.
Advanced Rust skills for ownership, error handling, and async programming.
Advanced C# programming skills for async patterns and LINQ