Knowledge Ops
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
OPS on-demand: This skill should be used when the user asks to "/ops:flow", "dev lifecycle", or "where…
$ npx skills add Lifecycle-Innovations-Limited/claude-ops --skill flow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops flow --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/flow .claude/skills/flow && 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 "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .claude/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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/flowType 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 flow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops flow --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/flow .agents/skills/flow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .agents/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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 flow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops flow --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/flow .cursor/skills/flow && 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 "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .cursor/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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/flow--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 flow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Lifecycle-Innovations-Limited/claude-ops flow --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/flow .gemini/skills/flow && 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 "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .gemini/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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 flowInstalls 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 flow -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/flow .github/skills/flow && 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 "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .github/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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 flow -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 flow --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/flow .opencode/skills/flow && 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 "flow" agent skill from https://github.com/Lifecycle-Innovations-Limited/claude-ops/tree/main/claude-ops/skills/flow into .opencode/skills/flow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "flow", 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.
flowOPS on-demand: This skill should be used when the user asks to "/ops:flow", "dev lifecycle", or "where…
Flow is an agent skill from Lifecycle-Innovations-Limited/claude-ops. OPS on-demand: This skill should be used when the user asks to "/ops:flow", "dev lifecycle", or "where…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `LIFECYCLE-MAP.md`).
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.
Read from SKILL.md and the folder at commit 1aa0928. 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:
BashReadGrepGlobSkillAgentTeamCreateSendMessageFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From 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.
Flow loads about 3.5k tokens when it runs. Until then it costs about 27 tokens; SKILL.md has 1,029 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, Grep, Glob, Skill, Agent, TeamCreate, SendMessageAutomated 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 1aa0928, republished under its MIT licence (© Lifecycle-Innovations-Limited). 1,029 words, ~3,477 tokens.
.claude/skills/flow/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.If CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 is set, use Agent Teams when a
lifecycle stage fans out into parallel, coordinated work (e.g. build + test +
review running together, or a multi-repo ship). This enables:
Team setup (only when the flag is enabled, and only for genuinely parallel stages):
TeamCreate("flow-lifecycle")
Agent(team_name="flow-lifecycle", name="stage-build", ...)
Agent(team_name="flow-lifecycle", name="stage-test", ...)Steer with SendMessage / broadcast; share work via TaskCreate/TaskUpdate.
If the flag is NOT set, fall back to standard fire-and-forget subagents (the default), or just route the stage to its single canonical command inline.
Before routing, compute where the user is on the lifecycle:
# FLOW_TARGET: the project you are actually working on. Default to the shell's
# cwd, but pass an explicit path when the harness's tool cwd is not the project
# (see the mode-resolution note below).
FLOW_TARGET="${FLOW_TARGET:-$PWD}"
FLOW_STATE=""
for _d in "${CLAUDE_PLUGIN_ROOT:-}" \
"$HOME/Developer/repos/claude-ops/claude-ops" \
"$HOME/external-skills/claude-ops" \
"$HOME/.claude/plugins/marketplaces/ops-marketplace/claude-ops" \
"$HOME/Projects/claude-ops/claude-ops"; do
[ -n "$_d" ] && [ -x "$_d/bin/flow-state" ] && { FLOW_STATE="$_d/bin/flow-state"; break; }
done
[ -n "$FLOW_STATE" ] || { echo "flow: no executable bin/flow-state found" >&2; exit 1; }
"$FLOW_STATE" "$FLOW_TARGET"Both failures are fail-closed on purpose. If no helper resolves, or the
target path is not a directory, stop and say so — do not route. MODE is what
decides GSD vs gstack, so routing without it silently picks the wrong half of
the lifecycle, which is worse than an error.
Use ${CLAUDE_PLUGIN_ROOT:-}, not $CLAUDE_PLUGIN_ROOT: the bare form aborts
under set -u, and an unguarded ${CLAUDE_PLUGIN_ROOT}/bin/flow-state expands
to the absolute path /bin/flow-state when the variable is unset.
Always pass the target path explicitly. flow-state defaults to $PWD,
and on some harnesses the shell tool does NOT run in the directory the user
launched from — Hermes, for example, runs terminal commands in $HOME. A
bare flow-state there inspects the home directory, finds no .planning/,
and reports MODE=AD-HOC for every project. PROJECT-MODE then never triggers,
so the GSD phase state machine is silently unreachable and every request falls
through to the ad-hoc gstack lifecycle. Resolve the project directory first
(the repo the user named, or the one under discussion) and pass it.
This prints: mode (PROJECT / AD-HOC), current .planning/ phase (if any),
open PRs, and deploy state — the "you are here" marker. Read it first so
mode-sensitive routes (build / ship / review) resolve correctly.
The canonical map lives in LIFECYCLE-MAP.md (same dir). Read it when you need the
full per-stage ownership table; the dispatch table below is the routing copy.
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 one rule: pick the abstraction level from repo state, then delegate to the canonical tool.
.planning/): drive the GSD phase state
machine; GSD phases call gstack/ops tools as sub-steps..planning/): run the gstack stateless lifecycle./ops:*): always available in either mode.Route $ARGUMENTS (first token = intent) using this table:
| Intent keywords | Resolves to |
|---|---|
| (empty), map, here, where | print map (Read LIFECYCLE-MAP.md) + bin/flow-state output. Stop — do not delegate. |
| ideate, brainstorm, office-hours | /office-hours |
| hard-truths, yolo | /ops:ops-yolo |
| spec, specify, scope, issue | /spec $REST |
| plan, roadmap, phase-plan | project → gsd-plan-phase; ad-hoc → /autoplan |
| ultraplan, deep-plan | gsd-ultraplan-phase |
| design, ui, mockup, html | /design-consultation $REST |
| build, execute, implement, code | multi-project (checked FIRST) → gsd-manager; else project → gsd-execute-phase; ad-hoc → direct edits in an isolated worktree |
| feature-dev, fd, feature, architect-feature | /feature-dev $REST (overlay — optional structured pipeline before/alongside build; does not replace GSD execute) |
| review, code-review, cr | /review — project also runs gsd-code-review |
| security, cso, sec-review | /cso |
| test, qa | /qa $REST — project also runs gsd-verify-work |
| ios-qa, ios-test | /ios-qa |
| ship, land | project → gsd-ship; ad-hoc single-repo → /ship; multi-repo salvage → /ops:ops-merge |
| deploy, release, rollout | /ops:ops-deploy then /canary |
| canary | /canary |
| monitor, fires, incidents | /ops:ops-fires |
| status, health | /ops:ops-status |
| retro, reflect | /retro |
| learn | /learn |
| ops, inbox, comms, marketing, finops, voice, home, daemon | /ops:ops $ARGUMENTS (hand the whole arg string to the ops sub-router) |
| projects, portfolio | /ops:ops-projects |
| debug, investigate, root-cause, why | /investigate — project also runs gsd-debug |
| explore, onboard, understand, codebase | project → gsd-map-codebase / gsd-onboard; ad-hoc → gsd-explore |
| spike, prototype, try | gsd-spike (throwaway, never lands) |
| docs, document, readme | /document-generate — project also gsd-docs-update; post-ship /document-release |
| diagram, chart, excalidraw, mermaid | /diagram |
| pdf, export | /make-pdf |
| scrape, extract, pull-data | /scrape (codify a repeat flow with /skillify) |
| save-context, park, resume | /context-save / /context-restore — project → gsd-pause-work / gsd-resume-work |
| freeze, guard, scope-edits | /freeze (dir scope), /guard (full), /careful (destructive-cmd warnings), /unfreeze |
| design-review, ux-audit | /design-review; iOS → /ios-design-review; devex → /devex-review |
| ios-fix, ios-clean, ios-sync | /ios-fix, /ios-clean, /ios-sync |
| benchmark, perf, regression | /benchmark |
/qa, /ship, /spec, /review, /cso, /autoplan, /canary, /retro,
/learn, /office-hours, /design-consultation, /ios-qa, /browse) lives
OUTSIDE the indexed skills tree at ~/.local/share/gstack/<name>/SKILL.md,
deliberately, so its ~950k tokens do not load into every context.
skill_view("qa") WILL fail. Load the route with
read_file ~/.local/share/gstack/<name>/SKILL.md, then follow it. The
gstack-index skill lists all 54 names. GSD routes are normal skills and do
resolve via skill_view (gsd-plan-phase, gsd-execute-phase, ...).$REST = $ARGUMENTS with the leading intent token removed.MODE= line from flow-state, and pass it the
PROJECT path (see Runtime Context). PROJECT when the git root has
.planning/; AD-HOC otherwise. If you did not pass a path and the harness
runs shell commands somewhere other than the project (Hermes uses $HOME),
MODE is meaningless — it describes that directory, not the user's work.
A universal AD-HOC across unrelated projects is the symptom.
"multi-project" = the user named >1 repo/project or asked for
portfolio-wide work.Skill tool (or prints the route if the target is
a personal/plugin slash-command the model should call next). After routing,
the target skill's own ## CLI/API Reference governs execution.flow-state position.ops passthrough: for any ops* intent, forward the entire
$ARGUMENTS to /ops:ops — it has its own sub-router; do not pre-parse it./flowIf $ARGUMENTS is empty: Read LIFECYCLE-MAP.md, then reuse the Runtime
Context result above (the same "$FLOW_STATE" "$FLOW_TARGET" invocation — do
not call bin/flow-state bare, it would report on the harness's cwd rather
than the project), and present the lifecycle map with the current position
highlighted. Offer the next canonical stage as the suggested action.
Do not auto-advance.
Router only — no direct tool calls. bin/flow-state is the sole helper
(detects mode + position). All execution is delegated to the canonical
target skill after routing.
© 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
SKILL.md and 1 other file in claude-ops/skills/flow of Lifecycle-Innovations-Limited/claude-ops.
Open the folder on GitHubat commit 1aa0928
Flow 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 |
|---|---|---|---|---|---|---|
| Flow this skillLifecycle-Innovations-Limited/claude-ops | 542 | — | ~3.5k | Automated safety check: Notes | MIT | |
| Knowledge Opsaffaan-m/ECC | 276k | 2 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Research Opsaffaan-m/ECC | 276k | 2 repos | ~902 | Automated safety check: Pass | MIT | |
| Terminal Opsaffaan-m/ECC | 276k | 2 repos | ~750 | Automated safety check: Pass | MIT | |
| Messages Opsaffaan-m/ECC | 276k | 1 repos | ~724 | Automated safety check: Pass | MIT | |
| Email Opsaffaan-m/ECC | 276k | 1 repos | ~1.1k | Automated safety check: Pass | MIT |
affaan-m/ECC
Knowledge base management, ingestion, sync, and retrieval across multiple storage layers (local files, MCP memory, vector stores, Git repos).
affaan-m/ECC
Evidence-first current-state research workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first repo execution workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first live messaging workflow for ECC. An agent skill from affaan-m/ECC.
affaan-m/ECC
Evidence-first mailbox triage, drafting, send verification, and sent-mail-safe follow-up workflow for ECC.
affaan-m/ECC
GitHub repository operations, automation, and management. An agent skill from affaan-m/ECC.
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…
OPS on-demand: This skill should be used when the user asks to "/ops:flow", "dev lifecycle", or "where…. Flow is an agent skill from Lifecycle-Innovations-Limited/claude-ops.
Flow fits situations like: asks to /ops:flow.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill flow -a claude-code`. Or copy the skill folder (claude-ops/skills/flow in Lifecycle-Innovations-Limited/claude-ops) into .claude/skills/flow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Lifecycle-Innovations-Limited/claude-ops --skill flow -a codex`. Or copy the skill folder (claude-ops/skills/flow in Lifecycle-Innovations-Limited/claude-ops) into .agents/skills/flow 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 flow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/flow, .gemini/skills/flow, .github/skills/flow and .opencode/skills/flow in your project.
SKILL.md names no scripts, command-line tools or credentials: Flow is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Skill, Agent, TeamCreate, SendMessage.
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.
Flow is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k 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 Flow: Knowledge Ops (affaan-m/ECC, 276k stars), Research Ops (affaan-m/ECC, 276k stars), Terminal Ops (affaan-m/ECC, 276k stars) and Messages Ops (affaan-m/ECC, 276k 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 9, 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.