agentsclimarketplace

Week prep

Skill migos1990/presales-harness-starter/skills/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

Install
npx -y skills add migos1990/presales-harness-starter --skill week-prep

Assembled 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 sheet
  • this_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:

  1. Link to the Week Brief doc
  2. One-line load summary: "X customer calls, Y internal meetings, Z open tracker items"
  3. 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.
  4. 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.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.