Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问clear审计提醒

session-chronicle会议纪事

Agent Skill

session-chronicle 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,007

周安装

82

GitHub Stars

38

下载量

649
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:session-chronicle(会议纪事)
来源仓库:https://github.com/terrylica/cc-skills
仓库路径:skills/session-chronicle
安装命令:
npx skills add https://github.com/terrylica/cc-skills --skill session-chronicle
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/terrylica/cc-skills --skill session-chronicle

简介

session-chronicle 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果时使用。
  • 可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Session Chronicle

Excavate Claude Code session logs to capture complete provenance for research findings, ADR decisions, and code contributions. Traces UUID chains across multiple auto-compacted sessions.

CRITICAL PRINCIPLE: Registry entries must be self-contained. Record ALL session UUIDs (main + subagent) at commit time. Future maintainers should not need to run archaeology to understand provenance.

S3 Artifact Sharing: Artifacts can be uploaded to S3 for team access. See S3 Sharing ADR.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

When to Use This Skill

  • User asks "who created this?" or "where did this come from?"
  • User says "document this finding" with full session context
  • ADR or research finding needs provenance tracking
  • Git commit needs session UUID references
  • Tracing edits across auto-compacted sessions
  • Creating a registry entry for a research session

File Ownership Model

DirectoryCommitted?Purpose
findings/registry.jsonlYESMaster index (small, append-only NDJSON)
findings/sessions/<id>/iterations.jsonlYESIteration records (small, append-only)
outputs/research_sessions/<id>/NOResearch artifacts (large, gitignored)
tmp/NOTemporary archives before S3 upload
S3 eonlabs-findings/sessions/<id>/N/APermanent team-shared archive

Key Principle: Only findings/ is committed. Research artifacts go to gitignored outputs/ and S3.


Part 0: Preflight Check

Verify session storage, find project sessions, and check required tools (jq, brotli, aws, op).

Full scripts: Preflight Scripts

Summary of steps:

  1. Verify Session Storage - Confirm ~/.claude/projects/ exists
  2. Find Current Project Sessions - Encode CWD path, enumerate main + subagent .jsonl files
  3. Verify Required Tools - Check jq, brotli, aws, op are installed

Step 4 (MANDATORY before any S3 share): Sanitize

Raw Claude Code session JSONL files are dangerous to share. They commonly contain real credentials (AWS keys, GitHub PATs, Telegram bot tokens, Tailscale API keys, 1Password service tokens), internal hostnames, Tailscale CGNAT IPs, emails, and other infrastructure secrets that leak into prompts via screenshots, env dumps, and shell commands.

Before zipping + uploading to S3, run the sanitizer:

SKILL_DIR="$(find $HOME/.claude/plugins/marketplaces/cc-skills -type d -name session-chronicle | head -1)"
"$SKILL_DIR/scripts/sanitize_sessions.py" \
  --input  /path/to/raw/claude-sessions-export-raw \
  --output /path/to/sanitized/claude-sessions-export \
  --report /path/to/redaction_report.txt

The sanitizer is field-aware (does not destroy UUIDs, tool-use IDs, or forex decimals — v1 had a 92% phone-regex false-positive rate that murdered structural identifiers) and covers:

  • AWS / GitHub / OpenAI / Anthropic / Slack / Stripe / Google / JWT / Bearer / Authorization
  • Tailscale API keys (tskey-*), CGNAT IPs (100.64–127.x.x), tailnet DNS (*.ts.net), tailnet names
  • 1Password service tokens (ops_*), op:// URLs, 32-char item IDs after op CLI context
  • Cloudflare API tokens + Global API Key + CF_AppSession
  • Doppler (dp.*), Docker PAT (dckr_pat_*), npm (npm_*), Supabase (sbp_*), SendGrid (SG.*)
  • Telegram bot tokens (<bot_id>:<secret> format) — catches tokens pasted into env dumps
  • ClickHouse URLs with embedded credentials
  • .internal hostnames, 172.25.x.x private range
  • PEM private key blocks (OPENSSH / RSA / EC / DSA / PGP / ED25519)
  • Generic password=, api_key=, secret= declarations in JSON/YAML/env format
  • Email addresses
  • Phone numbers — only when separators present (prevents UUID/decimal destruction)

Output: a redaction report listing per-pattern counts. Review before packaging to confirm nothing important was destroyed (sanity check: UUID integrity should be preserved).

S3 upload sequence: always raw → sanitize → zip → S3 → presigned URL. Never upload -raw/ directly.


Part 1: AskUserQuestion Flows

Flow A: Identify Target for Provenance

