/ceos-dashboard
Use when you want a quick snapshot of overall business health across all EOS components
$ npx -y skills add bradfeld/ceos --skill ceos-dashboard --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ceos-dashboard
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when you want a quick snapshot of overall business health across all EOS components
SKILL.md
ceos-dashboard.SKILL.mdname: ceos-dashboard
description: Use when you want a quick snapshot of overall business health across all EOS components
file-access: [data/vision.md, data/rocks/, data/scorecard/, data/issues/open/, data/people/, data/accountability.md]
tools-used: [Read, Glob]
ceos-dashboard
State of the Business summary — a read-only dashboard that aggregates data from all CEOS skills into a single view. Quick pulse check before L10 meetings, weekly reviews, or any time the leadership team needs the big picture.
When to Use
- "Dashboard" or "show me the dashboard"
- "State of the business" or "how are we doing?"
- "Business health" or "pulse check"
- "Overview" or "what's the state of things?"
- "Quick summary" or "where do we stand?"
- Before L10 meetings for a pre-meeting snapshot
Context
Finding the CEOS Repository
Search upward from the current directory for the `.ceos` marker file. This file marks the root of the CEOS repository.
If `.ceos` is not found, stop and tell the user: "Not in a CEOS repository. Clone your CEOS repo and run setup.sh first."
**Sync before use:** Once you find the CEOS root, run `git -C <ceos_root> pull --ff-only --quiet 2>/dev/null` to get the latest data from teammates. If it fails (conflict or offline), continue silently with local data.
Key Files
| File | Purpose | |------|---------| | `data/vision.md` | V/TO document (Core Focus, targets, plans) | | `data/rocks/YYYY-QN/` | Rock files for current quarter | | `data/scorecard/metrics.md` | Metric definitions | | `data/scorecard/weeks/YYYY-WNN.md` | Weekly scorecard entries | | `data/issues/open/` | Open issues awaiting resolution | | `data/people/` | Person evaluation files | | `data/accountability.md` | Accountability chart (team structure) |
Design Principles
- **Read-only.** Dashboard never modifies any data files. It reads and summarizes.
- **Graceful degradation.** Missing data sections show guidance, not errors. New CEOS repos with partial setup work fine.
- **Cross-skill coordination.** Each section suggests the relevant skill for taking action. Dashboard presents the data; other skills change it.
Process
The dashboard has a single mode — it reads all available data and presents a summary.
Step 1: Determine Current Period
Calculate from today's date:
- **Current quarter:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Oct-Dec = Q4. Format: `YYYY-QN`
- **Current ISO week:** Format: `YYYY-WNN` (Week 1 is the week containing the first Thursday of the year)
Step 2: V/TO Snapshot
Read `data/vision.md`.
**If the file exists:** 1. Extract the company name from the document header 2. Extract Core Focus (Purpose + Niche) — show as one line 3. Extract 10-Year Target — show as one line 4. Extract 3-Year Picture — show revenue/headcount targets if present 5. Extract 1-Year Plan — show key goals
Display as a compact summary:
V/TO — [Company Name]
Core Focus: [Purpose — Niche]
10-Year Target: [Target]
3-Year Picture: [Key metrics]
1-Year Plan: [Key goals]
**If the file does not exist:**
V/TO: Not configured. Run `ceos-vto` to set your vision.
Step 3: Rock Status
Read all `.md` files in `data/rocks/[current-quarter]/`.
**If the directory exists and contains files:** 1. Parse each Rock's YAML frontmatter for `status` and `owner` 2. Count by status: `on_track`, `off_track`, `complete`, `dropped` 3. Calculate total Rock count 4. If frontmatter `milestones` array exists, count milestone progress (done vs total)
Display:
Rocks — [Quarter]
Total: [N] | On Track: [N] | Off Track: [N] | Complete: [N] | Dropped: [N]
[If off-track Rocks exist, list them by owner:]
Off track: [Rock title] ([owner]), [Rock title] ([owner])
**If the directory does not exist or is empty:**
Rocks: No Rocks set for [quarter]. Run `ceos-rocks` to set priorities.
Step 4: Scorecard Health
Read `data/scorecard/weeks/[current-ISO-week].md`.
**If the file exists:** 1. Parse the metrics table from the markdown body 2. Count metrics with `on_track` status vs `off_track` status 3. List any off-track metric names
Display:
Scorecard — [Week]
[N] on track | [N] off track
[If off-track metrics exist:]
Off track: [Metric name] ([owner]), [Metric name] ([owner])
**If the file does not exist:**
Fall back: check for the most recent week file in `data/scorecard/weeks/` (sorted by filename descending). If one exists within the last 2 weeks, show it with a note: "(latest available: [week])".
If no recent files exist:
Scorecard: No data for this week. Run `ceos-scorecard` to log.
If `data/scorecard/` directory doesn't exist:
Scorecard: Not set up yet. Run `ceos-scorecard` to define metrics and log weekly.
Step 5: Open Issues
Read all `.md` files in `data/issues/open/`.
**If the directory exists and contains files:** 1. Parse each issue's YAML frontmatter for `priority` (1-5) and `created` date 2. Count total open issues 3. Count by priority level 4. Calculate age of the oldest issue (days since `created`)
Display:
Open Issues — [N] total
By priority: [N] P1 | [N] P2 | [N] P3 | [N] P4 | [N] P5
Oldest: [issue title] ([N] days)
**If the directory is empty or does not exist:**
Open Issues: None. Great work!
Step 6: People Summary
Read all `.md` files in `data/people/` (exclude the `alumni/` subdirectory).
**If the directory exists and contains files:** 1. Parse each person's YAML frontmatter for `status` and `departed` 2. Skip any files where `departed: true` 3. Count total active team members 4. Count by status: `right_person_right_seat`, `below_bar`, `wrong_seat`, `evaluating` 5. Flag any `below_bar` or `wrong_seat` counts (but do NOT expose names — privacy)
Display:
People — [N] team members
Right person, right seat: [N] | Below bar: [N] | Wrong seat: [N] | Evaluating: [N]
If there are below_bar or wrong_seat members:
[N] flagged — review with `ceos-people` for details
Read more
name: ceos-dashboard description: Use when you want a quick snapshot of overall business health across all EOS components file-access: [data/vision.md, data/rocks/, data/scorecard/, data/issues/open/, data/people/, data/accountability.md] tools-used: [Read, Glob]
ceos-dashboard
State of the Business summary — a read-only dashboard that aggregates data from all CEOS skills into a single view. Quick pulse check before L10 meetings, weekly reviews, or any time the leadership team needs the big picture.
When to Use
- "Dashboard" or "show me the dashboard"
- "State of the business" or "how are we doing?"
- "Business health" or "pulse check"
- "Overview" or "what's the state of things?"
- "Quick summary" or "where do we stand?"
- Before L10 meetings for a pre-meeting snapshot
Context
Finding the CEOS Repository
Search upward from the current directory for the `.ceos` marker file. This file marks the root of the CEOS repository.
If `.ceos` is not found, stop and tell the user: "Not in a CEOS repository. Clone your CEOS repo and run setup.sh first."
**Sync before use:** Once you find the CEOS root, run `git -C <ceos_root> pull --ff-only --quiet 2>/dev/null` to get the latest data from teammates. If it fails (conflict or offline), continue silently with local data.
Key Files
| File | Purpose | |------|---------| | `data/vision.md` | V/TO document (Core Focus, targets, plans) | | `data/rocks/YYYY-QN/` | Rock files for current quarter | | `data/scorecard/metrics.md` | Metric definitions | | `data/scorecard/weeks/YYYY-WNN.md` | Weekly scorecard entries | | `data/issues/open/` | Open issues awaiting resolution | | `data/people/` | Person evaluation files | | `data/accountability.md` | Accountability chart (team structure) |
Design Principles
- **Read-only.** Dashboard never modifies any data files. It reads and summarizes.
- **Graceful degradation.** Missing data sections show guidance, not errors. New CEOS repos with partial setup work fine.
- **Cross-skill coordination.** Each section suggests the relevant skill for taking action. Dashboard presents the data; other skills change it.
Process
The dashboard has a single mode — it reads all available data and presents a summary.
Step 1: Determine Current Period
Calculate from today's date:
- **Current quarter:** Jan-Mar = Q1, Apr-Jun = Q2, Jul-Sep = Q3, Oct-Dec = Q4. Format: `YYYY-QN`
- **Current ISO week:** Format: `YYYY-WNN` (Week 1 is the week containing the first Thursday of the year)
Step 2: V/TO Snapshot
Read `data/vision.md`.
**If the file exists:** 1. Extract the company name from the document header 2. Extract Core Focus (Purpose + Niche) — show as one line 3. Extract 10-Year Target — show as one line 4. Extract 3-Year Picture — show revenue/headcount targets if present 5. Extract 1-Year Plan — show key goals
Display as a compact summary:
V/TO — [Company Name] Core Focus: [Purpose — Niche] 10-Year Target: [Target] 3-Year Picture: [Key metrics] 1-Year Plan: [Key goals]
**If the file does not exist:**
V/TO: Not configured. Run `ceos-vto` to set your vision.
Step 3: Rock Status
Read all `.md` files in `data/rocks/[current-quarter]/`.
**If the directory exists and contains files:** 1. Parse each Rock's YAML frontmatter for `status` and `owner` 2. Count by status: `on_track`, `off_track`, `complete`, `dropped` 3. Calculate total Rock count 4. If frontmatter `milestones` array exists, count milestone progress (done vs total)
Display:
Rocks — [Quarter] Total: [N] | On Track: [N] | Off Track: [N] | Complete: [N] | Dropped: [N] [If off-track Rocks exist, list them by owner:] Off track: [Rock title] ([owner]), [Rock title] ([owner])
**If the directory does not exist or is empty:**
Rocks: No Rocks set for [quarter]. Run `ceos-rocks` to set priorities.
Step 4: Scorecard Health
Read `data/scorecard/weeks/[current-ISO-week].md`.
**If the file exists:** 1. Parse the metrics table from the markdown body 2. Count metrics with `on_track` status vs `off_track` status 3. List any off-track metric names
Display:
Scorecard — [Week] [N] on track | [N] off track [If off-track metrics exist:] Off track: [Metric name] ([owner]), [Metric name] ([owner])
**If the file does not exist:**
Fall back: check for the most recent week file in `data/scorecard/weeks/` (sorted by filename descending). If one exists within the last 2 weeks, show it with a note: "(latest available: [week])".
If no recent files exist:
Scorecard: No data for this week. Run `ceos-scorecard` to log.
If `data/scorecard/` directory doesn't exist:
Scorecard: Not set up yet. Run `ceos-scorecard` to define metrics and log weekly.
Step 5: Open Issues
Read all `.md` files in `data/issues/open/`.
**If the directory exists and contains files:** 1. Parse each issue's YAML frontmatter for `priority` (1-5) and `created` date 2. Count total open issues 3. Count by priority level 4. Calculate age of the oldest issue (days since `created`)
Display:
Open Issues — [N] total By priority: [N] P1 | [N] P2 | [N] P3 | [N] P4 | [N] P5 Oldest: [issue title] ([N] days)
**If the directory is empty or does not exist:**
Open Issues: None. Great work!
Step 6: People Summary
Read all `.md` files in `data/people/` (exclude the `alumni/` subdirectory).
**If the directory exists and contains files:** 1. Parse each person's YAML frontmatter for `status` and `departed` 2. Skip any files where `departed: true` 3. Count total active team members 4. Count by status: `right_person_right_seat`, `below_bar`, `wrong_seat`, `evaluating` 5. Flag any `below_bar` or `wrong_seat` counts (but do NOT expose names — privacy)
Display:
People — [N] team members Right person, right seat: [N] | Below bar: [N] | Wrong seat: [N] | Evaluating: [N]
If there are below_bar or wrong_seat members:
[N] flagged — review with `ceos-people` for details
Run EOS with AI. CEOS brings the Entrepreneurial Operating System to Claude Code, giving your leadership team 23 AI-powered skills for Vision, Accountability Chart, Rocks, Scorecard, L10 Meetings, IDS, To-Dos, Process, People Analyzer, Quarterly

