Back to list
theflysurfer

julien-skill-creator

by theflysurfer

Personal marketplace for developing and sharing custom Claude skills

1🍴 0📅 Jan 21, 2026

SKILL.md


name: julien-skill-creator description: "Create or update Claude Code skills. Use when: user wants to create a skill, add a new skill, update skill, or mentions SKILL.md. Includes Skill Chaining documentation." license: Apache-2.0 metadata: author: "Julien (based on Anthropic skill-creator)" version: "2.0.0" category: "development" triggers:

  • "SKILL.md"
  • "skill.md"
  • "create skill"
  • "new skill"
  • "add skill"
  • "build skill"
  • "skill template"
  • "write skill"
  • "créer skill"
  • "nouvelle skill"
  • "ajouter skill"
  • "construire skill"
  • "écrire skill"
  • "créer une skill"
  • "faire une skill"
  • "développer une skill"
  • "create a new skill"
  • "build custom skill"
  • "skill development"

Skill Creator

Enhanced guidance for creating effective skills with proper structure and documentation.

Observability

First: At the start of execution, display:

🔧 Skill "julien-skill-creator" activated

Core Principles

Concise is Key

Context window is shared. Only add what Claude doesn't already know. Challenge each piece: "Does this justify its token cost?"

Progressive Disclosure (3 Levels)

  1. Metadata (name + description) - Always in context (~100 words)
  2. SKILL.md body - When skill triggers (< 500 lines)
  3. Bundled resources - As needed by Claude

Skill Structure

skill-name/
├── SKILL.md (required, < 500 lines)
│   ├── YAML frontmatter (name, description required)
│   └── Markdown instructions
└── Bundled Resources (optional)
    ├── scripts/      - Executable code
    ├── references/   - Documentation loaded on-demand
    └── assets/       - Output resources (templates, images)

Key rules:

  • References must be one level deep from SKILL.md
  • Files > 100 lines need table of contents at top
  • Use forward slashes only (not Windows backslashes)
  • No extraneous files (README.md, CHANGELOG.md, etc.)

Naming & Description

See references/naming-conventions.md for full guidelines.

Quick rules:

  • Name: max 64 chars, lowercase + hyphens, gerund form preferred (processing-pdfs)
  • Description: max 1024 chars, third person, include "what + when to use"

Skill Creation Process

Step 1: Understand with Examples

Ask clarifying questions:

  • "What functionality should this skill support?"
  • "Give examples of how it would be used"
  • "What should trigger this skill?"

Step 2: Choose Destination

ALWAYS ask the user where to place the skill:

DestinationPathUse Case
Local (projet).claude/skills/Skill spécifique à ce projet uniquement
Marketplace~/.../Claude Code MarketPlace/skills/Skill réutilisable, à partager/sync

Questions to ask:

  • "Cette skill est-elle spécifique à ce projet ou réutilisable ailleurs?"
  • "Voulez-vous la partager via le marketplace?"

Naming convention by destination:

  • Local: simple name (my-project-deploy)
  • Marketplace: prefixed (julien-{category}-{name})

Step 3: Plan Reusable Contents

For each example, identify:

  • Scripts needed (deterministic/repeated code)
  • References needed (schemas, docs, policies)
  • Assets needed (templates, images)

Step 4: Initialize Skill

For Local (project):

mkdir -p .claude/skills/<skill-name>
# Or copy template
cp -r ~/.claude/skills/julien-skill-creator/assets/template-skill/ .claude/skills/<skill-name>/

For Marketplace:

# Use marketplace path
MARKETPLACE="$HOME/OneDrive/Coding/_Projets de code/2025.11 Claude Code MarketPlace"
mkdir -p "$MARKETPLACE/skills/<skill-name>"
# Or use init script
python "$MARKETPLACE/scripts/init_skill.py" <skill-name> --path "$MARKETPLACE/skills/"

Step 5: Edit the Skill

YAML Frontmatter

Required Fields:

---
name: skill-name                      # Required: max 64 chars, lowercase + hyphens
description: What it does and when to use it  # Required: max 1024 chars, third person
---

Optional Fields:

See references/yaml-frontmatter-guide.md for complete documentation on all optional fields.

Quick Reference - When to Use Each Field:

