Skip to content

Commit e1afdc7

Browse files
committed
feat(ops): /ops skill — weekly operations loop
The execution layer of the FrankX Operations System. One command surfaces everything needing attention across the business and drives each item forward: 1. Inbox — triage New inquiries from the Notion Inquiries CRM, draft replies in Frank's voice, advance New → Triaged 2. Pipeline — advance Triaged / Call booked / Proposal; flag stuck > 14d 3. PRs — sweep both repos; build a merge queue + a fix queue 4. Content — what shipped / queued + one recommended next piece Pairs with the capture/acknowledge/track layers on frankx.ai (/api/intake → Notion CRM). Guardrails: never auto-send or close without confirmation; technical-authority voice; no invented busywork. - skills/ops/SKILL.md — the cadence skill - .claude/commands/ops.md — slash-command wrapper - skills/registry.json — registered (business category) - CLAUDE.md — added /ops to System commands Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012dr4zpf6FsJygEDzt5a83N
1 parent d8fa161 commit e1afdc7

4 files changed

Lines changed: 177 additions & 1 deletion

File tree

.claude/commands/ops.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# /ops — Weekly Operations Loop
2+
3+
**The execution layer of the FrankX Operations System.** One command surfaces
4+
everything that needs attention across the business and drives each item one
5+
step forward.
6+
7+
Loads the `ops` skill (`skills/ops/SKILL.md`).
8+
9+
## Usage
10+
11+
```bash
12+
/ops # full loop: inbox · pipeline · PRs · content
13+
/ops inbox # just triage new inquiries + draft replies
14+
/ops pipeline # just advance CRM stages
15+
/ops prs # just sweep open PRs across both repos
16+
```
17+
18+
## What it does
19+
20+
1. **Inbox** — pull `New` inquiries from the Notion Inquiries CRM (or
21+
`/admin/intake`), classify urgency, draft replies in Frank's voice, advance
22+
`New → Triaged`.
23+
2. **Pipeline** — advance `Triaged / Call booked / Proposal` rows; flag anything
24+
stuck > 14 days.
25+
3. **PRs** — list open PRs in `frankxai/frankx.ai-vercel-website` and
26+
`frankxai/agentic-creator-os`; build a merge queue + a fix queue.
27+
4. **Content** — what shipped, what's queued, one recommended next piece (feeds
28+
the `/build-log` flywheel).
29+
30+
## Guardrails
31+
32+
- Never auto-send a reply or close a deal without confirmation. Draft and propose.
33+
- Voice: technical authority. Lead with the answer, link the artifact.
34+
- If the pipeline is empty or PRs are clean, say so. No invented busywork.
35+
36+
See `docs/ops/OPERATIONS_SYSTEM.md` (website repo) for the full architecture and
37+
the capture/acknowledge/track layers this loop sits on top of.

CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ See install.sh:install_grok , adapters/grok/ and the new grok-harness skill for
134134
| `/inventory-status` | Content inventory dashboard |
135135
| `/mcp-status` | MCP server health |
136136
| `/publish` | Content publishing with quality gates |
137+
| `/ops` | Weekly operations loop — triage inquiry inbox, advance CRM pipeline, sweep PRs, surface content plan (ops skill) |
137138

138139
### Quality (3)
139140
| Command | Description |

