Help us improve
Share bugs, ideas, or general feedback.
From apple-docs
Understand the structure, dependencies, and symbols of a Swift package or Xcode project.
npx claudepluginhub briannadoubt/claude-marketplace --plugin apple-docsHow this skill is triggered — by the user, by Claude, or both
Slash command
/apple-docs:analyze-projectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Understand the structure, dependencies, and symbols of a Swift package or Xcode project.
Generates on-demand API documentation for Swift package dependencies by extracting symbols from Xcode DerivedData using interfazzle. Useful for unfamiliar imports, dependency API exploration, or queries like "what's import X?".
Analyzes Swift Package Manager dependencies, plugins, module variants, branch pins, package graph shape, macros, binary targets, and CI/local build overhead that slow Xcode builds.
Analyzes SPM dependencies, plugins, module variants, and CI overhead slowing Xcode builds. Detects cycles, oversized modules, config drift, and graph issues hurting clean/incremental perf.
Share bugs, ideas, or general feedback.
Understand the structure, dependencies, and symbols of a Swift package or Xcode project.
# For Swift Package Manager projects
cat Package.swift
# List all source files
find Sources -name "*.swift" | head -20
# Count lines of code
find Sources -name "*.swift" | xargs wc -l | tail -1
# View resolved dependencies (SPM)
cat Package.resolved | jq '.pins[] | {package: .identity, version: .state.version}'
# Or simpler - just read it
cat Package.resolved
# Find struct/class/enum definitions
grep -rn "^struct \|^class \|^enum \|^protocol \|^actor " Sources/
# Find a specific type
grep -rn "struct MyType" Sources/
# Find function definitions
grep -rn "func " Sources/ | grep -v "^\s*//"
For complete symbol information with documentation:
# Build first to ensure modules exist
swift build
# Extract symbol graph for a target
swift symbolgraph-extract \
--module-name YourModuleName \
--minimum-access-level public \
--output-dir /tmp/symbols
# Read the symbols
cat /tmp/symbols/YourModuleName.symbols.json | jq '.symbols[] | {name: .names.title, kind: .kind.displayName}'
grep -rn "public \|open " Sources/ | grep -E "(func|var|let|class|struct|enum|protocol)"
grep -rn ": .*Protocol\|: Codable\|: Hashable\|: Equatable" Sources/
grep -rn "TODO\|FIXME\|HACK\|XXX" Sources/
# Show directory tree
find Sources -type f -name "*.swift" | sed 's|/[^/]*$||' | sort -u | while read dir; do
echo "$dir/:"
ls "$dir"/*.swift 2>/dev/null | xargs -n1 basename
done
# List schemes
xcodebuild -list
# Show build settings
xcodebuild -showBuildSettings -scheme YourScheme 2>/dev/null | grep -E "PRODUCT_NAME|BUNDLE_ID|DEPLOYMENT_TARGET"
# Find the main target's source files
find . -name "*.xcodeproj" -exec cat {}/project.pbxproj \; | grep "\.swift" | head -20
Package.swift or the .xcodeproj to understand the project structuregrep -rn to search with line numbers for easy navigationSources/ directory firstIf you need structured data or the shell commands aren't sufficient:
get_project_summary - JSON overview of projectget_project_symbols - Parsed symbol informationsearch_symbols - Fuzzy search across symbols