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

318 lines
15 KiB
Markdown

# 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:
```json
{
"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`:
```bash
#!/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