skills/ops/SKILL.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
name: Ops Cadence
3+
description: Run the weekly FrankX operations loop — triage the inquiry inbox, advance the CRM pipeline, sweep open PRs across repos, and surface the content plan. Use for "/ops", "run the ops loop", "weekly ops", "triage inquiries", "what needs my attention", or any business-operations check-in.
4+
version: 0.1.0
5+
triggers:
6+
- "/ops"
7+
- "run the ops loop"
8+
- "weekly ops"
9+
- "triage inquiries"
10+
- "what needs my attention"
11+
- "ops check-in"
12+
inputs:
13+
required: []
14+
optional: [mode, since]
15+
outputs:
16+
- A prioritized ops readout (inbox · pipeline · PRs · content)
17+
- Optional: drafted replies, advanced Notion stages, PR actions
18+
dependencies: [frankx-brand]
19+
mcp: [notion, github, slack]
20+
---
21+
22+
# Ops Cadence
23+
24+
The execution layer of the FrankX Operations System. One command surfaces
25+
everything that needs Frank's attention across the business and drives each
26+
item one step forward. Pairs with the capture/acknowledge/track layers built
27+
into frankx.ai (`/api/intake` → Notion "Inquiries" CRM). See
28+
`docs/ops/OPERATIONS_SYSTEM.md` in the website repo for the full architecture.
29+
30+
## When to run
31+
32+
- **Weekly** (Monday) — the full loop, as a planning ritual.
33+
- **On demand** — "what needs my attention?" before a focus block.
34+
- **After a launch** — when inbound spikes and the pipeline needs triage.
35+
36+
## The loop
37+
38+
Four passes, each ending in a concrete action — not just a report.
39+
40+
### 1. Inbox — triage new inquiries
41+
42+
Source: Notion **Inquiries (CRM)** database (or `/admin/intake` if Notion isn't
43+
wired yet). Pull every row at stage `New`.
44+
45+
For each:
46+
- Classify urgency (commercial intent + named company + specific ask = hot).
47+
- Draft a reply in Frank's voice (technical-authority register — see
48+
`VOICE_ROUTER.md`). Lead with the answer, propose the next step (call / scope / no-fit).
49+
- Advance the Notion `Stage`: `New → Triaged`.
50+
51+
Output: a ranked list — hot leads first, each with a ready-to-send draft.
52+
53+
### 2. Pipeline — advance the CRM
54+
55+
Pull rows at `Triaged`, `Call booked`, `Proposal`.
56+
57+
For each, name the single next action and who owns it:
58+
- `Triaged` with no reply sent → send the draft.
59+
- `Call booked` with date passed → log outcome, move to `Proposal` or `Lost`.
60+
- `Proposal` aging > 7 days → nudge or mark `Lost`.
61+
62+
Flag anything stuck > 14 days. Stale pipeline is the silent killer.
63+
64+
### 3. PRs — sweep open work
65+
66+
Across `frankxai/frankx.ai-vercel-website` and `frankxai/agentic-creator-os`:
67+
- List open PRs with CI status + review state.
68+
- Green + reviewed → flag for merge.
69+
- Red CI → diagnose (one line) + propose the fix.
70+
- Stale draft (> 7 days, no activity) → decide: finish, or close and capture the idea in `BRANCH_AUDIT.md`.
71+
72+
Output: a merge queue and a fix queue.
73+
74+
### 4. Content — surface the plan
75+
76+
- What shipped since last loop (blog, builds, social)?
77+
- What's queued / half-built (draft PRs, `content/builds/*` at `status: wip`)?
78+
- One recommended next piece, tied to a real build (feed the `/build-log` flywheel).
79+
80+
## Modes
81+
82+
| Mode | Scope |
83+
|---|---|
84+
| `full` (default) | All four passes. |
85+
| `inbox` | Just triage new inquiries + draft replies. |
86+
| `pipeline` | Just advance CRM stages. |
87+
| `prs` | Just the PR sweep. |
88+
89+
## Output shape
90+
91+
```
92+
## Ops Readout — <date>
93+
94+
### 🔥 Hot (act today)
95+
- <Name, Company> · <intent> — <one-line ask> → [draft ready]
96+
97+
### 📥 Inbox (N new)
98+
...
99+
100+
### 📊 Pipeline (N active)
101+
- Stuck > 14d: ...
102+
- Next actions: ...
103+
104+
### 🔀 PRs
105+
- Merge queue: ...
106+
- Fix queue: ...
107+
108+
### ✍️ Content
109+
- Shipped: ... | Queued: ... | Recommend next: ...
110+
```
111+
112+
## Guardrails
113+
114+
- **Never auto-send** a reply or advance a `Won`/`Lost` stage without Frank's
115+
confirmation. Draft and propose; Frank approves.
116+
- **Voice:** technical authority. Lead with the answer, link the artifact, let
117+
the work speak. No hype, no guru language.
118+
- **Honesty:** if the pipeline is empty or PRs are all clean, say so plainly.
119+
An ops loop that invents busywork is worse than none.

skills/registry.json

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,24 @@
346346
},
347347
"exports": ["mdx_build_log", "linkedin_draft", "demo_brief", "mermaid_diagram", "prompt_pack_entry"],
348348
"voice_override": "resources/voice-spec.md"
349+
},
350+
351+
"ops": {
352+
"version": "0.1.0",
353+
"category": "business",
354+
"description": "Run the weekly FrankX operations loop — triage the inquiry inbox, advance the CRM pipeline, sweep open PRs across repos, and surface the content plan. The execution layer of the FrankX Operations System (frankx.ai /api/intake → Notion Inquiries CRM).",
355+
"author": "FrankX",
356+
"license": "MIT",
357+
"downloads": 0,
358+
"rating": 0,
359+
"dependencies": ["frankx-brand"],
360+
"mcp": ["notion", "github", "slack"],
361+
"triggers": {
362+
"keywords": ["ops loop", "weekly ops", "triage inquiries", "what needs my attention", "ops check-in", "advance pipeline"],
363+
"files": ["**/docs/ops/**", "**/admin/intake/**"],
364+
"commands": ["/ops"]
365+
},
366+
"exports": ["ops_readout", "inbox_triage", "pipeline_advance", "pr_sweep"]
349367
}
350368
},
351369

@@ -369,7 +387,8 @@
369387
"publishing-factory"
370388
],
371389
"business": [
372-
"oci-services"
390+
"oci-services",
391+
"ops"
373392
],
374393
"soulbook": [
375394
"7-pillars",

0 commit comments

Comments
 (0)