FieldUse Case
versionAlways (recommended for hot-reload tracking)
licenseAlways (Apache-2.0, MIT, or proprietary)
allowed-toolsSecurity-sensitive operations (restrict tool access)
user-invocable: falseInternal helper skills (not in /slash menu)
disable-model-invocation: trueManual-only destructive operations
mode: trueMode commands (modify Claude's global behavior)
context: forkIsolated execution in subagent (exploration, research)
agentSpecify agent type (Explore, Plan, Bash)
modelCost optimization (haiku for exploration, opus for complex)
hooksLifecycle automation (lint on write, cleanup on stop)
triggersALWAYS for marketplace (10-20 natural language triggers)
metadataOrganization, attribution, categorization

Note: triggers is our marketplace extension, not official Anthropic. Official approach uses keywords in description.

Body Instructions

Write using imperative form (verb-first). Reference bundled resources clearly.

Document Skill Chaining (Critical)

Add Skill Chaining section at end. See references/skill-chaining-template.md for complete template.

Required subsections:

  1. Skills Required Before
  2. Input Expected
  3. Output Produced
  4. Compatible Skills After
  5. Called By
  6. Tools Used
  7. Visual Workflow
  8. Usage Example

Step 6: Add Activation Announcement (REQUIRED)

Every skill MUST announce its activation for observability.

Add this instruction at the beginning of the skill's execution section:

## Observability

**First**: At the start of execution, display:

🔧 Skill "your-skill-name" activated

This:

  • Confirms which skill is running
  • Provides feedback to users
  • Contourns Issue #4084 (hooks can't display in UI)

Step 7: Package Skill

scripts/package_skill.py <path/to/skill-folder>

Validates then creates .skill file.

Step 8: Add Semantic Routing Triggers

Add triggers to YAML frontmatter for automatic skill suggestion:

---
name: your-skill-name
description: What it does. Use when [specific triggers].
triggers:
  - "excel"
  - "créer un fichier excel"
  - "ajouter des formules"
---

Trigger Writing Methodology

Golden Rule: Write triggers as users naturally speak, not technical jargon.

Bad (Technical)Good (Natural Language)
xlsx manipulationcréer un fichier excel
git repository syncmettre à jour le serveur
docker containerlancer le site
pdf extractionlire ce pdf

3 Categories of Triggers (include all 3):

  1. Keywords (1-2 words): Core concepts users mention

    • excel, pdf, docker, skill
  2. Action Phrases (3-5 words): What users want to DO

    • créer un fichier excel
    • traduire ces sous-titres
    • déployer sur le serveur
  3. Problem Phrases: How users describe their PROBLEM

    • mon site ne marche plus
    • je veux automatiser
    • comment faire pour...

Bilingual Coverage:

  • Always include French AND English variants
  • French first (primary user language), then English

Quantity Guidelines:

  • Minimum: 5 triggers
  • Optimal: 10-20 triggers
  • Maximum: 50 triggers (diminishing returns)

Test Your Triggers:

python scripts/benchmark-semantic-router.py "votre phrase test"

Step 9: Iterate with Self-Assessment

Never fix everything at once. Each iteration focuses on ONE improvement.

  1. Score against quality rubric (see references/quality-rubric.md)
  2. Identify top 3-5 gaps
  3. Fix ONE dimension per iteration
  4. Re-score until average ≥ 3.5/5

Reference Files

FileContent
references/quality-rubric.md11-dimension scoring (1-5 scale)
references/skill-chaining-template.mdComplete chaining documentation format
references/naming-conventions.mdOfficial Anthropic naming rules
references/advanced-patterns.mdFeedback loops, plan-validate-execute, templates
references/final-checklist.mdPre-distribution verification checklist

Degrees of Freedom

Match specificity to task fragility:

FreedomWhen to UseExample
HighMultiple valid approachesCode review guidelines
MediumPreferred pattern existsScripts with parameters
LowFragile/critical operationsDatabase migrations

What NOT to Include

  • README.md, INSTALLATION_GUIDE.md, CHANGELOG.md
  • User-facing documentation
  • Setup/testing procedures
  • Any auxiliary context about creation process

Security & Portability

Security Checklist

  • ✓ No hardcoded credentials (passwords, API keys, tokens)
  • ✓ Sensitive data in .env file
  • .env added to .gitignore
  • ✓ Instructions use environment variables ($VAR or source .env)
  • ✓ Use allowed-tools to restrict tool access for sensitive operations
  • ✓ Set disable-model-invocation: true for admin-only/destructive skills
  • ✓ Add version field for hot-reload tracking (Claude Code v2.1.0+)

Portability Checklist

  • ✓ Use relative paths (.env, ./scripts/) instead of absolute paths
  • ✓ Use ~/.claude/skills/ for user paths, not hardcoded home directories
  • ✓ Avoid platform-specific paths (e.g., C:\Users\... in examples)
  • ✓ Use forward slashes only (not Windows backslashes)

Anti-Patterns to Avoid

❌ Description >200 chars (breaks progressive disclosure) ❌ Content >300 lines (too much detail) ❌ Duplicates existing docs (should reference instead) ❌ Development notes in content (timestamps, changelog) ❌ Generic/vague description (doesn't explain when to use) ❌ Second-person language ("you should...") ❌ Information in both SKILL.md and references files ❌ Hardcoded credentials (passwords, API keys, database credentials, tokens) ❌ Sensitive data in code examples (use placeholders or .env variables) ❌ Absolute paths in examples (/home/user/..., C:\Users\...) ❌ Platform-specific paths (Windows-only or Unix-only examples)

Skill Chaining

Skills Required Before

  • None (entry point skill for skill creation)

Input Expected

  • User request to create/improve a skill
  • Domain knowledge or examples from user
  • Optional: existing skill to improve

Output Produced

  • Format: Complete skill directory with SKILL.md + resources
  • Side effects: Creates files in specified path
  • Duration: 10-30 minutes depending on complexity

Compatible Skills After

Recommandés:

  • julien-dev-tools-skill-reviewer: Review and score the created skill

Called By

  • Direct user invocation: "Create a skill for X"
  • Skill improvement workflows

Tools Used

  • Read (usage: read existing skills, templates)
  • Write (usage: create SKILL.md, references)
  • Bash (usage: run init_skill.py, package_skill.py)
  • Edit (usage: modify existing skills)

Visual Workflow

User: "Create skill for X"
    ↓
[THIS SKILL]
    ├─► Step 1: Gather examples
    ├─► Step 2: Plan resources
    ├─► Step 3: Initialize structure
    ├─► Step 4: Write SKILL.md + refs
    ├─► Step 5: Package
    ├─► Step 6: Add semantic triggers
    └─► Step 7: Iterate
    ↓
skill-name.skill created
    ↓
[Optional] skill-reviewer for quality check

Usage Example

Scenario: Create deployment skill for VPS

Command: "Create a skill for deploying to my Hostinger VPS"

Result:

  • hostinger-deployment/SKILL.md created
  • hostinger-deployment/references/ with server docs
  • hostinger-deployment/scripts/ with deploy scripts
  • Packaged as hostinger-deployment.skill

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon