From cfa0f8f942545434a825fedf0a49061d26fff73d Mon Sep 17 00:00:00 2001 From: m3tm3re Date: Tue, 13 Jan 2026 14:50:04 +0100 Subject: [PATCH] Add 3 new skills (basecamp, brainstorming, plan-writing) and update agent model - basecamp: Basecamp project management via MCP (todos, kanban, projects) - brainstorming: General-purpose ideation with Anytype save - plan-writing: Project planning with templates (kickoff, stakeholders, tasks, risks) - Update agent model from GPT-4o to minimax-m2.1-free - Update README with new skills --- README.md | 17 +- agent/agents.json | 4 +- skill/basecamp/SKILL.md | 262 ++++++++++++++++++ skill/basecamp/references/mcp-tools.md | 198 +++++++++++++ skill/brainstorming/SKILL.md | 188 +++++++++++++ .../references/anytype-workflow.md | 132 +++++++++ .../references/thinking-frameworks.md | 151 ++++++++++ skill/plan-writing/SKILL.md | 165 +++++++++++ .../assets/templates/progress-update.md | 89 ++++++ .../assets/templates/project-brief.md | 48 ++++ .../assets/templates/project-kickoff.md | 106 +++++++ .../assets/templates/risk-register.md | 104 +++++++ .../assets/templates/stakeholder-map.md | 72 +++++ .../assets/templates/todo-structure.md | 94 +++++++ .../references/component-guide.md | 117 ++++++++ 15 files changed, 1741 insertions(+), 6 deletions(-) create mode 100644 skill/basecamp/SKILL.md create mode 100644 skill/basecamp/references/mcp-tools.md create mode 100644 skill/brainstorming/SKILL.md create mode 100644 skill/brainstorming/references/anytype-workflow.md create mode 100644 skill/brainstorming/references/thinking-frameworks.md create mode 100644 skill/plan-writing/SKILL.md create mode 100644 skill/plan-writing/assets/templates/progress-update.md create mode 100644 skill/plan-writing/assets/templates/project-brief.md create mode 100644 skill/plan-writing/assets/templates/project-kickoff.md create mode 100644 skill/plan-writing/assets/templates/risk-register.md create mode 100644 skill/plan-writing/assets/templates/stakeholder-map.md create mode 100644 skill/plan-writing/assets/templates/todo-structure.md create mode 100644 skill/plan-writing/references/component-guide.md diff --git a/README.md b/README.md index 338ca4c..fc5ae99 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ This repository serves as a **personal AI operating system** - a collection of s │ └── profile.md # Work style, PARA areas, preferences ├── command/ # Custom command definitions │ └── reflection.md -├── skill/ # Opencode Agent Skills (8+ skills) +├── skill/ # Opencode Agent Skills (11+ skills) │ ├── task-management/ # PARA-based productivity │ ├── skill-creator/ # Meta-skill for creating skills │ ├── reflection/ # Conversation analysis @@ -31,7 +31,10 @@ This repository serves as a **personal AI operating system** - a collection of s │ ├── calendar-scheduling/ # Time management │ ├── mem0-memory/ # Persistent memory │ ├── research/ # Investigation workflows -│ └── knowledge-management/ # Note capture & organization +│ ├── knowledge-management/ # Note capture & organization +│ ├── basecamp/ # Basecamp project management +│ ├── brainstorming/ # Ideation & strategic thinking +│ └── plan-writing/ # Project planning templates ├── scripts/ # Repository utility scripts │ └── test-skill.sh # Test skills without deploying ├── .beads/ # Issue tracking database @@ -165,8 +168,11 @@ The test script creates a temporary config directory with symlinks to this repo' | **communications** | Email drafts, follow-ups, message management | ✅ Active | | **calendar-scheduling** | Time blocking, meeting management | ✅ Active | | **mem0-memory** | Persistent memory storage and retrieval | ✅ Active | -| **research** | Investigation workflows, source management | 🚧 Stub | -| **knowledge-management** | Note capture, knowledge organization | 🚧 Stub | +| **research** | Investigation workflows, source management | ✅ Active | +| **knowledge-management** | Note capture, knowledge organization | ✅ Active | +| **basecamp** | Basecamp project & todo management via MCP | ✅ Active | +| **brainstorming** | General-purpose ideation with Anytype save | ✅ Active | +| **plan-writing** | Project plans with templates (kickoff, tasks, risks) | ✅ Active | ## 🤖 AI Agents @@ -248,6 +254,9 @@ See `AGENTS.md` for complete developer documentation. - **task-management/** - Full implementation with Anytype integration - **skill-creator/** - Meta-skill with bundled resources - **reflection/** - Conversation analysis with rating system +- **basecamp/** - MCP server integration with multiple tool categories +- **brainstorming/** - Framework-based ideation with Anytype object creation +- **plan-writing/** - Template-driven document generation ## 🔧 Customization diff --git a/agent/agents.json b/agent/agents.json index e84b4fa..ec850e2 100644 --- a/agent/agents.json +++ b/agent/agents.json @@ -2,7 +2,7 @@ "chiron": { "description": "Personal AI assistant (Plan Mode). Read-only analysis, planning, and guidance.", "mode": "primary", - "model": "anthropic/claude-sonnet-4-5", + "model": "opencode/minimax-m2.1-free", "prompt": "{file:./prompts/chiron.txt}", "permission": { "read": { @@ -28,7 +28,7 @@ "chiron-forge": { "description": "Personal AI assistant (Worker Mode). Full write access with safety prompts.", "mode": "primary", - "model": "anthropic/claude-sonnet-4-5", + "model": "opencode/minimax-m2.1-free", "prompt": "{file:./prompts/chiron-forge.txt}", "permission": { "read": { diff --git a/skill/basecamp/SKILL.md b/skill/basecamp/SKILL.md new file mode 100644 index 0000000..527a2c5 --- /dev/null +++ b/skill/basecamp/SKILL.md @@ -0,0 +1,262 @@ +--- +name: basecamp +description: "Manage work projects in Basecamp via MCP. Use when: (1) creating or viewing Basecamp projects, (2) managing todos or todo lists, (3) working with card tables (kanban boards), (4) searching Basecamp content, (5) syncing project plans to Basecamp. Triggers: basecamp, create todos, show my projects, card table, move card, basecamp search, sync to basecamp, what's in basecamp." +compatibility: opencode +--- + +# Basecamp + +Manage work projects in Basecamp via MCP server. Provides workflows for project overview, todo management, kanban boards, and syncing from plan-writing skill. + +## Quick Reference + +| Action | Command Pattern | +| --------------- | -------------------------------------- | +| List projects | "Show my Basecamp projects" | +| View project | "What's in [project name]?" | +| Create todos | "Add todos to [project]" | +| View card table | "Show kanban for [project]" | +| Move card | "Move [card] to [column]" | +| Search | "Search Basecamp for [query]" | +| Sync plan | "Create Basecamp todos from this plan" | + +## Core Workflows + +### 1. Project Overview + +List and explore projects: + +``` +1. get_projects → list all projects +2. Present summary: name, last activity +3. User selects project +4. get_project(id) → show dock items (todosets, card tables, message boards) +``` + +**Example output:** + +``` +Your Basecamp Projects: +1. Q2 Training Program (last activity: 2 hours ago) +2. Website Redesign (last activity: yesterday) +3. Product Launch (last activity: 3 days ago) + +Which project would you like to explore? +``` + +### 2. Todo Management + +**View todos:** + +``` +1. get_project(id) → find todoset from dock +2. get_todolists(project_id) → list all todo lists +3. get_todos(project_id, todolist_id) → show todos with status +``` + +**Create todos:** + +``` +1. Identify target project and todo list +2. For each todo: + create_todo( + project_id, + todolist_id, + content, + due_on?, # YYYY-MM-DD format + assignee_ids?, # array of person IDs + notify? # boolean + ) +3. Confirm creation with links +``` + +**Complete/update todos:** + +``` +- complete_todo(project_id, todo_id) → mark done +- uncomplete_todo(project_id, todo_id) → reopen +- update_todo(project_id, todo_id, content?, due_on?, assignee_ids?) +- delete_todo(project_id, todo_id) → remove +``` + +### 3. Card Table (Kanban) Management + +**View board:** + +``` +1. get_card_table(project_id) → get card table details +2. get_columns(project_id, card_table_id) → list columns +3. For each column: get_cards(project_id, column_id) +4. Present as kanban view +``` + +**Example output:** + +``` +Card Table: Development Pipeline + +| Backlog (3) | In Progress (2) | Review (1) | Done (5) | +|-------------|-----------------|------------|----------| +| Feature A | Feature B | Bug fix | ... | +| Feature C | Feature D | | | +| Refactor | | | | +``` + +**Manage columns:** + +``` +- create_column(project_id, card_table_id, title) +- update_column(project_id, column_id, title) → rename +- move_column(project_id, card_table_id, column_id, position) +- update_column_color(project_id, column_id, color) +- put_column_on_hold(project_id, column_id) → freeze work +- remove_column_hold(project_id, column_id) → unfreeze +``` + +**Manage cards:** + +``` +- create_card(project_id, column_id, title, content?, due_on?, notify?) +- update_card(project_id, card_id, title?, content?, due_on?, assignee_ids?) +- move_card(project_id, card_id, column_id) → move to different column +- complete_card(project_id, card_id) +- uncomplete_card(project_id, card_id) +``` + +**Card steps (subtasks):** + +``` +- get_card_steps(project_id, card_id) → list subtasks +- create_card_step(project_id, card_id, title, due_on?, assignee_ids?) +- complete_card_step(project_id, step_id) +- update_card_step(project_id, step_id, title?, due_on?, assignee_ids?) +- delete_card_step(project_id, step_id) +``` + +### 4. Search + +``` +search_basecamp(query, project_id?) +- Omit project_id → search all projects +- Include project_id → scope to specific project +``` + +Results include todos, messages, and other content matching the query. + +### 5. Sync from Plan-Writing + +When user has a project plan from plan-writing skill: + +``` +1. Parse todo-structure.md or tasks.md for task hierarchy +2. Ask: "Which Basecamp project should I add these to?" + - List existing projects via get_projects + - Note: New projects must be created manually in Basecamp +3. Ask: "Use todo lists or card table?" +4. If todo lists: + - Create todo list per phase/milestone if needed + - Create todos with due dates and assignees +5. If card table: + - Create columns for phases/statuses + - Create cards from tasks + - Add card steps for subtasks +6. Confirm: "Created X todos/cards in [project]. View in Basecamp." +``` + +### 6. Status Check + +``` +User: "What's the status of [project]?" + +1. get_project(id) +2. For each todo list: get_todos, count complete/incomplete +3. If card table exists: get columns and card counts +4. Calculate summary: + - X todos complete, Y incomplete, Z overdue + - Card distribution across columns +5. Highlight: overdue items, blocked items +``` + +**Example output:** + +``` +Project: Q2 Training Program + +Todos: 12/20 complete (60%) +- 3 overdue items +- 5 due this week + +Card Table: Development +| Backlog | In Progress | Review | Done | +| 3 | 2 | 1 | 8 | + +Attention needed: +- "Create training materials" (overdue by 2 days) +- "Review curriculum" (due tomorrow) +``` + +## Tool Categories + +For complete tool reference with parameters, see [references/mcp-tools.md](references/mcp-tools.md). + +| Category | Key Tools | +| ---------- | -------------------------------------------------------------- | +| Projects | get_projects, get_project | +| Todos | get_todolists, get_todos, create_todo, complete_todo | +| Cards | get_card_table, get_columns, get_cards, create_card, move_card | +| Card Steps | get_card_steps, create_card_step, complete_card_step | +| Search | search_basecamp | +| Comments | get_comments, create_comment | +| Documents | get_documents, create_document, update_document | + +## Limitations + +- **No create_project tool**: Projects must be created manually in Basecamp UI +- **Work projects only**: This skill is for professional/team projects +- **Pagination handled**: MCP server handles pagination transparently + +## Integration with Other Skills + +| From Skill | To Basecamp | +| --------------- | ------------------------------------------------- | +| brainstorming | Save decision → reference in project docs | +| plan-writing | todo-structure.md → Basecamp todos or cards | +| task-management | Anytype tasks ↔ Basecamp todos (manual reference) | + +## Common Patterns + +### Create todos from a list + +``` +User provides list: +- Task 1 (due Friday) +- Task 2 (due next week) +- Task 3 + +1. Identify or confirm project and todo list +2. Parse due dates (Friday → YYYY-MM-DD) +3. Create each todo via create_todo +4. Report: "Created 3 todos in [list name]" +``` + +### Move cards through workflow + +``` +User: "Move Feature A to In Progress" + +1. search_basecamp("Feature A") or get_cards to find card_id +2. get_columns to find target column_id +3. move_card(project_id, card_id, column_id) +4. Confirm: "Moved 'Feature A' to 'In Progress'" +``` + +### Add subtasks to a card + +``` +User: "Add subtasks to the Feature B card" + +1. Find card via search or get_cards +2. For each subtask: + create_card_step(project_id, card_id, title) +3. Report: "Added X steps to 'Feature B'" +``` diff --git a/skill/basecamp/references/mcp-tools.md b/skill/basecamp/references/mcp-tools.md new file mode 100644 index 0000000..620fa3b --- /dev/null +++ b/skill/basecamp/references/mcp-tools.md @@ -0,0 +1,198 @@ +# Basecamp MCP Tools Reference + +Complete reference for all 46 available Basecamp MCP tools. + +## Projects + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_projects` | none | List of all projects with id, name, description | +| `get_project` | project_id | Project details including dock (todosets, card tables, etc.) | + +## Todo Lists + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_todolists` | project_id | All todo lists in project | + +## Todos + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_todos` | project_id, todolist_id | All todos (pagination handled) | +| `create_todo` | project_id, todolist_id, content, due_on?, assignee_ids?, notify? | Created todo | +| `update_todo` | project_id, todo_id, content?, due_on?, assignee_ids? | Updated todo | +| `delete_todo` | project_id, todo_id | Success confirmation | +| `complete_todo` | project_id, todo_id | Completed todo | +| `uncomplete_todo` | project_id, todo_id | Reopened todo | + +### Todo Parameters + +- `content`: String - The todo text +- `due_on`: String - Date in YYYY-MM-DD format +- `assignee_ids`: Array of integers - Person IDs to assign +- `notify`: Boolean - Whether to notify assignees + +## Card Tables + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_card_tables` | project_id | All card tables in project | +| `get_card_table` | project_id | Primary card table details | + +## Columns + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_columns` | project_id, card_table_id | All columns in card table | +| `get_column` | project_id, column_id | Column details | +| `create_column` | project_id, card_table_id, title | New column | +| `update_column` | project_id, column_id, title | Updated column | +| `move_column` | project_id, card_table_id, column_id, position | Moved column | +| `update_column_color` | project_id, column_id, color | Updated color | +| `put_column_on_hold` | project_id, column_id | Column frozen | +| `remove_column_hold` | project_id, column_id | Column unfrozen | +| `watch_column` | project_id, column_id | Subscribed to notifications | +| `unwatch_column` | project_id, column_id | Unsubscribed | + +### Column Colors + +Available colors for `update_column_color`: +- white, grey, pink, red, orange, yellow, green, teal, blue, purple + +## Cards + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_cards` | project_id, column_id | All cards in column | +| `get_card` | project_id, card_id | Card details | +| `create_card` | project_id, column_id, title, content?, due_on?, notify? | New card | +| `update_card` | project_id, card_id, title?, content?, due_on?, assignee_ids? | Updated card | +| `move_card` | project_id, card_id, column_id | Card moved to column | +| `complete_card` | project_id, card_id | Card marked complete | +| `uncomplete_card` | project_id, card_id | Card reopened | + +### Card Parameters + +- `title`: String - Card title +- `content`: String - Card description/body (supports HTML) +- `due_on`: String - Date in YYYY-MM-DD format +- `assignee_ids`: Array of integers - Person IDs +- `notify`: Boolean - Notify assignees on creation + +## Card Steps (Subtasks) + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_card_steps` | project_id, card_id | All steps on card | +| `create_card_step` | project_id, card_id, title, due_on?, assignee_ids? | New step | +| `get_card_step` | project_id, step_id | Step details | +| `update_card_step` | project_id, step_id, title?, due_on?, assignee_ids? | Updated step | +| `delete_card_step` | project_id, step_id | Step deleted | +| `complete_card_step` | project_id, step_id | Step completed | +| `uncomplete_card_step` | project_id, step_id | Step reopened | + +## Search + +| Tool | Parameters | Returns | +|------|------------|---------| +| `search_basecamp` | query, project_id? | Matching todos, messages, etc. | + +- Omit `project_id` for global search across all projects +- Include `project_id` to scope search to specific project + +## Communication + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_campfire_lines` | project_id, campfire_id | Recent chat messages | +| `get_comments` | project_id, recording_id | Comments on any item | +| `create_comment` | project_id, recording_id, content | New comment | + +### Comment Parameters + +- `recording_id`: The ID of the item (todo, card, document, etc.) +- `content`: String - Comment text (supports HTML) + +## Daily Check-ins + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_daily_check_ins` | project_id, page? | Check-in questions | +| `get_question_answers` | project_id, question_id, page? | Answers to question | + +## Documents + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_documents` | project_id, vault_id | Documents in vault | +| `get_document` | project_id, document_id | Document content | +| `create_document` | project_id, vault_id, title, content, status? | New document | +| `update_document` | project_id, document_id, title?, content? | Updated document | +| `trash_document` | project_id, document_id | Document trashed | + +### Document Parameters + +- `vault_id`: Found in project dock as the docs/files container +- `content`: String - Document body (supports HTML) +- `status`: "active" or "archived" + +## Attachments + +| Tool | Parameters | Returns | +|------|------------|---------| +| `create_attachment` | file_path, name, content_type? | Uploaded attachment | + +## Events + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_events` | project_id, recording_id | Activity events on item | + +## Webhooks + +| Tool | Parameters | Returns | +|------|------------|---------| +| `get_webhooks` | project_id | Project webhooks | +| `create_webhook` | project_id, payload_url, types? | New webhook | +| `delete_webhook` | project_id, webhook_id | Webhook deleted | + +### Webhook Types + +Available types for `create_webhook`: +- Comment, Document, GoogleDocument, Message, Question::Answer +- Schedule::Entry, Todo, Todolist, Upload, Vault, Card, CardTable::Column + +## Common Patterns + +### Find project by name + +``` +1. get_projects → list all +2. Match name (case-insensitive partial match) +3. Return project_id +``` + +### Find todoset ID for a project + +``` +1. get_project(project_id) +2. Look in dock array for item with name "todoset" +3. Extract id from dock item URL +``` + +### Find card table ID + +``` +1. get_project(project_id) +2. Look in dock for "kanban_board" or use get_card_tables +3. Extract card_table_id +``` + +### Get all todos across all lists + +``` +1. get_todolists(project_id) +2. For each todolist: get_todos(project_id, todolist_id) +3. Aggregate results +``` diff --git a/skill/brainstorming/SKILL.md b/skill/brainstorming/SKILL.md new file mode 100644 index 0000000..4fc20ac --- /dev/null +++ b/skill/brainstorming/SKILL.md @@ -0,0 +1,188 @@ +--- +name: brainstorming +description: "General-purpose ideation and strategic thinking. Use when: (1) clarifying thoughts on any topic, (2) exploring options and trade-offs, (3) building strategies or plans, (4) making decisions with multiple factors, (5) thinking through problems. Triggers: brainstorm, think through, explore options, clarify, what are my options, help me decide, strategy for, how should I approach." +compatibility: opencode +--- + +# Brainstorming + +General-purpose ideation for any domain: business decisions, personal projects, creative work, strategic planning, problem-solving. Not tied to software development. + +## Process + +### 1. Understand Context + +Start by understanding the situation: +- What's the situation? What triggered this thinking? +- What's the current state vs desired state? + +**Ask one question at a time.** Prefer multiple choice when options are clear. + +### 2. Clarify the Outcome + +Before exploring solutions, clarify what success looks like: +- What would a good outcome enable? +- What would you be able to do that you can't now? +- Are there constraints on what "good" means? + +### 3. Explore Constraints + +Map the boundaries before generating options: +- **Time**: Deadlines, urgency, available hours +- **Resources**: Budget, people, skills, tools +- **External**: Dependencies, stakeholders, regulations +- **Preferences**: Non-negotiables vs nice-to-haves + +### 4. Generate Options + +Present 2-3 distinct approaches with trade-offs: + +``` +**Option A: [Name]** +- Approach: [Brief description] +- Pros: [Key advantages] +- Cons: [Key disadvantages] +- Best if: [When this option makes sense] + +**Option B: [Name]** +... + +**My recommendation**: Option [X] because [reasoning]. +``` + +Lead with your recommendation but present alternatives fairly. + +### 5. Validate Incrementally + +Present thinking in 200-300 word sections. After each section, check: +- "Does this capture it correctly?" +- "Anything I'm missing?" +- "Should we go deeper on any aspect?" + +Be ready to backtrack and clarify. Brainstorming is non-linear. + +### 6. Capture Decision (Optional) + +After reaching clarity, offer: + +> "Would you like me to save this as an Anytype Brainstorm object for reference?" + +If yes, use the Anytype MCP to create a Brainstorm object: + +``` +Anytype_API-create-object + space_id: CHIRON_SPACE_ID + type_key: "brainstorm_v_2" + name: "" + body: "" + icon: { format: "emoji", emoji: "💭" } + properties: [ + { key: "topic", text: "" }, + { key: "context", text: "" }, + { key: "outcome", text: "" }, + { key: "constraints", text: "" }, + { key: "options", text: "" }, + { key: "decision", text: "" }, + { key: "rationale", text: "" }, + { key: "next_steps", text: "" }, + { key: "framework", select: "" }, + { key: "status", select: "draft" } + ] +``` + +**Chiron Space ID**: `bafyreie5sfq7pjfuq56hxsybos545bi4tok3kx7nab3vnb4tnt4i3575p4.yu20gbnjlbxv` + +**Framework Tag IDs**: +- `bafyreiatkdbwq53shngaje6wuw752wxnwqlk3uhy6nicamdr56jpvji34i` - None +- `bafyreiaizrndgxmzbbzo6lurkgi7fc6evemoc5tivswrdu57ngkizy4b3u` - Pros/Cons +- `bafyreiaym5zkajnsrklivpjkizkuyhy3v5fzo62aaeobdlqzhq47clv6lm` - SWOT +- `bafyreihgfpsjeyuu7p46ejzd5jce5kmgfsuxy7r5kl4fqdhuq7jqoggtgq` - 5 Whys +- `bafyreieublfraypplrr5mmnksnytksv4iyh7frspyn64gixaodwmnhmosu` - How-Now-Wow +- `bafyreieyz6xjpt3zxad7h643m24oloajcae3ocnma3ttqfqykmggrsksk4` - Starbursting +- `bafyreigokn5xgdosd4cihehl3tqfsd25mwdaapuhopjgn62tkpvpwn4tmy` - Constraint Mapping + +**Status Tag IDs**: +- `bafyreig5um57baws2dnntaxsi4smxtrzftpe57a7wyhfextvcq56kdkllq` - Draft +- `bafyreiffiinadpa2fwxw3iylj7pph3yzbnhe63dcyiwr4x24ne4jsgi24` - Final +- `bafyreihk6dlpwh3nljrxcqqe3v6tl52bxuvmx3rcgyzyom6yjmtdegu4ja` - Archived + +**Optional**: Link to related objects using `linked_projects` or `linked_tasks` properties with object IDs. + +--- + +## Template Setup + +For a better editing experience, create a template in Anytype: + +1. Open Anytype desktop app → Chiron space +2. Go to Content Model → Object Types → Brainstorm v2 +3. Click Templates (top right) → Click + to create template +4. Name it "Brainstorm Session" and configure default fields: + - Pre-populated structure matching the brainstorm workflow + - Framework selector with options: None, Pros/Cons, SWOT, 5 Whys, How-Now-Wow, Starbursting, Constraint Mapping + - Status selector with options: Draft, Final, Archived +5. Save the template - it will be available when creating new brainstorms + +## Key Principles + +| Principle | Why | +|-----------|-----| +| **One question at a time** | Avoids overwhelming, gets better answers | +| **Multiple choice preferred** | Easier to respond, clarifies options | +| **Domain-agnostic** | Works for any topic, not just technical | +| **YAGNI ruthlessly** | Remove unnecessary scope from all explorations | +| **Recommendation-first** | Always lead with your suggested approach | +| **Flexible** | Go back and clarify when needed | + +## When to Use Frameworks + +For structured analysis, consult [references/thinking-frameworks.md](references/thinking-frameworks.md): + +| Situation | Framework | +|-----------|-----------| +| Binary decision (A or B, yes or no) | Pros/Cons | +| Strategic assessment | SWOT | +| Finding root cause | 5 Whys | +| Prioritizing many ideas | How-Now-Wow Matrix | +| Comprehensive exploration | Starbursting (6 Questions) | +| Understanding boundaries | Constraint Mapping | + +**Only suggest frameworks when they add value.** Many brainstorms work fine with conversational exploration alone. + +## Example Session + +``` +User: "I'm not sure how to approach launching my new course" + +AI: "Let me help you think through this. First, what kind of course is it +and who's the target audience?" + +User: "NixOS course for developers who want to learn Nix" + +AI: "Got it. What does success look like for this launch? +a) Maximum enrollments in first week +b) Building long-term audience/community +c) Validating the content before wider release +d) Something else?" + +User: "B - building community" + +AI: "That shapes the approach. What's your timeline? +a) Ready to launch now +b) 2-4 weeks to prepare +c) Flexible, no deadline" + +...continues with options and recommendation... +``` + +## Handoff to Other Skills + +After brainstorming, common next steps: + +| Output | Next Skill | Trigger | +|--------|------------|---------| +| Project decision | plan-writing | "Create a project plan for this" | +| Task identified | task-management | "Add this to my tasks" | +| Work project | basecamp | "Set this up in Basecamp" | + +All handoffs can reference the Anytype Brainstorm object via its ID or linked objects. diff --git a/skill/brainstorming/references/anytype-workflow.md b/skill/brainstorming/references/anytype-workflow.md new file mode 100644 index 0000000..9051e95 --- /dev/null +++ b/skill/brainstorming/references/anytype-workflow.md @@ -0,0 +1,132 @@ +# Brainstorm Anytype Workflow + +This document describes how to create and use Brainstorm objects in Anytype. + +## Quick Create (API) + +```bash +# Create a brainstorm object using Anytype MCP +Anytype_API-create-object + space_id: bafyreie5sfq7pjfuq56hxsybos545bi4tok3kx7nab3vnb4tnt4i3575p4.yu20gbnjlbxv + type_key: "brainstorm_v_2" + name: "NixOS Course Launch Strategy" + body: "Full brainstorm content here..." + icon: { format: "emoji", emoji: "💭" } + properties: [ + { key: "topic", text: "NixOS Course Launch Strategy" }, + { key: "context", text: "Want to launch NixOS course for developers" }, + { key: "outcome", text: "Build long-term audience/community" }, + { key: "constraints", text: "2-4 weeks prep time, solo creator" }, + { key: "options", text: "Option A: Early access... Option B: Free preview..." }, + { key: "decision", text: "Early access with community" }, + { key: "rationale", text: "Builds anticipation while validating content" }, + { key: "next_steps", text: "1. Create landing page, 2. Build email list..." }, + { key: "framework", select: "bafyreigokn5xgdosd4cihehl3tqfsd25mwdaapuhopjgn62tkpvpwn4tmy" }, + { key: "status", select: "bafyreiffiinadpa2fwxw3iylj7pph3yzbnhe63dcyiwr4x24ne4jsgi24" } + ] +``` + +## Type Properties + +| Property | Type | Purpose | +|----------|------|---------| +| `topic` | text | Short title/summary | +| `context` | text | Situation and trigger | +| `outcome` | text | What success looks like | +| `constraints` | text | Time, resources, boundaries | +| `options` | text | Options explored | +| `decision` | text | Final choice made | +| `rationale` | text | Reasoning behind decision | +| `next_steps` | text/objects | Action items or linked tasks | +| `framework` | select | Thinking framework used | +| `status` | select | Draft → Final → Archived | +| `tags` | multi_select | Categorization | +| `linked_projects` | objects | Related projects | +| `linked_tasks` | objects | Related tasks | + +## Framework Tag IDs + +| Framework | Tag ID | +|-----------|--------| +| None | `bafyreiatkdbwq53shngaje6wuw752wxnwqlk3uhy6nicamdr56jpvji34i` | +| Pros/Cons | `bafyreiaizrndgxmzbbzo6lurkgi7fc6evemoc5tivswrdu57ngkizy4b3u` | +| SWOT | `bafyreiaym5zkajnsrklivpjkizkuyhy3v5fzo62aaeobdlqzhq47clv6lm` | +| 5 Whys | `bafyreihgfpsjeyuu7p46ejzd5jce5kmgfsuxy7r5kl4fqdhuq7jqoggtgq` | +| How-Now-Wow | `bafyreieublfraypplrr5mmnksnytksv4iyh7frspyn64gixaodwmnhmosu` | +| Starbursting | `bafyreieyz6xjpt3zxad7h643m24oloajcae3ocnma3ttqfqykmggrsksk4` | +| Constraint Mapping | `bafyreigokn5xgdosd4cihehl3tqfsd25mwdaapuhopjgn62tkpvpwn4tmy` | + +## Status Tag IDs + +| Status | Tag ID | +|--------|--------| +| Draft | `bafyreig5um57baws2dnntaxsi4smxtrzftpe57a7wyhfextvcq56kdkllq` | +| Final | `bafyreiffiinadpa2fwxw3iylj7pph3yzbnhe63dcyiwr4x24ne4jsgi24` | +| Archived | `bafyreihk6dlpwh3nljrxcqqe3v6tl52bxuvmx3rcgyzyom6yjmtdegu4ja` | + +## Template Setup (Recommended) + +For a better editing experience, create a template in Anytype: + +1. Open Anytype desktop app → Chiron space +2. Go to Content Model → Object Types → Brainstorm v2 +3. Click Templates (top right) → Click + to create template +4. Configure with: + - **Name**: "Brainstorm Session" + - **Icon**: 💭 + - **Default Status**: Draft + - **Pre-filled structure**: Leave body empty for dynamic content + - **Property defaults**: Set framework to "None" as default + +5. Save the template + +Now when creating brainstorms, select this template for a guided experience. + +## Linking to Other Objects + +After creating a brainstorm, link it to related objects: + +```bash +# Link to a project +Anytype_API-update-object + object_id: + space_id: + properties: [ + { key: "linked_projects", objects: [""] } + ] + +# Link to tasks +Anytype_API-update-object + object_id: + space_id: + properties: [ + { key: "linked_tasks", objects: ["", ""] } + ] +``` + +## Searching Brainstorms + +Find brainstorms by topic, status, or tags: + +```bash +Anytype_API-search-space + space_id: bafyreie5sfq7pjfuq56hxsybos545bi4tok3kx7nab3vnb4tnt4i3575p4.yu20gbnjlbxv + query: "NixOS" + types: ["brainstorm_v_2"] +``` + +Or list all brainstorms: + +```bash +Anytype_API-list-objects + space_id: bafyreie5sfq7pjfuq56hxsybos545bi4tok3kx7nab3vnb4tnt4i3575p4.yu20gbnjlbxv + type_id: bafyreifjneoy2bdxuwwai2e3mdn7zovudpzbjyflth7k3dj3o7tmhqdlw4 +``` + +## Best Practices + +1. **Create brainstorms for any significant decision** - Capture reasoning while fresh +2. **Mark as Final when complete** - Helps with search and review +3. **Link to related objects** - Creates context web +4. **Use frameworks selectively** - Not every brainstorm needs structure +5. **Review periodically** - Brainstorms can inform future decisions diff --git a/skill/brainstorming/references/thinking-frameworks.md b/skill/brainstorming/references/thinking-frameworks.md new file mode 100644 index 0000000..69b5f9e --- /dev/null +++ b/skill/brainstorming/references/thinking-frameworks.md @@ -0,0 +1,151 @@ +# Thinking Frameworks + +Use these when structured analysis adds value. Not every brainstorm needs a framework. + +## Pros/Cons Analysis + +**Best for**: Binary decisions (do X or not, choose A or B) + +| Option | Pros | Cons | +|--------|------|------| +| Option A | + Advantage 1 | - Disadvantage 1 | +| | + Advantage 2 | - Disadvantage 2 | +| Option B | + Advantage 1 | - Disadvantage 1 | +| | + Advantage 2 | - Disadvantage 2 | + +**Tips**: +- Weight factors by importance if not all equal +- Consider: Which cons are dealbreakers? +- Ask: What would make each option clearly better? + +## SWOT Analysis + +**Best for**: Strategic assessment of a situation, project, or decision + +| | Helpful | Harmful | +|----------|---------|---------| +| **Internal** | **Strengths** | **Weaknesses** | +| | What advantages do we have? | What could we improve? | +| | What do we do well? | Where do we lack resources? | +| **External** | **Opportunities** | **Threats** | +| | What trends could we exploit? | What obstacles exist? | +| | What gaps can we fill? | What is competition doing? | + +**Action mapping**: +- Build on strengths +- Address or mitigate weaknesses +- Capture opportunities +- Defend against threats + +## 5 Whys + +**Best for**: Finding root cause of a problem + +**Process**: +1. **State the problem**: [What's happening?] +2. **Why?** → [First answer] +3. **Why?** → [Dig deeper] +4. **Why?** → [Keep going] +5. **Why?** → [Getting closer] +6. **Why?** → [Root cause] + +**Tips**: +- Stop when you reach something actionable +- May take fewer or more than 5 iterations +- Multiple branches possible (multiple "whys" at each level) + +**Example**: +``` +Problem: Course launch didn't meet enrollment targets + +Why? → Not enough people saw the launch +Why? → Email list is small +Why? → Haven't been building audience consistently +Why? → No content publishing schedule +Why? → Haven't prioritized content creation +→ Root cause: Need to establish content rhythm before next launch +``` + +## How-Now-Wow Matrix + +**Best for**: Prioritizing many ideas by feasibility and innovation + +| | Hard to Implement | Easy to Implement | +|--------------------|-------------------|-------------------| +| **Innovative** | HOW (future investment) | WOW (prioritize these!) | +| **Conventional** | Why bother? | NOW (quick wins) | + +**Quadrant actions**: +- **WOW**: Innovative + Easy = Do these first, high impact +- **NOW**: Conventional + Easy = Quick wins, do soon +- **HOW**: Innovative + Hard = Save for later, plan carefully +- **Why bother?**: Conventional + Hard = Probably skip + +## Starbursting (6 Questions) + +**Best for**: Comprehensive exploration of an idea or decision + +Start with the idea in the center, then explore each question branch: + +### Who? +- Who is affected? +- Who will execute? +- Who decides? +- Who are stakeholders? + +### What? +- What exactly are we doing? +- What's the scope? +- What's the deliverable? +- What resources needed? + +### When? +- When does it start? +- When are milestones? +- When is the deadline? +- When do we review? + +### Where? +- Where does this happen? +- Where are resources? +- Where will it be deployed/shared? + +### Why? +- Why are we doing this? +- Why now? +- Why this approach? +- Why does it matter? + +### How? +- How will we execute? +- How will we measure success? +- How do we handle failures? +- How do we communicate progress? + +## Constraint Mapping + +**Best for**: Understanding boundaries before generating solutions + +| Category | Constraints | Flexible? | +|----------|-------------|-----------| +| **Time** | Deadline, available hours | | +| **Budget** | Money available, cost limits | | +| **Resources** | People, skills, tools | | +| **Technical** | Platform, compatibility, performance | | +| **External** | Regulations, dependencies, stakeholders | | +| **Preferences** | Must-haves, nice-to-haves | | + +**For each constraint, note**: +- Is it truly fixed or negotiable? +- What would change if we relaxed it? +- Are there creative workarounds? + +## When NOT to Use Frameworks + +Skip frameworks when: +- The decision is simple or obvious +- Conversational exploration is working well +- Time is very limited +- The user just needs to talk through it + +**Default to conversation.** Suggest frameworks only when they'd genuinely help structure complex thinking. diff --git a/skill/plan-writing/SKILL.md b/skill/plan-writing/SKILL.md new file mode 100644 index 0000000..54a57b6 --- /dev/null +++ b/skill/plan-writing/SKILL.md @@ -0,0 +1,165 @@ +--- +name: plan-writing +description: "Transform ideas into comprehensive, actionable project plans with templates. Use when: (1) creating project kickoff documents, (2) structuring new projects, (3) building detailed task breakdowns, (4) documenting project scope and stakeholders, (5) setting up project for execution. Triggers: project plan, kickoff document, plan out, structure project, project setup, create plan for, what do I need to start." +compatibility: opencode +--- + +# Plan Writing + +Transform brainstormed ideas into comprehensive, actionable project plans using modular templates. + +## Quick Reference + +| Project Type | Templates to Use | +|--------------|------------------| +| Solo, <2 weeks | project-brief, todo-structure | +| Solo, >2 weeks | project-brief, todo-structure, risk-register | +| Team, any size | project-kickoff, stakeholder-map, todo-structure, risk-register | + +## Process + +### 1. Intake + +Gather initial context: +- What project are we planning? +- Check for existing brainstorming output in `docs/brainstorms/` +- If starting fresh, gather basic context first + +### 2. Scope Assessment + +Ask these questions (one at a time): + +1. **Solo or team project?** + - Solo → lighter documentation + - Team → need alignment docs (kickoff, stakeholders) + +2. **Rough duration estimate?** + - <2 weeks → skip risk register + - >2 weeks → include risk planning + +3. **Known deadline or flexible?** + - Hard deadline → prioritize milestone planning + - Flexible → focus on phased approach + +4. **Which PARA area does this belong to?** (optional) + - Helps categorization and later task-management integration + +### 3. Component Selection + +Based on scope, select appropriate templates: + +``` +"Based on [team project, 6 weeks], I'll include: +✓ Project Kickoff (team alignment) +✓ Stakeholder Map (communication planning) +✓ Todo Structure (task breakdown) +✓ Risk Register (duration >2 weeks) + +Shall I proceed with this structure?" +``` + +See [references/component-guide.md](references/component-guide.md) for selection logic. + +### 4. Draft Generation + +For each selected template: +1. Load template from `assets/templates/` +2. Fill with project-specific content +3. Present each major section for validation +4. Adjust based on feedback + +Work through templates in this order: +1. Kickoff/Brief (establishes context) +2. Stakeholders (who's involved) +3. Todos (what needs doing) +4. Risks (what could go wrong) + +### 5. Output + +Generate final documents: +- Create `docs/plans//` directory +- Write each component as separate file +- Create `index.md` linking all components + +``` +docs/plans// +├── index.md # Links to all components +├── kickoff.md # or brief.md for solo projects +├── stakeholders.md # if team project +├── tasks.md # task breakdown +├── risks.md # if >2 weeks duration +└── updates/ # for future progress updates + └── YYYY-MM-DD.md +``` + +### 6. Handoff (Optional) + +After plan is complete, offer next steps: + +> "Ready to create this project in Basecamp? I can: +> - Create todo lists from the task structure +> - Set up card table columns from phases +> - Add initial cards/todos with due dates" + +This triggers the basecamp skill for execution. + +## Templates + +All templates in `assets/templates/`: + +| Template | Purpose | When to Include | +|----------|---------|-----------------| +| project-kickoff.md | Comprehensive 8-section kickoff | Team projects | +| project-brief.md | 1-page summary | Solo or simple projects | +| stakeholder-map.md | Who needs what, when | Team projects | +| risk-register.md | Risks and mitigations | Projects >2 weeks | +| todo-structure.md | Hierarchical task breakdown | Always | +| progress-update.md | Status update template | For ongoing tracking | + +## PARA Integration (Optional) + +If user wants PARA integration: +1. Prompt for Area assignment (from their defined Areas) +2. Can trigger task-management skill to create Anytype entries +3. Include Area reference in kickoff/brief document + +This is optional - not all users use PARA. + +## Integration with Other Skills + +| From | To plan-writing | Output | +|------|-----------------|--------| +| brainstorming | Decision/context | Informs kickoff scope | +| plan-writing | → basecamp | Todo lists, cards | +| plan-writing | → task-management | Anytype tasks (optional) | + +## Example Workflow + +``` +User: "Create a project plan for launching the Q2 training program" + +AI: "I'll help structure this project. First, a few questions: + +Is this a solo project or will others be involved?" + +User: "Team - 3 people" + +AI: "Duration estimate? +a) Less than 2 weeks +b) 2-4 weeks +c) More than a month" + +User: "B - about 3 weeks" + +AI: "Got it. For a 3-week team project, I'll include: +✓ Project Kickoff (team alignment) +✓ Stakeholder Map (communication) +✓ Todo Structure (task breakdown) +✓ Risk Register (3 weeks warrants this) + +Shall I proceed?" + +User: "Yes" + +AI: [Proceeds through each template, filling with project details] +``` diff --git a/skill/plan-writing/assets/templates/progress-update.md b/skill/plan-writing/assets/templates/progress-update.md new file mode 100644 index 0000000..95ee080 --- /dev/null +++ b/skill/plan-writing/assets/templates/progress-update.md @@ -0,0 +1,89 @@ +# Progress Update: [Project Name] + +**Period**: [Date] to [Date] +**Author**: [Name] +**Status**: 🟢 On Track / 🟡 At Risk / 🔴 Blocked + +--- + +## Summary + +[2-3 sentence executive summary: Where are we, what's the headline?] + +**Overall Progress**: [X]% complete + +--- + +## Completed This Period + +- [x] [Task/milestone completed] - [Impact or note] +- [x] [Task completed] +- [x] [Task completed] + +**Highlights**: +- [Notable achievement or win] + +--- + +## In Progress + +| Task | Owner | Progress | Expected Complete | +|------|-------|----------|-------------------| +| [Task 1] | [Name] | [X]% | [Date] | +| [Task 2] | [Name] | [X]% | [Date] | +| [Task 3] | [Name] | [X]% | [Date] | + +--- + +## Blockers & Risks + +### Active Blockers + +| Blocker | Impact | Owner | Action Needed | ETA | +|---------|--------|-------|---------------|-----| +| [Blocker 1] | [High/Med/Low] | [Name] | [What's needed] | [Date] | + +### Emerging Risks + +| Risk | Probability | Mitigation | +|------|-------------|------------| +| [Risk 1] | [H/M/L] | [Action] | + +--- + +## Next Period Plan + +**Focus**: [Main focus for next period] + +| Priority | Task | Owner | Target Date | +|----------|------|-------|-------------| +| 1 | [Highest priority task] | [Name] | [Date] | +| 2 | [Second priority] | [Name] | [Date] | +| 3 | [Third priority] | [Name] | [Date] | + +--- + +## Metrics + +| Metric | Target | Current | Trend | +|--------|--------|---------|-------| +| [Metric 1] | [X] | [Y] | ↑/↓/→ | +| [Metric 2] | [X] | [Y] | ↑/↓/→ | +| Tasks Complete | [X] | [Y] | ↑ | + +--- + +## Decisions Needed + +- [ ] [Decision 1]: [Options and recommendation] - Need by: [Date] +- [ ] [Decision 2]: [Context] - Need by: [Date] + +--- + +## Notes / Context + +[Any additional context, changes in scope, stakeholder feedback, etc.] + +--- + +*Next update: [Date]* diff --git a/skill/plan-writing/assets/templates/project-brief.md b/skill/plan-writing/assets/templates/project-brief.md new file mode 100644 index 0000000..76fe992 --- /dev/null +++ b/skill/plan-writing/assets/templates/project-brief.md @@ -0,0 +1,48 @@ +# Project Brief: [Project Name] + +**Owner**: [Name] +**Timeline**: [Start Date] → [Target Date] +**Area**: [PARA Area, if applicable] + +## Goal + +[One clear sentence: What will be true when this project is complete?] + +## Success Criteria + +How we'll know it's done: + +- [ ] [Criterion 1 - specific and measurable] +- [ ] [Criterion 2] +- [ ] [Criterion 3] + +## Scope + +**Included**: +- [Deliverable 1] +- [Deliverable 2] + +**Not Included**: +- [Exclusion 1] + +## Key Milestones + +| Milestone | Target Date | Status | +|-----------|-------------|--------| +| [Milestone 1] | [Date] | [ ] | +| [Milestone 2] | [Date] | [ ] | +| [Complete] | [Date] | [ ] | + +## Initial Tasks + +1. [ ] [First task to start] - Due: [Date] +2. [ ] [Second task] +3. [ ] [Third task] + +## Notes + +[Any context, constraints, or references worth capturing] + +--- + +*Created: [Date]* diff --git a/skill/plan-writing/assets/templates/project-kickoff.md b/skill/plan-writing/assets/templates/project-kickoff.md new file mode 100644 index 0000000..11029f7 --- /dev/null +++ b/skill/plan-writing/assets/templates/project-kickoff.md @@ -0,0 +1,106 @@ +# Project Kickoff: [Project Name] + +## 1. Project Essentials + +| Field | Value | +|-------|-------| +| **Project Name** | [Name] | +| **Owner** | [Name] | +| **Start Date** | [YYYY-MM-DD] | +| **Target Completion** | [YYYY-MM-DD] | +| **PARA Area** | [Area, if applicable] | + +### Overview + +[2-3 sentence description of what this project will accomplish and why it matters.] + +## 2. Goals and Success Criteria + +**Primary Goal**: [One sentence describing the end state - what does "done" look like?] + +**Success Criteria**: +- [ ] [Measurable criterion 1] +- [ ] [Measurable criterion 2] +- [ ] [Measurable criterion 3] + +**Out of Scope** (explicitly): +- [Item that might be assumed but is NOT included] +- [Another exclusion] + +## 3. Stakeholders + +| Role | Person | Involvement Level | +|------|--------|-------------------| +| Project Owner | [Name] | High - decisions | +| Core Team | [Names] | High - execution | +| Informed | [Names] | Low - updates only | +| Approver | [Name, if any] | Medium - sign-off | + +## 4. Timeline and Milestones + +| Milestone | Target Date | Dependencies | Owner | +|-----------|-------------|--------------|-------| +| [Milestone 1] | [Date] | None | [Who] | +| [Milestone 2] | [Date] | Milestone 1 | [Who] | +| [Milestone 3] | [Date] | Milestone 2 | [Who] | +| **Project Complete** | [Date] | All above | [Owner] | + +### Key Dates + +- **Kickoff**: [Date] +- **First Review**: [Date] +- **Final Deadline**: [Date] + +## 5. Scope + +### In Scope + +- [Deliverable 1]: [Brief description] +- [Deliverable 2]: [Brief description] +- [Deliverable 3]: [Brief description] + +### Out of Scope + +- [Explicitly excluded item 1] +- [Explicitly excluded item 2] + +### Assumptions + +- [Assumption 1 - e.g., "Budget approved"] +- [Assumption 2 - e.g., "Team available full-time"] + +## 6. Risks + +| Risk | Probability | Impact | Mitigation | Owner | +|------|-------------|--------|------------|-------| +| [Risk 1] | H/M/L | H/M/L | [Plan] | [Who] | +| [Risk 2] | H/M/L | H/M/L | [Plan] | [Who] | + +*See detailed risk register if needed: [link to risks.md]* + +## 7. Communication Plan + +| What | Audience | Frequency | Channel | Owner | +|------|----------|-----------|---------|-------| +| Status Update | All stakeholders | Weekly | [Email/Basecamp] | [Who] | +| Team Sync | Core team | [Daily/2x week] | [Meeting/Slack] | [Who] | +| Milestone Review | Approvers | At milestone | [Meeting] | [Who] | + +### Escalation Path + +1. First: [Team lead/Owner] +2. Then: [Manager/Sponsor] +3. Finally: [Executive, if applicable] + +## 8. Next Steps + +Immediate actions to kick off the project: + +- [ ] [Action 1] - @[owner] - Due: [date] +- [ ] [Action 2] - @[owner] - Due: [date] +- [ ] [Action 3] - @[owner] - Due: [date] + +--- + +*Document created: [Date]* +*Last updated: [Date]* diff --git a/skill/plan-writing/assets/templates/risk-register.md b/skill/plan-writing/assets/templates/risk-register.md new file mode 100644 index 0000000..76871ad --- /dev/null +++ b/skill/plan-writing/assets/templates/risk-register.md @@ -0,0 +1,104 @@ +# Risk Register: [Project Name] + +## Risk Summary + +| ID | Risk | Probability | Impact | Risk Score | Status | +|----|------|-------------|--------|------------|--------| +| R1 | [Brief risk name] | H/M/L | H/M/L | [H/M/L] | Open | +| R2 | [Brief risk name] | H/M/L | H/M/L | [H/M/L] | Open | +| R3 | [Brief risk name] | H/M/L | H/M/L | [H/M/L] | Open | + +**Risk Score**: Probability × Impact (H×H=Critical, H×M or M×H=High, M×M=Medium, others=Low) + +--- + +## Detailed Risk Analysis + +### R1: [Risk Name] + +| Aspect | Detail | +|--------|--------| +| **Description** | [What could go wrong?] | +| **Probability** | High / Medium / Low | +| **Impact** | High / Medium / Low | +| **Category** | Technical / Resource / External / Schedule / Budget | +| **Trigger** | [What would indicate this risk is materializing?] | + +**Mitigation Plan**: +- [Action 1 to reduce probability or impact] +- [Action 2] + +**Contingency Plan** (if risk occurs): +- [Fallback action 1] +- [Fallback action 2] + +**Owner**: [Name] +**Review Date**: [Date] + +--- + +### R2: [Risk Name] + +| Aspect | Detail | +|--------|--------| +| **Description** | [What could go wrong?] | +| **Probability** | High / Medium / Low | +| **Impact** | High / Medium / Low | +| **Category** | Technical / Resource / External / Schedule / Budget | +| **Trigger** | [What would indicate this risk is materializing?] | + +**Mitigation Plan**: +- [Action 1] +- [Action 2] + +**Contingency Plan**: +- [Fallback action] + +**Owner**: [Name] +**Review Date**: [Date] + +--- + +### R3: [Risk Name] + +| Aspect | Detail | +|--------|--------| +| **Description** | [What could go wrong?] | +| **Probability** | High / Medium / Low | +| **Impact** | High / Medium / Low | +| **Category** | Technical / Resource / External / Schedule / Budget | +| **Trigger** | [What would indicate this risk is materializing?] | + +**Mitigation Plan**: +- [Action 1] +- [Action 2] + +**Contingency Plan**: +- [Fallback action] + +**Owner**: [Name] +**Review Date**: [Date] + +--- + +## Risk Categories + +| Category | Examples | +|----------|----------| +| **Technical** | Technology doesn't work, integration issues, performance | +| **Resource** | Key person unavailable, skill gaps, overcommitment | +| **External** | Vendor delays, regulatory changes, dependencies | +| **Schedule** | Delays, unrealistic timeline, competing priorities | +| **Budget** | Cost overruns, funding cuts, unexpected expenses | + +## Review Schedule + +- **Weekly**: Quick scan of high risks +- **Bi-weekly**: Full risk register review +- **At milestones**: Comprehensive reassessment + +--- + +*Created: [Date]* +*Last reviewed: [Date]* +*Next review: [Date]* diff --git a/skill/plan-writing/assets/templates/stakeholder-map.md b/skill/plan-writing/assets/templates/stakeholder-map.md new file mode 100644 index 0000000..36d67c6 --- /dev/null +++ b/skill/plan-writing/assets/templates/stakeholder-map.md @@ -0,0 +1,72 @@ +# Stakeholder Map: [Project Name] + +## Stakeholder Matrix + +| Stakeholder | Role | Interest Level | Influence | Information Needs | +|-------------|------|----------------|-----------|-------------------| +| [Name/Group] | [Role] | High/Medium/Low | High/Medium/Low | [What they need to know] | +| [Name/Group] | [Role] | High/Medium/Low | High/Medium/Low | [What they need to know] | +| [Name/Group] | [Role] | High/Medium/Low | High/Medium/Low | [What they need to know] | + +## Communication Plan by Stakeholder + +### [Stakeholder 1: Name/Role] + +| Aspect | Detail | +|--------|--------| +| **Needs** | [What information they need] | +| **Frequency** | [How often: daily, weekly, at milestones] | +| **Channel** | [Email, Basecamp, meeting, Slack] | +| **Format** | [Brief update, detailed report, presentation] | +| **Owner** | [Who communicates with them] | + +### [Stakeholder 2: Name/Role] + +| Aspect | Detail | +|--------|--------| +| **Needs** | [What information they need] | +| **Frequency** | [How often] | +| **Channel** | [Preferred channel] | +| **Format** | [Format preference] | +| **Owner** | [Who communicates] | + +### [Stakeholder 3: Name/Role] + +| Aspect | Detail | +|--------|--------| +| **Needs** | [What information they need] | +| **Frequency** | [How often] | +| **Channel** | [Preferred channel] | +| **Format** | [Format preference] | +| **Owner** | [Who communicates] | + +## RACI Matrix + +| Decision/Task | [Person 1] | [Person 2] | [Person 3] | [Person 4] | +|---------------|------------|------------|------------|------------| +| [Decision 1] | R | A | C | I | +| [Decision 2] | I | R | A | C | +| [Task 1] | R | I | I | A | + +**Legend**: +- **R** = Responsible (does the work) +- **A** = Accountable (final decision maker) +- **C** = Consulted (input required) +- **I** = Informed (kept updated) + +## Escalation Path + +1. **First Level**: [Name/Role] - for [types of issues] +2. **Second Level**: [Name/Role] - if unresolved in [timeframe] +3. **Executive**: [Name/Role] - for [critical blockers only] + +## Notes + +- [Any stakeholder-specific considerations] +- [Political or relationship notes] +- [Historical context if relevant] + +--- + +*Created: [Date]* +*Last updated: [Date]* diff --git a/skill/plan-writing/assets/templates/todo-structure.md b/skill/plan-writing/assets/templates/todo-structure.md new file mode 100644 index 0000000..6a98f3f --- /dev/null +++ b/skill/plan-writing/assets/templates/todo-structure.md @@ -0,0 +1,94 @@ +# Task Structure: [Project Name] + +## Overview + +| Metric | Value | +|--------|-------| +| **Total Tasks** | [X] | +| **Phases** | [Y] | +| **Timeline** | [Start] → [End] | + +--- + +## Phase 1: [Phase Name] + +**Target**: [Date] +**Owner**: [Name] + +| # | Task | Owner | Estimate | Due | Depends On | Status | +|---|------|-------|----------|-----|------------|--------| +| 1.1 | [Task description] | [Name] | [Xh/Xd] | [Date] | - | [ ] | +| 1.2 | [Task description] | [Name] | [Xh/Xd] | [Date] | 1.1 | [ ] | +| 1.3 | [Task description] | [Name] | [Xh/Xd] | [Date] | - | [ ] | + +**Phase Deliverable**: [What's complete when this phase is done] + +--- + +## Phase 2: [Phase Name] + +**Target**: [Date] +**Owner**: [Name] + +| # | Task | Owner | Estimate | Due | Depends On | Status | +|---|------|-------|----------|-----|------------|--------| +| 2.1 | [Task description] | [Name] | [Xh/Xd] | [Date] | Phase 1 | [ ] | +| 2.2 | [Task description] | [Name] | [Xh/Xd] | [Date] | 2.1 | [ ] | +| 2.3 | [Task description] | [Name] | [Xh/Xd] | [Date] | - | [ ] | + +**Phase Deliverable**: [What's complete when this phase is done] + +--- + +## Phase 3: [Phase Name] + +**Target**: [Date] +**Owner**: [Name] + +| # | Task | Owner | Estimate | Due | Depends On | Status | +|---|------|-------|----------|-----|------------|--------| +| 3.1 | [Task description] | [Name] | [Xh/Xd] | [Date] | Phase 2 | [ ] | +| 3.2 | [Task description] | [Name] | [Xh/Xd] | [Date] | 3.1 | [ ] | +| 3.3 | [Task description] | [Name] | [Xh/Xd] | [Date] | 3.1 | [ ] | + +**Phase Deliverable**: [What's complete when this phase is done] + +--- + +## Unphased / Ongoing Tasks + +| # | Task | Owner | Frequency | Notes | +|---|------|-------|-----------|-------| +| O.1 | [Recurring task] | [Name] | Weekly | [Notes] | +| O.2 | [Monitoring task] | [Name] | Daily | [Notes] | + +--- + +## Dependencies Summary + +``` +Phase 1 ──────► Phase 2 ──────► Phase 3 + │ │ + ├── 1.1 ► 1.2 ├── 2.1 ► 2.2 + └── 1.3 └── 2.3 (parallel) +``` + +## Milestone Checklist + +- [ ] **Milestone 1**: [Name] - [Date] + - [ ] [Required task 1.1] + - [ ] [Required task 1.2] + +- [ ] **Milestone 2**: [Name] - [Date] + - [ ] [Required task 2.1] + - [ ] [Required task 2.2] + +- [ ] **Project Complete** - [Date] + - [ ] All phases complete + - [ ] Success criteria met + - [ ] Handoff complete + +--- + +*Created: [Date]* +*Last updated: [Date]* diff --git a/skill/plan-writing/references/component-guide.md b/skill/plan-writing/references/component-guide.md new file mode 100644 index 0000000..5cdbe02 --- /dev/null +++ b/skill/plan-writing/references/component-guide.md @@ -0,0 +1,117 @@ +# Component Selection Guide + +Decision matrix for which templates to include based on project characteristics. + +## Decision Matrix + +| Question | If Yes | If No | +|----------|--------|-------| +| Team project (>1 person)? | +kickoff, +stakeholders | Use brief instead of kickoff | +| Duration >2 weeks? | +risk-register | Skip risks | +| External stakeholders? | +stakeholders (detailed) | Stakeholders optional | +| Complex dependencies? | +detailed todos with deps | Simple todo list | +| Ongoing tracking needed? | +progress-update template | One-time plan | + +## Quick Selection by Project Type + +### Solo, Short (<2 weeks) +``` +✓ project-brief.md +✓ todo-structure.md +``` + +### Solo, Medium (2-4 weeks) +``` +✓ project-brief.md +✓ todo-structure.md +✓ risk-register.md +``` + +### Solo, Long (>4 weeks) +``` +✓ project-brief.md (or kickoff for complex) +✓ todo-structure.md +✓ risk-register.md +✓ progress-update.md (for self-tracking) +``` + +### Team, Any Duration +``` +✓ project-kickoff.md (always for team alignment) +✓ stakeholder-map.md +✓ todo-structure.md +✓ risk-register.md (if >2 weeks) +✓ progress-update.md (for status updates) +``` + +## Template Purposes + +### project-kickoff.md +Full 8-section document for team alignment: +1. Project essentials (name, owner, dates) +2. Goals and success criteria +3. Stakeholders overview +4. Timeline and milestones +5. Scope (in/out) +6. Risks overview +7. Communication plan +8. Next steps + +**Use when**: Multiple people need alignment on what/why/how. + +### project-brief.md +1-page summary for simpler projects: +- Goal statement +- Success criteria +- Key milestones +- Initial tasks + +**Use when**: Solo project or simple scope that doesn't need formal kickoff. + +### stakeholder-map.md +Communication matrix: +- Who needs information +- What they need to know +- How often +- Which channel + +**Use when**: Team projects with multiple stakeholders needing different information. + +### risk-register.md +Risk tracking table: +- Risk description +- Probability (H/M/L) +- Impact (H/M/L) +- Mitigation plan +- Owner + +**Use when**: Projects >2 weeks or high-stakes projects of any duration. + +### todo-structure.md +Hierarchical task breakdown: +- Phases or milestones +- Tasks under each phase +- Subtasks if needed +- Metadata: owner, estimate, due date, dependencies + +**Use when**: Always. Every project needs task breakdown. + +### progress-update.md +Status reporting template: +- Completed since last update +- In progress +- Blockers +- Next steps +- Metrics/progress % + +**Use when**: Projects needing regular status updates (weekly, sprint-based, etc.). + +## Customization Notes + +Templates are starting points. Common customizations: +- Remove sections that don't apply +- Add project-specific sections +- Adjust detail level based on audience +- Combine templates for simpler output + +The goal is useful documentation, not template compliance.