When the skill is triggered, first identify what the user wants to trace:

AskUserQuestion:
  question: "What do you want to trace provenance for?"
  header: "Target"
  multiSelect: false
  options:
    - label: "Research finding/session"
      description: "Document a research session with full session context for reproducibility"
    - label: "Specific code/feature"
      description: "Trace who created a specific function, feature, or code block"
    - label: "Configuration/decision"
      description: "Trace when and why a configuration or architectural decision was made"
    - label: "Custom search"
      description: "Search session logs for specific keywords or patterns"

Flow B: Confirm GitHub Attribution

CRITICAL: Every registry entry MUST have GitHub username attribution.

AskUserQuestion:
  question: "Who should be attributed as the creator?"
  header: "Attribution"
  multiSelect: false
  options:
    - label: "Use git config user (Recommended)"
      description: "Attribute to $(git config user.name) / $(git config user.email)"
    - label: "Specify GitHub username"
      description: "I'll provide the GitHub username manually"
    - label: "Team attribution"
      description: "Multiple contributors - list all GitHub usernames"

Flow C: Confirm Session Scope

CRITICAL: Default to ALL sessions. Registry must be self-contained.

AskUserQuestion:
  question: "Which sessions should be recorded in the registry?"
  header: "Sessions"
  multiSelect: false
  options:
    - label: "ALL sessions (main + subagent) (Recommended)"
      description: "Record every session file - complete provenance for future maintainers"
    - label: "Main sessions only"
      description: "Exclude agent-* subagent sessions (loses context)"
    - label: "Manual selection"
      description: "I'll specify which sessions to include"

IMPORTANT: Always default to recording ALL sessions. Subagent sessions (agent-*) contain critical context from Explore, Plan, and specialized agents. Omitting them forces future maintainers to re-run archaeology.

Flow D: Preview Session Contexts Array

Before writing, show the user the full session_contexts array, then confirm:

AskUserQuestion:
  question: "Review the session_contexts array that will be recorded:"
  header: "Review"
  multiSelect: false
  options:
    - label: "Looks correct - proceed"
      description: "Write this to the registry"
    - label: "Add descriptions"
      description: "Let me add descriptions to some sessions"
    - label: "Filter some sessions"
      description: "Remove sessions that aren't relevant"
    - label: "Cancel"
      description: "Don't write to registry yet"

Flow E: Choose Output Format

AskUserQuestion:
  question: "What outputs should be generated?"
  header: "Outputs"
  multiSelect: true
  options:
    - label: "registry.jsonl entry (Recommended)"
      description: "Master index entry with ALL session UUIDs and GitHub attribution"
    - label: "iterations.jsonl entries"
      description: "Detailed iteration records in sessions/<id>/"
    - label: "Full session chain archive (.jsonl.br)"
      description: "Compress sessions with Brotli for archival"
    - label: "Markdown finding document"
      description: "findings/<name>.md with embedded provenance table"
    - label: "Git commit with provenance"
      description: "Structured commit message with session references"
    - label: "Upload to S3 for team sharing"
      description: "Upload artifacts to S3 with retrieval command in commit"

Flow F: Link to Existing ADR

AskUserQuestion:
  question: "Link this to an existing ADR or design spec?"
  header: "ADR Link"
  multiSelect: false
  options:
    - label: "No ADR link"
      description: "This is standalone or ADR doesn't exist yet"
    - label: "Specify ADR slug"
      description: "Link to an existing ADR (e.g., 2025-12-15-feature-name)"
    - label: "Create new ADR"
      description: "This finding warrants a new ADR"

Part 2: Session Archaeology Process

Scan ALL session files, build the session_contexts array, and optionally trace UUID chains.

Full scripts: Archaeology Scripts

Summary of steps:

  1. Full Project Scan - Enumerate all main + subagent sessions with line counts and timestamps
  2. Build session_contexts Array - Create the array with ALL sessions (session_uuid, type, entries, description)
  3. Trace UUID Chain (optional) - Follow parent UUID references across sessions for detailed provenance

Part 3: Registry Schema

Two NDJSON files track provenance:

  • findings/registry.jsonl - Master index, one self-contained JSON object per line
  • findings/sessions/<id>/iterations.jsonl - Iteration-level tracking per session

Full schema, examples, and field reference: Registry Schema Reference

Required Fields (registry.jsonl)

FieldFormat
idYYYY-MM-DD-slug
typeresearch_session / finding / decision
created_atISO8601 timestamp
created_by.github_usernameMANDATORY GitHub username
session_contextsMANDATORY Array of ALL session UUIDs

Part 4: Output Generation

