Markdown Converter
Agent skill for markdown-converter
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Sign in to like and favorite skills
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
SensorFabric UltraHuman (UH) is an AWS Lambda-based data pipeline that collects health/fitness metrics from UltraHuman devices. The system consists of four main Lambda functions:
# Full build and deploy pipeline (recommended) ./deploy.sh # Build and deploy using CDK ./deploy.sh --cdk # Deploy to specific stack only ./deploy.sh --stack uh-biobayb-dev # Build container images only (no deployment) ./deploy.sh --build-only # Deploy only (assumes images exist in ECR) ./deploy.sh --deploy-only
# Run health check on deployed functions ./deploy.sh --health-check # Test deployed functions ./deploy.sh --test # Rollback to previous deployment ./deploy.sh --rollback
cd cdk/ pip install -r requirements.txt # Bootstrap CDK (first time only) cdk bootstrap # Deploy infrastructure cdk deploy --all # View changes before deployment cdk diff # Destroy infrastructure cdk destroy
biobayb_uh_publisher daily at 7:00 AM UTCmdh_uh_sync topicbiobayb_uh_uploader Lambdabiobayb_uh_jwt_generator weekly on Sundays at midnight UTC-7uh-biobayb - shared Docker image for all Lambda functionsmdh_uh_sync topicuoa-biobayb-uh-{env} bucketsprod/biobayb/uh/keysThe system supports multiple deployment environments:
uh-biobayb-dev stack using staging UltraHuman APIuh-biobayb-prod stack using production UltraHuman APIEach environment has isolated resources (databases, S3 buckets, SNS topics).
The template generator now uses JWT-based authentication for secure report access:
All functions use shared Docker image from ECR with different CMD handlers:
S3 data organized by participant and date:
s3://bucket/ ├── participant_id=xxx/ │ ├── date=2024-01-01/ │ │ └── data.parquet │ └── date=2024-01-02/ │ └── data.parquet
npm install -g aws-cdk)requirements.txtKey environment variables used by Lambda functions:
UH_ENVIRONMENT: "development" or "production"UH_SNS_TOPIC_ARN: SNS topic ARN for publishing messagesSF_DATA_BUCKET: S3 bucket for data storageAWS_SECRET_NAME: Secrets Manager secret nameUH_DLQ_URL: Dead letter queue URLEventBridge patterns for manual execution:
Uploader:
{ "source": ["sensorfabric.manual"], "detail-type": ["UltraHuman Data Upload Request"] }
JWT Generator:
{ "source": ["sensorfabric.manual"], "detail-type": ["UltraHuman JWT Generation Request"], "detail": { "start_date": "2024-01-01", "end_date": "2024-01-31", "participant_id": "optional_specific_participant" } }
/aws/lambda/{function_name}deploy.sh --health-check# View function logs aws logs tail /aws/lambda/{function_name} --follow # Test function locally aws lambda invoke --function-name {function_name} /tmp/response.json # Check CloudFormation events aws cloudformation describe-stack-events --stack-name {stack_name}