Agent skill

Oma Recap

by first-fluke in first-fluke/oh-my-agent

Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries.

MITAuto-check passedProductivity & Automation

Install Oma Recap

skills CLI
$ npx skills add first-fluke/oh-my-agent --skill oma-recap -a claude-code

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

GitHub CLI
$ gh skill install first-fluke/oh-my-agent oma-recap --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/first-fluke/oh-my-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/benchmarks/runs/oma/.agents/skills/oma-recap .claude/skills/oma-recap && 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
oma-recap
GitHub stars
1.3k
Token cost
~2.6k tokens
SKILL.md length
1,021 words
Files
1
Skills in repo
57
Repo updated
First seen
Licence
MIT

At a glance

Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries.

  • Works in 5 steps: Resolve Date → Collect Data → Theme Analysis and Grouping → …
  • Tasks that involve Time tracking and reporting
  • SKILL.md covers Scheduling, Structural Flow and Logical Operations
  • Calls jq

What it does

Oma Recap is an agent skill from first-fluke/oh-my-agent. Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries. Filter by date or time window.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Time tracking and reporting. It works with Qwen. The repository describes itself as: Mechanical verification for AI coding agents — skills pack or full harness (stop-hook gates, artifact checks, independent judges). The licence is MIT.

When your agent uses it

  • Tasks that involve Time tracking and reporting

Example prompts

  • “/oma-recap”

Workflow steps

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

  1. Resolve Date
  2. Collect Data
  3. Theme Analysis and Grouping
  4. Output Format
  5. Save Results

What it can do on your machine

Read from SKILL.md and the folder at commit 268bb4a. 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

    Shell commands in SKILL.md call:

    • jq

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

  • Network

    No URLs in SKILL.md.

    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

Oma Recap loads about 2.6k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 1,021 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

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 passed

The automated check found no risky patterns in SKILL.md.

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from first-fluke/oh-my-agent at commit 268bb4a, republished under its MIT licence (© first-fluke). 1,021 words, ~2,634 tokens.

