Agent skill

Logging Session

by balabalabalading in balabalabalading/huuuuuuho-skills

Record and query AI conversation logs — what users asked, how it was solved, and the result.

MITAuto-check: warnings

Install Logging Session

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add balabalabalading/huuuuuuho-skills --skill logging-session -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install balabalabalading/huuuuuuho-skills logging-session --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/balabalabalading/huuuuuuho-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/logging-session .claude/skills/logging-session && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
logging-session
GitHub stars
118
Token cost
~2.2k tokens
SKILL.md length
863 words
Files
11 (incl. scripts, references)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Record and query AI conversation logs — what users asked, how it was solved, and the result.

  • Works in 3 steps: Gather context → Write the entry → Confirm
  • Users want to logging conversation
  • SKILL.md covers Why this matters, Database location, Schema and When to record, plus 5 more sections
  • Runs Python scripts from its folder; calls python3 and git

What it does

Logging Session is an agent skill from balabalabalading/huuuuuuho-skills. Record and query AI conversation logs — what users asked, how it was solved, and the result. Use when users want to logging conversation, summarize recent work from sessions, or want daily/weekly project summaries from past conversations.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `README.md`, `config.json` and `evals/evals.json`).

The repository describes itself as: My personal collection of Skills — open-source tools that extend Agent's capabilities for content creation, development logging, and productivity workflows. The licence is MIT.

When your agent uses it

  • Users want to logging conversation
  • Summarize recent work from sessions
  • Want daily/weekly project summaries from past conversations

Example prompts

  • “/logging-session”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Gather context
  2. Write the entry
  3. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit e2b6b5d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 6 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Logging Session loads about 2.2k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 863 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: warnings

The automated check found patterns that need a careful read before installing.

  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:201
    6. **Do NOT ask the user for confirmation** — just save and done. The session is ending.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from balabalabalading/huuuuuuho-skills at commit e2b6b5d, republished under its MIT licence (© balabalabalading). 863 words, ~2,216 tokens.

Download SKILL.mdSave it as .claude/skills/logging-session/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
logging-session
description
Record and query AI conversation logs — what users asked, how it was solved, and the result. Use when users want to logging conversation, summarize recent work from sessions, or want daily/weekly project summaries from past conversations.

Logging Session

This skill records coding session summaries to a local SQLite database stored in your local path, so you can later query and summarize your work across projects and time periods.

Why this matters

Coding sessions produce valuable knowledge — decisions made, problems solved, approaches tried and abandoned. Without capturing these, each session starts from scratch. This skill turns conversations into searchable, summarizable records that feed into daily standups, weekly reviews, and long-term project memory.

Database location

The database path is defined by db_path in config.json, defaulting to:

~/Library/Mobile Documents/iCloud~md~obsidian/Documents/vault4life/dev_knowledge.db

To customize, edit <skill-path>/config.json.

If the database doesn't exist yet, initialize it:

bash
python3 <skill-path>/scripts/init_db.py

The script reads the path from config.json automatically. You can also specify a path manually:

bash
python3 <skill-path>/scripts/init_db.py /path/to/your/dev_knowledge.db

Schema

sql
CREATE TABLE dev_logs (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    project_name TEXT NOT NULL,
    session_id TEXT NOT NULL,
    parent_id INTEGER DEFAULT NULL,
    task_category TEXT,
    user_query TEXT NOT NULL,
    thought_process TEXT,
    final_result TEXT,
    file_paths TEXT,
    git_hash TEXT,
    extra_metadata TEXT,
    FOREIGN KEY (parent_id) REFERENCES dev_logs (id)
);

When to record

Record a session log entry when:

  1. User explicitly asks — they say "record this session", "log this conversation", "logging-session", etc.
  2. A meaningful task completes — when a significant coding task is done (bug fixed, feature added, refactoring completed), and the user wants it captured.
  3. Via Stop hook — when the hook fires automatically at session end, synthesize the entire conversation into a log entry.

Do NOT record trivial interactions (quick questions, simple lookups, clarifications) unless the user asks.

How to record a session log

When recording, you need to synthesize the conversation into a structured entry. Don't just copy-paste — distill the essence.

