Skip to content
Back to skills

Recap

ASecurity

Daily or period recap via `oma-recap`. Resolves a date or window from natural language, invokes `oma recap --json`, delegates theme analysis and Markdown formatting to the skill, and reports a TL;DR plus saved path.

  • 223 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 19, 2026
developmentbashgit

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add first-fluke/fullstack-starter --skill recap --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Recap?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Recap
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/first-fluke-recap-3f6ff54c/badge)](https://www.skillsdirectory.com/skills/first-fluke-recap-3f6ff54c)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: recap
description: Daily or period recap via `oma-recap`. Resolves a date or window from natural language, invokes `oma recap --json`, delegates theme analysis and Markdown formatting to the skill, and reports a TL;DR plus saved path.
disable-model-invocation: true
---

- **Response language follows `language` setting in `.agents/oma-config.yaml` if configured.**
- Follow `.agents/skills/_shared/core/execution-policy.md` for authorization, clarification, verification, and completion. Execute required steps on the selected path in dependency order; apply documented branch and skip conditions.
- **Never modify `.agents/` definitions.** SSOT protection covers skills, workflows, rules, agents, and config. It does NOT cover this workflow's own output at `.agents/results/recap/` — writing there is the expected behaviour, not a violation.
- **Follow the host-LLM contract** in `.agents/skills/oma-recap/SKILL.md`: theme analysis, grouping rules, and Markdown output format are owned by the skill. This workflow only resolves intent, runs the CLI, and reports.
- **Never auto-translate technical terms** in the saved recap (project names, tool names, CLI flags).

---

> **Vendor note:** This workflow executes inline (no subagent spawning). All vendors invoke `oma recap` directly.

---

## Step 1: Detect Mode & Resolve Window

Inspect the user's request and resolve **at most three** arguments. Default mode is `daily` with today as the target date.

| Mode | Triggers | CLI flag |
|------|----------|----------|
| `daily` | No date, "today", "오늘", "yesterday", "어제", specific date ("4월 10일", "2026-04-10") | `--date YYYY-MM-DD` (always pass it — the bare default is a rolling 24h window, not today) |
| `period` | "this week", "지난 7일", "last month", "past 2 weeks", "이번달" | `--window Nd` |

Only extract a tool filter when the user **explicitly names** one or more tools (e.g., "코덱스만", "claude only", "qwen과 codex"). Supported values: `grok, claude, codex, gemini, qwen, cursor, antigravity`. Otherwise omit `--tool`.

Resolution rules (delegate ambiguous cases to the skill):
- Relative day references → `--date YYYY-MM-DD`
- Relative weekday references → calculate the date
- Period phrases → `--window Nd` (1w=7d, 1mo=30d; the CLI caps windows at 30d)
- No date specified → today's date as `--date YYYY-MM-DD` (do not omit flags: the bare default `--window 1d` is a rolling 24h window ending now)

If the user supplies multiple conflicting signals (e.g., "지난주 어제"), pick the more specific one and state the assumption in Step 5.

---

## Step 2: Preflight

1. Confirm `oma` is available: `command -v oma` (or `bun run oma --help` if running from source).
2. If `oma` is missing:
   - Fall back to the Claude-history-only `jq` path documented in `oma-recap` SKILL.md §2.
   - Note the limited coverage in the Step 5 report.
3. If neither source is available, exit with a message stating the requested range and the missing inputs. Do NOT fabricate a recap.

---

## Step 3A: Daily Recap

Use one of:

```bash
# Today
oma recap --date $(date +%F) --json

# Specific date
oma recap --date 2026-05-11 --json

# Specific date with explicit tool filter
oma recap --date 2026-05-11 --tool claude,codex --json
```

---

## Step 3B: Period Recap

Use one of:

```bash
# Past N days
oma recap --window 7d --json
oma recap --window 30d --json

# Period with explicit tool filter
oma recap --window 7d --tool codex --json
```

The CLI emits a normalized history JSON. **Do not interpret the rows here** — Step 4 delegates that to the skill.

---

## Step 4: Synthesize & Save (Skill Contract)

Hand the JSON output to `oma-recap` SKILL.md. The skill owns:

- §3 **Theme Analysis and Grouping** — 15-minute threshold, cross-tool patterns, Miscellaneous bucket.
- §4 **Output Format** — daily template (theme by time block) vs multi-day template (project-driven).
- §5 **Save Results** — writes to `.agents/results/recap/{date}.md` or `{start}~{end}.md`.

Do not duplicate or override these rules in this workflow.

---

## Step 5: Report

Display **only**:

```markdown
> **TL;DR**
> - {accomplishment 1}
> - {accomplishment 2}
> - {accomplishment 3}

Saved to: `.agents/results/recap/{date}.md`
```

Append a single-line coverage note **only if** any of the following apply:
- Fallback (jq) path was used → "Coverage: Claude history only (oma CLI not installed)"
- History was sparse → "Coverage: limited history for the requested range"
- An assumption was made about an ambiguous date → "Assumed: {assumption}"

---

## Failure Handling

| Situation | Recovery |
|-----------|----------|
| `oma` not on PATH | Use the `jq` fallback from SKILL.md §2; note limited coverage. |
| No `~/.claude/history.jsonl` and no `oma` | Exit with missing-source message; do not invent data. |
| Range resolves to zero records | Emit minimal TL;DR with "no activity recorded" and the save path. |
| Ambiguous date input | Pick the more specific signal; declare the assumption in Step 5. |
| Save path collision | Skill overwrites by design; no special handling here. |

---

## Quick Reference

| Command | Effect |
|---------|--------|
| `/recap` | Today's recap |
| `/recap yesterday` | Yesterday's recap |
| `/recap 2026-04-10` | Specific date |
| `/recap this week` | `--window 7d` |
| `/recap last month` | `--window 30d` |
| `/recap last week claude only` | `--window 7d --tool claude` |

---

## References

- Skill spec: `.agents/skills/oma-recap/SKILL.md`
- Output directory: `.agents/results/recap/`
- Language config: `.agents/oma-config.yaml`
- Claude fallback history: `~/.claude/history.jsonl`
- Related: `oma retro` (Git commit retrospective — different scope)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…