Implement Phase 1: Work integration (without n8n)
Skills Created: - outline: Full MCP integration with Outline wiki (search, read, create, export, AI queries) - Enhanced basecamp: Added project mapping configuration to PARA structure - Enhanced daily-routines: Integrated work context (Basecamp, Outline) into daily/weekly workflows - Enhanced meeting-notes: Added Teams transcript processing workflow guide PARA Work Structure Created: - 01-projects/work/: 10 project folders with MOCs (placeholders for user customization) - 02-areas/work/: 5 area files (current-job, professional-dev, team-management, company-knowledge, technical-excellence) - 03-resources/work/wiki-mirror/: Ready for Outline exports - 04-archive/work/: Ready for completed work Documentation Added: - skills/outline/SKILL.md: Comprehensive wiki workflows and tool references - skills/outline/references/outline-workflows.md: Detailed usage examples - skills/outline/references/export-patterns.md: Obsidian integration patterns - skills/meeting-notes/references/teams-transcript-workflow.md: Manual DOCX → meeting note workflow - skills/chiron-core/references/work-para-structure.md: Work-specific PARA organization Key Integrations: - Basecamp ↔ Obsidian: Project mapping and task sync - Outline ↔ Obsidian: Wiki search, export decisions, knowledge discovery - Teams → Obsidian: Transcript processing with AI analysis - All integrated into daily/weekly routines Note: n8n workflows skipped per user request. Ready for n8n automation later.
This commit is contained in:
524
skills/outline/references/export-patterns.md
Normal file
524
skills/outline/references/export-patterns.md
Normal file
@@ -0,0 +1,524 @@
|
||||
# Export Patterns
|
||||
|
||||
Patterns and examples for exporting Outline wiki content to Obsidian vault.
|
||||
|
||||
## Table of Contents
|
||||
1. [Frontmatter Patterns](#frontmatter-patterns)
|
||||
2. [Folder Structure](#folder-structure)
|
||||
3. [Linking Strategies](#linking-strategies)
|
||||
4. [Index Management](#index-management)
|
||||
5. [Batch Operations](#batch-operations)
|
||||
|
||||
---
|
||||
|
||||
## Frontmatter Patterns
|
||||
|
||||
### Standard Export Frontmatter
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: "Document Title"
|
||||
source: outline
|
||||
document_id: "abc123def456"
|
||||
collection: "Engineering/Security"
|
||||
collection_id: "col_789"
|
||||
tags: [work, wiki, outline, security]
|
||||
outline_url: "https://outline.example.com/doc/abc123"
|
||||
created_at: "2026-01-28"
|
||||
exported_at: "2026-01-28"
|
||||
last_updated: "2026-01-25"
|
||||
---
|
||||
```
|
||||
|
||||
### Decision Document Frontmatter
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: "API Authentication Decision"
|
||||
source: outline
|
||||
type: decision
|
||||
decision_date: "2026-01-28"
|
||||
made_by: "Team Name"
|
||||
decision_status: active | implemented | archived
|
||||
tags: [work, wiki, decision, api, security]
|
||||
---
|
||||
|
||||
# Decision
|
||||
Use OAuth2 for all external API integrations.
|
||||
```
|
||||
|
||||
### Process Document Frontmatter
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: "API Onboarding Process"
|
||||
source: outline
|
||||
type: process
|
||||
version: "2.1"
|
||||
last_reviewed: "2026-01-28"
|
||||
tags: [work, wiki, process, onboarding]
|
||||
---
|
||||
|
||||
# API Onboarding Process
|
||||
Step-by-step guide for new API consumers...
|
||||
```
|
||||
|
||||
### Reference Document Frontmatter
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: "OAuth2 Setup Guide"
|
||||
source: outline
|
||||
type: reference
|
||||
language: "markdown"
|
||||
estimated_read_time: "10 min"
|
||||
difficulty: intermediate
|
||||
tags: [work, wiki, reference, oauth2, api]
|
||||
---
|
||||
|
||||
# OAuth2 Setup Guide
|
||||
Complete guide for implementing OAuth2...
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Folder Structure
|
||||
|
||||
### Standard Wiki Mirror Structure
|
||||
|
||||
```
|
||||
~/CODEX/03-resources/work/wiki-mirror/
|
||||
├── _wiki-index.md # Main index
|
||||
├── engineering/ # Collection folder
|
||||
│ ├── security/ # Subfolder (hierarchy)
|
||||
│ │ ├── api-auth-decision.md
|
||||
│ │ └── security-best-practices.md
|
||||
│ ├── architecture/
|
||||
│ │ ├── system-design.md
|
||||
│ │ └── data-flow.md
|
||||
│ └── api-docs/
|
||||
│ ├── oauth2-setup.md
|
||||
│ ├── token-management.md
|
||||
│ └── api-reference.md
|
||||
├── product/
|
||||
│ ├── design-system.md
|
||||
│ ├── features/
|
||||
│ └── user-guides/
|
||||
└── operations/
|
||||
├── deployment/
|
||||
├── monitoring/
|
||||
└── incident-response/
|
||||
```
|
||||
|
||||
### Project-Specific Wiki Structure
|
||||
|
||||
```
|
||||
~/CODEX/01-projects/work/[project]/
|
||||
├── _index.md # Project MOC with wiki links
|
||||
├── notes/
|
||||
│ ├── requirements.md
|
||||
│ ├── architecture-notes.md
|
||||
│ └── implementation-notes.md
|
||||
├── meetings/
|
||||
│ └── project-sync-20260128.md
|
||||
├── decisions/
|
||||
│ └── tech-stack-decision.md # Also exported to wiki
|
||||
└── wiki-exports/ # Project-specific wiki copies
|
||||
├── api-spec.md # Copy from Outline
|
||||
└── design-decisions.md # Copy from Outline
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Linking Strategies
|
||||
|
||||
### Outline Document Link (MCP URI)
|
||||
|
||||
```markdown
|
||||
# Direct MCP Link (Best for Outline)
|
||||
[OAuth2 Setup Guide](outline://document/abc123def456)
|
||||
```
|
||||
|
||||
**Pros**:
|
||||
- Direct integration with Outline MCP
|
||||
- Always points to current version
|
||||
- Can open in Outline web UI if MCP fails
|
||||
|
||||
**Cons**:
|
||||
- Requires Outline MCP to be active
|
||||
- Not clickable in external viewers
|
||||
|
||||
### Wiki-Link with Reference
|
||||
|
||||
```markdown
|
||||
# Wiki-Link (Best for Obsidian)
|
||||
📄 [[OAuth2 Setup Guide]]
|
||||
```
|
||||
|
||||
**Frontmatter link**:
|
||||
```yaml
|
||||
---
|
||||
title: "API Authentication Decision"
|
||||
wiki_link: "[[OAuth2 Setup Guide]]"
|
||||
wiki_doc_id: "abc123def456"
|
||||
---
|
||||
```
|
||||
|
||||
### External URL Link (Fallback)
|
||||
|
||||
```markdown
|
||||
# URL Link (Fallback for offline/viewer access)
|
||||
[OAuth2 Setup Guide](https://outline.example.com/doc/abc123)
|
||||
```
|
||||
|
||||
**In frontmatter**:
|
||||
```yaml
|
||||
---
|
||||
outline_url: "https://outline.example.com/doc/abc123"
|
||||
---
|
||||
```
|
||||
|
||||
### Combined Strategy (Recommended)
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "API Authentication Decision"
|
||||
source: outline
|
||||
document_id: "abc123def456"
|
||||
wiki_link: "[[OAuth2 Setup Guide]]"
|
||||
outline_url: "https://outline.example.com/doc/abc123"
|
||||
tags: [work, decision, api]
|
||||
---
|
||||
|
||||
## Decision
|
||||
Use OAuth2 for all external APIs.
|
||||
|
||||
## References
|
||||
|
||||
### Primary Source
|
||||
📄 [[OAuth2 Setup Guide]](outline://document/abc123)
|
||||
|
||||
### Related Documents
|
||||
📄 [[Token Management Policy]](outline://document/def456)
|
||||
📄 [[API Security Best Practices]](outline://document/ghi789)
|
||||
|
||||
### External Links
|
||||
- [View in Outline Web UI](https://outline.example.com/doc/abc123)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Index Management
|
||||
|
||||
### Main Wiki Index
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Outline Wiki Index"
|
||||
source: outline
|
||||
last_sync: "2026-01-28T18:50:00Z"
|
||||
total_docs: 45
|
||||
total_collections: 6
|
||||
tags: [work, wiki, outline]
|
||||
---
|
||||
|
||||
# Outline Wiki Index
|
||||
|
||||
## Collections
|
||||
|
||||
### 📁 Engineering (15 docs)
|
||||
**ID**: col_eng_123
|
||||
**Description**: Technical documentation, architecture, APIs
|
||||
|
||||
**Subfolders**:
|
||||
- [security](engineering/security/) (3 docs)
|
||||
- [architecture](engineering/architecture/) (5 docs)
|
||||
- [api-docs](engineering/api-docs/) (7 docs)
|
||||
|
||||
### 📁 Product (12 docs)
|
||||
**ID**: col_prod_456
|
||||
**Description**: Product specs, user guides, features
|
||||
|
||||
**Subfolders**:
|
||||
- [design-system](product/design-system.md) (4 docs)
|
||||
- [features](product/features/) (6 docs)
|
||||
- [user-guides](product/user-guides/) (2 docs)
|
||||
|
||||
### 📁 Security (8 docs)
|
||||
**ID**: col_sec_789
|
||||
**Description**: Security policies, incident response, compliance
|
||||
|
||||
### 📁 Operations (10 docs)
|
||||
**ID**: col_ops_012
|
||||
**Description**: Deployment, monitoring, runbooks
|
||||
|
||||
## Recently Exported
|
||||
|
||||
| Date | Document | Collection | Tags |
|
||||
|-------|-----------|------------|-------|
|
||||
| 2026-01-28 | OAuth2 Setup Guide | Engineering/Security | api, oauth2 |
|
||||
| 2026-01-27 | System Design | Engineering/Architecture | architecture |
|
||||
| 2026-01-26 | Deployment Guide | Operations/Deployment | ops, devops |
|
||||
|
||||
## Document Types
|
||||
|
||||
- 📄 **Reference**: 30 docs
|
||||
- 🎯 **Decision**: 8 docs
|
||||
- 📋 **Process**: 5 docs
|
||||
- 📘 **Guide**: 2 docs
|
||||
|
||||
## Search
|
||||
|
||||
- 🔍 [Search Outline for](outline://search/) live content
|
||||
- 🔍 [Search exports](#exported-documents) in vault
|
||||
|
||||
---
|
||||
|
||||
## Exported Documents
|
||||
|
||||
### By Collection
|
||||
|
||||
#### Engineering
|
||||
- [[OAuth2 Setup Guide]]
|
||||
- [[Token Management Policy]]
|
||||
- [[API Security Best Practices]]
|
||||
- [[System Design]]
|
||||
- [[Data Flow Architecture]]
|
||||
|
||||
#### Product
|
||||
- [[Design System]]
|
||||
- [[Component Library]]
|
||||
- [[User Guide]]
|
||||
|
||||
#### Security
|
||||
- [[Incident Response]]
|
||||
- [[Security Policy]]
|
||||
|
||||
### By Tag
|
||||
|
||||
#api
|
||||
- [[OAuth2 Setup Guide]]
|
||||
- [[API Security Best Practices]]
|
||||
|
||||
#security
|
||||
- [[API Security Best Practices]]
|
||||
- [[Incident Response]]
|
||||
|
||||
#architecture
|
||||
- [[System Design]]
|
||||
- [[Data Flow Architecture]]
|
||||
```
|
||||
|
||||
### Collection-Specific Indexes
|
||||
|
||||
Create `_index.md` in each collection folder:
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Engineering Wiki"
|
||||
collection: Engineering
|
||||
collection_id: col_eng_123
|
||||
source: outline
|
||||
tags: [work, wiki, engineering]
|
||||
---
|
||||
|
||||
# Engineering Wiki
|
||||
|
||||
## Overview
|
||||
Technical documentation, architecture decisions, and API references.
|
||||
|
||||
## Structure
|
||||
|
||||
### Security (3 docs)
|
||||
📄 [[API Authentication Decision]]
|
||||
📄 [[Security Best Practices]]
|
||||
📄 [[Incident Response]]
|
||||
|
||||
### Architecture (5 docs)
|
||||
📄 [[System Design]]
|
||||
📄 [[Data Flow]]
|
||||
📄 [[Component Architecture]]
|
||||
📄 [[Scalability Guide]]
|
||||
📄 [[Performance Optimization]]
|
||||
|
||||
### API Docs (7 docs)
|
||||
📄 [[OAuth2 Setup Guide]]
|
||||
📄 [[Token Management]]
|
||||
📄 [[API Reference]]
|
||||
📄 [[Rate Limiting]]
|
||||
📄 [[Error Handling]]
|
||||
📄 [[Webhooks]]
|
||||
📄 [[Testing Guide]]
|
||||
|
||||
## Quick Links
|
||||
- 🔍 [Search Outline](outline://collection/col_eng_123)
|
||||
- 📄 [Export Collection](outline://export/col_eng_123)
|
||||
- 🌐 [Open in Web UI](https://outline.example.com/c/col_eng_123)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Batch Operations
|
||||
|
||||
### Export Multiple Documents
|
||||
|
||||
```bash
|
||||
# Pattern for batch export (manual script outline)
|
||||
|
||||
documents = [
|
||||
{"id": "abc123", "path": "engineering/api/oauth2.md"},
|
||||
{"id": "def456", "path": "engineering/api/token.md"},
|
||||
{"id": "ghi789", "path": "engineering/security/best-practices.md"},
|
||||
]
|
||||
|
||||
for doc in documents:
|
||||
content = export_document(doc["id"])
|
||||
write_file(f"wiki-mirror/{doc['path']}", content)
|
||||
update_index(doc["id"], doc["path"])
|
||||
```
|
||||
|
||||
### Update Index After Batch
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Batch Export Report"
|
||||
export_date: 2026-01-28
|
||||
documents_exported: 45
|
||||
collections_exported: 6
|
||||
---
|
||||
|
||||
## Export Summary
|
||||
|
||||
- Exported 45 documents from 6 collections
|
||||
- Total size: 2.3 MB
|
||||
- Processing time: 3.2 minutes
|
||||
|
||||
## Collections Updated
|
||||
- ✅ Engineering: 15 docs
|
||||
- ✅ Product: 12 docs
|
||||
- ✅ Security: 8 docs
|
||||
- ✅ Operations: 10 docs
|
||||
|
||||
## Next Steps
|
||||
- [ ] Verify all exports in Obsidian
|
||||
- [ ] Test wiki links
|
||||
- [ ] Update wiki index
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
### File Naming
|
||||
|
||||
**Rules**:
|
||||
1. Lowercase only
|
||||
2. Replace spaces with hyphens
|
||||
3. Remove special characters
|
||||
4. Keep meaningful names
|
||||
5. Avoid dates in names (use frontmatter instead)
|
||||
|
||||
**Examples**:
|
||||
```
|
||||
OAuth2 Setup Guide → oauth2-setup-guide.md
|
||||
API Security Best Practices → api-security-best-practices.md
|
||||
System Design (2026) → system-design.md (use frontmatter for version)
|
||||
```
|
||||
|
||||
### Folder Naming
|
||||
|
||||
**Rules**:
|
||||
1. Use collection names from Outline
|
||||
2. Preserve hierarchy (subcollections as subfolders)
|
||||
3. Consistent with project structure
|
||||
|
||||
**Examples**:
|
||||
```
|
||||
Engineering/Security → engineering/security/
|
||||
Engineering/API Docs → engineering/api-docs/
|
||||
Product/Features → product/features/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Version Control for Exports
|
||||
|
||||
### Git Tracking
|
||||
|
||||
```
|
||||
~/CODEX/03-resources/work/wiki-mirror/
|
||||
├── .git/ # Git repo for exports
|
||||
├── _wiki-index.md
|
||||
└── engineering/
|
||||
└── ...
|
||||
```
|
||||
|
||||
**Benefits**:
|
||||
- Track changes to exported docs
|
||||
- Diff between export versions
|
||||
- Revert to previous exports
|
||||
- Track when docs were last synced
|
||||
|
||||
### Sync Workflow
|
||||
|
||||
```bash
|
||||
# Before export
|
||||
cd ~/CODEX/03-resources/work/wiki-mirror/
|
||||
git pull
|
||||
git add .
|
||||
git commit -m "Pre-export checkpoint"
|
||||
git push
|
||||
|
||||
# After export
|
||||
git add .
|
||||
git commit -m "Exported 45 docs from Outline (2026-01-28)"
|
||||
git push
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Duplicate Exports
|
||||
|
||||
**Problem**: Same document exported multiple times
|
||||
|
||||
**Solution**:
|
||||
1. Check for existing file before export
|
||||
2. Add timestamp to duplicates: `doc-name.20260128.md`
|
||||
3. Or ask user: "Overwrite or create new version?"
|
||||
|
||||
### Broken Links After Export
|
||||
|
||||
**Problem**: Wiki links don't work in Obsidian
|
||||
|
||||
**Solution**:
|
||||
1. Verify document IDs in frontmatter
|
||||
2. Check file paths match index
|
||||
3. Use wiki-links for same-vault docs
|
||||
4. Use MCP URIs for Outline docs
|
||||
|
||||
### Large Exports Timeout
|
||||
|
||||
**Problem**: Exporting entire collection fails (too large)
|
||||
|
||||
**Solution**:
|
||||
1. Export in batches (e.g., 20 docs at a time)
|
||||
2. Use `export_collection` instead of individual docs
|
||||
3. Implement progress tracking
|
||||
4. Retry failed documents
|
||||
|
||||
---
|
||||
|
||||
## Best Practices Summary
|
||||
|
||||
1. **Always Include Frontmatter**: Document metadata is crucial
|
||||
2. **Maintain Hierarchy**: Preserve collection structure
|
||||
3. **Update Index**: Keep wiki index current
|
||||
4. **Use Multiple Link Types**: MCP URI + wiki-link + URL
|
||||
5. **Tag Exports**: Make exported docs discoverable
|
||||
6. **Track Changes**: Use Git for version control
|
||||
7. **Regular Exports**: Don't wait for job transition
|
||||
8. **Verify Links**: Test after every export batch
|
||||
9. **Organize by Type**: Reference, Decision, Process folders
|
||||
10. **Document Exports**: Keep export log for reference
|
||||
410
skills/outline/references/outline-workflows.md
Normal file
410
skills/outline/references/outline-workflows.md
Normal file
@@ -0,0 +1,410 @@
|
||||
# Outline Workflows
|
||||
|
||||
This reference provides detailed examples and patterns for Outline wiki integration with Obsidian.
|
||||
|
||||
## Table of Contents
|
||||
1. [Export Decision to Wiki](#export-decision-to-wiki)
|
||||
2. [Project Documentation Sync](#project-documentation-sync)
|
||||
3. [Knowledge Discovery](#knowledge-discovery)
|
||||
4. [Batch Export](#batch-export)
|
||||
5. [Wiki Migration](#wiki-migration)
|
||||
|
||||
---
|
||||
|
||||
## Export Decision to Wiki
|
||||
|
||||
### Scenario
|
||||
After a meeting, you made an important decision about API authentication. You want to preserve it in the company wiki.
|
||||
|
||||
### Workflow
|
||||
```
|
||||
User: "Export decision: Use OAuth2 for all external APIs"
|
||||
|
||||
Outline skill:
|
||||
1. Create document:
|
||||
- Title: "API Authentication Decision"
|
||||
- Collection: Engineering/Security
|
||||
- Content:
|
||||
---
|
||||
title: "API Authentication Decision"
|
||||
date: 2026-01-28
|
||||
decision_made_by: "[Team Name]"
|
||||
tags: [decision, api, security]
|
||||
---
|
||||
|
||||
# Decision
|
||||
Use OAuth2 for all external API integrations.
|
||||
|
||||
# Reasoning
|
||||
- OAuth2 provides better security (no shared secrets)
|
||||
- Token rotation reduces risk exposure
|
||||
- Industry standard for API auth
|
||||
- Existing libraries available
|
||||
|
||||
# Implementation
|
||||
- Use RFC 6749 OAuth2 framework
|
||||
- Implement refresh token flow
|
||||
- Set 30-day token expiry
|
||||
- Document API endpoints in collection
|
||||
|
||||
# Alternatives Considered
|
||||
- API Keys: Rejected (security risk)
|
||||
- JWT: Rejected (overkill for external APIs)
|
||||
- Custom Auth: Rejected (maintenance burden)
|
||||
|
||||
# Related Documents
|
||||
- [[OAuth2 Setup Guide]]
|
||||
- [[Token Management Policy]]
|
||||
- [[API Security Best Practices]]
|
||||
|
||||
2. Confirm: "Created API Authentication Decision in Engineering/Security"
|
||||
3. Offer: "Link to project?"
|
||||
```
|
||||
|
||||
### Obsidian Integration
|
||||
After creating in Outline, create cross-reference in Obsidian:
|
||||
```markdown
|
||||
~/CODEX/01-projects/work/[project]/decisions/api-auth-decision.md
|
||||
---
|
||||
title: "API Authentication Decision"
|
||||
date: 2026-01-28
|
||||
source: outline
|
||||
outline_doc_id: [ID]
|
||||
tags: [work, decision, api]
|
||||
---
|
||||
|
||||
## Decision
|
||||
Use OAuth2 for all external API integrations.
|
||||
|
||||
## Outline Link
|
||||
📄 [API Authentication Decision](outline://document/abc123)
|
||||
|
||||
## Context
|
||||
- Made during API integration project
|
||||
- Discussed in [Security Review Meeting]
|
||||
- Approved by: [Stakeholder names]
|
||||
|
||||
## Project Notes
|
||||
- Update authentication service by Q2
|
||||
- Train team on OAuth2 flow
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Project Documentation Sync
|
||||
|
||||
### Scenario
|
||||
You're starting a new project. You want to link project docs with the wiki for context.
|
||||
|
||||
### Workflow
|
||||
```
|
||||
User: "Start project: Customer Portal Redesign"
|
||||
|
||||
outline skill:
|
||||
1. Search for related docs:
|
||||
- "Search Outline for Customer Portal"
|
||||
- "Search Outline for UI/UX guidelines"
|
||||
- "Search Outline for architecture decisions"
|
||||
|
||||
2. Present findings:
|
||||
📄 Customer Portal Architecture (Engineering)
|
||||
📄 UI Design System (Product/Design)
|
||||
📄 Accessibility Guidelines (Engineering/Docs)
|
||||
|
||||
3. Create project folder in Obsidian with wiki links
|
||||
```
|
||||
|
||||
### Project MOC with Wiki Links
|
||||
```markdown
|
||||
~/CODEX/01-projects/work/customer-portal-redesign/_index.md
|
||||
---
|
||||
title: "Customer Portal Redesign"
|
||||
status: active
|
||||
deadline: 2026-06-30
|
||||
priority: high
|
||||
tags: [work, project]
|
||||
---
|
||||
|
||||
## Overview
|
||||
Redesign of customer portal with improved UX, performance, and accessibility.
|
||||
|
||||
## Wiki Resources
|
||||
|
||||
### Architecture
|
||||
📄 [[Customer Portal Architecture]](outline://document/abc123)
|
||||
- Backend architecture decisions
|
||||
- Database schema
|
||||
- API endpoints
|
||||
|
||||
### Design System
|
||||
📄 [[UI Design System]](outline://document/def456)
|
||||
- Component library
|
||||
- Color palette
|
||||
- Typography
|
||||
|
||||
### Guidelines
|
||||
📄 [[Accessibility Guidelines]](outline://document/ghi789)
|
||||
- WCAG 2.1 AA compliance
|
||||
- Testing checklist
|
||||
- Common patterns
|
||||
|
||||
## Notes
|
||||
<!-- Your project notes here -->
|
||||
|
||||
## Tasks
|
||||
<!-- Tasks linked from Basecamp -->
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Knowledge Discovery
|
||||
|
||||
### Scenario
|
||||
You need to implement a feature but don't remember the authentication pattern used in the codebase.
|
||||
|
||||
### Workflow
|
||||
```
|
||||
User: "Ask Outline: How do we handle API authentication?"
|
||||
|
||||
outline skill:
|
||||
1. ask_ai_about_documents(
|
||||
question: "How do we handle API authentication?"
|
||||
collection_id: "engineering"
|
||||
)
|
||||
|
||||
2. Present AI answer with sources:
|
||||
🤖 **Answer**:
|
||||
Based on 12 documents, here's the authentication pattern:
|
||||
|
||||
**Standard Pattern**:
|
||||
- OAuth2 with refresh tokens
|
||||
- 30-day token expiry
|
||||
- Automatic refresh before expiry
|
||||
|
||||
**Implementation**:
|
||||
1. Use `/auth/oauth2/token` endpoint
|
||||
2. Store refresh token securely
|
||||
3. Implement token rotation
|
||||
4. Handle 401 Unauthorized with retry
|
||||
|
||||
**Exceptions**:
|
||||
- Internal services use API keys (documented separately)
|
||||
- Admin portals use session-based auth
|
||||
|
||||
**Key Sources**:
|
||||
1. [[OAuth2 Setup Guide]](outline://document/abc123)
|
||||
2. [[Token Management Policy]](outline://document/def456)
|
||||
3. [[API Security Best Practices]](outline://document/ghi789)
|
||||
|
||||
3. Offer:
|
||||
- "Read OAuth2 Setup Guide?"
|
||||
- "Export to current project?"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Batch Export
|
||||
|
||||
### Scenario
|
||||
You're preparing for a job transition or need offline access to critical documentation.
|
||||
|
||||
### Workflow
|
||||
```
|
||||
User: "Export all Engineering docs to Obsidian"
|
||||
|
||||
outline skill:
|
||||
1. export_collection(collection_id: "engineering_id")
|
||||
2. Create Obsidian structure:
|
||||
~/CODEX/03-resources/work/wiki-mirror/engineering/
|
||||
├── api-docs/
|
||||
│ ├── oauth2-setup-guide.md
|
||||
│ ├── token-management.md
|
||||
│ └── api-security.md
|
||||
├── architecture/
|
||||
│ ├── system-design.md
|
||||
│ └── data-flow.md
|
||||
└── decisions/
|
||||
├── auth-decision.md
|
||||
└── database-choice.md
|
||||
|
||||
3. Update wiki index:
|
||||
Update ~/CODEX/03-resources/work/wiki-mirror/_wiki-index.md
|
||||
with new export metadata
|
||||
|
||||
4. Confirm: "Exported 15 Engineering docs to wiki-mirror/engineering/"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Wiki Migration
|
||||
|
||||
### Scenario
|
||||
You're switching from a different wiki system to Outline and want to migrate content.
|
||||
|
||||
### Workflow (No n8n - Manual Process)
|
||||
```
|
||||
Step 1: Export from Old Wiki
|
||||
- Export all pages as Markdown
|
||||
- Preserve structure/folders
|
||||
- Keep metadata (created dates, authors)
|
||||
|
||||
Step 2: Batch Import to Outline
|
||||
outline skill:
|
||||
1. batch_create_documents(documents):
|
||||
[
|
||||
{
|
||||
"title": "API Documentation",
|
||||
"collection_id": "engineering_id",
|
||||
"text": "# API Documentation\n\n...",
|
||||
"publish": true
|
||||
},
|
||||
{
|
||||
"title": "System Design",
|
||||
"collection_id": "engineering_id",
|
||||
"text": "# System Design\n\n...",
|
||||
"publish": true
|
||||
}
|
||||
]
|
||||
2. Confirm: "Imported 50 documents to Outline"
|
||||
|
||||
Step 3: Verify Migration
|
||||
- Check Outline web UI
|
||||
- Verify document counts
|
||||
- Test search functionality
|
||||
- Fix any formatting issues
|
||||
|
||||
Step 4: Archive Old Wiki
|
||||
- Mark old wiki as read-only
|
||||
- Add deprecation notice
|
||||
- Link to new Outline location
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Cross-Tool Patterns
|
||||
|
||||
### Outline ↔ Obsidian
|
||||
|
||||
| When | Action | Location |
|
||||
|------|---------|----------|
|
||||
| Important decision | Create in Outline + link in Obsidian | Outline: Primary, Obsidian: Reference |
|
||||
| Project docs | Link wiki docs from project MOC | Obsidian: Primary, Outline: Source |
|
||||
| Meeting outcome | Export key decisions to Outline | Outline: Persistent, Obsidian: Session context |
|
||||
| Research | Export findings to Outline | Outline: Knowledge base, Obsidian: Working notes |
|
||||
|
||||
### Search Workflow
|
||||
|
||||
1. **First**: Search Obsidian vault (personal knowledge)
|
||||
2. **Then**: Search Outline wiki (team knowledge)
|
||||
3. **Finally**: Search both with context
|
||||
|
||||
```
|
||||
User: "Find info about OAuth2"
|
||||
|
||||
Obsidian search:
|
||||
- Check ~/CODEX/03-resources/work/wiki-mirror/
|
||||
- Check project notes
|
||||
- Return local copies
|
||||
|
||||
Outline search:
|
||||
- search_documents("OAuth2")
|
||||
- Return live wiki content
|
||||
- Export if needed for offline access
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Advanced Workflows
|
||||
|
||||
### Decision Audit
|
||||
|
||||
Periodically review all decisions to check:
|
||||
- Relevance (still applicable?)
|
||||
- Implementation status (actually done?)
|
||||
- Outdated decisions (need update?)
|
||||
|
||||
```bash
|
||||
# List all decision docs
|
||||
search_documents("decision")
|
||||
|
||||
# For each:
|
||||
read_document(document_id)
|
||||
# Check frontmatter:
|
||||
# - implemented: true/false
|
||||
# - reviewed_at: date
|
||||
# - status: active/archived
|
||||
```
|
||||
|
||||
### Knowledge Gap Analysis
|
||||
|
||||
Identify missing documentation:
|
||||
|
||||
1. List all project areas
|
||||
2. Search Outline for each area
|
||||
3. Identify gaps:
|
||||
- "No results found for X"
|
||||
- "Documentation is outdated"
|
||||
- "Information is scattered"
|
||||
|
||||
Create follow-up tasks:
|
||||
```markdown
|
||||
## Documentation Tasks
|
||||
- [ ] Write API rate limiting guide (missing)
|
||||
- [ ] Update OAuth2 examples (outdated)
|
||||
- [ ] Create testing best practices (scattered)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Export Failed
|
||||
**Problem**: Document exported to wrong location or failed to export
|
||||
|
||||
**Solution**:
|
||||
1. Verify collection hierarchy
|
||||
2. Check Obsidian vault path
|
||||
3. Ensure directory exists: `mkdir -p 03-resources/work/wiki-mirror/[collection]/`
|
||||
4. Check file permissions
|
||||
|
||||
### Search No Results
|
||||
**Problem**: search_documents returns empty results
|
||||
|
||||
**Solution**:
|
||||
1. Try broader query (fewer keywords)
|
||||
2. Remove collection_id to search everywhere
|
||||
3. Check if document exists in Outline web UI
|
||||
4. Use ask_ai_about_documents for semantic search
|
||||
|
||||
### Wiki Link Broken
|
||||
**Problem**: `(outline://document/abc123)` link doesn't work
|
||||
|
||||
**Solution**:
|
||||
1. Verify document_id is correct
|
||||
2. Check Outline MCP is running
|
||||
3. Test with `read_document(document_id)`
|
||||
4. Fallback: Use Outline web UI URL
|
||||
|
||||
---
|
||||
|
||||
## Best Practices Summary
|
||||
|
||||
1. **Export Early, Export Often**: Don't wait until job transition
|
||||
2. **Link Immediately**: Create Obsidian links when exporting
|
||||
3. **Index Everything**: Maintain wiki index for easy navigation
|
||||
4. **AI as Helper**: Use `ask_ai_about_documents` but verify sources
|
||||
5. **Preserve Hierarchy**: Maintain collection structure in exports
|
||||
6. **Tag Generously**: Add tags for discoverability
|
||||
7. **Cross-Reference**: Link related documents in Outline
|
||||
8. **Decisions Matter**: Export all decisions, not just docs
|
||||
|
||||
---
|
||||
|
||||
## Automation (Future n8n Workflows)
|
||||
|
||||
These will be implemented later with n8n automation:
|
||||
|
||||
1. **Daily Wiki Sync**: Export updated Outline docs each night
|
||||
2. **Decision Auto-Export**: Hook meeting-notes → Outline create
|
||||
3. **Search Integration**: Combine Obsidian + Outline search
|
||||
4. **Backup Workflow**: Weekly export_all_collections
|
||||
Reference in New Issue
Block a user