Step 1: Gather context

Collect these fields from the conversation and environment:

FieldSourceNotes
project_nameCurrent working directory's folder nameUse basename $(pwd) or equivalent
session_idGenerate from date + random suffixFormat: YYYYMMDD_xxxx (e.g., 20260513_a3f2)
parent_idIf this continues a previous log entry, use that entry's IDOtherwise null
task_categoryClassify the task: bugfix, feature, refactor, debug, setup, docs, test, other
user_queryThe user's original question or task descriptionIn the user's own words when possible
thought_processYour analysis approach, alternatives considered, key decisionsConcise but informative — this is the "how"
final_resultWhat was actually done, the outcomeInclude key code changes, file paths, or resolution
file_pathsFiles that were created or modifiedComma-separated
git_hashCurrent HEAD commit hash if in a git repoRun git rev-parse --short HEAD
extra_metadataAny additional context as JSONOptional
Step 2: Write the entry

Run the save script:

bash
python3 <skill-path>/scripts/save_log.py \
  --project "<project_name>" \
  --session "<session_id>" \
  --query "<user_query>" \
  --thought "<thought_process>" \
  --result "<final_result>" \
  --category "<task_category>" \
  --files <file1> <file2> \
  --git "<git_hash>"

For fields with spaces or special characters, wrap in quotes. The --parent, --category, --files, --git, and --meta flags are optional.

Step 3: Confirm

After saving, tell the user:

  • The log entry ID
  • A brief summary of what was recorded

Example: "Session logged as #5 — recorded the auth bug fix in project my-app."

Querying session logs

Summarize recent work

When the user asks for a summary (daily, weekly, or custom range):

bash
# Last 7 days for current project
python3 <skill-path>/scripts/query_logs.py \
  --project "<project_name>" \
  --days 7 \
  --format markdown

# Today's logs across all projects
python3 <skill-path>/scripts/query_logs.py \
  --days 1 \
  --format markdown

# Specific date range (YYYYMMDD format, inclusive)
python3 <skill-path>/scripts/query_logs.py \
  --start-date 20260501 \
  --end-date 20260515 \
  --format markdown

# Specific session's full thread
python3 <skill-path>/scripts/query_logs.py \
  --session "<session_id>" \
  --format ai
Output formats
  • markdown — structured Markdown with headers by date (good for reports and Obsidian)
  • ai — plain text blocks, compact (good for feeding back to AI)
  • json — raw JSON array (good for programmatic processing)
Weekly Project Summary (项目周报)

When the user asks to summarize work by project for the past week or generate a weekly report, use weekly_summary.py. This script groups entries by project, shows task category breakdowns, and lists individual session details — all in a clean markdown table format.

Trigger phrases: "总结过去一周的工作", "本周工作总结", "生成周报", "项目周报", "weekly summary", "summarize past week's work"

bash
# All projects, past 7 days
python3 <skill-path>/scripts/weekly_summary.py --days 7 --format markdown

# Single project, past 14 days
python3 <skill-path>/scripts/weekly_summary.py --project "my-app" --days 14

# Specific date range (YYYYMMDD format, inclusive)
python3 <skill-path>/scripts/weekly_summary.py \
  --start-date 20260501 \
  --end-date 20260515 \
  --format markdown

# Export to Obsidian
python3 <skill-path>/scripts/weekly_summary.py \
  --format markdown \
  --output ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/vault4life/周报-$(date +%Y-W%V).md

# JSON for programmatic use
python3 <skill-path>/scripts/weekly_summary.py --format json

The markdown output includes an overview section (total entries, projects involved, time period) and per-project sections with task category distribution tables and session detail tables.

Show full SKILL.md (310 more words)Show less
Saving to Obsidian

When the user wants to save the summary as an Obsidian note:

bash
python3 <skill-path>/scripts/query_logs.py \
  --days 7 \
  --format markdown \
  --output ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/vault4life/Weekly-$(date +%Y-W%V).md

Automatic logging via Stop hook

When triggered by the Stop hook (session is ending), you are the last action in this conversation. Your job: synthesize the entire conversation into one log entry and write it to the database.

