agent-skill-creator/.clarity/handoff.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

15 KiB

Implementation Handoff: agent-skill-creator v4.0 — Cross-Platform Modernization

Generated by /clarity on 2026-02-26 Spec: .clarity/spec.md

IMPORTANT RULES FOR THE IMPLEMENTING AGENT

  1. Read .clarity/spec.md thoroughly before writing any code.
  2. Do NOT read the scenarios/ directory. Those are holdout tests for independent evaluation.
  3. Follow the implementation order below. Do not skip ahead.
  4. Ask clarifying questions if any requirement is ambiguous — do not guess.

Tech Stack

Layer Technology Notes
Language Python 3.14 User's environment, use uv run for execution
Shell scripts Bash (POSIX-compatible) For install.sh, must work on macOS/Linux/WSL
Config YAML frontmatter + JSON Standard formats only
Package manager uv For Python deps; no new heavy deps needed
Linter ruff User's preferred linter
VCS git All changes tracked

Implementation Order

Complete each step fully before moving to the next. There are 8 steps organized into 3 phases: restructure the meta-skill itself, update the skill generation pipeline, and add cross-platform tooling.

Step 1: Restructure the Meta-Skill's Own SKILL.md

The current SKILL.md is 4,116 lines. It must be restructured into a <500-line SKILL.md with content split into reference files.

  • Read the current SKILL.md in full and identify sections that can be moved to references/
  • Create a new SKILL.md (<500 lines) with only:
    • Spec-compliant frontmatter (name, description ≤1024 chars, license, metadata with author and version, compatibility)
    • "When to Use This Skill" section (activation triggers)
    • "Overview" section (5-phase pipeline summary)
    • "Core Workflow" (concise step-by-step)
    • "Architecture Decision" (simple vs suite — brief, reference to references/architecture-guide.md)
    • "Output Format" (what the generated skill directory looks like)
    • Cross-references to references/ for all detailed content
  • Move detailed content into reference files:
    • references/pipeline-phases.md — Detailed Phase 1-5 instructions (the bulk of the current SKILL.md)
    • references/architecture-guide.md — Simple vs Suite decision logic, directory structures
    • references/templates-guide.md — Template-based creation (financial, climate, e-commerce)
    • references/interactive-mode.md — Interactive wizard documentation
    • references/multi-agent-guide.md — Batch/suite creation docs
    • references/agentdb-integration.md — AgentDB learning system docs
  • Keep existing reference files that are still relevant (phase1-discovery.md through phase4-detection.md, activation guides)
  • Delete or merge redundant reference files
  • Verify the new SKILL.md is <500 lines and <5,000 tokens for the body

Critical: The name field must be agent-skill-creator (matches directory name). The description must be ≤1024 characters and include all activation keywords.

