File Reference Skill
This skill demonstrates how to use supporting files (scripts, templates, documentation) within a skill directory.
Overview
This skill uses helper scripts and templates for data processing. All supporting files are accessible via relative paths from the skill's base directory.
Available Supporting Files
Scripts
-
scripts/data_processor.py
-
Main data processing script
-
scripts/validator.py
-
Input validation utilities
-
scripts/helper.sh
-
Shell helper script
Templates
-
templates/config.yaml
-
Configuration template
-
templates/report.md
-
Report generation template
Documentation
-
docs/usage.md
-
Detailed usage instructions
-
docs/examples.md
-
Example use cases
Usage
When this skill is invoked with arguments, it can access supporting files using the FilePathResolver:
from pathlib import Path from skillkit.core.path_resolver import FilePathResolver
Get the skill's base directory (injected by BaseDirectoryProcessor)
base_dir = Path("<base_directory_from_context>")
Resolve supporting files securely
processor_script = FilePathResolver.resolve_path(base_dir, "scripts/data_processor.py") config_template = FilePathResolver.resolve_path(base_dir, "templates/config.yaml") usage_docs = FilePathResolver.resolve_path(base_dir, "docs/usage.md")
Read file contents
with open(processor_script) as f: script_code = f.read()
Processing Arguments
The skill expects data file paths as arguments:
Example invocation: file-reference-skill data/input.csv data/output.csv
Processing steps:
-
Validate input using scripts/validator.py
-
Process data using scripts/data_processor.py
-
Generate report using templates/report.md
-
Output results to specified location
Security Notes
-
All file paths are validated to prevent directory traversal attacks
-
Symlinks are resolved and verified to stay within skill directory
-
Absolute paths and path traversal patterns (../) are blocked
-
Any security violation raises PathSecurityError with detailed logging