What to do when the Stop hook triggers you
  1. Review the full conversation — identify the user's main question/task, your approach, and the outcome.
  2. Gather context — project name from CWD, git hash, files touched.
  3. Classify the task — pick the most fitting category.
  4. Write one log entry using the save script with all fields populated.
  5. Keep it brief — this is a summary, not a transcript. One sentence each for thought_process and final_result is fine.
  6. Do NOT ask the user for confirmation — just save and done. The session is ending.
Hook configuration

The Stop hook is configured in ~/.claude/settings.json. See references/hooks-guide.md for full setup details.

Task categories

CategoryDescription
bugfixFixed a bug or error
featureAdded new functionality
refactorRestructured code without changing behavior
debugInvestigated an issue (may not have fixed it)
setupProject setup, configuration, dependencies
docsDocumentation work
testWriting or fixing tests
otherAnything else

Tips for good session logs

  • user_query: Capture the intent, not just the literal question. "How do I fix the login crash?" is better than "login crash".
  • thought_process: Focus on the why, not the what. "Tried approach A but it conflicted with the existing auth flow, so switched to B" is valuable. "Changed 3 files" is not.
  • final_result: Be specific about the outcome. Include file names, function names, or the key insight. "Fixed by adding null check in UserService.validate()" is better than "It works now".
  • parent_id: Use it when a session is a continuation of a previous conversation. This builds a thread of related work.

© balabalabalading, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (scripts, references) in skills/logging-session of balabalabalading/huuuuuuho-skills.

  • SKILL.md
  • README.md
  • config.json
  • evals/evals.json
  • references/hooks-guide.md
  • scripts/config_loader.py
  • scripts/init_db.py
  • scripts/query_logs.py
  • scripts/save_log.py
  • scripts/time_utils.py
  • scripts/weekly_summary.py

Open the folder on GitHubat commit e2b6b5d

Compare with similar skills

Logging Session next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Logging Session compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Logging Session this skillbalabalabalading/huuuuuuho-skills118—~2.2kAutomated safety check: WarnMIT
Recordingcodewhale-hq/Codewhale41k—~540Automated safety check: PassMIT
Growth Logaffaan-m/ECC275k1 repos~1.7kAutomated safety check: PassMIT
Modeling Conversion MetricsPostHog/posthog40k—~1.4kAutomated safety check: PassCustom licence
Clickhouse Logs Queriessupabase/supabase111k—~2.4kAutomated safety check: PassApache-2.0
Architecture Decision Recordsaffaan-m/ECC275k4 repos~1.8kAutomated safety check: PassMIT

Similar skills

  • Recording

    codewhale-hq/Codewhale

    Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures.

    41k GitHub stars~540 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Growth Log

    affaan-m/ECC

    Write growth log entries that extract reusable patterns from completed work — root cause, transferable rule, and a recognizable signal — instead of diary-style event narration, with a 4-8 sentence…

    275k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • Official

    Build reusable conversion models — funnel/step conversion rates, drop-off, and time-to-convert — on either PostHog data-warehouse views (HogQL) or an external dbt project.

    40k GitHub stars~1.4k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Clickhouse Logs Queries

    supabase/supabase

    Official

    Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).

    111k GitHub stars~2.4k tokensUpdated today
    DatabasesAuto-check passed
  • Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README.

    275k GitHub starsUsed in 4 repos~1.8k tokens
    DevelopmentAuto-check passed
  • 在Claude Code会话期间,将做出的架构决策捕获为结构化的架构决策记录(ADR)。自动检测决策时刻,记录上下文、考虑的替代方案和理由。维护一个ADR日志,以便未来的开发人员理解代码库为何以当前方式构建。

    275k GitHub starsUsed in 1 repo~863 tokens
    DevelopmentAuto-check passed

More from balabalabalading/huuuuuuho-skills

