1password
trpc-group/trpc-agent-go
Set up and use 1Password CLI (op). An agent skill from trpc-group/trpc-agent-go.
OPS on-demand: This skill should be used when the user asks to "recap daemon", "tmux marquee", or…
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recap --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .claude/skills && cp -r skills-src/claude-ops/skills/ops-recap .claude/skills/ops-recap && rm -rf skills-srcUse ~/.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/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .claude/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recapType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recap --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .agents/skills && cp -r skills-src/claude-ops/skills/ops-recap .agents/skills/ops-recap && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .agents/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recap --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/claude-ops/skills/ops-recap .cursor/skills/ops-recap && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .cursor/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Lifecycle-Innovations-Limited/claude-ops.git --path claude-ops/skills/ops-recap--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recap --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/claude-ops/skills/ops-recap .gemini/skills/ops-recap && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .gemini/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recapInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .github/skills && cp -r skills-src/claude-ops/skills/ops-recap .github/skills/ops-recap && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .github/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops ops-recap --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Lifecycle-Innovations-Limited/claude-ops.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/claude-ops/skills/ops-recap .opencode/skills/ops-recap && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ops-recap" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/ops-recap into .opencode/skills/ops-recap/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ops-recap", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ops-recapOPS on-demand: This skill should be used when the user asks to "recap daemon", "tmux marquee", or…
Ops Recap is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "recap daemon", "tmux marquee", or…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with tmux. The repository describes itself as: Business operating system for Claude Code — 57 skills, 21 agents, smart daemon. Unified inbox (WhatsApp/Email/Slack/Telegram), autonomous PR merge, full-AWS monitoring, revenue… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit ee9c784. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteEditAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
jqclaudeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ops Recap loads about 2.7k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 470 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Edit, AskUserQuestionAutomated 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.
The full file from Lifecycle-Innovations-Limited/claude-ops at commit ee9c784, republished under its MIT licence (© Lifecycle-Innovations-Limited). 470 words, ~2,745 tokens.
.claude/skills/ops-recap/SKILL.md (or your agent's skills folder).Load ops-rules before acting. Public repo (no personal data). Outbound: one draft → one approval → one send. If AskUserQuestion / Workflow are missing, follow Rule 10 in ops-rules (Hermes: numbered options / two-turn Telegram card; delegate_task).
The recap marquee is a launchd-managed daemon that aggregates per-session Claude transcripts (via the recap-capture Stop hook) and per-tool activity (via the recap-tool-activity PostToolUse hook) into a single rolling headline at /tmp/claude-recap-digest. Tmux reads that file every refresh interval via scripts/recap/marquee.sh and scrolls it across status-right.
Files:
| Path | Role |
|---|---|
${CLAUDE_PLUGIN_ROOT}/scripts/recap/daemon.sh | Background loop — polls inputs, calls digest.sh when stale |
${CLAUDE_PLUGIN_ROOT}/scripts/recap/digest.sh | Synthesizes one-line digest via claude -p (session default model; OPS_RECAP_MODEL overrides) |
${CLAUDE_PLUGIN_ROOT}/scripts/recap/marquee.sh | Tmux-side scroller (called from status-right) |
${CLAUDE_PLUGIN_ROOT}/hooks/recap-capture.sh | Stop hook → writes /tmp/claude-recap-<sid> |
${CLAUDE_PLUGIN_ROOT}/hooks/recap-tool-activity.sh | PostToolUse hook → live activity per session |
~/Library/LaunchAgents/com.claude-ops.recap-daemon.plist | Launchd agent (macOS) |
/tmp/claude-recap-digest | Rolling one-liner (read by tmux + marquee.sh) |
/tmp/claude-recap-daemon.log | Daemon log (rotated at 500KB) |
/tmp/claude-recap-digest.log | Last 50 generated digests, chronological |
status (default)Print a compact health panel:
PLIST=~/Library/LaunchAgents/com.claude-ops.recap-daemon.plist
LABEL=com.claude-ops.recap-daemon
DIGEST=/tmp/claude-recap-digest
DAEMON_LOG=/tmp/claude-recap-daemon.log
# Plist installed?
if [ -f "$PLIST" ]; then echo "✓ plist installed: $PLIST"; else echo "✗ plist missing"; fi
# Launchd loaded?
launchctl print "gui/$(id -u)/${LABEL}" >/dev/null 2>&1 \
&& echo "✓ launchd loaded ($LABEL)" \
|| echo "✗ launchd not loaded — run /ops:recap restart"
# Daemon process alive?
if [ -f /tmp/claude-recap-daemon.pid ]; then
pid=$(cat /tmp/claude-recap-daemon.pid)
kill -0 "$pid" 2>/dev/null && echo "✓ daemon alive (pid $pid)" || echo "✗ stale pid file"
else
echo "✗ no pid file"
fi
# Digest freshness
if [ -f "$DIGEST" ]; then
age=$(($(date +%s) - $(stat -f %m "$DIGEST" 2>/dev/null || stat -c %Y "$DIGEST" 2>/dev/null || echo 0)))
echo "✓ digest age: ${age}s"
echo " preview: $(head -c 120 "$DIGEST")..."
else
echo "✗ digest file missing — daemon may not have produced one yet"
fi
# Log size
if [ -f "$DAEMON_LOG" ]; then
bytes=$(stat -f %z "$DAEMON_LOG" 2>/dev/null || stat -c %s "$DAEMON_LOG" 2>/dev/null)
echo " log: $DAEMON_LOG (${bytes} bytes)"
fi
# tmux integration?
# Display surfaces — tmux status-right + Claude Code statusLine can coexist
tmux_wired=0
statusline_wired=0
if command -v tmux >/dev/null 2>&1; then
if grep -q claude-recap "$HOME/.tmux.conf" 2>/dev/null; then
echo "✓ tmux status-right wired"
tmux_wired=1
else
echo "○ tmux installed but status-right not wired — run /ops:recap configure"
fi
else
echo "○ tmux not installed"
fi
SETTINGS="$HOME/.claude/settings.json"
statusline_check_skipped=0
if ! command -v jq >/dev/null 2>&1; then
echo "○ Claude Code statusLine — cannot check (jq not installed; install via 'brew install jq' or your distro's package manager)"
statusline_check_skipped=1
elif [ ! -f "$SETTINGS" ]; then
echo "○ Claude Code statusLine — no ~/.claude/settings.json found (run Claude Code at least once, or run /ops:recap configure to create one)"
statusline_check_skipped=1
else
sl_cmd=$(jq -r '.statusLine.command // empty' "$SETTINGS" 2>/dev/null)
if echo "$sl_cmd" | grep -q claude-recap-digest; then
echo "✓ Claude Code statusLine wired"
statusline_wired=1
else
echo "○ Claude Code statusLine not wired — run /ops:recap configure"
fi
fi
# Only warn "no display surface active" when we actually verified both surfaces.
# If statusline check was skipped due to missing prerequisites, statusline_wired
# being 0 is uninformative — surface that explicitly instead of misleading text.
if [ "$tmux_wired" -eq 0 ] && [ "$statusline_wired" -eq 0 ]; then
if [ "$statusline_check_skipped" -eq 1 ]; then
echo " → tmux not wired; statusLine status unknown (prerequisite missing — see above). Daemon still produces /tmp/claude-recap-digest (useful for /ops:recap tail)."
else
echo " → no display surface active. Daemon still produces /tmp/claude-recap-digest (useful for /ops:recap tail)."
fi
fitailStream the rolling digest log:
echo "─── Last 20 generated digests ───"
tail -n 20 /tmp/claude-recap-digest.log 2>/dev/null || echo "(no digest log yet)"
echo
echo "─── Daemon log (tail 30) ───"
tail -n 30 /tmp/claude-recap-daemon.log 2>/dev/null || echo "(no daemon log yet)"configureWalk the user through display-surface integration. Two surfaces are supported and they can coexist: tmux status-right and Claude Code statusLine (~/.claude/settings.json). Detect existing config first to avoid clobbering.
Check tmux availability — if missing, jump to the statusLine fallback flow below:
if ! command -v tmux >/dev/null 2>&1; then
echo "tmux not installed — offering Claude Code statusLine fallback."
# → see "statusLine fallback" section below
fiCheck current ~/.tmux.conf:
TMUX_CONF="$HOME/.tmux.conf"
tmux_already_wired=0
if grep -q claude-recap "$TMUX_CONF" 2>/dev/null; then
echo "✓ tmux status-right already configured."
tmux_already_wired=1
fi
existing=$(grep -E '^\s*set\s+-g\s+status-right' "$TMUX_CONF" 2>/dev/null | head -1)Steps 3–5 only apply when tmux is not already wired (tmux_already_wired=0):
If existing is non-empty, AskUserQuestion:
$existing. Append recap marquee?"[Append (keep existing)] [Replace with recap-only] [Skip]On append: insert the marquee snippet ahead of the existing setting so both render. On replace: comment out the old line and add the new one.
Snippet to append — expand the plugin path when writing ~/.tmux.conf (tmux #() does not expand env vars):
PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-$(ls -d "$HOME/.claude/plugins/cache/ops-marketplace/ops"/*/ 2>/dev/null | sort -V | tail -1)}"
cat >> "$TMUX_CONF" <<TMUXset -g status-right '#('"${PLUGIN_ROOT}"'/scripts/recap/marquee.sh) #[fg=#a6e3a1]%H:%M ' set -g status-interval 2 TMUX
tmux info >/dev/null 2>&1 && tmux source-file "$TMUX_CONF" 2>/dev/nullconfigure — statusLine fallback (no tmux, or in addition to tmux)When tmux is missing — or the user wants a second surface — wire the recap into Claude Code's own status bar via ~/.claude/settings.json.
AskUserQuestion (Rule 1 — exactly 4 options):
Wire recap into Claude Code statusLine (~/.claude/settings.json)?
[Add to Claude Code statusLine] [Show me the JSON, I'll add manually] [Skip] [Help]On Add to Claude Code statusLine, detect existing entry:
SETTINGS="$HOME/.claude/settings.json"
mkdir -p "$(dirname "$SETTINGS")"
[ -f "$SETTINGS" ] || echo '{}' > "$SETTINGS"
existing=$(jq -r '.statusLine // empty' "$SETTINGS")If existing is non-empty, ask (Rule 1 — 3 options):
Existing statusLine detected. How to handle?
[Replace with recap] [Append after current (chain commands)] [Skip]Merge with jq so other settings are preserved:
TMP=$(mktemp)
jq '.statusLine = {
"type": "command",
"command": "cat /tmp/claude-recap-digest 2>/dev/null | head -c 80",
"refreshInterval": 30
}' "$SETTINGS" > "$TMP" && mv "$TMP" "$SETTINGS"For the append branch, chain commands so both render side-by-side:
prev_cmd=$(jq -r '.statusLine.command // ""' "$SETTINGS")
if [ -n "$prev_cmd" ]; then
new_cmd="${prev_cmd}; cat /tmp/claude-recap-digest 2>/dev/null | head -c 80"
else
new_cmd="cat /tmp/claude-recap-digest 2>/dev/null | head -c 80"
fi
TMP=$(mktemp)
jq --arg cmd "$new_cmd" '.statusLine.command = $cmd' "$SETTINGS" > "$TMP" && mv "$TMP" "$SETTINGS"Print: ✓ Claude Code statusLine wired — restart Claude Code (or open a new session) to activate.
The JSON snippet (for the manual / Show me the JSON path):
{
"statusLine": {
"type": "command",
"command": "cat /tmp/claude-recap-digest 2>/dev/null | head -c 80",
"refreshInterval": 30
}
}restartReload the launchd agent without reconfiguring:
LABEL=com.claude-ops.recap-daemon
PLIST=~/Library/LaunchAgents/com.claude-ops.recap-daemon.plist
launchctl bootout "gui/$(id -u)/${LABEL}" 2>/dev/null || true
rm -rf /tmp/claude-recap-daemon.lock /tmp/claude-recap-daemon.pid
launchctl bootstrap "gui/$(id -u)" "$PLIST" && echo "✓ daemon restarted"The launchd plist is macOS-only. Linux users can wrap scripts/recap/daemon.sh in a systemd --user unit. Minimal example (~/.config/systemd/user/claude-recap-daemon.service):
[Unit]
Description=Claude Ops Recap Daemon
After=default.target
[Service]
Type=simple
ExecStart=/bin/sh %h/.claude/plugins/cache/ops-marketplace/ops/CURRENT/scripts/recap/daemon.sh
Restart=always
RestartSec=30
[Install]
WantedBy=default.targetThen systemctl --user daemon-reload && systemctl --user enable --now claude-recap-daemon. The CLI subcommands above (status / tail / restart) won't auto-detect systemd — use systemctl --user status claude-recap-daemon directly.
/ops:recap (alias: shows status). Subcommand parsing:
sub="${1:-status}"
case "$sub" in
status|tail|configure|restart) ;;
*) echo "Unknown subcommand: $sub. Try: status | tail | configure | restart"; exit 1 ;;
esac© Lifecycle-Innovations-Limited, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in claude-ops/skills/ops-recap of Lifecycle-Innovations-Limited/claude-ops.
Open the folder on GitHubat commit ee9c784
Ops 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ops Recap this skillLifecycle-Innovations-Limited/claude-ops | 542 | — | ~2.7k | Automated safety check: Notes | MIT | |
| 1passwordtrpc-group/trpc-agent-go | 1.9k | 14 repos | ~656 | Automated safety check: Pass | Apache-2.0 | |
| CodeGraph Agent Evalcolbymchenry/codegraph | 74k | — | ~950 | Automated safety check: Pass | MIT | |
| Tmuxtrpc-group/trpc-agent-go | 1.9k | 23 repos | ~868 | Automated safety check: Pass | Apache-2.0 | |
| CodexBar Live QAsteipete/CodexBar | 22k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Tmuxopenclaw/openclaw | 392k | 1 repos | ~640 | Automated safety check: Pass | MIT |
trpc-group/trpc-agent-go
Set up and use 1Password CLI (op). An agent skill from trpc-group/trpc-agent-go.
colbymchenry/codegraph
Benchmarks how much CodeGraph helps a coding agent on a real repository, comparing runs with and without it for a chosen local or published version.
trpc-group/trpc-agent-go
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
steipete/CodexBar
Runs live QA for the CodexBar app: provider usage matrix checks through its packaged CLI, config validation and menu checks, with 1Password-backed credentials handled safely.
openclaw/openclaw
Control tmux sessions/panes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.
QwenLM/qwen-code
Reproduces a feature from Codex or Claude Code in Qwen Code by running the reference agent under capture, reading the traces, then implementing matching behavior.
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "ops dashboard", "pixel HQ", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "go to market", "GTM plan", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "klaviyo", "ads spend", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "tweet", "post to linkedin", or…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "yolo mode", "run the business today"…
Lifecycle-Innovations-Limited/claude-ops
OPS on-demand: This skill should be used when the user asks to "datadog", "APM alerts", or…
Works with
OPS on-demand: This skill should be used when the user asks to "recap daemon", "tmux marquee", or…. Ops Recap is an agent skill from Lifecycle-Innovations-Limited/claude-ops.
Ops Recap fits situations like: asks to recap daemon.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a claude-code`. Or copy the skill folder (claude-ops/skills/ops-recap in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/ops-recap in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-recap -a codex`. Or copy the skill folder (claude-ops/skills/ops-recap in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/ops-recap in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill ops-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/ops-recap, .gemini/skills/ops-recap, .github/skills/ops-recap and .opencode/skills/ops-recap in your project.
Going by SKILL.md and its folder, Ops Recap needs the command-line tools its instructions call (jq and claude). Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, AskUserQuestion.
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.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ops Recap is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k 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.
Skills that share tags, products or a category with Ops Recap: 1password (trpc-group/trpc-agent-go, 1.9k stars), CodeGraph Agent Eval (colbymchenry/codegraph, 74k stars), Tmux (trpc-group/trpc-agent-go, 1.9k stars) and CodexBar Live QA (steipete/CodexBar, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Lifecycle-Innovations-Limited (a GitHub organization) maintains it in Lifecycle-Innovations-Limited/claude-ops, which has 542 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 10, 2026.
Source: Lifecycle-Innovations-Limited/claude-ops on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.