Step 2: Fix marketplace.json (Issue #5)

The current .claude-plugin/marketplace.json has non-standard fields that break Claude Code installation.

  • Read the current .claude-plugin/marketplace.json
  • Strip ALL non-standard fields. Keep ONLY:
    {
      "name": "agent-skill-creator",
      "plugins": [
        {
          "name": "agent-skill-creator-plugin",
          "description": "<EXACT copy of SKILL.md frontmatter description>",
          "source": "./",
          "skills": ["./"]
        }
      ]
    }
    
  • Remove these non-standard fields: owner, metadata, compatibility, templates, capabilities, activation, usage, test_queries
  • Validate the JSON is syntactically correct
  • Verify plugins[0].description exactly matches the description in SKILL.md frontmatter

Step 3: Update Phase 5 (Implementation) to Generate Standard-Compliant Skills

This is the most impactful change. The pipeline's output must change.

  • Update references/phase5-implementation.md (or the new references/pipeline-phases.md):
    • Remove the mandate to create marketplace.json first for simple skills
    • Change the implementation order to: SKILL.md first (primary file), then scripts, references, assets, install.sh, README.md
    • Add validation step at the end
    • Add security scan step at the end
  • Update the generated SKILL.md template:
    • Frontmatter must include: name, description (≤1024 chars), license (default: MIT), metadata (author, version)
    • Optional: compatibility, allowed-tools
    • Body must be <500 lines with references for detail
  • Update the generated directory structure template:
    {skill-name}/              # No -cskill suffix
    ├── SKILL.md               # <500 lines, spec-compliant
    ├── scripts/               # Functional Python code
    ├── references/            # Detailed documentation
    ├── assets/                # Templates, schemas, data
    ├── install.sh             # Cross-platform installer
    └── README.md              # Multi-platform install instructions
    
  • Remove ALL mentions of -cskill suffix from the generation pipeline
  • Remove ALL mentions of mandatory marketplace.json for simple skills
  • For complex suites: marketplace.json is OPTIONAL and must contain ONLY official fields

Step 4: Remove -cskill Naming Convention

  • Update docs/NAMING_CONVENTIONS.md — replace -cskill convention with standard kebab-case naming:
    • Names must be 1-64 characters
    • Lowercase letters, numbers, and hyphens only
    • Must not start or end with hyphen
    • Must not contain consecutive hyphens
    • Must match parent directory name
  • Update references/phase3-architecture.md — remove -cskill from all examples and templates
  • Update README.md — remove all -cskill references
  • Rename article-to-prototype-cskill/article-to-prototype/
    • Update its SKILL.md frontmatter name field to article-to-prototype
    • Update its .claude-plugin/marketplace.json if present
    • Update its README.md
  • Search entire codebase for remaining -cskill references and update them
  • Update all example directory names in documentation

Step 5: Create the Cross-Platform Install Script

Create scripts/install-template.sh — a template that gets customized and included in every generated skill as install.sh.

  • Write scripts/install-template.sh:
    #!/usr/bin/env bash
    # Cross-platform installer for Agent Skills
    # Detects the user's AI coding tool and installs to the correct location
    
    set -euo pipefail
    
    SKILL_NAME="{{SKILL_NAME}}"  # Replaced during generation
    SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
    
    # Parse arguments
    PLATFORM=""
    PROJECT_LEVEL=false
    CUSTOM_PATH=""
    DRY_RUN=false
    
    while [[ $# -gt 0 ]]; do
      case $1 in
        --platform) PLATFORM="$2"; shift 2 ;;
        --project) PROJECT_LEVEL=true; shift ;;
        --path) CUSTOM_PATH="$2"; shift 2 ;;
        --dry-run) DRY_RUN=true; shift ;;
        -h|--help) show_help; exit 0 ;;
        *) echo "Unknown option: $1"; exit 1 ;;
      esac
    done
    
    # Platform detection logic
    # Install to detected or specified location
    # Validate SKILL.md before installing
    # Report success with next-steps instructions
    
  • Implement platform detection:
    • Check for ~/.claude/ → Claude Code
    • Check for ~/.copilot/ or .github/ → GitHub Copilot
    • Check for ~/.cursor/ or .cursor/ → Cursor
    • Check for ~/.windsurf/ → Windsurf
    • Check for ~/.cline/ or .clinerules/ → Cline
    • Check for ~/.codex/ → OpenAI Codex CLI
    • Check for ~/.gemini/ → Gemini CLI
    • Fallback: prompt user or use --platform flag
  • Implement --project flag for project-level installation (.claude/skills/, .github/skills/, etc.)
  • Implement --dry-run flag (show what would happen without doing it)
  • Implement SKILL.md validation before copying
  • Print success message with platform-specific activation instructions
  • Handle errors: permission denied, directory doesn't exist, invalid SKILL.md

Step 6: Create Validation and Security Scanning Scripts

  • Create scripts/validate.py:

    • Validate frontmatter: name (1-64 chars, lowercase+hyphens, no start/end hyphen, no consecutive hyphens)
    • Validate frontmatter: description (1-1024 chars, non-empty)
    • Validate: directory name matches name field
    • Validate: SKILL.md exists and starts with --- frontmatter
    • Validate: SKILL.md body <500 lines (warning, not error)
    • Validate: optional fields have correct types if present
    • Validate: referenced files in SKILL.md body exist
    • Return structured result: {"valid": bool, "errors": [], "warnings": []}
  • Create scripts/security_scan.py:

    • Scan for hardcoded API keys (regex patterns for common key formats: sk-, AKIA, ghp_, glpat-, etc.)
    • Scan for .env files included in skill directory
    • Scan for credentials.json, secrets.json, api_keys.json
    • Scan for eval(), exec(), subprocess.call(shell=True) in Python scripts
    • Scan for os.system() with string concatenation (shell injection)
    • Scan for __import__ dynamic imports
    • Return structured result: {"clean": bool, "issues": []}
  • Integrate both into the generation pipeline (Phase 5 runs them after file creation)

Step 7: Update the Export System

  • Update scripts/export_utils.py:

    • Keep existing Desktop/Web and API export functionality (backwards compatible)
    • Add validation step before export (call validate.py)
    • Add security scan before export (call security_scan.py)
    • Remove -cskill from any hardcoded name handling
    • Update the generated installation guide to include instructions for ALL platforms (Claude Code, Copilot, Cursor, Windsurf, Cline, Codex CLI, Gemini CLI)
    • Add optional --platform parameter for platform-specific export
  • Update references/cross-platform-guide.md:

    • Expand from 4 Anthropic platforms to all 8+ platforms
    • Add installation paths for each platform
    • Add the Agent Skills Open Standard as the unifying reference
    • Remove references to marketplace.json as a universal requirement
  • Update references/export-guide.md (if it exists) with new platform targets