Brotli compression for session archival and structured git commit messages with provenance.

Full scripts and templates: Output Generation

Summary:

  • Compression - Brotli-9 compress each session to outputs/research_sessions/<id>/*.jsonl.br (gitignored)
  • Manifest - Auto-generated manifest.json with target_id, count, timestamp
  • Commit message - Template includes registry_id, attribution, session counts, S3 retrieval commands

Part 5: Confirmation Workflow

Final Confirmation Before Write

ALWAYS show the user what will be written before appending:

AskUserQuestion:
  question: "Ready to write to registry. Confirm the entry:"
  header: "Confirm"
  multiSelect: false
  options:
    - label: "Write to registry"
      description: "Append this entry to findings/registry.jsonl"
    - label: "Edit first"
      description: "Let me modify some fields before writing"
    - label: "Cancel"
      description: "Don't write anything"

Before this question, display:

  1. Full JSON entry (pretty-printed)
  2. Count of session_contexts entries
  3. GitHub username attribution
  4. Target file path

Post-Write Verification

After writing, verify:

# Validate NDJSON format
tail -1 findings/registry.jsonl | jq . > /dev/null && echo "Valid JSON"

# Show what was written
echo "Entry added:"
tail -1 findings/registry.jsonl | jq '.id, .created_by.github_username, (.session_contexts | length)'

Part 6: Workflow Summary

1. PREFLIGHT
   ├── Verify session storage location
   ├── Find ALL sessions (main + subagent)
   └── Check required tools (jq, brotli)

2. ASK: TARGET TYPE
   └── AskUserQuestion: What to trace?

3. ASK: GITHUB ATTRIBUTION
   └── AskUserQuestion: Who created this?

4. ASK: SESSION SCOPE
   └── AskUserQuestion: Which sessions? (Default: ALL)

5. BUILD session_contexts ARRAY
   ├── Enumerate ALL main sessions
   ├── Enumerate ALL subagent sessions
   └── Collect metadata (entries, timestamps)

6. ASK: PREVIEW session_contexts
   └── AskUserQuestion: Review before writing

7. ASK: OUTPUT FORMAT
   └── AskUserQuestion: What to generate?

8. ASK: ADR LINK
   └── AskUserQuestion: Link to ADR?

9. GENERATE OUTPUTS
   ├── Build registry.jsonl entry (with iterations_path, iterations_count)
   ├── Build iterations.jsonl entries (if applicable)
   └── Prepare commit message

10. ASK: FINAL CONFIRMATION
    └── AskUserQuestion: Ready to write?

11. WRITE & VERIFY
    ├── Append to registry.jsonl
    ├── Append to sessions/<id>/iterations.jsonl
    └── Validate NDJSON format

12. SANITIZE (MANDATORY before any S3 share)
    ├── Run scripts/sanitize_sessions.py on the staging directory
    ├── Review redaction_report.txt (verify no structural destruction)
    └── Produce sanitized/ directory for downstream packaging

13. (OPTIONAL) S3 UPLOAD
    ├── Package sanitized/ directory (zip or brotli per-file)
    └── Upload compressed archives, generate presigned URL if sharing externally

Success Criteria

  1. Complete session enumeration - ALL main + subagent sessions recorded
  2. GitHub attribution - created_by.github_username always present
  3. Self-contained registry - Future maintainers don't need archaeology
  4. User confirmation - Every step has AskUserQuestion confirmation
  5. Valid NDJSON - All entries pass jq validation
  6. Reproducible - Session UUIDs enable full context retrieval

References


Troubleshooting

IssueCauseSolution
Session storage not foundClaude Code not initializedStart a Claude Code session first
No sessions in projectWrong path encodingCheck encoded path matches ~/.claude/projects/
jq parse errorMalformed JSONLValidate each line with jq -c. individually
brotli not foundMissing dependencyInstall with brew install brotli
S3 upload failsMissing AWS credentialsConfigure AWS CLI or use 1Password injection
UUID chain brokenSession compactedCheck related sessions for continuation
GitHub username missingAttribution not setAlways require github_username in registry entry
Registry entry invalidMissing required fieldsVerify id, type, created_at, session_contexts exist

Post-Execution Reflection

After this skill completes, check before closing:

  1. Did the command succeed? — If not, fix the instruction or error table that caused the failure.
  2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
  3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

29.23%
按下载量换算190

OpenCode

24.08%
按下载量换算156

Antigravity

19.17%
按下载量换算124

Gemini CLI

13%
按下载量换算84

windsurf

9.04%
按下载量换算59

trae

3.7%
按下载量换算24

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。

来源信息

继续浏览同类 Skills