Solanasis Scheduled Tasks — Master Setup Prompt for Claude Code Server
What this is: A single master prompt to paste into a Claude Code session on the Windows server. It will set up all 3 scheduled tasks that are being migrated from Claude Cowork Desktop.
How to use: Open Claude Code on the server with the
solanasis-docsfolder as the working directory, then paste everything below the---line into the chat.
PASTE EVERYTHING BELOW THIS LINE INTO CLAUDE CODE ON THE SERVER
I need you to set up 3 automated scheduled tasks for Solanasis. This is a migration from Claude Cowork Desktop — these tasks are currently running there and we need to replicate them here on this Windows server running Claude Code so we can disable them on the desktop.
Important context: This solanasis-docs folder is an Obsidian vault and the central hub for all Solanasis operations. All output files stay in this folder structure.
Before doing anything, read the CLAUDE.md file in this repo root so you understand the project conventions and security rules.
TASK 1: Fireflies Sync (Hourly)
Task ID: fireflies-sync
Schedule: Every hour, at 7 minutes past the hour (cron: 7 * * * *)
Description: Hourly sync of Fireflies AI meetings — saves BOTH full transcripts AND AI summaries as separate local files with deduplication
What this task does each time it runs:
-
Check what’s already synced: Read all existing files in
meeting-notes/meeting-transcripts/andmeeting-notes/voice-notes/to collect already-synced Fireflies IDs from the YAML frontmatter (fireflies_idfield). Also readmeeting-notes/fireflies-sync-status.mdfor the last sync timestamp. -
Query Fireflies for recent meetings: Call
fireflies_get_transcriptswith:mine: truefromDate: 80 hours ago from now (ISO 8601) — covers ~3.3 days for weekend coverageformat: jsonlimit: 50
-
Filter and classify each result:
- If its
fireflies_idalready has BOTH a-summary.mdand-transcript.mdfile locally → skip - Classify as Voice Note if:
meetingAttendeesis empty/null AND only participant is the authenticated user, OR duration < 10 min with only one speaker - Classify as Meeting if: has external attendees or multiple participants
- If its
-
Save TWO files per new item:
Summary file: Call
fireflies_get_summary(transcriptId)and save as markdown with:- YAML frontmatter:
fireflies_id,file_type: summary,date,duration_min,participants(list),type(meeting or voice_note),synced_at(current ISO timestamp) - H1 title from Fireflies meeting title
- Sections: Overview (bullets), Action Items (grouped by person with timestamps), Key Topics & Timeline, Detailed Notes, Keywords
Transcript file: Call
fireflies_get_transcript(transcriptId)and save as markdown with:- YAML frontmatter:
fireflies_id,file_type: transcript,date,duration_min,participants(list),type(meeting or voice_note),synced_at(current ISO timestamp) - H1 title: “Full Transcript — [meeting title]”
- Full speaker-attributed transcript with timestamps
File naming:
- Meetings →
meeting-notes/meeting-transcripts/YYYY-MM-DD - [PrimaryNonDmitriPerson] - [Company]-summary.mdand-transcript.md - Voice Notes →
meeting-notes/voice-notes/YYYY-MM-DD - [Topic]-summary.mdand-transcript.md
- YAML frontmatter:
-
Update sync status: Update
meeting-notes/fireflies-sync-status.mdwith last sync timestamp, counts of meetings/voice notes/files synced this run, total archive counts, and list of latest synced items.
Critical rules:
- NEVER overwrite existing files — deduplication via
fireflies_idin frontmatter - If only one of the two files exists (summary but no transcript, or vice versa), save only the missing one
- All display times in Mountain Time (America/Denver), ISO 8601 in frontmatter
- If Fireflies returns errors or zero results, log that in the status file and exit gracefully
Required tools: Read, Write, Edit, Bash, Glob, Grep, and all Fireflies MCP tools (fireflies_get_transcripts, fireflies_get_summary, fireflies_get_transcript)
TASK 2: Daily GTM Briefing (Daily at 6:08 AM Mountain Time)
Task ID: daily-gtm-briefing
Schedule: Daily at 6:08 AM Mountain Time (cron: 8 6 * * *)
Description: Generate a daily 1-2 page GTM briefing for Solanasis with learning, next steps, one thing, and a strategic question
What this task does each time it runs:
Pre-work — gather context:
- Read
daily-briefing-instructions-template.mdin the repo root — contains the full briefing structure and rules. Follow it exactly. - Read
daily-briefing-status.mdin the repo root — has current phase, weekly focus, milestones, pipeline, metrics, and learning interests. - Read
playbooks/Solanasis_Master_GTM_Playbook_2026.mdand other GTM playbooks inplaybooks/to understand where Dmitri should be in the 90-day execution plan based on his current GTM week. - Check for files modified in the last 48 hours across the workspace (especially daily notes, meeting notes, working documents) for context on what’s been happening.
- Read the last 2-3 files in
daily-briefings/(sorted by date) to avoid repeating learning topics or questions. - Check
meeting-notes/meeting-transcripts/andmeeting-notes/voice-notes/for any files withsynced_attimestamps from the last 24-48 hours — if new meetings exist, include a “Meeting Intelligence” section. - Do a web search for major cybersecurity, SMB/startup, operational resilience, wealth management, or impact investing news from the last 24-48 hours.
Briefing structure (write in markdown with bullet points and sub-bullets):
# Solanasis Daily Briefing — [Day of Week], [Month Day, Year]
> "[motivational quote]" — [attribution]
Section 1: Learn Something New (the bulk — this is the main section)
- Pick ONE concept from rotating categories (cycle so all 3 get covered each week):
- Technical — Cybersecurity, IT ops, compliance, disaster recovery, cloud architecture, AI implementation concepts for client conversations
- Sales & Growth — GTM tactics, outbound, partnerships, pricing, referral engines, LinkedIn growth, selling to SMB decision makers
- Leadership & Operations — Scaling teams, SOPs (Standard Operating Procedures), delegation, fractional executive positioning, assessment engagements, contractor management
- Explain in 3-5 bullet points with sub-bullets
- Include full name for all acronyms (e.g., “RPO (Recovery Point Objective)”)
- Include “Why This Matters for Solanasis” sub-section (2-3 bullets)
- Include a “Pro Tip” with practical insider knowledge
- Mention specific resources to go deeper (book chapters, frameworks, free tools)
- NEVER repeat topics from the “Topics I’ve Already Covered” list in the status file
Section 2: News Flash (CONDITIONAL — only if web search found something genuinely significant)
- What happened, why it matters for Solanasis or its clients, how Dmitri could reference it
- Skip entirely if nothing important — don’t force filler news
Section 3: Meeting Intelligence (CONDITIONAL — only if new Fireflies files from last 24-48 hrs)
- 2-3 bullet summary per new meeting/voice note
- Extract Dmitri’s personal action items with deadlines
- Cross-reference with today’s calendar if available
Section 4: Your North Star Reminder
- Current phase and what the 90-day plan says to do this week
- Quick wins completed since last briefing (celebrate them)
- 1-2 most important upcoming milestones
- Reference actual revenue math ($25K MRR (Monthly Recurring Revenue) by month 12)
Section 5: The One Thing
- Single highest-leverage action for TODAY — specific, not vague
- 1-2 sub-bullets on WHY this is highest leverage
- Connect to the 90-day plan
Section 6: Question to Sit With
- Thought-provoking strategic question specific to current situation
- Different from the last 7 briefings
- End with: “Jot your thoughts in the Ponderings section of your status file.”
Footer:
---
*Next briefing: [tomorrow's day], [tomorrow's date] at 6:00 AM*
*Update your daily-briefing-status.md to keep tomorrow's briefing sharp.*
Output rules:
- Total: 400-800 words (~5 minute read, 1-2 pages)
- Bullet points and sub-bullets throughout — no long paragraphs
- Direct, warm, and energizing tone
- Save as
daily-briefings/YYYY-MM-DD-briefing.md
Solanasis context:
- Offerings: Security Assessment, Disaster Recovery Verification, Data Migrations, CRM Setup, Systems Integration, Responsible AI Implementation
- Tagline: “Operational Resilience, Proven”
- Wedge product: ORB (Operational Resilience Baseline) — 10-day, fixed-fee (12.5K)
- Target: SMBs and nonprofits, 11-150 employees
- GTM channels: LinkedIn outreach (primary), MSP referral partnerships, Vanta/Drata compliance platform partnerships, consulting marketplaces (bridge revenue)
- Revenue target: $25K MRR by month 12
- Tech stack: ClickUp (PM), Xero (accounting), Coda (wiki), Google Workspace
- Brand colors: Ink Navy / Copper
Required tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, and Fireflies + Google Calendar MCP tools
TASK 3: Weekly Blog Publish Prep (Mondays at 8:02 AM Mountain Time)
Task ID: weekly-blog-publish-prep
Schedule: Every Monday at 8:02 AM Mountain Time (cron: 2 8 * * 1)
Description: Weekly blog post preparation and publish reminder — reviews upcoming post, generates social media drafts, and prepares the content pipeline
What this task does each time it runs:
-
Inventory blog content: Read all markdown files in
content-creation/and any blog draft folders. Find posts scheduled for this week (by date in frontmatter or filename), posts in draft pipeline, and complete publishing history. -
Review each post scheduled this week:
- Frontmatter audit: Check for title, description, date, author, tags, pillar, image path (and verify image file exists), imageAlt, readingTime, draft status
- Content review: Voice consistency, acronym expansion, CTA (Call-To-Action) at bottom, internal cross-links, no broken links, no TODO placeholders
- Pillars: cybersecurity, disaster-recovery, crm-operations, ai-automation, data-systems, operational-resilience, founder-journey, partnerships
-
Generate social media drafts for each post:
- 1 LinkedIn post: First-person, Dmitri’s conversational voice, hook in first line, 3-5 short paragraphs, NO engagement bait, 3-5 hashtags
- 2-3 Twitter/X posts: Under 280 chars, different angles, one key stat/insight
- 1 Newsletter snippet: 2-3 sentence teaser for email newsletter
- Save to
content-creation/social-media-[slug]-campaign.md
-
Pipeline health check:
- Schedule gaps: Flag if queue runs dry within 2 weeks as URGENT
- Pillar distribution: Count per pillar over last 30 days, flag gaps (0 posts) and over-indexing (>40%)
- Publishing cadence: Average posts/week over last 4 weeks, trend direction
- Recommend which pillars the next 2-3 posts should target
-
Save report as:
content-creation/weekly-blog-prep-YYYY-MM-DD.mdwith sections: This Week’s Posts, Social Media Content, Publishing Schedule & Gap Analysis, Pillar Distribution, Action Items (with ✅/⚠️/🚨 priority markers), Next 3 Posts in Queue
Required tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch
YOUR INSTRUCTIONS — SET UP ALL 3 TASKS
Now here’s what I need you to do:
Step 1: Determine the scheduling method available
Check what’s available on this system:
- Run
claude --versionto confirm Claude Code version - Check if this is Claude Code Desktop (which has built-in scheduled tasks) or CLI-only
- Check the operating system (Windows Server)
Step 2: Set up the tasks using the best available method
If Claude Code has built-in scheduling (like /schedule or a scheduled tasks feature):
- Create all 3 scheduled tasks using the built-in mechanism
- Use the task IDs, schedules, and descriptions specified above
- Each task’s prompt should reference the detailed instructions above
If we need Windows Task Scheduler instead:
- Create a
scheduled-tasks/scripts/directory - Create PowerShell wrapper scripts for each task that:
- Set working directory to this solanasis-docs folder
- Read the task’s prompt from the corresponding prompt file in
scheduled-tasks/ - Call
claude -pwith the prompt and appropriate--allowedTools - Log output to
logs/with timestamped filenames - Use
--max-turns 25and--max-budget-usd 2.00as safety limits
- Show me the exact PowerShell commands to register the 3 tasks in Windows Task Scheduler
- Create the
logs/directory
Step 3: Test each task
After setup, run a manual test of each task to verify:
- Fireflies sync — should connect to Fireflies, check for new meetings, update sync status
- Daily briefing — should gather context, generate a briefing, save to daily-briefings/
- Weekly blog prep — should inventory content, review posts, generate social media drafts
Report the results of each test.
Step 4: Verify the MCP connectors
Check that these MCP connectors are available and working:
- Fireflies AI (needed for Tasks 1 and 2)
- Google Calendar (needed for Task 2)
- Web Search (needed for Tasks 2 and 3)
If any are missing, tell me exactly what needs to be configured and where.
Step 5: Report back
Give me a summary of:
- Which scheduling method was used
- The 3 tasks that were created (with their schedules)
- Test results for each task
- Any MCP connectors that need to be configured
- What I need to do to disable the old tasks in Claude Cowork Desktop
REFERENCE FILES IN THIS REPO
These files already exist and the tasks depend on them — don’t recreate them, just read them:
| File | Used By | Purpose |
|---|---|---|
daily-briefing-instructions-template.md | Task 2 | Full briefing structure and rules |
daily-briefing-status.md | Task 2 | Current phase, goals, metrics, learning interests |
playbooks/Solanasis_Master_GTM_Playbook_2026.md | Task 2 | 90-day execution plan |
meeting-notes/fireflies-sync-status.md | Task 1 | Sync tracking and deduplication |
meeting-notes/meeting-transcripts/ | Tasks 1, 2 | Auto-saved meeting files from Fireflies |
meeting-notes/voice-notes/ | Tasks 1, 2 | Auto-saved voice note files from Fireflies |
daily-briefings/ | Task 2 | Previous briefing files (avoid repeats) |
content-creation/ | Task 3 | Blog posts, social media campaigns |
scheduled-tasks/01-fireflies-sync-prompt.md | Task 1 | Detailed prompt (backup reference) |
scheduled-tasks/02-daily-gtm-briefing-prompt.md | Task 2 | Detailed prompt (backup reference) |
scheduled-tasks/03-weekly-blog-publish-prep-prompt.md | Task 3 | Detailed prompt (backup reference) |
PRO TIPS FOR THE SETUP
- Fireflies sync MUST run before the daily briefing — the 6:08 AM briefing schedule assumes the hourly sync has already pulled any overnight meetings
- Use
--allowedToolsto pre-approve tools so tasks don’t hang waiting for permission in headless mode - Time zone matters — all schedules are Mountain Time (America/Denver). Make sure the server’s task scheduler accounts for this.
- The
--bareflag can speed up startup by skipping auto-discovery of hooks/plugins — but don’t use it if the tasks need CLAUDE.md project instructions - Log rotation — the
logs/folder will accumulate files. Consider adding a cleanup step that deletes logs older than 30 days.