Skip to content
Productivity
Skill

/logging-session

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.

BOOST
From plugin
huuuuuuho-skills
1188 skills
Install
$ npx -y skills add balabalabalading/huuuuuuho-skills --skill logging-session --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/logging-session

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

logging-session.SKILL.md
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:

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

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

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

Schema

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:

| Field | Source | Notes | |-------|--------|-------| | `project_name` | Current working directory's folder name | Use `basename $(pwd)` or equivalent | | `session_id` | Generate from date + random suffix | Format: `YYYYMMDD_xxxx` (e.g., `20260513_a3f2`) | | `parent_id` | If this continues a previous log entry, use that entry's ID | Otherwise `null` | | `task_category` | Classify the task: `bugfix`, `feature`, `refactor`, `debug`, `setup`, `docs`, `test`, `other` | | | `user_query` | The user's original question or task description | In the user's own words when possible | | `thought_process` | Your analysis approach, alternatives considered, key decisions | Concise but informative — this is the "how" | | `final_result` | What was actually done, the outcome | Include key code changes, file paths, or resolution | | `file_paths` | Files that were created or modified | Comma-separated | | `git_hash` | Current HEAD commit hash if in a git repo | Run `git rev-parse --short HEAD` | | `extra_metadata` | Any additional context as JSON | Optional |

Step 2: Write the entry

Run the save script:

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):

# 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"

# 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 \
Read more
Ships withhuuuuuuho-skills

My personal collection of Skills — open-source tools that extend Agent's capabilities for content creation, development logging, and productivity workflows.

Get the whole plugin

Other skills on huuuuuuho-skills.

ardot-create-new-file
Skill

ardot-create-new-file

**强制性前置条件** — 每次调用 `create_new_page` 工具之前,必须先调用此技能。 未经加载此技能,绝不能直接调用 `create_new_page`。 当用户想要在 Ardot 设计文件中创建新页面时触发。 关键词:在 Ardot…

ardot-generate-design
Skill

ardot-generate-design

在 Ardot 中从头构建完整页面、屏幕或多区块 UI 布局时,将此技能与 ardot-use 配合使用。 通过 6 步工作流程编排多个 MCP 工具:初始化 → 样式系统 → 变量 → 骨架 → 逐区块构建 → 验证。 触发条件:"在 Ardot…

ardot-generate-library
Skill

ardot-generate-library

在 Ardot 中构建可复用组件库或设计系统时使用此技能。 涵盖从变量/设计令牌创建到使用正确变量绑定构建组件的完整工作流程, 直至最终验证。 触发条件:"创建组件库"、"构建设计系统"、 "制作可复用按钮"、"创建 UI 组件"、"构建组件集"、…

ardot-style-guide
Skill

ardot-style-guide

从头设计或为 Ardot 项目应用视觉主题时使用此技能。 涵盖 `search_style_guide` → `build_style_guide` 工作流程,用于发现和应用完整的设计系统(颜色、排版、间距、布局模式)。…

ardot-use
Skill

ardot-use

**强制性前置条件** — 每次调用 `batch_edit` 工具之前,必须先调用此技能。 未经加载此技能,绝不能直接调用 `batch_edit`。 当用户想要在 Ardot 设计文件中创建、更新、移动或删除节点时触发 —…