frankgpt/v6/ARCHITECTURE.md
nathan b5ea5b175c feat(architecture): introduce Frank v6 modular skills-centric system
Phase 1-4 Complete: Setup, Core Extraction, ITIL Specialty, Documentation

- Created v6/ folder with 3-layer architecture (core + skills + specialties)
- Extracted Frank.core.agent.md with universal personas and base commands
- Copied 7 skill modules (CRAFT, CoT, ToT, RAG, Markdown, Mermaid, Advanced Reasoning)
- Created specialty.itil.instructions.md for IT Service Management (ITIL v4)
- Added comprehensive ARCHITECTURE.md with usage patterns and migration guide
- Created v6/copilot-instructions.md for VS Code integration
- Organized legacy DOCX files into _Frank_/docx/ subdirectory
- Updated all cross-references to use v6 relative paths

Design Principles:
- Portability first: zero environment-specific paths
- Modular composition: load only what you need
- Multi-specialty support: combine domain experts
- Version compatibility: all files tagged v6.0

Ref: Session plan in /memories/session/plan.md
Next: Phase 3 (remaining specialties: devops, prompt-engineering, data-analysis, sccm)
2026-04-19 14:07:29 -04:00

621 lines
21 KiB
Markdown

---
title: "Frank v6 Architecture Guide"
description: "Complete guide to Frank's modular skills-centric architecture"
version: "6.0"
lastUpdated: "2026-04-19"
---
# Frank v6 Architecture Guide
## Overview
Frank v6 is a **modular, skills-centric AI assistant** built on three distinct layers that work together to provide flexible, specialized assistance. The architecture is designed for **"pick up and go" portability** - copy the v6/ folder anywhere and you're ready to work.
```
┌─────────────────────────────────────────┐
│ Frank.core (Personality + Base) │ ← Always loaded
│ - Upbeat, friendly, mentoring │
│ - Core commands & workflows │
│ - Universal personas │
└─────────────────────────────────────────┘
↓ references
┌─────────────────────────────────────────┐
│ Skills (Reasoning Techniques) │ ← Include as needed
│ - CoT, ToT, RAG, CRAFT │
│ - Markdown, Mermaid │
│ - Advanced Reasoning │
└─────────────────────────────────────────┘
↓ loads as needed
┌─────────────────────────────────────────┐
│ Specialties (Domain Expertise) │ ← Plugin architecture
│ - DevOps, Data Analysis, ITIL │
│ - Prompt Engineering, SCCM │
│ - Custom user specialties │
└─────────────────────────────────────────┘
↓ references
┌─────────────────────────────────────────┐
│ Knowledge (Examples & References) │ ← Shared examples
│ - CoT, ToT, RAG examples │
│ - ITIL, ReAct, Meta-Prompting │
└─────────────────────────────────────────┘
```
## Design Principles
### 1. Portability First
**No environment-specific paths or configuration**. Frank v6 files contain zero hardcoded paths, repo structures, or project-specific conventions. Copy the v6/ folder to any workspace and it works immediately.
**What was removed from v5**:
-`/Volume1/appdata/` paths
-`.github/` folder rules
-`compose-stack-standard.md` references
- ❌ Project-specific documentation filing requirements
### 2. Skills-Centric Modularity
Each **skill** is a self-contained technique that Frank can reference. Each **specialty** is a domain expert that can be loaded independently or combined with others.
**Benefits**:
- ✅ Load only what you need
- ✅ Mix and match specialties
- ✅ Update one module without touching others
- ✅ Create custom specialties without modifying core
### 3. Composition Over Monolith
Instead of one giant "consolidated" file, Frank v6 uses **composition**:
```
Frank for DevOps = core + craft + devops
Frank for Data = core + craft + markdown + data-analysis
Frank for IT Ops = core + craft + itil
Frank Full Stack = core + craft + devops + data-analysis + itil
```
### 4. Version Compatibility
All core and specialty files declare version metadata:
```yaml
version: "6.0"
compatibleWith: "Frank.core v6+" # or "specialty.*.instructions.md v6+"
```
This enables future version management and compatibility checking.
## File Organization
```
v6/
├── Frank.core.agent.md # Core personality (REQUIRED)
├── copilot-instructions.md # VS Code integration guide
├── ARCHITECTURE.md # This file
├── skills/ # Reasoning techniques (INCLUDE as needed)
│ ├── style.advanced-reasoning.instructions.md
│ ├── style.cot.instructions.md
│ ├── style.craft.instructions.md
│ ├── style.markdown.instructions.md
│ ├── style.mermaid.instructions.md
│ ├── style.rag.instructions.md
│ └── style.tot.instructions.md
├── specialties/ # Domain experts (LOAD as needed)
│ ├── specialty.devops.instructions.md [Phase 3]
│ ├── specialty.prompt-engineering.instructions.md [Phase 3]
│ ├── specialty.data-analysis.instructions.md [Phase 3]
│ ├── specialty.sccm.instructions.md [Phase 3]
│ ├── specialty.itil.instructions.md ✅
│ └── specialty.TEMPLATE.instructions.md [Phase 3]
└── knowledge/ # Examples & references
├── example.CoT-Prompting.md
├── example.ITILv4.instructions.md
├── example.Meta-Prompting.md
├── example.RAG-Token.md
├── example.ReAct.md
└── example.ToT-Prompting.md
```
**Legend**:
- `✅` - Available now
- `[Phase 3]` - Planned, not yet implemented
## The Three Layers Explained
### Layer 1: Frank.core (Required)
**File**: `Frank.core.agent.md`
**What it provides**:
- Core personality: upbeat, friendly, mentoring approach
- Universal personas: Project Manager, Technical Writer, QA Analyst, Editor, etc.
- Base commands: `/quickstart`, `/create`, `/review`, `/refactor`, `/document`, `/communicate`, `/consult`, `/help`
- Generalized workflows: Content Creation, Content Analysis & Refinement
- Error handling protocols
- Integration points for skills and specialties
**When to use**: Always. This is Frank's foundation.
**What it doesn't include**:
- Domain-specific expertise (that's in specialties)
- Detailed reasoning techniques (that's in skills)
- Environment-specific configuration
### Layer 2: Skills (Include as Needed)
**Location**: `skills/`
**What they provide**:
Each skill is a **technique** or **methodology** that Frank can reference:
| Skill | Purpose | When Frank Uses It |
|-------|---------|-------------------|
| `style.craft.instructions.md` | C.R.A.F.T. framework (Context, Role, Action, Format, Tone) | Creating or evaluating prompts |
| `style.advanced-reasoning.instructions.md` | Overview of CoT, ToT, PoT, PAL, CoVe | Choosing reasoning approach |
| `style.cot.instructions.md` | Chain-of-Thought step-by-step reasoning | Sequential problem-solving |
| `style.tot.instructions.md` | Tree-of-Thought multi-path reasoning | Complex decision spaces |
| `style.rag.instructions.md` | Retrieval-Augmented Generation | Grounding in external knowledge |
| `style.markdown.instructions.md` | Markdown formatting standards | All Markdown output |
| `style.mermaid.instructions.md` | Mermaid diagram creation | Visual diagrams |
**When to include**:
- **Minimum**: `style.craft.instructions.md` for quality prompting
- **Recommended**: `craft` + `advanced-reasoning` + `markdown` for general use
- **Specialized**: Add `cot`, `tot`, `rag` when working on complex reasoning tasks
**How Frank uses them**:
Frank references these files when:
- Analyzing prompt quality (uses CRAFT framework)
- Choosing reasoning strategies (references advanced-reasoning)
- Formatting output (follows markdown guide)
- Creating complex prompts (may suggest ToT or RAG)
### Layer 3: Specialties (Load for Domain Expertise)
**Location**: `specialties/`
**What they provide**:
Each specialty adds:
- **Domain-specific personas** (e.g., DevOps SRE, Data Analyst)
- **New commands** (e.g., `/docker`, `/ticket`, `/analyze`)
- **Specialized workflows** (e.g., incident management, container troubleshooting)
- **Domain knowledge** (e.g., ITIL v4, Docker Compose patterns)
**Available Specialties**:
#### ✅ specialty.itil.instructions.md
**Domain**: IT Service Management & Operations
**Adds**:
- Personas: Senior Support Analyst, Problem Manager, Service Desk Lead
- Commands: `/ticket`, `/rca`, `/sop`, `/itil`
- Workflows: Incident Management (ReAct), Problem Management (ToT), Knowledge Management
- Framework: ITIL v4 Service Value System with 7 Guiding Principles
**Use when**: Managing IT incidents, performing root cause analysis, creating IT documentation
#### [Phase 3] specialty.devops.instructions.md
**Domain**: DevOps, Docker, Compose, Ansible, IaC
**Will add**:
- Personas: DevOps SRE (Docker & Compose), DevOps SRE (Ansible & IaC)
- Commands: `/docker`, `/ansible`
- Workflows: Container troubleshooting, Compose debugging, Ansible automation
**Use when**: Working with Docker, Kubernetes, Ansible, infrastructure automation
#### [Phase 3] specialty.prompt-engineering.instructions.md
**Domain**: Advanced Prompt Optimization & Engineering
**Will add**:
- Personas: Senior Prompt Engineer
- Commands: `/optimize`
- Workflows: Prompt analysis, refactoring, advanced technique application
**Use when**: Creating complex prompts, optimizing LLM interactions
#### [Phase 3] specialty.data-analysis.instructions.md
**Domain**: Data Analysis, SQL, Python, Statistics
**Will add**:
- Personas: Data Analyst
- Commands: `/analyze`
- Workflows: Structured Chain-of-Thought (SCoT) for data problems
**Use when**: Analyzing datasets, writing SQL, creating visualizations
#### [Phase 3] specialty.sccm.instructions.md
**Domain**: SCCM, Intune, Endpoint Management
**Will add**:
- Personas: Senior Infrastructure Engineer, Microsoft MVP
- Commands: `/endpoint`
- Workflows: Co-management, modern endpoint management, security
**Use when**: Managing Windows endpoints, SCCM/Intune deployments
### Layer 4: Knowledge (Shared Examples)
**Location**: `knowledge/`
**What it provides**:
Concrete examples and reference materials that skills and specialties reference:
- `example.CoT-Prompting.md` - Step-by-step reasoning examples
- `example.ToT-Prompting.md` - Mini crosswords with backtracking
- `example.RAG-Token.md` - RAG implementation example
- `example.ReAct.md` - Thought-Act-Observation loops
- `example.ITILv4.instructions.md` - ITIL v4 framework reference
- `example.Meta-Prompting.md` - Meta-prompting patterns
**When to reference**: These are educational materials. Skills point to them for detailed examples.
## Usage Patterns
### Pattern 1: General Assistant (Minimal)
**Load**:
```
v6/Frank.core.agent.md
```
**Capabilities**:
- All base commands
- Content creation and analysis
- General business consulting
- Basic Markdown output
**Best for**: Quick questions, general writing, simple documentation
### Pattern 2: Content Creator (Recommended)
**Load**:
```
v6/Frank.core.agent.md
v6/skills/style.craft.instructions.md
v6/skills/style.markdown.instructions.md
```
**Capabilities**:
- CRAFT-based prompt creation
- High-quality documentation
- Proper Markdown formatting
**Best for**: Creating prompts, documentation, guides, SOPs
### Pattern 3: IT Operations Specialist
**Load**:
```
v6/Frank.core.agent.md
v6/skills/style.craft.instructions.md
v6/specialties/specialty.itil.instructions.md
```
**Capabilities**:
- All core commands
- IT-specific commands: `/ticket`, `/rca`, `/sop`
- ITIL v4 workflows
- Incident/Problem/Knowledge Management
**Best for**: IT support, troubleshooting, IT documentation
### Pattern 4: DevOps Engineer [Phase 3]
**Load**:
```
v6/Frank.core.agent.md
v6/skills/style.craft.instructions.md
v6/specialties/specialty.devops.instructions.md
```
**Capabilities**:
- All core commands
- DevOps commands: `/docker`, `/ansible`
- Container and IaC troubleshooting
**Best for**: Docker, Compose, Ansible, infrastructure work
### Pattern 5: Multi-Specialty Expert
**Load**:
```
v6/Frank.core.agent.md
v6/skills/style.craft.instructions.md
v6/skills/style.advanced-reasoning.instructions.md
v6/specialties/specialty.devops.instructions.md
v6/specialties/specialty.itil.instructions.md
```
**Capabilities**:
- All core commands
- Combined specialty commands
- Both DevOps AND IT Ops expertise
**Best for**: Complex environments requiring multiple domains
**Conflict Resolution**: If multiple specialties define the same command, Frank will:
1. Acknowledge the overlap
2. Ask which specialty's implementation you prefer
3. Proceed with clarified approach
## Creating Custom Specialties
### Step 1: Copy the Template [Phase 3]
```bash
cp v6/specialties/specialty.TEMPLATE.instructions.md v6/specialties/specialty.myDomain.instructions.md
```
### Step 2: Define Your Specialty
Edit the file with:
```yaml
---
description: "Your specialty description"
version: "6.0"
compatibleWith: "Frank.core v6+"
specialty: "Your Domain Name"
---
```
### Step 3: Add Your Domain Expertise
**Required sections**:
1. **[SPECIALTY OVERVIEW]** - What does this add to Frank?
2. **[WHEN TO USE THIS SPECIALTY]** - Use cases
3. **[PERSONAS ADDED]** - Domain expert personas
4. **[COMMANDS ADDED]** - New commands with syntax
5. **[WORKFLOWS]** - Step-by-step domain workflows
6. **[INTEGRATION WITH FRANK CORE]** - How it enhances core
7. **[FORMATTING & TONE]** - Domain-specific communication style
8. **[REFERENCES]** - Links to skills and knowledge files
### Step 4: Load It
Include your specialty in VS Code configuration:
```
Include: v6/specialties/specialty.myDomain.instructions.md
```
### Best Practices for Custom Specialties
**DO**:
- ✅ Focus on a specific domain (not "everything DevOps", but "Docker & Compose")
- ✅ Define clear triggering keywords for auto-routing
- ✅ Provide concrete workflow steps with examples
- ✅ Reference existing skills (don't duplicate CRAFT or CoT)
- ✅ Include version metadata for compatibility
**DON'T**:
- ❌ Include environment-specific paths or credentials
- ❌ Duplicate content from Frank.core or skills
- ❌ Create overlapping commands with existing specialties (without noting conflicts)
- ❌ Assume knowledge - reference knowledge/ examples explicitly
## VS Code Integration
### Option 1: Workspace Settings
Create or edit `.vscode/settings.json`:
```json
{
"github.copilot.chat.codeGeneration.instructions": [
{"file": "v6/Frank.core.agent.md"},
{"file": "v6/skills/style.craft.instructions.md"},
{"file": "v6/specialties/specialty.itil.instructions.md"}
]
}
```
### Option 2: Global Copilot Instructions
Create or edit `.github/copilot-instructions.md`:
```markdown
Include: v6/Frank.core.agent.md
Include: v6/skills/style.craft.instructions.md
Include: v6/specialties/specialty.itil.instructions.md
```
### Option 3: Use the Provided copilot-instructions.md
The `v6/copilot-instructions.md` file contains pre-configured loading patterns. Copy it to your `.github/` folder and customize as needed.
## Migration from v4/v5
### What Changed from v5 to v6
**Architecture**:
- v5: Monolithic consolidated file (FrankGPT.consolidated-instructions.md)
- v6: Modular composition (core + skills + specialties)
**Portability**:
- v5: Contained repo-specific paths and standards
- v6: Fully portable, zero environment coupling
**Specialization**:
- v5: All personas in one file (couldn't load selectively)
- v6: Load only the specialties you need
**Commands**:
- v5: `//ticket`, `//sop`, `//rca`, `//persona`, etc.
- v6: `/ticket`, `/sop`, `/rca` (specialty-specific), plus new `/quickstart`, `/create`, etc.
### Migration Steps
1. **Back up your v5 configuration**
```bash
cp -r agents/ agents.backup/
cp copilot-instructions.md copilot-instructions.v5.md
```
2. **Copy v6 to your workspace**
```bash
# v6/ folder already exists in frankgpt repo
# Just update your copilot configuration to point to it
```
3. **Update VS Code configuration**
- Remove references to old files (agents/FrankGPT.consolidated-instructions.md)
- Add references to v6/Frank.core.agent.md and desired specialties
4. **Map your v5 usage to v6 patterns**
| v5 Pattern | v6 Equivalent |
|------------|---------------|
| Load consolidated file | Load Frank.core + craft + specialties |
| `//ticket` command | Load specialty.itil → `/ticket` |
| `//docker` pseudo-command | Load specialty.devops → `/docker` [Phase 3] |
| ITIL modes | Load specialty.itil |
| Meta-prompting | Load skills/style.craft |
5. **Test core functionality**
```
- Try /quickstart
- Try /review with a document
- Try specialty commands if loaded
```
### What to Do with Old Files
| File/Folder | Recommendation |
|-------------|----------------|
| `agents/FrankGPT.consolidated-instructions.md` | Archive with note "Superseded by v6" |
| `agents/Data Analyst.agent.md` | Keep for reference (becomes specialty.data-analysis in Phase 3) |
| `agents/SCCM Tutor.agent.md` | Keep for reference (becomes specialty.sccm in Phase 3) |
| `_Frank_/markdown/*.md` | Source files - can archive after v6 verified |
| `_Frank_/docx/` | Archive or delete (export artifacts) |
| `instructions/core.instructions.md` | Archive with note "v4 file, replaced by v6" |
| `instructions/style.markdown.instructions.md` | Delete (duplicate, now in v6/skills/) |
| `knowledge/*.md` | ✅ Copied to v6/knowledge/ - can keep originals as backup |
| `prompts/*.md` | ✅ Keep at repo root (templates, not Frank core files) |
## Troubleshooting
### "Frank doesn't recognize a command"
**Problem**: Command like `/docker` doesn't work
**Solution**:
1. Check which files are loaded in your VS Code configuration
2. Verify the specialty providing that command is included
3. Some commands are in Phase 3 (not yet implemented)
### "Cross-references are broken"
**Problem**: Links to knowledge/ or skills/ files return 404
**Solution**:
1. Ensure you copied the entire v6/ folder structure
2. Verify relative paths start from v6/ root
3. Check that knowledge/ and skills/ folders exist
### "Frank has different personality than expected"
**Problem**: Responses don't match the upbeat, mentoring style
**Solution**:
1. Ensure v6/Frank.core.agent.md is loaded (required)
2. Check that you're not mixing v5 and v6 files
3. Verify specialty files aren't overriding core personality
### "Commands from multiple specialties conflict"
**Problem**: Two specialties define the same command differently
**Expected Behavior**: Frank will:
1. Acknowledge the overlap: *"Both specialty.devops and specialty.custom define /analyze"*
2. Ask which implementation you prefer
3. Proceed with clarified approach
**Prevention**: When creating custom specialties, check existing commands and choose unique names.
## Version History
### v6.0 (April 2026) - Initial Modular Release
- ✅ Modular architecture (core + skills + specialties)
- ✅ Portable design (zero environment coupling)
- ✅ VS Code integration
- ✅ Frank.core with 7 universal personas
- ✅ 7 skill modules (CRAFT, CoT, ToT, RAG, Markdown, Mermaid, Advanced Reasoning)
- ✅ specialty.itil for IT Service Management
- 🚧 Phase 3: Additional specialties (devops, prompt-engineering, data-analysis, sccm)
- 🚧 Phase 5: README.md and legacy cleanup
### v5.0 (Pre-modular)
- Single consolidated file (FrankGPT.consolidated-instructions.md)
- ITIL operational modes
- Repo-specific standards enforcement
### v4.0 (Legacy)
- Initial FrankGPT core logic engine
- instructions/core.instructions.md as primary file
## Roadmap
### Phase 3 (Next)
- [ ] Create specialty.devops.instructions.md
- [ ] Create specialty.prompt-engineering.instructions.md
- [ ] Create specialty.data-analysis.instructions.md
- [ ] Create specialty.sccm.instructions.md
- [ ] Create specialty.TEMPLATE.instructions.md
### Phase 5 (Documentation)
- [ ] Create v6/README.md (quick start guide)
- [ ] Archive legacy v4/v5 files
- [ ] Evaluate prompts/ folder handling
### Future Enhancements
- [ ] Build script for creating consolidated version (optional)
- [ ] Version compatibility checking utility
- [ ] Specialty dependency management
- [ ] Auto-detection of which specialties to load based on workspace
## Contributing
### Adding a New Skill
Skills are reasoning techniques or methodologies. To add one:
1. Create `v6/skills/style.{technique}.instructions.md`
2. Follow format of existing skills (frontmatter, sections, examples)
3. Add knowledge/ examples if needed
4. Update this ARCHITECTURE.md to document it
5. Update Frank.core.agent.md's [INTEGRATION WITH SKILLS] section
### Adding a New Specialty
Specialties are domain expertise modules. To add one:
1. Copy specialty.TEMPLATE.instructions.md [Phase 3]
2. Fill in all required sections
3. Test independently with Frank.core
4. Document triggering keywords and command syntax
5. Update copilot-instructions.md with loading example
6. Update this ARCHITECTURE.md
### Updating Knowledge Examples
Knowledge files are referenced by skills and specialties:
1. Add new example to `v6/knowledge/example.{Topic}.md`
2. Update skills or specialties that should reference it
3. Keep examples focused and well-commented
4. Include references to source material when applicable
## Support
- **Architecture Questions**: Review this document
- **Usage Examples**: See copilot-instructions.md
- **Custom Specialties**: Use specialty.TEMPLATE.instructions.md [Phase 3]
- **Bug Reports**: Check existing issues or create new one
- **Feature Requests**: Propose in issues with use case
---
**Frank v6: Modular, Portable, Skills-Centric AI Assistance** 🚀
Built with ❤️ for flexibility and portability.