violet: Skill for Claude Code

.agents/skills/session-notes/SKILL.md

session-notes is a skill for Claude Code, Codex from VOD-Studio/violet. It costs 63 tokens per session (3,361 once invoked), scanned A, original, MIT.

A session record-keeping workflow for completed coding work and reusable technical lessons. It filters out unfinished or trivial work, checks for duplicate notes, and writes selected results to a blog system.

In plain words
What is it for?
Use it after a feature or investigation is completed to capture its outcome, cause, fix, verification, and searchable tags.
Why use it?
Useful decisions and fixes are easily lost when a coding session ends. This workflow preserves reusable knowledge without turning every conversation or minor change into a note.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: names the AskUserQuestion tool; installed under .agents/ (shared by several agents).

This is VOD-Studio/violet's own configuration. It tells Claude Code and Codex how to work on violet itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything violet configures →

Reuse

Borrowing it

Nothing to install: this file belongs to VOD-Studio/violet. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/VOD-Studio/violet/release/2.0/.agents/skills/session-notes/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/VOD-Studio/violet

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for session-notes

README.md
[![agentmods](https://agentmods.dev/badge/skills/vod-studio/violet/session-notes/github.svg)](https://agentmods.dev/skills/vod-studio/violet/session-notes)
Your own site
<a href="https://agentmods.dev/skills/vod-studio/violet/session-notes"><img src="https://agentmods.dev/badge/skills/vod-studio/violet/session-notes/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for session-notes

Your own site · 80×15
<a href="https://agentmods.dev/skills/vod-studio/violet/session-notes"><img src="https://agentmods.dev/badge/skills/vod-studio/violet/session-notes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 63 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,361 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00063 $0.03361
Opus 5 $0.00032 $0.01681
Sonnet 5 $0.00013 $0.00672
Haiku 4.5 $0.00006 $0.00336

Measured today against content hash 1b8bbd33ec5c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

session-notes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/scan-sensitive.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/session-notes/SKILL.md · 131 lines

How it starts

The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Session Notes

自动捕获在任务完成并验证后执行;显式 /session-notes 可补录既有成果,也可按用户要求重写已有文章。只通过博客 MCP 入库,不直接调用 HTTP 或数据库。用户只要求维护本 skill 时,不触发内容入库。

渐进加载

  1. 从当前会话的最终成果筛候选:类型 + 暂定主题 + 一句价值判断 + tags,保留相关证据出处;不要把整场会话压成摘要后直接入库。
  2. 笔记默认只读本文件;分诊、拆条或脱敏边界不清时读 references/decision-guide.md 对应小节。文章的新建、重写、恢复入库都必须先读 references/article-workflow.md,完成写作简报、取证、结构选择和成稿审查。
  3. 先淘汰琐碎、重复和不满足意图测试的候选。文章必须给具体读者带来明确收益,并选择适合材料的组织方式;不能仅因改动多、功能完整或有参考长文就升为文章。
  4. 正常入库只提问一次;MCP 不可用时允许追加一次“保存项目待恢复稿 / 不保存”提问。提问和成功报告均不回显正文。

1. 重量分诊

  • 功能级:已有完整成果和行为证据,能解释非显然机制、设计取舍、故障因果、实验发现或可复用操作。生成 0..1 篇可独立阅读的工程文章;实际保存为草稿还是发布,由第 5 节的用户授权与第 6 节的 MCP 权限共同决定。
  • 经验级:形成明确的坑、根因、修法或教训。按知识点生成 0..N 条笔记。
  • 琐碎或重复:不生成内容,不提问,保持沉默。价值不明确时按此处理。

完整落地不自动等于文章级。材料只支撑单点经验时,自动捕获降为笔记或不写;用户显式要求文章时不得偷换成摘要,应说明缺失的关键材料。draft 是当前存储状态,不降低成稿标准,也不代表永久禁止发布。

2. 拆条与查重

  • 一条笔记只记录一个可独立检索的主题;同一因果链的现象、根因、修法保持一条。
  • 笔记必须通过意图测试:首要目的是记录知识、供未来检索。情绪、状态、进度、碎碎念全部丢弃。
  • violet-notes 可用时,成文前调用 list_notes 查重;仅对疑似同主题项调用 get_note
  • 已有同主题笔记且本次有新增事实时形成更新稿,后续调用 update_note;没有新增价值时丢弃;不得新建近义重复项。MCP 不可用时无法查重,恢复稿必须记录 dedupe_status: pending,恢复入库前再查重并决定 create、update 或丢弃。
  • 用户要求重写已有文章时,先用 get_post 读取当前正文和元数据,以该 ID 更新;没有 ID 才用 search_posts 定位同主题草稿。禁止把改稿当新文章创建,也不自动覆盖已发布文章。

3. 成文

  • 中文书写,术语与代码保持英文;事实陈述必须有对应证据,推演在结论旁说明前提和未复现范围。
  • 笔记:默认“现象 → 根因 → 修法”,教训类可省略根因;150..400 中文字,复杂根因最多 800 字。标题可选,有则直接点明可检索的知识点。
  • 文章:按文章专用流程先形成内部写作简报,识别材料类型并选择结构;成稿须通过读者收益、结构适配、证据边界、材料取舍与中文表达门禁。任一项失败先改稿,不进入裁定或入库。
  • 文章标题准确说明对象和读者收益。篇幅、章节、图表与代码块均由材料决定,不设配额;不能用长篇、固定目录或视觉形式替代内容判断。
  • 每项给 2..4 个英文小写 tags,如 rediscssdeploy。代码块标语言;完整示例必须执行最终版本再附真实输出,源码摘录不得冒充独立可运行程序。
  • 不写营销腔、工具操作流水账或虚构第一人称经历。文章在结构审查后执行专用流程内的表达检查,不依赖其他写作 skill;润色不能代替结构重写,也不能改变事实和技术含义。

4. 双层敏感门禁

对每篇成文分别写入临时文件并运行:

python3 .agents/skills/session-notes/scripts/scan-sensitive.py <file>
  • 输出 clean 且退出码 0 才算机械扫描通过;退出码 1 为命中,其他退出码按失败处理。
  • 脚本结论优先于模型判断;不得使用白名单、跳过标记或自我豁免。
  • 模型继续检查脚本覆盖不到的语义敏感信息:可识别的服务器昵称、真实业务数据、内部路径、账号、内部拓扑和组合后可定位系统的信息。
  • 能脱敏则改写并重新扫描,例如真实主机名改为“生产服务器”、绝对用户路径改为“本地项目目录”。
  • 脱敏后失去价值时,保留必要内容,在开头标注 > 含待人工处理的敏感信息,并降级为“仅草稿”。
  • 每篇成文进入裁定前都必须完成脚本扫描和模型语义自查。clean 仅代表敏感扫描通过,不代表文章质量合格。

Read the full file on GitHub · 131 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +3 lines · +13 tokens per session 1b8bbd33ec5c
  2. yesterday Changed · +37 lines 2ee9025e7773
  3. 4d ago First seen · 91 lines · 50 tokens per session scan A 6e6d92be42e6

Subscribe to this mod's changes

session-notes is a skill published in the GitHub repository VOD-Studio/violet (3 stars, last pushed today), licensed MIT. It adds 63 tokens to every session and 3,361 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.

Related

Other skills, from other repositories

harness-design-fuzzing

Reference vocabulary for designing instrumented harnesses that drive vulnerability discovery — design classes (trigger-driven vs coverage-driven), tiered scope (T1 isolated function / T2 multi-component / T3 full build), systematic input exploration, the two-coverage distinction (fuzzer-feedback vs audit)…

provos/ironcurtain · 147 tokens

memory-safety-c-cpp

Reference vocabulary for memory-safety vulnerabilities in native C/C++ code — bug-class taxonomy, common arithmetic patterns that lead to corruption, dispatch-family discipline, type-confusion idioms, use-after-free patterns, and exploitability factors. Read when analyzing, hypothesizing, designing harnesses for, or…

provos/ironcurtain · 113 tokens

extension-upload

Package a script tool under /.config/agenvoy/tools/script/ into a tar.gz and publish to pkg.agenvoy.com registry. Keyword picker, dep/key detection, config-stored email (ask + lowercase + persist), ask version, email verification gate, multipart upload with downgrade/unique guards.

agenvoy/Agenvoy · 63 tokens

email-formatting

Markdown formatting conventions for email summary documents — heading depth, list style, line length, emoji policy, and a mandatory provenance footer. Read this when producing a markdown report that summarizes one or more email messages so the output matches the project's house style.

provos/ironcurtain · 53 tokens

json-schema-emails

Canonical shape of the .workflow/emails/emails.json file passed between the fetch and summarize states — required fields (sender, recipient, subject, date, body), types, and field semantics. Read this whenever you write or read emails.json so producer and consumer agree on the shape.

provos/ironcurtain · 62 tokens

summary-style-guide

Tone and length conventions for email summaries — voice, verb tense, what to include vs omit, and target sentence count. Read this when writing the prose Summary line for each email so the voice is consistent across the report.

provos/ironcurtain · 48 tokens