feat(basecamp-project): add discovery questions framework
This commit is contained in:
587
skills/basecamp-project/references/discovery-questions.md
Normal file
587
skills/basecamp-project/references/discovery-questions.md
Normal file
@@ -0,0 +1,587 @@
|
|||||||
|
---
|
||||||
|
title: Discovery Questions Framework
|
||||||
|
description: Guided project definition workflow for Basecamp projects - 8 phases covering vision, success criteria, timeline, team, communication, tools, risks, and review
|
||||||
|
type: reference
|
||||||
|
version: 1.0
|
||||||
|
last_updated: 2025-04-27
|
||||||
|
---
|
||||||
|
|
||||||
|
# Discovery Questions Framework
|
||||||
|
|
||||||
|
Leitet User durch 8 Phasen der Projekt-Definition, ähnlich dem brainstorming Skill. Jede Phase kann übersprungen werden; Multiple-Choice-Fragen haben "Anderes"-Fallback.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 1: Vision & Goals
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 1
|
||||||
|
name: "Vision & Goals"
|
||||||
|
description: "Kläre das Ziel und den Zweck des Projekts"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "project_goal"
|
||||||
|
text: "Was ist das Ziel dieses Projekts?"
|
||||||
|
type: "freetext"
|
||||||
|
required: true
|
||||||
|
prompt: "Beschreibe in einem Satz, was wir erreichen wollen"
|
||||||
|
|
||||||
|
- id: "problem_solved"
|
||||||
|
text: "Welches Problem löst dieses Projekt?"
|
||||||
|
type: "freetext"
|
||||||
|
required: false
|
||||||
|
placeholder: "Welchen Schmerzpunkt oder welches Bedürfnis adressieren wir?"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Beispiel-Prompts
|
||||||
|
|
||||||
|
**Frage:** Was ist das Ziel dieses Projekts?
|
||||||
|
**Prompt:** Beschreibe in einem Satz, was wir erreichen wollen.
|
||||||
|
|
||||||
|
**Antwort-Beispiel:** "Wir wollen die interne Dokumentation von Prozessen verbessern, damit new Joiner schneller produktiv werden."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 2: Success Criteria
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 2
|
||||||
|
name: "Success Criteria"
|
||||||
|
description: "Definiere messbare Kriterien für Projekterfolg"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "success_indicators"
|
||||||
|
text: "Woran erkennen wir, dass das Projekt erfolgreich war?"
|
||||||
|
type: "multiple_choice_checkbox"
|
||||||
|
required: false
|
||||||
|
options:
|
||||||
|
- label: "Funktional fertig"
|
||||||
|
description: "Alle geplanten Features wurden implementiert"
|
||||||
|
value: "functional_complete"
|
||||||
|
- label: "Zeitnah geliefert"
|
||||||
|
description: "Deadline wurde eingehalten"
|
||||||
|
value: "on_time"
|
||||||
|
- label: "Qualitätsziele erreicht"
|
||||||
|
description: "Tests, Reviews und QA bestanden"
|
||||||
|
value: "quality_met"
|
||||||
|
- label: "Stakeholder zufrieden"
|
||||||
|
description: "Feedback von Auftraggebern eingeholt und positiv"
|
||||||
|
value: "stakeholder_happy"
|
||||||
|
- label: "Budget eingehalten"
|
||||||
|
description: "Kosten blieben im geplanten Rahmen"
|
||||||
|
value: "on_budget"
|
||||||
|
- label: "Andere"
|
||||||
|
description: "Eigene Erfolgskriterien definieren"
|
||||||
|
value: "other"
|
||||||
|
freetext: true
|
||||||
|
freetext_label: "Andere Erfolgskriterien:"
|
||||||
|
freetext_placeholder: "z.B. 95% Adoption Rate nach Launch"
|
||||||
|
|
||||||
|
- id: "kpis"
|
||||||
|
text: "Welche messbaren KPIs definieren Erfolg?"
|
||||||
|
type: "freetext"
|
||||||
|
required: false
|
||||||
|
multiline: true
|
||||||
|
placeholder: "z.B. Response Time < 200ms, Coverage > 80%, NPS > 50"
|
||||||
|
```
|
||||||
|
|
||||||
|
### UI-Darstellung
|
||||||
|
|
||||||
|
```
|
||||||
|
Woran erkennen wir, dass das Projekt erfolgreich war?
|
||||||
|
☐ Funktional fertig (alle Features implementiert)
|
||||||
|
☐ Zeitnah geliefert (Deadline eingehalten)
|
||||||
|
☐ Qualitätsziele erreicht (Tests, Reviews bestanden)
|
||||||
|
☐ Stakeholder zufrieden (Feedback eingeholt)
|
||||||
|
☐ Budget eingehalten
|
||||||
|
☑ Andere: ___95% Adoption Rate nach Launch___
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 3: Timeline & Milestones
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 3
|
||||||
|
name: "Timeline & Milestones"
|
||||||
|
description: "Definiere Start, Ende und wichtige Zwischenmeilensteine"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "start_date"
|
||||||
|
text: "Wann soll das Projekt starten?"
|
||||||
|
type: "date"
|
||||||
|
required: true
|
||||||
|
parse_natural: true
|
||||||
|
examples:
|
||||||
|
- "nächsten Montag"
|
||||||
|
- "2025-06-01"
|
||||||
|
- "Mitte Juni"
|
||||||
|
- "sofort"
|
||||||
|
|
||||||
|
- id: "end_date"
|
||||||
|
text: "Wann soll das Projekt abgeschlossen sein?"
|
||||||
|
type: "date"
|
||||||
|
required: true
|
||||||
|
parse_natural: true
|
||||||
|
examples:
|
||||||
|
- "Ende Q2"
|
||||||
|
- "2025-08-15"
|
||||||
|
- "in 3 Monaten"
|
||||||
|
|
||||||
|
- id: "milestones"
|
||||||
|
text: "Welche wichtigen Zwischenmeilensteine gibt es?"
|
||||||
|
type: "dynamic_list"
|
||||||
|
required: false
|
||||||
|
item_template:
|
||||||
|
- id: "name"
|
||||||
|
type: "freetext"
|
||||||
|
placeholder: "Meilenstein Name"
|
||||||
|
- id: "date"
|
||||||
|
type: "date"
|
||||||
|
required: false
|
||||||
|
parse_natural: true
|
||||||
|
placeholder: "Datum (optional)"
|
||||||
|
add_button: "+ Meilenstein hinzufügen"
|
||||||
|
min_items: 0
|
||||||
|
max_items: 10
|
||||||
|
```
|
||||||
|
|
||||||
|
### Beispiel-Liste
|
||||||
|
|
||||||
|
```
|
||||||
|
Welche wichtigen Zwischenmeilensteine gibt es?
|
||||||
|
|
||||||
|
┌─────────────────────────────────────────────────────┐
|
||||||
|
│ 1. Discovery Phase │
|
||||||
|
│ Datum: 2025-05-15 │
|
||||||
|
├─────────────────────────────────────────────────────┤
|
||||||
|
│ 2. Design Approval │
|
||||||
|
│ Datum: Ende Mai │
|
||||||
|
├─────────────────────────────────────────────────────┤
|
||||||
|
│ 3. Beta Release │
|
||||||
|
│ Datum: — │
|
||||||
|
├─────────────────────────────────────────────────────┤
|
||||||
|
│ [+ Meilenstein hinzufügen] │
|
||||||
|
└─────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 4: Team & Roles
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 4
|
||||||
|
name: "Team & Roles"
|
||||||
|
description: "Definiere Team-Mitglieder und Rollen"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "team_members"
|
||||||
|
text: "Wer ist am Projekt beteiligt?"
|
||||||
|
type: "basecamp_people_lookup"
|
||||||
|
required: false
|
||||||
|
source: "basecamp people list --json"
|
||||||
|
fallback: "freetext"
|
||||||
|
fallback_label: "Person hinzufügen (nicht in Basecamp):"
|
||||||
|
|
||||||
|
- id: "roles_needed"
|
||||||
|
text: "Welche Rollen brauchen wir?"
|
||||||
|
type: "multiple_choice_checkbox"
|
||||||
|
required: false
|
||||||
|
options:
|
||||||
|
- label: "Projektleitung"
|
||||||
|
value: "project_lead"
|
||||||
|
- label: "Entwicklung"
|
||||||
|
value: "development"
|
||||||
|
- label: "Design"
|
||||||
|
value: "design"
|
||||||
|
- label: "QA/Testing"
|
||||||
|
value: "qa"
|
||||||
|
- label: "Stakeholder/Product Owner"
|
||||||
|
value: "stakeholder"
|
||||||
|
- label: "Externe Dienstleister"
|
||||||
|
value: "external"
|
||||||
|
- label: "Andere"
|
||||||
|
value: "other"
|
||||||
|
freetext: true
|
||||||
|
freetext_label: "Andere Rolle:"
|
||||||
|
|
||||||
|
- id: "progress_reporting"
|
||||||
|
text: "Soll regelmäßig über Fortschritt berichtet werden?"
|
||||||
|
type: "yes_no"
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
trigger: "creates_checkins"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Basecamp People Lookup Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
Wer ist am Projekt beteiligt?
|
||||||
|
|
||||||
|
[🔍 Basecamp Team durchsuchen...]
|
||||||
|
|
||||||
|
Verfügbare Personen:
|
||||||
|
┌────────────────────────────────────────────────────┐
|
||||||
|
│ 👤 Alice Müller Projektleitung │
|
||||||
|
│ 👤 Bob Schmidt Entwicklung │
|
||||||
|
│ 👤 Carol Weber Design │
|
||||||
|
│ 👤 Dave Fischer QA │
|
||||||
|
└────────────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
[✓] Alice Müller
|
||||||
|
[✓] Bob Schmidt
|
||||||
|
[ ] Carol Weber
|
||||||
|
[ ] Dave Fischer
|
||||||
|
|
||||||
|
[+ Person hinzufügen (nicht in Basecamp)]
|
||||||
|
|
||||||
|
oder manuell eingeben:
|
||||||
|
Anderer Name: ___________
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 5: Communication Preferences
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 5
|
||||||
|
name: "Communication Preferences"
|
||||||
|
description: "Definiere Kommunikationskanäle und -rhythmus"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "communication_channels"
|
||||||
|
text: "Wie soll hauptsächlich kommuniziert werden?"
|
||||||
|
type: "multiple_choice_checkbox"
|
||||||
|
required: false
|
||||||
|
options:
|
||||||
|
- label: "Täglicher Standup"
|
||||||
|
description: "Kurze tägliche Updates im Chat-Kanal"
|
||||||
|
value: "daily_standup"
|
||||||
|
- label: "Wöchentliches Sync-Meeting"
|
||||||
|
description: "Regelmäßiges Meeting für Fortschritt und Blocker"
|
||||||
|
value: "weekly_sync"
|
||||||
|
- label: "Ad-hoc bei Bedarf"
|
||||||
|
description: "Kommunikation nur wenn nötig"
|
||||||
|
value: "ad_hoc"
|
||||||
|
- label: "Async-First"
|
||||||
|
description: "Primär Messages und Documents, seltene Meetings"
|
||||||
|
value: "async_first"
|
||||||
|
- label: "Video-Calls für Meetings"
|
||||||
|
description: "Meetings per Video-Call statt vor Ort"
|
||||||
|
value: "video_calls"
|
||||||
|
|
||||||
|
- id: "escalation_mentions"
|
||||||
|
text: "Sollen @mentions für Eskalation genutzt werden?"
|
||||||
|
type: "yes_no"
|
||||||
|
required: false
|
||||||
|
default: true
|
||||||
|
hint: "Bei @mention wird derjenige sofort benachrichtigt"
|
||||||
|
```
|
||||||
|
|
||||||
|
### UI-Darstellung
|
||||||
|
|
||||||
|
```
|
||||||
|
Wie soll hauptsächlich kommuniziert werden?
|
||||||
|
☐ Täglicher Standup (Chat-Kanal)
|
||||||
|
☑ Wöchentliches Sync-Meeting
|
||||||
|
☑ Async-First (primär Messages/Documents)
|
||||||
|
☐ Video-Calls für Meetings
|
||||||
|
|
||||||
|
Sollen @mentions für Eskalation genutzt werden?
|
||||||
|
[JA] Nein
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 6: Tools & Workflows
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 6
|
||||||
|
name: "Tools & Workflows"
|
||||||
|
description: "Wähle Basecamp-Tools und Workflow-Konfiguration"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "basecamp_tools"
|
||||||
|
text: "Welche Basecamp-Tools sollen aktiv genutzt werden?"
|
||||||
|
type: "multiple_choice_checkbox"
|
||||||
|
required: false
|
||||||
|
default_checked:
|
||||||
|
- "message_board"
|
||||||
|
- "todos"
|
||||||
|
- "chat"
|
||||||
|
- "checkins"
|
||||||
|
- "documents"
|
||||||
|
options:
|
||||||
|
- label: "Message Board"
|
||||||
|
description: "Kickoff-Nachrichten, Entscheidungen, Updates"
|
||||||
|
value: "message_board"
|
||||||
|
- label: "To-Dos"
|
||||||
|
description: "Aufgaben und Meilensteine"
|
||||||
|
value: "todos"
|
||||||
|
- label: "Schedule"
|
||||||
|
description: "Kalender-Events für Meilensteine"
|
||||||
|
value: "schedule"
|
||||||
|
- label: "Chat"
|
||||||
|
description: "Kommunikation und Standups"
|
||||||
|
value: "chat"
|
||||||
|
- label: "Cards/Kanban"
|
||||||
|
description: "Visuelles Task-Board (Alternative zu To-Dos)"
|
||||||
|
value: "cards"
|
||||||
|
- label: "Check-ins"
|
||||||
|
description: "Automatische Abfragen zu Fortschritt"
|
||||||
|
value: "checkins"
|
||||||
|
- label: "Documents"
|
||||||
|
description: "Specs, Referenzen, Entscheidungen"
|
||||||
|
value: "documents"
|
||||||
|
- label: "Gauges"
|
||||||
|
description: "Fortschritts-Indikatoren"
|
||||||
|
value: "gauges"
|
||||||
|
- label: "Files"
|
||||||
|
description: "Dateien und Anhänge"
|
||||||
|
value: "files"
|
||||||
|
|
||||||
|
- id: "progress_gauge"
|
||||||
|
text: "Soll ein Gauge mit Fortschritts-Indikator erstellt werden?"
|
||||||
|
type: "yes_no"
|
||||||
|
required: false
|
||||||
|
conditional_on: "basecamp_tools includes 'gauges'"
|
||||||
|
default: false
|
||||||
|
```
|
||||||
|
|
||||||
|
### UI-Darstellung mit Vorauswahl
|
||||||
|
|
||||||
|
```
|
||||||
|
Welche Basecamp-Tools sollen aktiv genutzt werden?
|
||||||
|
|
||||||
|
☑ Message Board (Kickoff, Entscheidungen)
|
||||||
|
☑ To-Dos (Aufgaben, Meilensteine)
|
||||||
|
☐ Schedule (Kalender-Events)
|
||||||
|
☑ Chat (Kommunikation, Standups)
|
||||||
|
☐ Cards/Kanban (Alternative zu To-Dos)
|
||||||
|
☑ Check-ins (Automatische Abfragen)
|
||||||
|
☑ Documents (Specs, Referenzen)
|
||||||
|
☐ Gauges (Fortschritts-Tracking)
|
||||||
|
☐ Files (Dateien, Anhänge)
|
||||||
|
|
||||||
|
Soll ein Gauge mit Fortschritts-Indikator erstellt werden?
|
||||||
|
[Ja] Nein
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 7: Risks & Dependencies
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 7
|
||||||
|
name: "Risks & Dependencies"
|
||||||
|
description: "Identifiziere Risiken und Abhängigkeiten"
|
||||||
|
skippable: true
|
||||||
|
questions:
|
||||||
|
- id: "known_risks"
|
||||||
|
text: "Gibt es bekannte Risiken?"
|
||||||
|
type: "freetext"
|
||||||
|
required: false
|
||||||
|
multiline: true
|
||||||
|
placeholder: "z.B. Abhängigkeit von externem API, limitierte Testumgebung, kritische Abhängigkeit von Key Person"
|
||||||
|
|
||||||
|
- id: "dependencies"
|
||||||
|
text: "Welche Abhängigkeiten gibt es?"
|
||||||
|
type: "freetext"
|
||||||
|
required: false
|
||||||
|
multiline: true
|
||||||
|
placeholder: "z.B. Wartet auf Approval von Legal, Abhängig von Datenbank-Migration, Braucht Zugang zu Prod-System"
|
||||||
|
|
||||||
|
- id: "external_stakeholders"
|
||||||
|
text: "Wer sind externe Stakeholder?"
|
||||||
|
type: "freetext"
|
||||||
|
required: false
|
||||||
|
multiline: true
|
||||||
|
placeholder: "z.B. Externe Agentur für Design, Kunde für Feedback, Vendor für Integration"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Phase 8: Review
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
phase:
|
||||||
|
id: 8
|
||||||
|
name: "Review"
|
||||||
|
description: "Zusammenfassung aller Antworten zur Bestätigung"
|
||||||
|
skippable: false
|
||||||
|
questions:
|
||||||
|
- id: "summary"
|
||||||
|
type: "review_summary"
|
||||||
|
sections:
|
||||||
|
- "vision_goals"
|
||||||
|
- "success_criteria"
|
||||||
|
- "timeline"
|
||||||
|
- "team"
|
||||||
|
- "communication"
|
||||||
|
- "tools"
|
||||||
|
- "risks"
|
||||||
|
actions:
|
||||||
|
- label: "Alles korrekt"
|
||||||
|
value: "confirm"
|
||||||
|
next: "create_project"
|
||||||
|
- label: "Bearbeiten"
|
||||||
|
value: "edit"
|
||||||
|
next: "phase_picker"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Review-Darstellung
|
||||||
|
|
||||||
|
```
|
||||||
|
═══════════════════════════════════════════════════════
|
||||||
|
PROJEKT-ZUSAMMENFASSUNG
|
||||||
|
═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
📌 VISION & GOALS
|
||||||
|
Ziel: Interne Dokumentation verbessern
|
||||||
|
Problem: New Joiner brauchen zu lange zur Einarbeitung
|
||||||
|
|
||||||
|
🎯 SUCCESS CRITERIA
|
||||||
|
☑ Funktional fertig
|
||||||
|
☑ Zeitnah geliefert
|
||||||
|
☐ Qualitätsziele erreicht
|
||||||
|
☑ Stakeholder zufrieden
|
||||||
|
KPI: 95% Adoption Rate nach Launch
|
||||||
|
|
||||||
|
📅 TIMELINE
|
||||||
|
Start: 2025-06-01
|
||||||
|
Ende: 2025-08-15 (11 Wochen)
|
||||||
|
Meilensteine:
|
||||||
|
• Discovery Phase — 2025-05-15
|
||||||
|
• Design Approval — Ende Mai
|
||||||
|
• Beta Release — (ohne Datum)
|
||||||
|
|
||||||
|
👥 TEAM
|
||||||
|
Alice Müller (Projektleitung)
|
||||||
|
Bob Schmidt (Entwicklung)
|
||||||
|
Carol Weber (Design)
|
||||||
|
|
||||||
|
Rollen: Projektleitung, Entwicklung, Design
|
||||||
|
✓ Regelmäßige Fortschrittsberichte
|
||||||
|
|
||||||
|
💬 KOMMUNIKATION
|
||||||
|
Async-First, wöchentliche Sync-Meetings
|
||||||
|
✓ @mentions für Eskalation aktiviert
|
||||||
|
|
||||||
|
🛠 TOOLS (aktiviert)
|
||||||
|
Message Board, To-Dos, Chat, Check-ins, Documents
|
||||||
|
|
||||||
|
⚠️ RISIKEN & ABHÄNGIGKEITEN
|
||||||
|
Risiken: —
|
||||||
|
Abhängigkeiten: Wartet auf Approval von Legal
|
||||||
|
Externe Stakeholder: Kunde für Feedback
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
[ ✅ Alles korrekt — Projekt erstellen ]
|
||||||
|
[ ✏️ Zurück zu Phase: [Vision ▼] ]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nutzung im Skill Workflow
|
||||||
|
|
||||||
|
### Discovery Flow Integration
|
||||||
|
|
||||||
|
Der Discovery-Fragen-Katalog wird verwendet wenn:
|
||||||
|
|
||||||
|
1. **Kein Plan vorhanden** — User möchte Projekt von Grund auf definieren
|
||||||
|
2. **Vor dem Drafting** — Als strukturierter Einstieg vor dem eigentlichen Planning
|
||||||
|
3. **Ergänzung zu bestehendem Plan** — Falls wichtige Felder fehlen
|
||||||
|
|
||||||
|
### Flow-Integration
|
||||||
|
|
||||||
|
```
|
||||||
|
User: "Ich will ein neues Projekt in Basecamp erstellen"
|
||||||
|
↓
|
||||||
|
Skill: "Lass uns das Projekt gemeinsam definieren."
|
||||||
|
"Wir gehen durch 8 kurze Phasen."
|
||||||
|
↓
|
||||||
|
[Phase 1-8 durchlaufen]
|
||||||
|
↓
|
||||||
|
Zusammenfassung anzeigen
|
||||||
|
↓
|
||||||
|
User bestätigt → Erstelle Projekt
|
||||||
|
User möchte ändern → Springe zur Phase
|
||||||
|
```
|
||||||
|
|
||||||
|
### Abspeichern der Answers
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Struktur für gesammelte Answers
|
||||||
|
discovery_answers = {
|
||||||
|
"project_goal": "...",
|
||||||
|
"problem_solved": "...",
|
||||||
|
"success_indicators": [...],
|
||||||
|
"kpis": "...",
|
||||||
|
"start_date": "2025-06-01",
|
||||||
|
"end_date": "2025-08-15",
|
||||||
|
"milestones": [
|
||||||
|
{"name": "Discovery", "date": "2025-05-15"},
|
||||||
|
{"name": "Design Approval", "date": "..."},
|
||||||
|
],
|
||||||
|
"team_members": [
|
||||||
|
{"id": "123", "name": "Alice Müller", "role": "project_lead"}
|
||||||
|
],
|
||||||
|
"roles_needed": ["project_lead", "development", "design"],
|
||||||
|
"progress_reporting": True,
|
||||||
|
"communication_channels": ["async_first", "weekly_sync"],
|
||||||
|
"escalation_mentions": True,
|
||||||
|
"basecamp_tools": ["message_board", "todos", "chat", "checkins", "documents"],
|
||||||
|
"progress_gauge": False,
|
||||||
|
"known_risks": "...",
|
||||||
|
"dependencies": "...",
|
||||||
|
"external_stakeholders": "...",
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mapping zu Basecamp Structure
|
||||||
|
|
||||||
|
| Discovery Field | Basecamp Creation |
|
||||||
|
|-----------------|-------------------|
|
||||||
|
| project_goal, problem_solved | Kickoff Message |
|
||||||
|
| start_date, end_date | Schedule (oder Project Description) |
|
||||||
|
| milestones | To-Do Lists + Schedule Entries |
|
||||||
|
| team_members | Project People |
|
||||||
|
| communication_channels | Chat Channel Topic + PM Setup |
|
||||||
|
| basecamp_tools | Aktiviert/Deaktiviert im Project |
|
||||||
|
| progress_gauge | Gauge Creation |
|
||||||
|
| known_risks, dependencies | Message Board Post |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Natural Language Date Parsing
|
||||||
|
|
||||||
|
Der Skill unterstützt flexible Datumsangaben:
|
||||||
|
|
||||||
|
| Input | Parsed Output |
|
||||||
|
|-------|---------------|
|
||||||
|
| "nächsten Montag" | 2025-05-05 (wenn gerade April) |
|
||||||
|
| "Ende Q2" | 2025-06-30 |
|
||||||
|
| "Mitte Juni" | 2025-06-15 |
|
||||||
|
| "in 3 Wochen" | +21 Tage von heute |
|
||||||
|
| "2025-06-01" | 2025-06-01 |
|
||||||
|
| "sofort" | today's date |
|
||||||
|
| "ASAP" | today's date |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Notes
|
||||||
|
|
||||||
|
1. **Jede Phase ist überspringbar** — User kann "Weiter" oder "Überspringen" sagen
|
||||||
|
2. **Multiple Choice mit Freitext-Fallback** — "Andere" öffnet Freitext-Eingabe
|
||||||
|
3. **Datum-Parsing** — Akzeptiere natürliche Sprache mit Fallback auf direkte Eingabe
|
||||||
|
4. **Basecamp People Lookup** — Nutze `basecamp people list --json` für Team-Auswahl
|
||||||
|
5. **Review-Phase ist Pflicht** — Zeigt Zusammenfassung vor Projekt-Erstellung
|
||||||
|
6. **Answers werden gesammelt** — Bis zur Bestätigung in Discovery-Objekt gespeichert
|
||||||
Reference in New Issue
Block a user