This commit is contained in:
beo3000 2026-05-07 22:32:16 +02:00
parent 33bb064d43
commit 59711d0556
5 changed files with 206 additions and 10 deletions

View File

@ -5,17 +5,17 @@ description: Bootstrap a new project with claude-meta template and optional dotn
## Context
- claude-meta repo: C:\work\claude-meta
- Init script: C:\work\claude-meta\scripts\init-project.ps1
- claude-meta repo: D:\projects\chrka\claude-meta
- Init script: D:\projects\chrka\claude-meta\scripts\init-project.ps1
## Your task
1. Ask user via AskUserQuestion:
- Project path (e.g. `C:\work\my-project`)
- Project path (e.g. `D:\projects\chrka\my-project`)
- Project name (e.g. "My Project")
- .NET template (console/webapi/blazorserver/none)
2. Create project directory if it doesn't exist: `mkdir <path>`
3. If .NET template chosen: `dotnet new <template> -o <path>`
4. Run init script: `powershell -ExecutionPolicy Bypass -File C:\work\claude-meta\scripts\init-project.ps1 <path> "<name>"`
4. Run init script: `powershell -ExecutionPolicy Bypass -File D:\projects\chrka\claude-meta\scripts\init-project.ps1 <path> "<name>"`
5. Initialize git: `git init` in project directory
6. Report what was created and suggest editing CLAUDE.md with project-specific info

View File

@ -0,0 +1,10 @@
Use Context7 MCP to fetch current documentation whenever the user asks about a library, framework, SDK, API, CLI tool, or cloud service -- even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot. This includes API syntax, configuration, version migration, library-specific debugging, setup instructions, and CLI tool usage. Use even when you think you know the answer -- your training data may not reflect recent changes. Prefer this over web search for library docs.
Do not use for: refactoring, writing scripts from scratch, debugging business logic, code review, or general programming concepts.
## Steps
1. Always start with `resolve-library-id` using the library name and the user's question, unless the user provides an exact library ID in `/org/project` format
2. Pick the best match (ID format: `/org/project`) by: exact name match, description relevance, code snippet count, source reputation (High/Medium preferred), and benchmark score (higher is better). If results don't look right, try alternate names or queries (e.g., "next.js" not "nextjs", or rephrase the question). Use version-specific IDs when the user mentions a version
3. `query-docs` with the selected library ID and the user's full question (not single words)
4. Answer using the fetched docs

View File

