Skills Plugins MCP Prompt Model 博客 我的中心
開発 #github #ai

readme-skill

生成一份对外可分享、脱敏的 AI-Native 开发者 README。 量化展示我对 Claude Code + Codex CLI + Kiro (AWS) + Trae (ByteDance) + Gemini Antigravity (Google) + Cursor 的使用深度、AI 协作风格、 项目与领域分布、兴趣主题,以及与 GitHub 提交的产出关联。 Trigger when the user says: "生成我的 AI 档案" / "做一份 AI-native README" / "分析我的 Claude / Codex / Kiro / Trae / Antigravity / Cursor 使用情况" / "总结我的 AI 使用" / "生成 AI 月度报告" / "按月份分析我的 AI 编码" / "分析 2026-05 的 AI 使用" / "build my AI usage profile" / "build my monthly AI coding report" / "analyze my AI usage for May 2026" / "summarize my Claude / Codex / Kiro / Trae / Antigravity / Cursor history" / "生成开发者画像". 全程本地、只读、默认匿名、不上传任何数据。

DeepseekModel キュレーション済みスキル 品質 優秀 · 78 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=study8677-readme-skill-skills-readme-skill-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name readme-skill description 生成一份对外可分享、脱敏的 AI-Native 开发者 README。 量化展示我对 Claude Code + Codex CLI + Kiro (AWS) + Trae (ByteDance) + Gemini Antigravity (Google) + Cursor 的使用深度、AI 协作风格、 项目与领域分布、兴趣主题,以及与 GitHub 提交的产出关联。 Trigger when the user says: "生成我的 AI 档案" / "做一份 AI-native README" / "分析我的 Claude / Codex / Kiro / Trae / Antigravity / Cursor 使用情况" / "总结我的 AI 使用" / "生成 AI 月度报告" / "按月份分析我的 AI 编码" / "分析 2026-05 的 AI 使用" / "build my AI usage profile" / "build my monthly AI coding report" / "analyze my AI usage for May 2026" / "summarize my Claude / Codex / Kiro / Trae / Antigravity / Cursor history" / "生成开发者画像". 全程本地、只读、默认匿名、不上传任何数据。 license MIT Readme.skill — AI-Native 开发者档案生成器 You (the AI agent invoking this skill) will read local Claude Code + Codex CLI Kiro (AWS) + Trae (ByteDance) + Gemini Antigravity (Google) + Cursor data, compute a fixed set of dimensions, and render both a Markdown profile and a validated SVG poster under ./output/ in the user's requested language (Chinese by default; English when the user asks in English or explicitly requests English). The profile and poster can cover the default history view or an explicit month / date range. You do all of the work — read the files with Read , query sqlite via Bash , synthesize the prose yourself, then write and validate the SVG. Do not write helper scripts; the skill is the recipe. 支持的 6 个 AI 编程工具(任一缺失都自动降级跳过): Claude Code ( ~/.claude/ ) — Step 2 Codex CLI ( ~/.codex/ ) — Step 3 Kiro CLI / IDE ( ~/.kiro/ + ~/.local/share/kiro-cli/ ) — Step 3b Trae IDE ( ~/Library/Application Support/Trae/ + 项目 .trae/ ) — Step 3c Gemini Antigravity ( ~/.gemini/antigravity/brain/ ) — Step 3d Cursor ( ~/Library/Application Support/Cursor/ + 项目 .cursor/ ) — Step 3e 默认行为: 对外分享版 —— 项目名匿名、敏感信息脱敏。 如果用户明确说"私人版 / 不要脱敏 / show real names",跳过匿名步骤。 Step 1 — 准备 cd <repo-with-this-skill> # e.g. ~/Projects/Readme.skill mkdir -p output DATE=$( date +%Y%m%d) Decide anonymization mode (default = on). Build an in-memory mapping real_path → "项目 A/B/C" as you encounter project paths in later steps. Use the same mapping consistently across all sections. 1.1 时间窗口 / 月度报告模式 If the user asks for a month, quarter, stage, date range, "月度报告", "按月份分析", "time range", "monthly report", or similar, set a report window before reading any data. The window is a half-open local-date interval: [REPORT_START, REPORT_END_EXCL) . Supported phrases: Single month: 2026-05 , 2026年5月 , May 2026 → REPORT_START=2026-05-01 , REPORT_END_EXCL=2026-06-01 , REPORT_LABEL=2026-05 , REPORT_SLUG=202605 , REPORT_MODE=monthly Month range: 2026-04 到 2026-05 , Apr-May 2026 → start at the first day of the first month, end at the first day after the last month, REPORT_MODE=range Explicit dates: 2026-05-03 到 2026-05-19 / 2026-05-03..2026-05-19 → include both named dates by setting REPORT_END_EXCL to the day after the final date, REPORT_MODE=range Relative range: 最近30天 / last 30 days → compute from today's local date, REPORT_MODE=range If no explicit time window is requested, keep the existing default profile behavior: AI tool totals may use all available local history, while GitHub and local git use their existing 365-day windows. Set WINDOW_REQUESTED=0 . If a window is requested, set: WINDOW_REQUESTED=1 REPORT_START=<YYYY-MM-DD> REPORT_END_EXCL=<YYYY-MM-DD> # exclusive REPORT_LABEL=<human-readable label, e.g. "2026-05" or "2026-04..2026-05" > REPORT_SLUG=<filesystem-safe slug, e.g. "202605" or "202604-202605" > For every source below, include only records whose timestamp is >= REPORT_START 00:00:00 and < REPORT_END_EXCL 00:00:00 in local time. Never mix all-time counts into a windowed report unless the metric is explicitly labeled "all-time context" or "fallback, not window-filtered". For windowed reports, also compute a previous comparison window of the same length when possible: # macOS date syntax. Use equivalent date math on other systems. window_start_ts=$( date -j -f "%Y-%m-%d" " $REPORT_START " +%s) window_end_ts=$( date -j -f "%Y-%m-%d" " $REPORT_END_EXCL " +%s) WINDOW_DAYS=$(( (window_end_ts - window_start_ts) / 86400 )) PREV_END_EXCL= " $REPORT_START " PREV_START=$( date -j -v- " ${WINDOW_DAYS} " d -f "%Y-%m-%d" " $REPORT_START " +%Y-%m-%d) Step 2 — 读取 Claude Code 数据 ( ~/.claude/ + 项目 .claude/ ) 2.1 预聚合统计(最权威,先看这个) Read ~/.claude/stats-cache.json . Extract: 字段 含义 totalSessions session 总数 totalMessages 消息总数 firstSessionDate 首个 session ISO 时间 longestSession.{duration,messageCount,timestamp} 最长 session hourCounts {hour: count} 24h 热力 modelUsage[model].{inputTokens,outputTokens,cacheReadInputTokens,cacheCreationInputTokens} 每模型 token 细分 dailyActivity[].{date,messageCount,sessionCount,toolCallCount} 每日活跃 dailyModelTokens[].{date,tokensByModel} 每日按模型 token 派生量(你来算) : claude_tokens_spent = Σ (inputTokens + outputTokens + cacheCreationInputTokens) —— 真实新付费 token claude_cache_read = Σ cacheReadInputTokens —— 缓存复用,反映 prompt-caching 熟练度 cache_to_spent_ratio = claude_cache_read / claude_tokens_spent —— 比值越大越熟 时间窗口模式 :如果 WINDOW_REQUESTED=1 ,优先从 dailyActivity 与 dailyModelTokens 中按 REPORT_START <= date < REPORT_END_EXCL 过滤后汇总 Claude sessions / messages / tokens / cache。 modelUsage 是全局聚合;只有默认 profile 模式才能直接当总量使用。若某个 Claude 字段只有全局聚合、无法按日期切分, 在月度报告里写 — 或标注「仅有 all-time 聚合,未纳入窗口统计」,不要把全局值混进 月度值。 2.2 Slash-command 热度 ~/.claude/history.jsonl —— 每行 {display, timestamp, project, sessionId} 。 # Top 15 slash commands jq -r 'select(.display | startswith("/")) | (.display | split(" ")[0])' \ ~/.claude/history.jsonl | sort | uniq -c | sort -rn | head -15 # 总条数 vs 命令条数 vs 直接 prompt 条数 total=$( wc -l < ~/.claude/history.jsonl) cmd=$(jq -r 'select(.display | startswith("/")) | .display' ~/.claude/history.jsonl | wc -l) echo "total= $total cmd= $cmd plain= $((total - cmd) )" 时间窗口模式下,所有 history.jsonl 统计先过滤: jq --arg start " $REPORT_START " --arg end " $REPORT_END_EXCL " ' select((.timestamp // "")[0:10] >= $start and (.timestamp // "")[0:10] < $end) ' ~/.claude/history.jsonl 记录: /effort 、 /plan 、 /skill* 、 /usage 、 /clear 、 /resume 、 /compact 、 /init 各自次数。 2.3 项目分布 ( ~/.claude/projects/ ) Each subdir is one project; per-project *.jsonl files = sessions. The dir name encodes the absolute path with / → - (ambiguous when the original path itself contains - ). # Top 15 by session-file count for d in ~/.claude/projects/*/; do n=$( ls " $d " *.jsonl 2>/dev/null | wc -l | tr -d ' ' ) echo " $n $(basename " $d " ) " done | sort -rn | head -15 To recover the canonical real path (so you can run git log later), read the cwd field from the first JSONL in each dir: head -1 ~/.claude/projects/<encoded>/*.jsonl 2>/dev/null \ | jq -r 'select(.cwd) | .cwd' | head -1 2.4 计划与 skill 自研 Claude Code 的 plan 文件目录不是固定值。默认在 ~/.claude/plans , 但用户可以通过 plansDirectory 改到项目工作目录下,例如 "./.claude/plans" 。统计 plans 时必须先解析候选 plan 目录,不能只枚举 ~/.claude/plans/*.md 。 解析规则: 先从 ~/.claude/projects/*/*.jsonl 的 cwd 字段恢复 Claude Code 访问过的项目根目录。 对每个项目根目录,按 Claude Code settings 优先级读取: .claude/settings.local.json > .claude/settings.json > ~/.claude/settings.json > default。 如果有效 settings 中存在 plansDirectory : 绝对路径保持不变; ~/... 展开为 $HOME/... ; ./... 或其他相对路径按该项目根目录解析。 如果没有配置,使用默认 ~/.claude/plans 。 把所有候选目录下的 *.md 真实路径去重后,再统计 plan 数量和标题。 # Plan titles (first # heading of each plan) from all resolved plan dirs. # Include ~/.claude/plans plus any per-project plansDirectory targets. # Count plan files by file count, not by title extraction success. plan_count=<resolved-plan-file-count> for f in <resolved-plan-files>; do awk '/^# / { sub(/^# /, ""); print; exit }' " $f " done ls ~/.claude/skills/ | wc -l # skills installed / authored ls ~/.claude/tasks/ | wc -l # tasks tracked ls ~/.claude/todos/ | wc -l 2.4b Skill 清单(AI 基础设施采集) For each ~/.claude/skills/*/SKILL.md and ~/.codex/skills/*/SKILL.md , use the Read tool to inspect the frontmatter (top of file, between --- markers). Extract name and the full description as YAML semantics dictate. Support all four YAML scalar styles: 写法 处理 单行: description: foo bar 直接取冒号后内容 引号: description: "foo bar" 或 'foo bar' 去掉首尾引号 > folded(多行折叠) join indented continuation lines with spaces | literal(多行保留) preserve line breaks 停止条件:遇到下一个 未缩进的 frontmatter key (行首无空格且形如 key: ),或遇到关闭的 --- 行。如果 description 字段缺失,回落到 <目录名> (no description) 。 绝不使用 head \| grep —— 那会把 > / \| 多行风格静默截断到只剩 > ,这是 v2.2 之前的真实 bug。务必 Read 完整 frontmatter 后按 YAML 语义解析。 枚举候选 skill 目录: ls -d ~/.claude/skills/*/ ~/.codex/skills/*/ 2>/dev/null 然后对每个目录: Read 它的 SKILL.md 头部 ~30 行 → 按上表解析 YAML → 输出 <source>|<name>|<full_description> 。 记录每个 skill 是「自建」还是「安装」。如果 skill 目录下有 git remote 指向用户自己的 repo,标记为自建;否则标记为安装。 2.5 配置深度 Read ~/.claude/settings.json . Count: hooks 个数(结构化自动化能力) mcpServers 个数(外部能力接入) permissions.defaultMode Step 3 — 读取 Codex CLI 数据 ( ~/.codex/ ) 3.1 SQLite (read-only) The primary analytics store is ~/.codex/state_5.sqlite , table threads . Always open with mode=ro so you can never write: SQ= 'sqlite3 file:' " $HOME " '/.codex/state_5.sqlite?mode=ro&immutable=1' # If WINDOW_REQUESTED=1, compute unix-second bounds once and add the filter to # every threads query below. For queries that already have WHERE, append `AND`. FROM_TS=$( date -j -f "%Y-%m-%d" " $REPORT_START " +%s 2>/dev/null || true ) TO_TS=$( date -j -f "%Y-%m-%d" " $REPORT_END_EXCL " +%s 2>/dev/null || true ) # created_at >= FROM_TS AND created_at < TO_TS # Aggregate $SQ "SELECT COUNT(*), SUM(tokens_used), MIN(created_at), MAX(created_at) FROM threads;" # Model breakdown (note: empty/NULL model = older sessions, label as 'Codex (未标注)') $SQ "SELECT COALESCE(NULLIF(model,''),'Codex(未标注)'), COUNT(*), SUM(tokens_used) \ FROM threads GROUP BY 1 ORDER BY 3 DESC;" # Reasoning effort distribution (xhigh / high / medium / low / unspecified) $SQ "SELECT COALESCE(NULLIF(reasoning_effort,''),'unspecified'), COUNT(*) \ FROM threads GROUP BY 1 ORDER BY 2 DESC;" # Top 15 working dirs $SQ "SELECT cwd, COUNT(*), SUM(tokens_used) FROM threads \ WHERE cwd != '' GROUP BY cwd ORDER BY 2 DESC LIMIT 15;" # Hour-of-day heatmap $SQ "SELECT strftime('%H', datetime(created_at,'unixepoch')), COUNT(*) \ FROM threads GROUP BY 1 ORDER BY 1;" # Day-of-activity timeseries $SQ "SELECT date(created_at,'unixepoch'), COUNT(*) FROM threads GROUP BY 1;" # Sample titles + first user messages for keyword extraction (titles only — no body) $SQ "SELECT title FROM threads WHERE title != '' ORDER BY created_at DESC LIMIT 200;" $SQ "SELECT first_user_message FROM threads WHERE first_user_message != '' \ ORDER BY created_at DESC LIMIT 200;" # CLI versions used (Codex evolution signal)
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。