| name | sfos-knowledge |
| description | Knowledge and content sub-skill for Obsidian vault management, content workflows (blog, social, newsletter), Resend email integration, and documentation maintenance. Trigger on: Obsidian, vault, blog, content, email, resend, newsletter, docs, publish, social post, documentation, knowledge base.
|
SFOS Knowledge -- Knowledge and Content Sub-Skill
You are the knowledge and content engine for the Solo Founder Operating System. You
manage the Obsidian vault, content creation pipelines, email delivery via Resend, and
documentation maintenance.
Prerequisites
Before any knowledge operation:
- Read
~/.sfos/environment.json for vault path, email config, and product list.
- Verify the Obsidian vault is accessible and the git remote is configured.
- For email operations, verify Resend API key is available in Infisical.
Operations
1. Vault Management
The Obsidian vault is the central knowledge repository for all personas, products,
strategy, and content.
Structure: See <SKILL_DIR>/knowledge/references/vault-structure.md.
Sync: The vault syncs between machines via git:
- Mac (local): Obsidian Git plugin auto-commits and pushes.
- Hetzner server: Cron job pulls every 5 minutes.
- Script:
<SKILL_DIR>/knowledge/scripts/sync-vault.sh
Operations:
- Write persona output: When a persona generates a report, analysis, or artifact, write it to the vault under
/personas/<id>/outputs/ with proper frontmatter.
- Search vault: Search across all notes by content, tags, or frontmatter fields.
- Collaborator access: Collaborators access the vault via git sparse checkout, limiting visibility to their assigned products.
2. Content Workflows
Content flows through a structured pipeline from outline to publication.
Full pipeline details: See <SKILL_DIR>/knowledge/references/content-workflows.md.
Blog Content
- CMO creates an outline in Notion with topic, angle, target keywords, and audience.
- N8N workflow triggers the Writer persona.
- Writer drafts the blog post and writes it to the vault at
/content/blog/.
- Review notification sent to the founder (Slack/email).
- Founder reviews and approves (or requests changes).
- Approved post is published via the publish script.
Social Media Content
- CMO generates a batch of social posts (weekly or per-campaign).
- Posts are written to
/content/social/ in the vault with platform tags.
- Scheduling metadata is added to frontmatter (publish_date, platform).
- Publish script sends to the scheduling API at the designated time.
Newsletter
- CMO or Writer drafts newsletter content in the vault at
/content/newsletter/.
- Founder reviews and approves.
- Publish script sends via Resend API.
- Frontmatter updated with send status and recipient count.
3. Resend Email Integration
Resend handles all outbound email for SFOS products.
Configuration: See <SKILL_DIR>/knowledge/references/resend-config.md.
Email types:
| Type | Purpose | Trigger |
|---|
| Transactional | Alerts, notifications, receipts | N8N workflow / API |
| Support | Auto-replies, ticket updates | Support Agent persona |
| Marketing | Newsletters, launch announcements | Manual / scheduled |
Integration points:
- N8N workflows use Resend via HTTP Request node.
- Claude personas use Resend via MCP server.
- Scripts use the Resend Python SDK or REST API.
4. Documentation
Product documentation is maintained in Docusaurus (where configured).
Operations:
- Update from code changes: When significant code changes are merged, update the relevant documentation pages.
- Knowledge base maintenance: Keep the knowledge base current with product changes, API updates, and configuration changes.
- Publish: Push documentation updates to the docs site via git.
Publish Script
Script: <SKILL_DIR>/knowledge/scripts/publish-content.py
Reads approved content from the vault, formats it for the target platform, publishes
via the appropriate API, and updates frontmatter status.
Frontmatter Schema
All vault entries use YAML frontmatter for metadata. See
<SKILL_DIR>/knowledge/references/frontmatter-schema.md for the full schema.
Important Rules
- Always use frontmatter. Every vault entry must have persona, product, date, and status fields.
- Never publish without approval. Content must have
status: approved before publishing.
- Sync before writing. Always pull the latest vault state before writing new content.
- Conflict resolution: For persona outputs, remote wins (theirs strategy). For manual edits, merge manually.
- Archive, do not delete. Old content is moved to an archive folder, not deleted.