@ -46,13 +46,141 @@
"WebFetch(domain:github.com)",
"WebFetch(domain:www.nuget.org)",
"WebFetch(domain:mudblazor.com)",
"WebFetch(domain:laytech-ag.github.io)"
"WebFetch(domain:laytech-ag.github.io)",
"Read",
"Glob",
"Grep",
"Edit",
"Write",
"Agent",
"Skill(review)",
"Bash(mv:*)",
"Bash(git remote:*)",
"Bash(git push:*)",
"Bash(ssh:*)",
"WebFetch(domain:osticket.com)",
"Bash(where mysql:*)",
"Bash(npm list:*)",
"Bash(where npx:*)",
"Skill(update-config)",
"Skill(update-config:*)",
"Bash(npx --version)",
"Bash(MYSQL_HOST=10.26.1.87 MYSQL_PORT=3306 MYSQL_USER=osticket MYSQL_PASSWORD=secret MYSQL_DATABASE=osticket_TEST_CHRKA npx -y @benborla29/mcp-server-mysql)",
"Bash(echo '{\"\"\"\"jsonrpc\"\"\"\":\"\"\"\"2.0\"\"\"\",\"\"\"\"id\"\"\"\":1,\"\"\"\"method\"\"\"\":\"\"\"\"initialize\"\"\"\",\"\"\"\"params\"\"\"\":{\"\"\"\"protocolVersion\"\"\"\":\"\"\"\"2024-11-05\"\"\"\",\"\"\"\"capabilities\"\"\"\":{},\"\"\"\"clientInfo\"\"\"\":{\"\"\"\"name\"\"\"\":\"\"\"\"test\"\"\"\",\"\"\"\"version\"\"\"\":\"\"\"\"1.0\"\"\"\"}}}:*)",
"Bash(npm cache:*)",
"Bash(node -e \":*)",
"Read(//c/tmp/**)",
"Bash(npm install:*)",
"mcp__mysql__mysql_query",
"Bash(npx -y @benborla29/mcp-server-mysql --help)",
"Bash(npm view:*)",
"Read(//c/work/KRAH/os2ticket/legacy/**)",
"Bash(php -r \":*)",
"Bash(php -r \"echo phpversion\\(\\);\")",
"Bash(curl -s \"https://zammad.com/en/product/features\")",
"Bash(curl -s \"https://docs.zammad.org/en/latest/\")",
"Bash(curl -s \"https://zammad.com/en/product\")",
"WebFetch(domain:zammad.com)",
"WebFetch(domain:admin-docs.zammad.org)",
"WebFetch(domain:user-docs.zammad.org)",
"Bash(printf 'Content-Length: 169\\\\r\\\\n\\\\r\\\\n{\"\"\"\"jsonrpc\"\"\"\":\"\"\"\"2.0\"\"\"\",\"\"\"\"id\"\"\"\":1,\"\"\"\"method\"\"\"\":\"\"\"\"initialize\"\"\"\",\"\"\"\"params\"\"\"\":{\"\"\"\"protocolVersion\"\"\"\":\"\"\"\"2024-11-05\"\"\"\",\"\"\"\"capabilities\"\"\"\":{},\"\"\"\"clientInfo\"\"\"\":{\"\"\"\"name\"\"\"\":\"\"\"\"test\"\"\"\",\"\"\"\"version\"\"\"\":\"\"\"\"1.0\"\"\"\"}}}')",
"Bash(npx -y @benborla29/mcp-server-mysql --version)",
"Bash(npm ls:*)",
"Read(//home/chk/.npm/_npx/**)",
"Bash(while read:*)",
"Bash(do grep:*)",
"Bash(done)",
"Bash(git config:*)",
"Read(///wsl$/Ubuntu/home/*/**)",
"Read(///wsl.localhost/Ubuntu/home/*/**)",
"WebFetch(domain:www.nis-2-directive.com)",
"WebFetch(domain:enx.com)",
"WebFetch(domain:www.isms.online)",
"WebFetch(domain:vda-isa-berater.com)",
"WebFetch(domain:www.forenova.com)",
"WebFetch(domain:www.insideprivacy.com)",
"WebFetch(domain:www.aoshearman.com)",
"WebFetch(domain:www.glocertinternational.com)",
"WebFetch(domain:isms-connect.com)",
"WebFetch(domain:valiido.com)",
"Bash(curl -s \"https://api.github.com/repos/zammad/zammad\")",
"Bash(python3 -c \"import sys,json; d=json.load\\(sys.stdin\\); print\\(f''''Language: {d.get\\(\"\"language\"\"\\)}\\\\nDescription: {d.get\\(\"\"description\"\"\\)}\\\\nTopics: {d.get\\(\"\"topics\"\"\\)}''''\\)\")",
"Bash(curl -s \"https://api.github.com/repos/zammad/zammad/languages\")",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/Gemfile\")",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/package.json\")",
"Bash(python3 -c \"import sys,json; d=json.load\\(sys.stdin\\); deps=d.get\\(''''dependencies'''',{}\\); devdeps=d.get\\(''''devDependencies'''',{}\\); print\\(''''=== Dependencies ===''''\\); [print\\(f'''' {k}: {v}''''\\) for k,v in sorted\\(deps.items\\(\\)\\)]; print\\(''''=== DevDependencies \\(selection\\) ===''''\\); [print\\(f'''' {k}: {v}''''\\) for k,v in sorted\\(devdeps.items\\(\\)\\) if any\\(t in k for t in [''''vue'''',''''vite'''',''''typescript'''',''''tailwind'''',''''vitest'''',''''cypress'''',''''test'''',''''lint'''',''''eslint'''',''''prettier'''',''''storybook'''',''''pinia'''',''''graphql'''',''''formkit'''']\\)]\")",
"Bash(for file:*)",
"Bash(do if:*)",
"Bash(then echo:*)",
"Bash(break)",
"Bash(fi)",
"Bash(rm -f WeatherForecast.cs Os2Ticket.Spike.Api.http Controllers/WeatherForecastController.cs)",
"Bash(mkdir -p Entities Dtos Mapping Validators Controllers)",
"Bash(git reset:*)",
"Bash(npm run:*)",
"Bash(curl -s --max-time 5 http://localhost:5100/api/v1/statuses)",
"Bash(npx tsc:*)",
"Bash(npx vue-tsc:*)",
"Bash(npx vite:*)",
"Bash(/home/chk/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.6/scripts/start-server.sh --project-dir /run/media/chk/Ventoy/projects/krah/os2ticket)",
"Bash(/home/chk/.claude/plugins/cache/claude-plugins-official/superpowers/5.0.6/skills/brainstorming/scripts/start-server.sh --project-dir /run/media/chk/Ventoy/projects/krah/os2ticket)",
"WebFetch(domain:www.krah-gruppe.de)",
"Bash(curl -sL \"https://www.krah-gruppe.de/de/\")",
"Bash(curl -s https://docs.zammad.org/en/latest/channels/email/settings.html)",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter/out_of_office_check.rb\")",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter/auto_response_check.rb\")",
"Bash(curl -s https://api.github.com/search/code?q=x-zammad-out-of-office+repo:zammad/zammad)",
"Bash(python3 -c \"import sys,json; data=json.load\\(sys.stdin\\); [print\\(item[''''path'''']\\) for item in data.get\\(''''items'''',[]\\)]\")",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter/bounce_follow_up_check.rb\")",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter/identify_sender.rb)",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/email_parser.rb)",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/app/models/ticket/state.rb)",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter.rb)",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/app/models/channel/filter/match/email_regex.rb\")",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/app/models/user.rb)",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/db/migrate/20170113000001_out_of_office.rb\")",
"Bash(curl -s https://raw.githubusercontent.com/zammad/zammad/develop/db/seeds/object_manager_attributes.rb)",
"Bash(curl -s \"https://raw.githubusercontent.com/zammad/zammad/develop/spec/models/channel/filter/out_of_office_check_spec.rb\")",
"Bash(wc -l /run/media/chk/Ventoy/projects/krah/os2ticket/docs/C_planning/*.md /run/media/chk/Ventoy/projects/krah/os2ticket/docs/C_spike/*.md /run/media/chk/Ventoy/projects/krah/os2ticket/docs/B_target/*.md /run/media/chk/Ventoy/projects/krah/os2ticket/docs/A_discovery/*.md)",
"Bash(wc -l /run/media/chk/Ventoy/projects/krah/os2ticket/docs/B_target/user-stories/*.md)",
"Bash(python3:*)",
"Bash(gh api:*)",
"Bash(gh search:*)",
"WebFetch(domain:raw.githubusercontent.com)",
"WebFetch(domain:community.zammad.org)",
"WebFetch(domain:docs.zammad.org)",
"Bash(bc)",
"Bash(awk '/^## 1. Functional Requirements/,/^## 2. Non-Functional/' /run/media/chk/Ventoy/projects/krah/os2ticket/docs/B_target/requirements.md)",
"Bash(dotnet --version)",
"Bash(for proj:*)",
"Bash(do)",
"Read(//run/media/chk/Ventoy/projects/krah/os2ticket/**)",
"Bash(mysqldump -h 10.26.1.87 -u osticket -psecret --no-data osticket_TEST_CHRKA)",
"Bash(docker run:*)",
"Bash(podman --version)",
"Bash(docker --version)",
"Bash(docker compose:*)",
"Bash(docker-compose --version)",
"Bash(docker info:*)",
"Bash(find /run/media/chk/Ventoy/projects/krah/os2ticket/tests -type f \\\\\\(-name *.cs -o -name *.json -o -name *.xml \\\\\\) ! -path */obj/* ! -path */bin/*)",
"Bash(git stash:*)",
"Bash(/tmp/extract_tables.sh:*)",
"Bash(chmod +x /tmp/extract_tables.sh)",
"Bash(/tmp/extract_tables.sh)"
],
"defaultMode": "acceptEdits"
"defaultMode": "dontAsk",
"additionalDirectories": [
"/tmp"
]
},
"enabledMcpjsonServers": [
"mysql"
],
"env": {
"cleanupPeriodDays": "365",
"DISABLE_TELEMETRY": "1",
"feedbackSurveyRate": "0"
},
"enabledPlugins": {
"csharp-lsp@claude-plugins-official": true,
"frontend-design@claude-plugins-official": true,
@ -64,7 +192,7 @@
},
"language": "German",
"alwaysThinkingEnabled": true,
"effortLevel": "high",
"effortLevel": "medium",
"voiceEnabled": true,
"mcpServers": {
"playwright": {
@ -72,7 +200,7 @@
"args": [
"@playwright/mcp@latest",
"--browser",
"chromium",
"chrome",
"--headed"
]
},
@ -84,5 +212,10 @@
"postgresql://krah:krah_dev_pw@localhost:5432/krah_prodb"
]
}
},
"statusLine": {
"type": "command",
"command": "npx -y ccstatusline@latest",
"padding": 0
}
}
}

