Release v1.18.0: Add iOS-APP-developer and promptfoo-evaluation skills

### Added
- **New Skill**: iOS-APP-developer v1.1.0 - iOS development with XcodeGen, SwiftUI, and SPM
  - XcodeGen project.yml configuration
  - SPM dependency resolution
  - Device deployment and code signing
  - Camera/AVFoundation debugging
  - iOS version compatibility handling
  - Library not loaded @rpath framework error fixes
  - State machine testing patterns for @MainActor classes
  - Bundled references: xcodegen-full.md, camera-avfoundation.md, swiftui-compatibility.md, testing-mainactor.md

- **New Skill**: promptfoo-evaluation v1.0.0 - LLM evaluation framework using Promptfoo
  - Promptfoo configuration (promptfooconfig.yaml)
  - Python custom assertions
  - llm-rubric for LLM-as-judge evaluations
  - Few-shot example management
  - Model comparison and prompt testing
  - Bundled reference: promptfoo_api.md

### Changed
- Updated marketplace version from 1.16.0 to 1.18.0
- Updated marketplace skills count from 23 to 25
- Updated skill-creator to v1.2.2:
  - Fixed best practices documentation URL (platform.claude.com)
  - Enhanced quick_validate.py to exclude file:// prefixed paths from validation
- Updated marketplace.json metadata description to include new skills

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
daymade
2025-12-20 17:23:08 +08:00
parent b1a21dc05b
commit 4e3a54175e
12 changed files with 1805 additions and 5 deletions

View File

@@ -18,9 +18,11 @@ def find_path_references(content: str) -> list[str]:
- Placeholder paths (xxx, example, etc.)
- Paths in example contexts (lines containing "Example:", "e.g.", etc.)
- Generic documentation examples
- Paths prefixed with file:// (e.g., file://scripts/xxx) - these are external tool references, not skill-internal paths
"""
# Pattern to match bundled resource paths (scripts/, references/, assets/)
pattern = r'(?:scripts|references|assets)/[\w./-]+'
# Use negative lookbehind to exclude file:// prefixed paths
pattern = r'(?<!file://)(?:scripts|references|assets)/[\w./-]+'
# Find all matches with their line context
unique_paths = set()