All 8 skills in this repo
  • Mp Article Writor

    balabalabalading/huuuuuuho-skills

    微信公众号文章创作。当用户想把软件更新、产品新闻、工具测评、工作流探索、个人实践或生活感悟等素材整理成公众号文章时使用。即使用户只是说「帮我写篇文章」「整理成推文」「发公众号」,也应当触发此技能。

    118 GitHub stars~3.2k tokensUpdated 11 days ago
    Auto-check passed
  • Ardot Use

    balabalabalading/huuuuuuho-skills

    强制性前置条件 — 每次调用 batchedit 工具之前,必须先调用此技能. An agent skill from balabalabalading/huuuuuuho-skills.

    118 GitHub stars~1.7k tokensUpdated 11 days ago
    Auto-check passed
  • Ardot Generate Design

    balabalabalading/huuuuuuho-skills

    在 Ardot 中从头构建完整页面、屏幕或多区块 UI 布局时,将此技能与 ardot-use 配合使用. An agent skill from balabalabalading/huuuuuuho-skills.

    118 GitHub stars~1.2k tokensUpdated 11 days ago
    Auto-check passed
  • Article2ticktick

    balabalabalading/huuuuuuho-skills

    将技术周报中的文章整理为滴答清单(TickTick)待办事项,同时支持单篇文章直接添加。当用户提供周报 markdown 文档、要求将周报文章添加到滴答清单,或提及"技术周报"、"文章汇总"、"添加到滴答"等关键词时,使用此技能;当用户分享单篇文章链接并希望添加到滴答清单时,同样使用此技能。

    118 GitHub stars~1.1k tokensUpdated 11 days ago
    Auto-check: warnings
  • Ardot Generate Library

    balabalabalading/huuuuuuho-skills

    在 Ardot 中构建可复用组件库或设计系统时使用此技能. An agent skill from balabalabalading/huuuuuuho-skills.

    118 GitHub stars~1.6k tokensUpdated 11 days ago
    Auto-check passed
  • Ardot Style Guide

    balabalabalading/huuuuuuho-skills

    从头设计或为 Ardot 项目应用视觉主题时使用此技能. An agent skill from balabalabalading/huuuuuuho-skills.

    118 GitHub stars~909 tokensUpdated 11 days ago
    Auto-check passed

Questions about Logging Session

What does Logging Session do?

Record and query AI conversation logs — what users asked, how it was solved, and the result. Logging Session is an agent skill from balabalabalading/huuuuuuho-skills. Record and query AI conversation logs — what users asked, how it was solved, and the result.

When should I use Logging Session?

Logging Session fits situations like: users want to logging conversation; summarize recent work from sessions; want daily/weekly project summaries from past conversations.

How do I install Logging Session in Claude Code?

Run `npx skills add balabalabalading/huuuuuuho-skills --skill logging-session -a claude-code`. Or copy the skill folder (skills/logging-session in balabalabalading/huuuuuuho-skills) into .claude/skills/logging-session in your project. Claude Code loads it when a task matches its description.

How do I install Logging Session in Codex?

Run `npx skills add balabalabalading/huuuuuuho-skills --skill logging-session -a codex`. Or copy the skill folder (skills/logging-session in balabalabalading/huuuuuuho-skills) into .agents/skills/logging-session in your project. Codex loads it when a task matches its description.

Can I use Logging Session in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add balabalabalading/huuuuuuho-skills --skill logging-session -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/logging-session, .gemini/skills/logging-session, .github/skills/logging-session and .opencode/skills/logging-session in your project.

What does Logging Session need to run?

Going by SKILL.md and its folder, Logging Session needs Python for the scripts in its folder and the command-line tools its instructions call (python3 and git). Our summary lists: Python 3.

Does Logging Session access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Logging Session safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Logging Session use?

Logging Session is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Logging Session use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 490 tokens, read only when the agent opens those files.

What are the alternatives to Logging Session?

Skills that share tags, products or a category with Logging Session: Recording (codewhale-hq/Codewhale, 41k stars), Growth Log (affaan-m/ECC, 275k stars), Modeling Conversion Metrics (PostHog/posthog, 40k stars) and Clickhouse Logs Queries (supabase/supabase, 111k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Logging Session?

balabalabalading (a GitHub user) maintains it in balabalabalading/huuuuuuho-skills, which has 118 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 26, 2026.

Source: balabalabalading/huuuuuuho-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.