View File

@ -0,0 +1,53 @@
---
name: context7-mcp
description: This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.
---
When the user asks about libraries, frameworks, or needs code examples, use Context7 to fetch current documentation instead of relying on training data.
## When to Use This Skill
Activate this skill when the user:
- Asks setup or configuration questions ("How do I configure Next.js middleware?")
- Requests code involving libraries ("Write a Prisma query for...")
- Needs API references ("What are the Supabase auth methods?")
- Mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)
## How to Fetch Documentation
### Step 1: Resolve the Library ID
Call `resolve-library-id` with:
- `libraryName`: The library name extracted from the user's question
- `query`: The user's full question (improves relevance ranking)
### Step 2: Select the Best Match
From the resolution results, choose based on:
- Exact or closest name match to what the user asked for
- Higher benchmark scores indicate better documentation quality
- If the user mentioned a version (e.g., "React 19"), prefer version-specific IDs
### Step 3: Fetch the Documentation
Call `query-docs` with:
- `libraryId`: The selected Context7 library ID (e.g., `/vercel/next.js`)
- `query`: The user's specific question
### Step 4: Use the Documentation
Incorporate the fetched documentation into your response:
- Answer the user's question using current, accurate information
- Include relevant code examples from the docs
- Cite the library version when relevant
## Guidelines
- **Be specific**: Pass the user's full question as the query for better results
- **Version awareness**: When users mention versions ("Next.js 15", "React 19"), use version-specific library IDs if available from the resolution step
- **Prefer official sources**: When multiple matches exist, prefer official/primary packages over community forks

View File

@ -4,7 +4,7 @@
},
"context": {
"includeDirectories": [
"C:/work/claude-meta/memory"
"D:/projects/chrka/claude-meta/memory"
]
},
"hasSeenIdeIntegrationNudge": true,