Download SKILL.mdSave it as .claude/skills/oma-recap/SKILL.md (or your agent's skills folder).
name
oma-recap
description
Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries. Filter by date or time window.

AI Tool Conversation History Summary

Analyze AI tool conversation histories for a given period and generate themed work summaries.

Scheduling

Goal

Collect AI tool conversation history for a date or window and synthesize it into a themed, project-oriented recap with saved Markdown output.

Intent signature
  • User asks for daily recap, weekly/monthly summary, standup notes, work log, tool usage pattern, or AI conversation history analysis.
  • User wants conversation histories grouped by work content rather than raw chronological logs.
When to use
  • Summarizing a day or period of work activity
  • Understanding the overall flow of work across multiple AI tools
  • Analyzing tool-switching patterns between sessions
  • Preparing daily standups, weekly retros, or work logs
When NOT to use
  • Git commit-based code change retrospective -> use oma retro
  • Real-time agent monitoring -> use oma dashboard
  • Productivity metrics -> use oma stats
Expected inputs
  • Date, relative date, time window, or tool filter
  • Conversation history available through oma recap --json or fallback sources
  • Desired daily or multi-day recap scope
Expected outputs
  • Markdown recap saved to .agents/results/recap/{date}.md or range filename
  • TL;DR, overview, themes/projects, miscellaneous or side projects, and tool usage patterns
  • User-facing summary in configured response language
Dependencies
  • oma recap --json
  • Optional Claude fallback history at ~/.claude/history.jsonl
  • .agents/oma-config.yaml for language behavior
Control-flow features
  • Branches by date resolution, window length, available tool history, and daily vs multi-day output shape
  • Reads local history data and writes Markdown recap files
  • Groups by content, not by tool

Structural Flow

Entry
  1. Resolve requested date or window.
  2. Collect normalized conversation history.
  3. Decide daily versus multi-day output structure.
Scenes
  1. PREPARE: Resolve time range and tool filters.
  2. ACQUIRE: Collect history through CLI or fallback.
  3. REASON: Group by content, infer themes/projects, decisions, artifacts, and tool-switching patterns.
  4. ACT: Write recap Markdown in the required format.
  5. VERIFY: Check TL;DR, grouping, language, and output path.
  6. FINALIZE: Save and display summary.
Transitions
  • If no date is specified, use today.
  • If window is 3 days or longer, group by project instead of day chronology.
  • If CLI is unavailable, use Claude fallback only and report scope limits.
  • If tasks are under threshold, group them into Miscellaneous or Side Projects.
Failure and recovery
  • If history is unavailable, report missing source and requested range.
  • If timestamps are ambiguous, use configured timezone and state assumption.
  • If extracted data is sparse, produce a concise recap and note limited coverage.
Exit
  • Success: recap file exists and summary is displayed.
  • Partial success: missing tools/history or fallback-only coverage is explicit.

Logical Operations

Actions
ActionSSL primitiveEvidence
Resolve date/windowINFERNatural-language date rules
Collect historyCALL_TOOLoma recap --json or jq fallback
Read extracted recordsREADConversation history
Group themes/projectsINFERTime/content grouping rules
Validate output shapeVALIDATEDaily or multi-day template
Write recapWRITE.agents/results/recap/
Report summaryNOTIFYDisplayed recap
Tools and instruments
  • oma recap --json
  • jq fallback for Claude history
  • Markdown output templates
Canonical command path
bash
oma recap --json
oma recap --window 7d --json
oma recap --date YYYY-MM-DD --json
Resource scope
ScopeResource target
LOCAL_FSConversation history and recap output files
PROCESSoma recap, jq, date commands
USER_DATAConversation prompts and project activity
MEMORYTheme grouping and summary notes
Preconditions
  • Requested time range can be resolved.
  • At least one history source is available.
Effects and side effects
  • Writes recap Markdown under .agents/results/recap/.
  • Reads local conversation history data.
Guardrails
Process
1. Resolve Date

Determine the target date or window from the user's natural language input. Default is today.

Resolution rules:

  • Relative day references (today, yesterday, day before yesterday, etc.) → calculate --date YYYY-MM-DD
  • Specific date mentions (month + day, or full date) → convert to --date YYYY-MM-DD
  • Relative weekday references (last Monday, this Friday, etc.) → calculate the date
  • Period references (this week, last 3 days, past 2 weeks, etc.) → convert to --window Nd
  • No date specified → today (--window 1d)
Show full SKILL.md (410 more words)Show less
2. Collect Data

Extract normalized conversation history via CLI.

bash
# Default (today, all tools)
oma recap --json

# Time window
oma recap --window 7d --json

# Specific date
oma recap --date 2026-04-10 --json

# Tool filter
oma recap --tool claude,gemini --json

Fallback when CLI is not installed — process Claude history only via inline jq:

bash
TARGET_DATE=$(date +%Y-%m-%d)
TZ=Asia/Seoul start_ts=$(date -j -f "%Y-%m-%d %H:%M:%S" "${TARGET_DATE} 00:00:00" +%s)000
end_ts=$((start_ts + 86400000))

TZ=Asia/Seoul jq -r --argjson start "$start_ts" --argjson end "$end_ts" '
  select(.timestamp >= $start and .timestamp < $end and .display != null and .display != "") |
  {
    time: (.timestamp / 1000 | localtime | strftime("%H:%M")),
    project: (.project | split("/") | .[-1]),
    prompt: (.display | gsub("\n"; " ") | if length > 150 then .[0:150] + "..." else . end)
  }
' ~/.claude/history.jsonl
3. Theme Analysis and Grouping

Read all extracted data and analyze with the following criteria:

Grouping rules:

  • Only classify as a separate theme if the work spans 15+ minutes (based on timestamp gaps and prompt count)
  • Merge consecutive prompts on the same topic into one theme
  • Collect sub-15-minute tasks into a "Miscellaneous" section
  • Group by work content, not by tool

Cross-tool analysis:

  • Track workflow when multiple tools are used in the same time window
  • Example: "Designed in Gemini -> Implemented in Claude -> Reviewed in Codex"
  • Derive insights from tool-switching patterns

Extract from each theme:

  • Core work performed
  • Key decisions made
  • Tool combinations used
  • Artifacts produced (docs, code, config, etc.)
4. Output Format

Save results to .agents/results/recap/{date}.md and display simultaneously.

Output in the following markdown format. Response language follows language setting in .agents/oma-config.yaml.

Daily format (1d or specific date)
markdown
## {date} Recap

> **TL;DR**
> - {What I accomplished 1 — project name + outcome}
> - {What I accomplished 2}
> - {What I accomplished 3}

### Overview
2-3 sentence summary of the day. Written from "I did X" perspective.
Focus on outcomes and progress, not tool ratios or technical details.

### {Theme 1} (AM 09:36~11:30)
- Core work performed
- Key decisions
- 2-4 bullets per theme

### {Theme 2} (PM 13:33~15:21)
- Core work performed
- Key decisions

### Miscellaneous
- Brief summary of sub-15-minute tasks

### Tool Usage Patterns
- Tool usage ratios and primary purposes
- Notable tool-switching patterns
Multi-day format (3d, 7d, 2w, 30d)

For any multi-day window, use a project-driven structure like a sprint report. Focus on what was accomplished per project, not day-by-day chronology.

markdown
## {start} ~ {end} Monthly Recap

> **TL;DR**
> - {What I accomplished 1 — project name + outcome}
> - {What I accomplished 2}
> - {What I accomplished 3}

### Overview
3-5 sentence narrative of the month. Major focus shifts week-by-week,
key milestones achieved, and overall direction. Written from "I did X" perspective.

### {Project A}
What this project is, what was accomplished during the period.
- Key milestone or deliverable 1
- Key milestone or deliverable 2
- Key decision made
- Current status (shipped / in progress / blocked)

### {Project B}
- ...

### Side Projects
Projects with <30 prompts, summarized briefly.
- {project}: one-line summary
- {project}: one-line summary

### Tool Usage Patterns
- Tool usage ratios and how they evolved over the month
- Notable shifts (e.g., "started using Codex mid-month")

Multi-day grouping rules:

  • Group by project, not by date
  • Order projects by activity volume (most active first)
  • Each project section: what it is, what was accomplished, key decisions, current status
  • Do NOT include prompt counts or date ranges in project headers — those are internal metrics
  • Small projects (<30 prompts) go into "Side Projects" as one-liners
  • Overview should read like a sprint report narrative, not a log
5. Save Results

Save to .agents/results/recap/{date}.md. For window ranges, use {start-date}~{end-date}.md format.

bash
# Example paths
.agents/results/recap/2026-04-12.md
.agents/results/recap/2026-04-06~2026-04-12.md
Core Rules
  1. TL;DR required: Top 3 lines of "what I accomplished". Project name + outcome. No tool names or technical details.
  2. Overview: After TL;DR, describe the flow. Start with "I" as subject.
  3. Daily: themes by time block (15+ min). Rest goes to "Miscellaneous".
  4. Multi-day (3d+): sections by project, ordered by activity. Read like a sprint report, not a daily log.
  5. 2-4 bullets per theme/project: Concise essentials only. Don't enumerate every step.
  6. Themes by content: Group by actual work, not by tool.
  7. Time range (daily only): (AM/PM/Evening HH:MM~HH:MM). AM: 12:00, PM: 12:0018:00, Evening: 18:00~.
  8. Save results: Write markdown to .agents/results/recap/.
  9. Response language: Follows language setting in .agents/oma-config.yaml if configured.
  10. No em dashes: Use commas, periods, or parentheses instead of — (em dash).

References

  • Recap CLI: oma recap --json
  • Output directory: .agents/results/recap/
  • Language config: .agents/oma-config.yaml
  • Claude fallback history: ~/.claude/history.jsonl

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

Files

Just SKILL.md in benchmarks/runs/oma/.agents/skills/oma-recap of first-fluke/oh-my-agent.

Open the folder on GitHubat commit 268bb4a

Compare with similar skills

Oma Recap 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.

Oma Recap compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Oma Recap this skillfirst-fluke/oh-my-agent1.3k—~2.6kAutomated safety check: PassMIT
Lark Todoautumnseasonism/lark-todo138—~5.5kAutomated safety check: PassMIT
Computer UseQwenLM/qwen-code28k—~3.6kAutomated safety check: PassApache-2.0
Sred Work Summarygetsentry/skills1k3 repos~1.4kAutomated safety check: PassApache-2.0
Odoo Project Timesheetsickn33/agentic-awesome-skills47k2 repos~1.1kAutomated safety check: PassMIT
Monitor Restore Unifiedopen-thoughts/OpenThoughts-Agent301—~2.6kAutomated safety check: PassApache-2.0

Similar skills

  • Lark Todo

    autumnseasonism/lark-todo

    飞书全平台待办扫描:IM 消息、会议纪要、日程、文档评论、待办审批、我发起的审批、邮件、已有任务八源并行采集,按优先级排序后支持直接处理或建任务。多企业账号自动发现并并行扫描,跨企业合并。用户说'有啥待办'、'@我的消息'、'扫一圈'、'收工检查'、'今天还差啥'、'morning standup'、'daily review' 时触发,连随口'忙不忙'、'有人找我吗'也应触发。同时覆盖多企业…

    138 GitHub stars~5.5k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check passed
  • Computer Use

    QwenLM/qwen-code

    Control local desktop applications through Computer Use for tasks that require reading or operating app UI.

    28k GitHub stars~3.6k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Sred Work Summary

    getsentry/skills

    Official

    Go back through the previous year of work and create a Notion doc that groups relevant links into projects that can then be documented as SRED projects.

    1k GitHub starsUsed in 3 repos~1.4k tokens
    Productivity & AutomationAuto-check passed
  • Odoo Project Timesheet

    sickn33/agentic-awesome-skills

    Expert guide for Odoo Project and Timesheets: task stages, billable time tracking, timesheet approval, budget alerts, and invoicing from timesheets.

    47k GitHub starsUsed in 2 repos~1.1k tokens
    Productivity & AutomationAuto-check passed
  • Monitor Restore Unified

    open-thoughts/OpenThoughts-Agent

    Re-register the every-3-hours UNIFIED OPS TICK cron — the CURRENT operator-owned monitor for the qwen3.5-122b-131k-datagen-opencode campaign (keep-3 datagen with autonomous rescue+refill) AND the…

    301 GitHub stars~2.6k tokensUpdated 11 days ago
    Productivity & AutomationAuto-check passed
  • Vnclaw Odoo Skill

    LeoYeAI/openclaw-master-skills

    Integrate with Odoo 17 via XML-RPC API. An agent skill from LeoYeAI/openclaw-master-skills.

    2.2k GitHub stars~5k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed

More from first-fluke/oh-my-agent

All 57 skills in this repo
  • OMA Multi-Agent Orchestration

    first-fluke/oh-my-agent

    Decomposes a complex feature into tasks, dispatches parallel specialist agents with durable state, and supervises verification, QA review and retries.

    1.3k GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • OMA Multi-Agent Orchestrator

    first-fluke/oh-my-agent

    Splits a complex feature into prioritized tasks, spawns specialist CLI subagents in parallel, tracks them through shared memory and verifies each result.

    1.3k GitHub stars~3.1k tokensUpdated today
    Auto-check passed
  • Architecture Decisions and ADRs

    first-fluke/oh-my-agent

    Evaluates system boundaries and tradeoffs and writes architecture recommendations, option comparisons or ADRs, with a Mermaid diagram when structure changes.

    1.3k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • OMA Brainstorm

    first-fluke/oh-my-agent

    Explores goals, constraints and alternative designs one question at a time and saves an approved design document before any planning or coding starts.

    1.3k GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Oma Coordination

    first-fluke/oh-my-agent

    Coordinate assigned specialist tasks and handoffs manually. An agent skill from first-fluke/oh-my-agent.

    1.3k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Oma Image

    first-fluke/oh-my-agent

    Generate raster images or reference-guided variations through the OMA image CLI.

    1.3k GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Questions about Oma Recap

What does Oma Recap do?

Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries. Oma Recap is an agent skill from first-fluke/oh-my-agent. Analyze conversation histories from multiple AI tools (Claude, Codex, Gemini, Qwen, Cursor) and generate themed daily/period work summaries.

When should I use Oma Recap?

Oma Recap fits situations like: tasks that involve Time tracking and reporting.

How do I install Oma Recap in Claude Code?

Run `npx skills add first-fluke/oh-my-agent --skill oma-recap -a claude-code`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-recap in first-fluke/oh-my-agent) into .claude/skills/oma-recap in your project. Claude Code loads it when a task matches its description.

