Claude Code Plugins

Community-maintained marketplace

Feedback

signals-pipeline-resources

@asimihsan/dotfiles
0
0

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name signals-pipeline-resources
description Reference for signals pipeline AWS resources across dev/stage/prod environments. Use when working with telemetry S3 buckets, SQS queues, Athena workgroups, Glue tables, or running redrive/verification commands. Includes account IDs, bucket names, queue URLs, and common operational commands.

Signals Pipeline Resources

AWS Accounts

Environment AWS Account ID AWS Profile
dev 905418337205 platform-dev
stage 339713005884 platform-stage
prod 891377356712 platform-prod

Region: us-west-2


S3 Buckets

Raw Telemetry (Input)

Environment Bucket
dev dev-signal-data-lake-raw
stage stage-signal-data-lake-raw
prod prod-signal-data-lake-raw

Path pattern: raw/json_telemetry/year=YYYY/month=MM/day=DD/hour=HH/*.gz

Verified Parquet (Output)

Environment Bucket
dev dev-verified-parquet-v2-df1e4600
stage stage-verified-parquet-v2-c2408546
prod prod-verified-parquet-v2-8b99b916

Path pattern: telemetry_flat/type={lock,bridge,video_doorbell}/day=YYYY-MM-DD/hour=HH/*.parquet


SQS Queues

Telemetry Processing

Environment Queue Purpose
dev telemetry-processing-queue Main processing queue
dev telemetry-processing-queue_dlq Dead letter queue
stage telemetry-processing-queue Main processing queue
stage telemetry-processing-queue_dlq Dead letter queue
prod telemetry-processing-queue Main processing queue
prod telemetry-processing-queue_dlq Dead letter queue

Redrive Queue

Environment Queue Purpose
dev telemetry-processing-redrive-queue Redrive S3 files
dev telemetry-processing-redrive-queue_dlq Redrive DLQ
stage telemetry-processing-redrive-queue Redrive S3 files
stage telemetry-processing-redrive-queue_dlq Redrive DLQ
prod telemetry-processing-redrive-queue Redrive S3 files
prod telemetry-processing-redrive-queue_dlq Redrive DLQ

Athena Configuration

Workgroups

Environment Workgroup Purpose
dev dev-tps-telemetry-human-wg Ad-hoc queries
dev dev-tps-telemetry-dbt-wg DBT model queries
stage stage-tps-telemetry-human-wg Ad-hoc queries
stage stage-tps-telemetry-dbt-wg DBT model queries
prod prod-tps-telemetry-signals_e2e-wg Ad-hoc queries
prod prod-tps-telemetry-dbt-wg DBT model queries

Glue Databases

Database Description
telemetry-parser-db Raw Parquet from telemetry-parser-service
telemetry_alerts_{env} DBT-transformed tables from signals-pipeline-dbt

Glue Tables (telemetry-parser-db)

Table Device Type Description
telemetry_lock_flat lock Lock device telemetry
telemetry_bridge_flat bridge Bridge (SETI) telemetry
telemetry_video_doorbell_flat video_doorbell Video doorbell telemetry

Key Commands

Check SQS Queue Status

# Dev
AWS_PROFILE=platform-dev aws sqs get-queue-attributes \
  --queue-url https://sqs.us-west-2.amazonaws.com/905418337205/telemetry-processing-redrive-queue \
  --attribute-names ApproximateNumberOfMessages ApproximateNumberOfMessagesNotVisible

# Prod
AWS_PROFILE=platform-prod aws sqs get-queue-attributes \
  --queue-url https://sqs.us-west-2.amazonaws.com/891377356712/telemetry-processing-redrive-queue \
  --attribute-names ApproximateNumberOfMessages ApproximateNumberOfMessagesNotVisible

Redrive Telemetry

cd ~/workplace/platform-tools

# Redrive specific day
AWS_PROFILE=platform-dev go run ./cmd/telemetry-redrive \
  --env dev \
  --s3-prefix "s3://dev-signal-data-lake-raw/raw/json_telemetry/year=2025/month=12/day=01/" \
  --no-assume-role \
  --monitor --max-queue-visible 500

Delete Parquet Files for Redrive

# Delete a day's Parquet files before redrive
AWS_PROFILE=platform-dev aws s3 rm \
  s3://dev-verified-parquet-v2-df1e4600/telemetry_flat/type=lock/day=2025-12-01/ \
  --recursive

Verify Telemetry Data

cd ~/workplace/platform-tools

# Check for at-least-once duplicates
uv run python -m platform_tools.telemetry_verify \
  --env dev --date 2025-12-01 --table bolt_controller_v2 --check-duplicates -v

# Brute-force verification (dev only - small datasets)
uv run python -m platform_tools.telemetry_verify \
  --env dev --date 2025-12-01 --table bolt_controller_v2 --brute-force -v

Query Parquet with DuckDB

uv run python -c "
from platform_tools.telemetry_verify.duckdb_client import DuckDBClient
from platform_tools.telemetry_verify.config import ENV_CONFIG
import os

os.environ['AWS_PROFILE'] = 'platform-dev'
client = DuckDBClient(ENV_CONFIG['dev'])
result = client.query('''
    SELECT envelope__event_kind, count(*) as cnt
    FROM read_parquet('s3://dev-verified-parquet-v2-df1e4600/telemetry_flat/type=lock/day=2025-12-01/hour=*/*.parquet')
    GROUP BY 1
    ORDER BY 2 DESC
''')
for row in result:
    print(row)
"

Parse Raw Telemetry with bixby-rs

cd ~/workplace/bixby-rs
cargo run -p bixby-cli -- parse --hex '<telemetry_raw_hex>'

Lambda Functions

Environment Lambda Purpose
dev telemetry-parser-service Parses raw telemetry to Parquet
stage telemetry-parser-service Parses raw telemetry to Parquet
prod telemetry-parser-service Parses raw telemetry to Parquet

Related Repositories

Repository Purpose
~/workplace/platform-tools CLI tools (telemetry-redrive, telemetry-verify)
~/workplace/signals-pipeline-dbt DBT models for Athena tables
~/workplace/bixby-rs Rust telemetry parser (bixby-cli)
~/workplace/LevelServer Houston CLI for Postgres queries