General troubleshooting guide for agent skills in this repository. For skill-specific issues, see the Troubleshooting section in each skill's SKILL.md. Based on Anthropic's skill guide, Chapter 5.
Cause: File not named exactly SKILL.md (case-sensitive).
Solution: Rename the file to SKILL.md and verify with ls -la.
Cause: YAML formatting issue in the --- delimited block at the top of SKILL.md.
Common mistakes:
# Wrong - missing delimiters
name: my-skill
description: Does things
# Wrong - unclosed quotes
---
name: my-skill
description: "Does things
---
# Correct
---
name: my-skill
description: Does things
---Cause: Name contains spaces or capitals.
# Wrong
name: My Cool Skill
# Correct
name: my-cool-skillSymptom: Skill never loads automatically when you ask a relevant question.
Quick checklist:
- Is the description too generic? ("Helps with projects" won't trigger reliably)
- Does it include trigger phrases users would actually say?
- Does it mention relevant file types if applicable?
Debugging approach: Ask Claude "When would you use the [skill-name] skill?" - Claude will quote the description back. Adjust based on what's missing.
Solution: Revise the description field to include specific trigger phrases. See any of the skills in this repo for examples of good descriptions with explicit trigger phrases.
Symptom: Skill loads for unrelated queries.
Solutions:
- Add negative triggers: Include "Do NOT use for X" in the description
- Be more specific: Replace generic descriptions ("Processes documents") with specific ones ("Processes PDF legal documents for contract review")
- Clarify scope: State what tool/service the skill targets
All skills in this repo already include negative triggers. See any SKILL.md for examples.
Symptom: Skill loads but Lenses MCP tool calls fail.
Checklist:
-
Verify MCP server is connected
- Cursor: Check MCP settings panel
- Claude.ai: Settings > Extensions > Lenses
- Claude Code: Check
~/.claude.json(user) or.claude/settings.json(project) for MCP server config - Should show "Connected" status
-
Check authentication
- Lenses API keys/tokens are valid and not expired
- Proper permissions granted
- Environment name matches what
list_environmentsreturns
-
Test MCP independently (without the skill)
- Ask Claude: "Use Lenses MCP to list environments"
- If this fails, the issue is the MCP connection not the skill
-
Verify tool names
- Skill references the correct MCP tool names
- Tool names are case-sensitive
- Check the Lenses MCP documentation for the latest tool names
Symptom: Skill loads but Claude doesn't follow the workflow steps.
Common causes and fixes:
-
Instructions too verbose - Keep instructions concise. Use bullet points and numbered lists. Move detailed reference material to
references/files (this repo already does this). -
Instructions buried - Put critical instructions at the top. Use
## Importantor## Criticalheaders. Repeat key points if needed. -
Ambiguous language - Be specific:
# Bad
Make sure to validate things properly
# Good
CRITICAL: Before calling create_project, verify:
- Project name is non-empty
- At least one team member assigned
- Start date is not in the past- Model "laziness" - Add explicit encouragement in your prompt (not in SKILL.md):
Take your time to do this thoroughly.
Quality is more important than speed.
Do not skip validation steps.
Symptom: Skill seems slow or responses are degraded.
Causes:
- Skill content too large (over 5,000 words)
- Too many skills enabled simultaneously (more than 20-50)
- All content loaded inline instead of using progressive disclosure
Solutions:
-
Optimise SKILL.md size - Move detailed docs to
references/. Link to references instead of inlining. Keep SKILL.md under 5,000 words. All skills in this repo are under 1,300 words. -
Reduce enabled skills - If you have many skills enabled, consider selective enablement. Only enable what you need for the current task.
Cause: The lensesio marketplace hasn't been added yet.
Solution: Run /plugin marketplace add lensesio/agentic-engineering-for-apache-kafka first, then retry the install. List configured marketplaces with /plugin marketplace list.
Cause: Plugin skills are namespaced under the plugin name. They auto-trigger from natural-language requests, but explicit slash invocation requires the namespace.
Solution: Use /kafka-skills:kafka-topic-audit (and similar for the other six). Confirm install succeeded with /plugin list - you should see kafka-skills@lensesio enabled.
Cause: Schema mismatch. As of Claude Code 2.1.x the validator rejects an unrecognised top-level description on the marketplace; it must live under metadata.
Solution: Move marketplace-level description (and version) under "metadata": { ... } per the official marketplace schema.
Cause: When more than one marketplace is registered, the plain plugin name is ambiguous.
Solution: Use the namespaced form: /plugin update kafka-skills@lensesio.
Cause: Background updates run without your interactive git credential helper, so private repos and rate-limited GitHub access can fail.
Solution: Set GITHUB_TOKEN (or GH_TOKEN) in your shell profile. See Private repositories for the full list of supported providers.
For more, see Anthropic's Plugin marketplaces troubleshooting.
Cause: The plugin reference must point at the GitHub owner/repo, not at a .cursor-plugin/ subpath.
Solution: Use /add-plugin lensesio/agentic-engineering-for-apache-kafka. Cursor reads .cursor-plugin/marketplace.json at the repo root, so no subpath is needed.
Cause: The skill files are present but the agent has not reloaded them, or the per-skill folder layout is wrong.
Solution:
- Reload the Cursor window (Command Palette → Developer: Reload Window).
- Confirm each skill folder under your project's plugin install location contains an
SKILL.md(notskill.mdorREADME.md). The seven expected folders arekafka-topic-audit,kafka-consumer-lag,kafka-perf-review,kafka-schema-review,kafka-security-audit,kafka-connector-review,kafka-dlq-review. - Confirm each
SKILL.mdhas bothnameanddescriptionin YAML frontmatter - Cursor silently ignores any skill missing either field.
Cause: Cursor exposes plugin skills as agent capabilities, not as standalone slash commands like Claude Code does.
Solution: Trigger the skill from a natural-language prompt ("Run a topic audit on staging") rather than typing /kafka-topic-audit directly. The plugin's logo and skill list appear in the Cursor Agent's plugin panel once the install succeeds.
Cause: Cursor caches the marketplace catalog.
Solution: Remove and reinstall the plugin via the Cursor Marketplace UI, or run /add-plugin lensesio/agentic-engineering-for-apache-kafka again. A version bump in .cursor-plugin/plugin.json is required for Cursor to consider a new release distinct from the cached one.
For more, see Cursor plugin reference and Cursor Skills documentation.
Cause: The CLI did not detect any SKILL.md in the discovery paths it knows about.
Solution: This repo declares its skills explicitly in the skills array in .claude-plugin/marketplace.json. Make sure your CLI version is recent enough to honour the plugin-manifest discovery format: npx skills@latest add lensesio/agentic-engineering-for-apache-kafka --list will force-fetch the latest CLI.
Cause: The seven valid skill names are the kafka--prefixed forms in each SKILL.md frontmatter: kafka-topic-audit, kafka-consumer-lag, kafka-perf-review, kafka-schema-review, kafka-security-audit, kafka-connector-review, kafka-dlq-review.
Solution: Use one of the seven names above. The skills.sh listing may temporarily cache earlier unprefixed names - those names are stale.
Cause: The CLI installs into the per-agent folder of whichever agents it auto-detected (for Cursor: .agents/skills/, for Claude Code: .claude/skills/, etc. - see the Supported Agents table). If the agent is configured to read from a different folder, it won't see the install.
Solution:
- Run
npx skills listto see what was installed where. - If the path is wrong, reinstall with an explicit
-a <agent>flag, e.g.npx skills add lensesio/agentic-engineering-for-apache-kafka -a cursor -y. - Confirm the target folder is on your agent's skill-discovery path. For Cursor, see Cursor Skills documentation.
Cause: The CLI defaults to symlinking from each agent's skill folder to a canonical copy. Some Windows setups, WSL mounts and CI containers don't allow symlinks for the calling user.
Solution: Re-run with --copy to use independent file copies instead: npx skills add lensesio/agentic-engineering-for-apache-kafka --copy -y.
Cause: The per-agent skill folder (e.g. ~/.cursor/skills/ for global, .agents/skills/ for project) is owned by another user or mounted read-only.
Solution: Check ownership with ls -la. For project-scoped installs, run npx skills add from a working tree you own. For global installs, ensure your shell user owns the per-agent global path (the Supported Agents table lists each path).
For more, see the Skills CLI README and the Agent Skills Specification.
Cause: The environment name passed to the skill doesn't match any environment in Lenses.
Solution: Run list_environments via Lenses MCP to see available environment names. Environment names are case-sensitive.
Cause: The environment exists but has no resources or the Lenses agent has restricted permissions.
Solution: Verify via the Lenses UI that the expected resources exist. Check that the Lenses service account has read access to the relevant resources.
Cause: Schema Registry is not configured in the Lenses environment.
Solution: This is a valid finding - skills like kafka-schema-review will report this as a governance gap rather than treating it as an error.