skills/eos/scorecard-autopull/SKILL.md
Enhanced scorecard entry with auto-pull from daily L10 meetings, Attio CRM, Google Calendar, Gmail, and filesystem. Walks through each metric one at a time with pre-populated suggestions for interactive confirmation.
npx skillsauth add skinnyandbald/fish-skills eos-scorecard-autopullInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Enhanced weekly scorecard entry that synthesizes data from daily L10 meetings, Attio CRM, Google Calendar, Gmail, and the filesystem. Walks through each metric one at a time with a pre-populated suggestion, letting the user confirm or tweak before proceeding to the next metric.
This skill wraps ceos-scorecard -- it does NOT replace it. After interactive confirmation, it writes the file using the same format as ceos-scorecard Mode: Log Weekly.
This skill is invoked by the /eos router when the user says "scorecard" and the session was triggered by eos-ritual.sh (cron) OR anytime the user wants to log scorecard numbers.
02_Areas/eos/ (per CLAUDE.md)02_Areas/eos/data/meetings/l10/ (primary data source)Calculate the current ISO week (YYYY-WNN). Check if 02_Areas/eos/data/scorecard/weeks/YYYY-WNN.md already exists. If so, tell the user and ask if they want to update it.
Determine the week's date range (Monday through Sunday) for filtering queries.
Read 02_Areas/eos/data/scorecard/metrics.md to get the 7 metrics, their goals, and green/red thresholds.
This is the most important data source. Read all L10 meeting files from 02_Areas/eos/data/meetings/l10/ that fall within the scorecard week's date range.
For each L10 file in the week:
Build a synthesis per metric by scanning all L10s for the week:
| Metric | What to look for in L10s | |--------|--------------------------| | Warm DMs Sent | To-do completions mentioning DMs, pipeline block activity, specific counts | | Content Pieces Published | Headlines about published content, to-dos about posting | | Dear Ben Episodes | Headlines about episodes, to-dos about recording/publishing | | Discovery Calls Booked | Headlines about new calls, meeting mentions with prospects | | Proposals Sent | Headlines about proposals, deals moving to "In Progress" | | Pipeline Value (New) | Headlines about new deals, deal values mentioned | | Revenue Collected | Headlines about payments received, deals closed/won |
Run these queries to supplement/validate the L10 synthesis. Run independent queries in parallel.
Query Attio for deal activity during the scorecard week:
Attio query pattern:
search_records_advanced(
resource_type: "deals",
filters: {
filters: [
{ attribute: { slug: "stage" }, condition: "equals", value: "<stage>" }
]
},
limit: 50
)
Then filter results by date in the current week. For each matching deal, use get_record_details to get the full record including value.
gcal_list_events(
calendarId: "primary",
timeMin: "YYYY-MM-DDT00:00:00",
timeMax: "YYYY-MM-DDT23:59:59",
timeZone: "America/Los_Angeles",
condenseEventDetails: false
)
Use calendar events to cross-reference with Attio deals and identify unmapped meetings.
For deals found in Attio, optionally search Gmail for related correspondence. Keep lightweight -- only query for contacts associated with active deals.
02_Areas/content-creation/2 published/ files with date prefix matching this week. Also check 1 drafts/ for Status: Published./Users/ben/code/dear-ben/content/episodes/ files with date prefix matching this week.For each metric, merge the L10 synthesis with external source data:
Priority order: User's words in L10s > CRM data > Calendar data > Filesystem > Default to 0.
This is the core interaction. Present ONE metric at a time using AskUserQuestion. Each question shows:
Walk through all 7 metrics in order. For each metric:
Show a brief summary of what was found:
### Warm DMs Sent (Goal: 50/week)
Suggested: 23
Sources:
- Mon L10: "sent 8 DMs during pipeline block"
- Wed L10: "15 DMs sent, mostly Hampton connections"
- No data for Tue/Thu/Fri
Status: off_track (goal: 50, red threshold: < 30)
Ask using AskUserQuestion with the suggested value as the default option:
Record the confirmed value before moving to the next metric.
Key principle: The pre-populated suggestion should save the user time. If the L10s captured good data, the user just confirms. If not, they override. Either way, they only deal with one metric at a time.
After all 7 metrics are confirmed, auto-generate the Notes section:
For each metric, create a note line:
**[Metric]: [Value] ([status])** -- [source/context from L10s and external data]Include a "L10 Context" subsection summarizing key themes from the week's daily L10s (IDS issues tackled, major headlines, patterns).
Include a "Calendar Context" subsection listing key meetings from Google Calendar.
Include a "Data Sources" line: *Synthesized from: daily L10 meetings ([N] this week), Attio CRM (deals/stages), Google Calendar (meetings/attendees), Gmail (deal correspondence), filesystem (content/episodes).*
Present the complete scorecard table:
| Metric | Owner | Goal | Actual | Status |
|--------|-------|------|--------|--------|
| ... | ... | ... | ... | ... |
Ask: "Save this week's scorecard?"
On confirmation, write to 02_Areas/eos/data/scorecard/weeks/YYYY-WNN.md using the standard CEOS template format:
---
week: "YYYY-WNN"
date: "YYYY-MM-DD"
---
# Scorecard -- YYYY-WNN
*Logged: YYYY-MM-DD (date range)*
| Metric | Owner | Goal | Actual | Status |
|--------|-------|------|--------|--------|
| ... |
## Notes
- **Metric: Value (status)** -- context
...
## L10 Context (synthesized from daily meetings)
Key themes this week:
- [theme from IDS discussions]
- [pattern across multiple L10s]
## Calendar Context (auto-pulled)
Key meetings this week:
- [contact] ([date]) -- mapped to [deal] / unmapped
## Data Sources
*Synthesized from: daily L10 meetings ([N] this week), Attio CRM (deals/stages), Google Calendar (meetings/attendees), Gmail (deal correspondence), filesystem (content/episodes).*
For any off_track metric, note: "Off-track items should be discussed during today's L10."
If 3+ metrics are off track, add: "Consider whether this week was an anomaly or a pattern worth investigating."
Offer to commit the scorecard file.
02_Areas/eos/data/scorecard/weeks/.metrics.md for status calculation./eos router when user says "scorecard", "numbers", "metrics", or "log"ceos-scorecard for the "Log Weekly" modeceos-scorecard is still available for "Define Metrics" and "Trend Analysis" modesdevelopment
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
tools
Verify worktree plugin patches are intact after plugin updates. Checks compound-engineering and superpowers skills for Claude Code launch instructions.
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
development
Reviews the feature you just built and adds missing test coverage. Focuses on behavior that matters — not coverage metrics. Use after completing a feature to identify untested code paths, edge cases, and risk areas.