agent-skill-creator/docs/NAMING_CONVENTIONS.md
francylisboacharuto bac2b27bb8 feat: v4.0 Cross-Platform Modernization — Agent Skills Open Standard compliance
BREAKING CHANGES:
- Remove -cskill suffix from all skill names (use standard kebab-case)
- Simplify marketplace.json to only official fields (fixes Issue #5)
- SKILL.md body must be <500 lines (progressive disclosure via references/)

New features:
- Cross-platform support for 8+ platforms (Claude Code, Copilot, Cursor, Windsurf, Cline, Codex CLI, Gemini CLI)
- scripts/install-template.sh: Auto-detect platform installer with --dry-run
- scripts/validate.py: Spec compliance checker for generated skills
- scripts/security_scan.py: Security scanner for hardcoded keys and dangerous patterns
- MIGRATION.md: v3.x to v4.0 migration guide
- 6 new reference files for progressive disclosure from lean SKILL.md

Key changes:
- SKILL.md: 4,116 → 272 lines with spec-compliant YAML frontmatter
- marketplace.json: Stripped to {name, plugins} only
- article-to-prototype-cskill/ → article-to-prototype/
- stock-analyzer-cskill/ → stock-analyzer/
- Export system integrates validation + security scanning
- README.md rewritten for all supported platforms
- Phase 5 pipeline outputs SKILL.md-first, spec-compliant skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 14:52:09 -03:00

2.6 KiB

Naming Conventions

Overview

All skills created by Agent-Skill-Creator follow standard kebab-case naming per the Agent Skills Open Standard. The name field in SKILL.md frontmatter must match the parent directory name exactly.

Rules

Required Format

{descriptive-name}/

Character Rules

  • Allowed: Lowercase letters (a-z), numbers (0-9), hyphens (-)
  • Length: 1-64 characters
  • Must not start or end with a hyphen
  • Must not contain consecutive hyphens (--)
  • Must match the parent directory name exactly

Examples

Simple Skills:

  • pdf-text-extractor/
  • csv-data-cleaner/
  • weekly-report-generator/
  • stock-analyzer/

Complex Suites:

  • financial-analysis-suite/
  • e-commerce-automation/
  • research-workflow/

Component Skills (within suites):

  • data-acquisition/
  • technical-analysis/
  • reporting-generator/

Name Generation

When creating a skill name from user input:

  1. Extract key concepts from the user's description
  2. Build descriptive name using {action}-{object} or {domain}-{purpose} pattern
  3. Sanitize: lowercase, replace spaces/underscores with hyphens, strip special characters
  4. Validate: check length (1-64), no leading/trailing hyphens, no consecutive hyphens
import re

def generate_skill_name(user_input: str) -> str:
    """Generate a valid skill name from user input."""
    name = user_input.lower()
    name = re.sub(r'[\s_]+', '-', name)
    name = re.sub(r'[^a-z0-9-]', '', name)
    name = re.sub(r'-+', '-', name)
    name = name.strip('-')
    return name[:64]

Validation

import re

def validate_skill_name(name: str) -> tuple[bool, str]:
    """Validate a skill name against the Agent Skills Open Standard."""
    if not name:
        return False, "Name cannot be empty"
    if len(name) > 64:
        return False, f"Name too long: {len(name)} chars (max 64)"
    if not re.match(r'^[a-z0-9]([a-z0-9-]*[a-z0-9])?$', name):
        return False, "Must be lowercase alphanumeric with hyphens, no leading/trailing hyphens"
    if '--' in name:
        return False, "Must not contain consecutive hyphens"
    return True, "Valid"

Migration from v3.x

Skills created with v3.x used a -cskill suffix (e.g., stock-analyzer-cskill/). This suffix has been removed in v4.0 to comply with the Agent Skills Open Standard.

To migrate:

# Rename directory
mv stock-analyzer-cskill stock-analyzer

# Update SKILL.md frontmatter name field
# name: stock-analyzer

# Update marketplace.json name field (if present)

See MIGRATION.md for full migration instructions.