Step 8: Update Documentation and README

  • Update README.md:

    • Update version to 4.0
    • Add "Cross-Platform Compatible" badge/note at top
    • List all supported platforms (Claude Code, Copilot CLI, VS Code Copilot, Cursor, Windsurf, Cline, Codex CLI, Gemini CLI)
    • Remove all -cskill references
    • Update installation instructions for all platforms
    • Add "Agent Skills Open Standard" compliance note
    • Update architecture diagrams (no -cskill, no mandatory marketplace.json)
    • Add "Migration from v3.x" section pointing to MIGRATION.md
  • Create MIGRATION.md:

    • How to update from v3.x to v4.0
    • Breaking changes: -cskill suffix removed, marketplace.json simplified
    • How to migrate existing generated skills (rename dirs, update frontmatter, fix marketplace.json)
    • Automated migration: mention that the tool can help migrate with "Migrate this skill to the new standard"
  • Update docs/CHANGELOG.md:

    • Add v4.0 entry with all changes
    • Note breaking changes
    • Note new features (cross-platform, validation, security scan, install.sh)
  • Update docs/CLAUDE_SKILLS_ARCHITECTURE.md:

    • Reference the Agent Skills Open Standard
    • Update directory structures (no -cskill)
    • Add cross-platform compatibility information

Tests to Write

Write tests for these behaviors (derived from the spec, not from holdout scenarios):

Test Covers Type
Validate SKILL.md frontmatter with valid name/description passes FR-001 Unit
Validate SKILL.md frontmatter with name >64 chars fails FR-001 Unit
Validate SKILL.md frontmatter with empty description fails FR-001 Unit
Validate name matches directory name FR-002 Unit
Validate SKILL.md body >500 lines produces warning FR-003 Unit
Generated skill has no marketplace.json (simple skill) FR-005 Integration
Generated skill name has no -cskill suffix FR-007 Integration
Security scan detects hardcoded API key FR-013 Unit
Security scan detects .env file in skill FR-013 Unit
Security scan detects shell injection pattern FR-014 Unit
install.sh detects Claude Code platform FR-015, FR-016 Integration
install.sh detects Copilot platform FR-015, FR-016 Integration
install.sh --dry-run produces no side effects FR-015 Unit
install.sh --platform cursor installs to .cursor/rules/ FR-017 Integration
Generated README has multi-platform install section FR-018 Integration
Export system still generates Desktop .zip FR-019 Integration
Export system still generates API .zip <8MB FR-019 Integration
Meta-skill SKILL.md is <500 lines FR-004, FR-021 Unit
Generated skill works on SKILL.md standard without modification FR-028, NFR-001 Integration

Definition of Done

All of the following must be true:

  • The meta-skill's own SKILL.md is <500 lines with spec-compliant frontmatter
  • .claude-plugin/marketplace.json contains ONLY official fields
  • No -cskill suffix appears anywhere in the codebase (code, docs, examples)
  • article-to-prototype-cskill/ renamed to article-to-prototype/ with updated frontmatter
  • Generated skills produce spec-compliant SKILL.md (passes validation)
  • Generated skills include install.sh for cross-platform installation
  • Generated README.md includes install instructions for 5+ platforms
  • scripts/validate.py checks all spec rules and returns structured results
  • scripts/security_scan.py catches hardcoded keys and injection patterns
  • Export system updated with validation, security scan, and multi-platform install guide
  • references/cross-platform-guide.md covers 8+ platforms
  • MIGRATION.md created with v3.x → v4.0 migration guide
  • README.md updated for v4.0 with all platform support
  • No hardcoded secrets or credentials in any file
  • All Python files pass ruff check
  • install.sh template works on macOS and Linux

Explicit Exclusions

Do NOT implement these (they are out of scope):

  • Building a skill marketplace or registry
  • Converting .cursorrules or .windsurfrules into SKILL.md
  • MCP server integration
  • GUI or web interface
  • Rewriting AgentDB integration
  • Supporting platforms that haven't adopted SKILL.md standard
  • Publishing automation to SkillsMP/SkillHub (just make skills compatible)

Reference Files

  • Specification: .clarity/spec.md
  • Project context: .clarity/context.md
  • Agent Skills Open Standard: https://agentskills.io/specification
  • Current codebase: All files in the repository root