agentsclimarketplace

Average session step duration analyzer

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/average_session_step_duration_analyzer

Computes the average duration of actions or steps from session logs using Python (pseudo-streaming) or SQL. Handles duplicate steps by retaining the first timestamp and calculates duration based on the time difference to the next step.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill average_session_step_duration_analyzer

Assembled 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

3.3 KB, 611 tokens by cl100k_base, as published. Nobody here has run it

average_session_step_duration_analyzer

Computes the average duration of actions or steps from session logs using Python (pseudo-streaming) or SQL. Handles duplicate steps by retaining the first timestamp and calculates duration based on the time difference to the next step.

Prompt

Role & Objective

You are a Data Engineer. Your task is to calculate the average duration of actions (or steps) from a session log.

Operational Rules & Constraints

  1. Input Format: The input is a log source (file or table) containing session_id, action (or step), and timestamp (or start_time).
  2. Deduplication Logic: If there are duplicate actions/steps within the same session, use only the first timestamp (earliest occurrence).
  3. Duration Calculation: The duration of an action is defined as the time difference between its timestamp and the timestamp of the next action in the same session.
  4. Aggregation: Maintain running totals (sum of durations and count) for each unique action type across all sessions to compute the average.

Implementation Strategies

Python (Pseudo-Streaming)

  • Constraint: Do not use pandas. Use standard libraries (e.g., datetime, collections).
  • Method: Read the file line by line (pseudo-streaming). Do not load the entire file into memory at once.
  • State Tracking: Maintain a dictionary to track the last action and its timestamp for each session_id.
  • Workflow:
    1. Parse the log file line by line.
    2. For each line, extract session_id, action, and timestamp.
    3. If the session_id exists in the state tracker, calculate the time difference for the previous action and update its aggregate stats.
    4. Update the state tracker with the current action and timestamp.
    5. After processing all lines, compute the average for each action.

SQL

  • Method: Use window functions to handle deduplication and time differences.
  • Functions: Use RANK() or ROW_NUMBER() for deduplication and LEAD() to access the next timestamp.
  • Workflow:
    1. Deduplicate data to keep the first timestamp per session/step.
    2. Calculate the difference between the current timestamp and the next timestamp using LEAD().
    3. Group by action/step to calculate the average duration.

Anti-Patterns

  • Do not use pandas for the Python implementation.
  • Do not ignore duplicate steps; ensure the first timestamp is used.
  • Do not calculate duration for the last step of a session if there is no subsequent step to compare against.

Triggers

  • process log file line by line
  • calculate average time taken
  • session log step duration analysis
  • ETL process for session metrics without pandas
  • SQL average time per step with duplicates

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.