import json
import sys
import argparse
from pathlib import Path
def main():
parser = argparse.ArgumentParser(description="{{skill_name}} helper script")
parser.add_argument("--input", "-i", help="Input file path")
parser.add_argument("--output", "-o", help="Output file path")
parser.add_argument("--config", "-c", help="Configuration file path")
parser.add_argument("--verbose", "-v", action="store_true", help="Verbose output")
args = parser.parse_args()
try:
config = {}
if args.config:
with open(args.config, 'r') as f:
config = json.load(f)
if args.input:
with open(args.input, 'r') as f:
input_data = json.load(f)
else:
input_data = json.load(sys.stdin)
result = process_data(input_data, config, args.verbose)
output = {
"status": "success",
"result": result,
"skill": "{{skill_name}}",
"timestamp": "2024-01-01T00:00:00Z"
}
if args.output:
with open(args.output, 'w') as f:
json.dump(output, f, indent=2)
else:
json.dump(output, sys.stdout, indent=2)
except Exception as e:
error_output = {
"status": "error",
"error": str(e),
"skill": "{{skill_name}}",
"timestamp": "2024-01-01T00:00:00Z"
}
json.dump(error_output, sys.stderr, indent=2)
sys.exit(1)
def process_data(data, config, verbose=False):
if verbose:
print(f"Processing data with config: {config}", file=sys.stderr)
result = {
"processed": True,
"input_size": len(str(data)),
"config_used": config,
"message": "Data processed by {{skill_name}}"
}
return result
if __name__ == "__main__":
main()