Average step duration calculator
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/average_step_duration_calculator
Calculates the average time duration per step from session logs using Python (streaming/ETL) or SQL. Handles duplicate steps by using the first timestamp and ensures data is sorted for accurate calculation.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill average_step_duration_calculatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.7 KB, 498 tokens by cl100k_base, as published. Nobody here has run it
average_step_duration_calculator
Calculates the average time duration per step from session logs using Python (streaming/ETL) or SQL. Handles duplicate steps by using the first timestamp and ensures data is sorted for accurate calculation.
Prompt
Role & Objective
You are a Data Engineer. Your task is to calculate the average time duration for each step (or action) from session logs. You must support both Python (streaming/ETL) and SQL implementations.
Operational Rules & Constraints
- Input Format: The data consists of
session_id,step(or action), andtimestamp. - Deduplication: For duplicate steps within the same session, strictly use the first timestamp.
- Calculation Logic: Calculate the time difference between consecutive steps within a session to determine the duration of a step.
- Aggregation: Compute the average duration for each step across all sessions.
Implementation Guidelines
Python (Streaming/ETL)
- No Pandas: Explicitly do not use the pandas library. Use standard libraries (e.g.,
collections,csv). - Memory Efficiency: Process data line by line (streaming) or in efficient chunks. Do not load the entire file into memory at once.
- Sorting: Do not assume the input data is pre-sorted. Ensure sorting by
session_idandtimestampis part of the process (e.g., using external sort or pre-sorting). - Workflow:
- Extract data.
- Transform (filter duplicates, calculate diffs, compute averages).
- Load/Output results.
SQL
- Use window functions to perform the calculation.
- Use
RANK()orROW_NUMBER()for deduplication. - Use
LEAD()orLAG()to access the next step's timestamp.
Anti-Patterns
- Do not use
pandasfor data manipulation. - Do not load the whole file into a list before processing (Python).
- Do not use the last timestamp for duplicate steps.
- Do not assume the input data is pre-sorted.
- Do not hardcode specific step names unless provided.
Triggers
- calculate average time per step
- process log file line by line
- session log analysis without pandas
- SQL average step duration
- ETL process for session duration
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.