Commit Graph

4 Commits

Author SHA1 Message Date
czlonkowski
74e662e1f5 feat: Add n8n-code-javascript skill (Skill #6)
Complete expert guidance for writing JavaScript in n8n Code nodes.

Files added (6 skill files + 5 evaluations):
- SKILL.md (699 lines) - Quick start, mode selection, data access overview
- DATA_ACCESS.md (782 lines) - Complete data access patterns
- COMMON_PATTERNS.md (1,110 lines) - 10 production-tested patterns
- ERROR_PATTERNS.md (763 lines) - Top 5 errors covering 62%+ of failures
- BUILTIN_FUNCTIONS.md (764 lines) - Complete built-in function reference
- README.md (350 lines) - Skill metadata and overview

Total: 4,468 lines across 6 files + 5 evaluation scenarios

Key features:
- Data access patterns: $input.all(), $input.first(), $input.item
- Critical gotcha highlighted: Webhook data under .body
- Return format emphasized: [{json: {...}}]
- Top 5 error patterns with solutions (38%, 8%, 5%, 6% of failures)
- 10 production-tested patterns (multi-source aggregation, regex filtering, etc.)
- Complete built-in function reference ($helpers.httpRequest, DateTime, $jmespath)
- Mode selection guide (All Items vs Each Item)

Evaluations (5):
- eval-001: Webhook body gotcha (most common mistake)
- eval-002: Return format error (missing array wrapper)
- eval-003: HTTP requests with $helpers.httpRequest()
- eval-004: Aggregation pattern with reduce()
- eval-005: Expression syntax confusion (using {{}} in code)

Documentation updates:
- README.md: Updated from 5 to 7 skills
- plugin.json: Added code/javascript/python keywords
- marketplace.json: Updated description to reflect 7 skills

Ready for: Production use

🤖 Generated with Claude Code
Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 14:20:53 +02:00
czlonkowski
15285fb390 fix: Change repository field from object to string in plugin.json
Claude Code expects repository field to be a string, not an object.

Error: repository: Expected string, received object

Changed from:
"repository": { "type": "git", "url": "..." }

To:
"repository": "https://github.com/czlonkowski/n8n-skills"

This follows Claude Code's plugin.json schema where repository is a simple
string URL rather than npm's package.json format.

Distribution package regenerated with corrected plugin.json.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 13:28:05 +02:00
czlonkowski
055c35079b fix: Correct marketplace.json source path format
Change source from "." to "./" to comply with Claude Code marketplace
schema validation requirement.

Error: plugins.0.source: Invalid input: must start with "./"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 13:20:07 +02:00
czlonkowski
c84d605f30 feat: Add Claude Code plugin and marketplace support
Implement full Claude Code plugin structure with marketplace support,
enabling easy installation via /plugin commands.

## Changes

### Plugin Structure (Standard Compliant)

**Created `.claude-plugin/` directory with:**
- `plugin.json` - Moved from root, updated to standard schema
- `marketplace.json` - NEW: Enables marketplace discovery

**plugin.json changes:**
-  Removed non-standard `skills` array (auto-discovered from skills/ directory)
-  Removed non-standard `requires` field
-  Updated `author` from string to object with name and url
-  Added `homepage` field
-  Follows official Claude Code plugin schema

### Installation Methods

**Method 1 - Direct Plugin Install** (Recommended):
```bash
/plugin install czlonkowski/n8n-skills
```

**Method 2 - Marketplace**:
```bash
/plugin marketplace add czlonkowski/n8n-skills
/plugin install  # Then select from list
```

**Method 3 - Manual**: Clone and copy (unchanged)

### Repository Structure

```
n8n-skills/
├── .claude-plugin/          # NEW - Plugin metadata
│   ├── plugin.json          # Standard schema
│   └── marketplace.json     # Marketplace listing
├── skills/                  # Auto-discovered by Claude Code
│   ├── n8n-expression-syntax/
│   ├── n8n-mcp-tools-expert/
│   ├── n8n-workflow-patterns/
│   ├── n8n-validation-expert/
│   └── n8n-node-configuration/
└── dist/
    └── n8n-mcp-skills-claude-code-v1.0.0.zip  # Updated with .claude-plugin/
```

### Benefits

 **One-command installation**: `/plugin install czlonkowski/n8n-skills`
 **Marketplace ready**: Can be browsed via marketplace UI
 **Auto-discovery**: Skills automatically detected from skills/ directory
 **Standard compliant**: Follows official Claude Code plugin specification
 **Dual distribution**: Works as both plugin and marketplace

### Documentation

Updated README.md with three installation methods:
1. Plugin install (recommended)
2. Marketplace browse and install
3. Manual installation (backward compatible)

Distribution package regenerated with .claude-plugin/ directory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 13:15:33 +02:00