Week prep
Build a "Week of [dates], SE Week Brief" Google Doc from the user's Google Calendar and Google Tasks, then log the brief in the Deal Tracker sheet. Use this skill when the user says "prep my week", "week prep", "prepare my week", "create my week brief", or wants to assemble a weekly planning document for the upcoming Mon–Fri. Pulls from Calendar (customer calls, internal meetings, admin blocks), Tasks (four task lists), and the Sheets tracker (open follow-ups, internal projects), then writes one consolidated brief Doc and indexes it.From its SKILL.md
npx -y skills add migos1990/presales-harness-starter --skill week-prepAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
9.4 KB, as published. Nobody here has run it
Week Prep Ritual
Note: Placeholder values are resolved via workspace-sync-config.md references; per-user config piggybacks on the workspace-sync first-run wizard (prompts 7-12 of that wizard).
Build a "Week of [dates], SE Week Brief" Google Doc from calendar and tasks, then log it in the Deal Tracker sheet.
Note: The Weekly Rituals block below (Deal Tracker sheet, task-list tabs, index tab) is one illustrative cadence. Replace it with your own team's tools and tab names.
Utility skill contract
Output class: internal per rules/output-class-map.md. This skill is a Tier 2/Tier 3 utility, output is operational telemetry / consolidated state / personal-productivity artifacts, not customer-facing deliverables. The Output Quality Gates block from rules/skill-quality-gates.md does NOT apply (utility skills are exempt; council does not gate). Tone discipline, banned-polish enforcement, and source-citation rigor still apply where the output references customer claims, but [VERIFIED]/[UNVERIFIED] tagging is not required for purely operational fields.
Input contract: $ARGUMENTS parsing per skill-specific shape (see Phase 0 / Steps below). Tier 1 input-validation guard (exit code 2 with ERROR: <field> required) applies for any required field; optional fields default per skill convention.
Source-trust scope: Tier 1 trust per rules/source-trust-hierarchy.md applies for any external-vendor claim incorporated into the output. Operational output (timestamps, counts, paths, file metadata) is exempt, these are observable facts of the system itself, not vendor claims.
Mode + accounts-root: source helpers/getMode.sh. Resolve via getAccountsRoot (honors $PRESALES_ACCOUNTS_ROOT) and getMode <company> if applicable. Some Tier 3 utilities (wiki-lint, wiki-sync) are stateful-only by nature and degrade gracefully when the state tree is missing.
Idempotency + failure modes: the skill is safe to re-run on the same inputs (append-only writes, deduplicated state files, atomic moves). On external-system failure (MCP unreachable, file lock contention, malformed input), the skill skips silently and emits a degraded-mode notice rather than partial-write corruption.
Configuration
This skill depends on six per-user values that come from the workspace-sync first-run wizard:
calendar_email, the Google Calendar to read (typically the user's primary work email)se_command_center_sheet_id, the Google Sheet ID for the Deal Tracker sheetthis_week_task_list_id, Google Tasks list ID for "🔥 This Week"customer_accounts_task_list_id, Google Tasks list ID for "Customer Accounts"projects_content_task_list_id, Google Tasks list ID for "Projects & Content"admin_ops_task_list_id, Google Tasks list ID for "Admin & Ops"
These values live at <state-tree>/_user/workspace-sync-config.md, collected by the workspace-sync first-run wizard (prompts 7-12); if unset, stop and tell the user to add them.
If the config file is missing or any required key is unset, stop and tell the user: "Add the six workspace-sync-config.md keys (calendar_email, se_command_center_sheet_id, four task list IDs) before running /week-prep."
Step 1: Determine the week
Identify the Monday–Friday of the current week (if run Monday–Wednesday) or next week (if run Thursday–Sunday). Ask the user if unclear.
Format the week label as: May 26–30, 2026 style.
Step 2: Read the calendar
Use Google Calendar MCP to fetch events from Mon 8am to Fri 6pm, calendar <calendar_email from <state-tree>/_user/workspace-sync-config.md>.
Categorize each event:
- Customer Calls, any meeting with non-company attendees, or account names in title
- Internal Meetings, team calls, 1:1s, forecast calls, win labs, working groups
- Admin/Ops Blocks, Admin Block, CRM Hygiene, Time Tracking Entry, Lunch Block
- Other, travel, personal, OOO
Step 3: Read open tasks
Read incomplete tasks from:
- 🔥 This Week (ID:
<this_week_task_list_id from workspace-sync-config.md>) - Customer Accounts (ID:
<customer_accounts_task_list_id from workspace-sync-config.md>) - Projects & Content (ID:
<projects_content_task_list_id from workspace-sync-config.md>) - Admin & Ops (ID:
<admin_ops_task_list_id from workspace-sync-config.md>)
Step 4: Read open Tracker items
Deal Tracker Sheet ID: <se_command_center_sheet_id from workspace-sync-config.md>
Read "Customer Follow-Ups" and "Internal Projects" tabs, filter for Status = Open or Blocked.
Step 5: Create the Week Brief Google Doc
Create a new Google Doc titled: "Week of [Mon date], SE Week Brief"
Use this structure:
# Week of [Mon–Fri dates], SE Week Brief
## Priorities This Week (fill in 3, what does success look like?)
1.
2.
3.
---
## Customer Calls
### [Account Name], [Day, Time]
**Attendees:** [external attendees]
**Context:** [from calendar event description, or "No prior notes: add context before the call."]
**Expected topics:**
-
**Prep checklist:**
- [ ] Review prior notes / last call recap
- [ ] Slides or demo ready (if needed)
- [ ] Open action items from last time checked
**Win condition:** [what does a successful call look like?]
---
## Internal Meetings
[Meeting name: Day/Time: purpose or what to watch for]
---
## Open Action Items (from Tracker)
[Items from Customer Follow-Ups and Internal Projects: Open/Blocked, sorted by due date]
---
## From Task Lists
[All incomplete tasks from the 4 task lists]
---
## On My Radar
[Leave blank: user fills for longer-horizon items]
Step 6: Log in Weekly Index
Append a row to the "Weekly Index" tab of the Deal Tracker Sheet:
- A (Week): e.g.,
May 26–30, 2026 - B (Brief Doc Link): URL of the new doc
- C (Top 3 Priorities): leave blank
- D (Status):
In Progress - E (Key Win): leave blank
Step 7: Reply to user
Return:
- Link to the Week Brief doc
- One-line load summary: "X customer calls, Y internal meetings, Z open tracker items"
- Heads-up flags, scan the week and call out anything worth knowing:
- Days with 3+ customer calls back-to-back
- Scheduling conflicts (two meetings at the same time)
- Overdue tracker items (due date in the past)
- Manager or key teammate OOO
- Notable large meetings (roadmaps, all-hands, QBRs, earnings)
- Any conflicts the user should decide on Only include flags that actually apply, skip any that don't.
- Nudge: "Fill in your 3 priorities at the top during your Admin Block."
Wiki Update Loop (Phase 3)
Per rules/wiki.md "Output-to-Wiki Loop" section, after this skill saves its
output and before Phase 3 completes, scan the output for new facts and propose
wiki updates.
Account-status guard: Only run if the cached effective_status from
conversation-contract.md step 0.75 is active. For test/archived accounts
or --test flag, skip the loop entirely; write a zero-metrics line to
<state-tree>/.wiki-state/loop-metrics.jsonl and return.
Dual-mode guard: Only run if <state-tree>/<company>/_state.md exists
(stateful mode). In stateless mode, skip the loop entirely, no account context
to bind facts to. week-prep also fans out per-account: an Acme call on
Wednesday only triggers a wiki loop entry for the Acme account if Acme has
a _state.md file; cross-account aggregations in the Week Brief itself do
not generate wiki facts.
Source provenance: This skill's primary source type is human-verbal
per the Skill-to-Source-Type Mapping table in rules/wiki.md (the
workspace-sync calendar source). who is determined by calendar attendee
displayName; fallback: email local part split-on-dot, title-cased.
independent: true per unique external attendee (non-aegis, non-nimbus domain).
The operator and other Aegis participants map to independent: false.
Fact extraction: Scan the Week Brief for new named entities (customer
contacts surfaced in calendar invites), relationships (e.g., "Jane Doe at
Acme is now the new sponsor"), and corrections to existing wiki state.
Skip the user's own priorities, internal team meetings, and admin blocks.
Skip Aegis/Nimbus product facts (those belong in references, not account wiki).
For each extracted fact, populate
source: {type, who, who_key, independent} and materiality: HIGH | LOW
per the Materiality Decision Rule.
Queue (silent): Append the proposed updates to
<state-tree>/.wiki-state/pending-syncs.jsonl. The Wiki Sync Scanner cron
(per rules/cron-freshness.md, optional manual setup) drains the queue, OR
the user runs /wiki-sync <company> manually. No user prompt; no Phase 2.5
exchange.
Exemption flags: --no-wiki skips this loop entirely. --wiki-review
restores interactive A/B/C review of proposed updates.
Loop metrics: Write one line per affected account to
<state-tree>/.wiki-state/loop-metrics.jsonl on every run (active OR
non-active) so /self-improve can see the skill ran.