How do I install Oma Recap in Codex?

Run `npx skills add first-fluke/oh-my-agent --skill oma-recap -a codex`. Or copy the skill folder (benchmarks/runs/oma/.agents/skills/oma-recap in first-fluke/oh-my-agent) into .agents/skills/oma-recap in your project. Codex loads it when a task matches its description.

Can I use Oma Recap 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 first-fluke/oh-my-agent --skill oma-recap -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/oma-recap, .gemini/skills/oma-recap, .github/skills/oma-recap and .opencode/skills/oma-recap in your project.

What does Oma Recap need to run?

Going by SKILL.md and its folder, Oma Recap needs the command-line tools its instructions call (jq).

Does Oma Recap access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Oma Recap safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Oma Recap use?

Oma Recap 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 Oma Recap use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Oma Recap?

Skills that share tags, products or a category with Oma Recap: Lark Todo (autumnseasonism/lark-todo, 138 stars), Computer Use (QwenLM/qwen-code, 28k stars), Sred Work Summary (getsentry/skills, 1k stars) and Odoo Project Timesheet (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Oma Recap?

first-fluke (a GitHub organization) maintains it in first-fluke/oh-my-agent, which has 1,336 GitHub stars. The repository holds 57 skills in this directory. The repository was last updated on October 10, 2026.

Source: first-fluke/oh-my-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.