agent-skill-creator/scenarios/SC-049-complex-suite-marketplace-json-official-fields.scenario.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

31 lines
1.2 KiB
Markdown

# SC-049: Complex Suite marketplace.json Contains Only Official Fields
> Covers: FR-006, Edge case 2.3 — Complex skill suite marketplace.json has ONLY official fields
> Type: Edge Case
## Given
- The meta-skill generates a complex multi-skill suite
- A `.claude-plugin/marketplace.json` is created
## When
- The validation runs on the suite
## Then
- The marketplace.json contains ONLY the following fields:
- Top level: `name`, `plugins`
- Per plugin: `name`, `description`, `source`, `skills`
- No non-standard fields exist (no `version`, `author`, `repository`, `tags`, `icon`, etc.)
- The JSON is valid
## Verification Method
**Method**: Automated test
**Steps**:
1. Generate a complex skill suite
2. Parse `.claude-plugin/marketplace.json` with `json.load()`
3. Assert top-level keys are exactly `{"name", "plugins"}`
4. For each plugin in `plugins`, assert keys are a subset of `{"name", "description", "source", "skills"}`
5. Fail if any extra keys are found at any level
**Expected evidence**: JSON contains only `name` and `plugins` at top level. Each plugin entry has only `name`, `description`, `source`, `skills`. No extra fields like `version` or `author`.