feat(basecamp-project): add launch workflow skill
This commit is contained in:
@@ -1,307 +1,71 @@
|
||||
---
|
||||
name: basecamp-project
|
||||
description: |
|
||||
Use when: (1) User wants to create a new Basecamp project,
|
||||
(2) User wants to generate a project draft from plan or Discovery,
|
||||
(3) User wants to duplicate a Basecamp template.
|
||||
Triggers: "create basecamp project", "setup project in basecamp",
|
||||
"basecamp draft", "plan to basecamp", "launch project",
|
||||
"initialize project in basecamp", "new project"
|
||||
description: "Use when: (1) setting up a new Basecamp project, (2) turning an idea or plan into a reviewed project launch package, (3) creating Basecamp task lists, kickoff messages, project briefs, check-ins, or launch structure, (4) stress-testing project scope, timeline, roles, risks, and feasibility before Basecamp launch. Triggers: create Basecamp project, setup project in Basecamp, project kickoff, project plan to Basecamp, launch project."
|
||||
compatibility: opencode
|
||||
---
|
||||
|
||||
# basecamp-project Skill
|
||||
# Basecamp Project
|
||||
|
||||
## Overview
|
||||
|
||||
Erstellt Basecamp-Projekte via strukturiertem Workflow: Discovery → Template → Draft → Review → Create.
|
||||
Zwei Modi: Discovery-Mode (interaktive Fragen) oder Plan-Mode (aus Markdown-Datei).
|
||||
Turn an idea or plan into a reviewed Project Launch Package and, after explicit approval, create a new Basecamp project or adapt an existing one.
|
||||
|
||||
## Workflow
|
||||
## Non-Negotiable Rules
|
||||
|
||||
### 1. START: Modus wählen
|
||||
- **Self-contained subagent rule:** Do not rely on named personal agents. Use the prompts in `references/subagent-prompts/`; if a subagent tool is unavailable, emulate the roles sequentially in the main session.
|
||||
- **Approval gate rule:** Do not create, adapt, publish, notify, or otherwise change Basecamp content until the relevant approval gate has explicit user approval.
|
||||
- **Organization template recommendation rule:** For new projects, recommend starting from the organization template before offering other approaches.
|
||||
- **Blank project fallback rule:** If the organization template is unavailable or rejected, offer a blank project fallback and explain what must be recreated manually.
|
||||
- **Language rule:** Ask for and preserve the project language across briefs, task lists, kickoff writing, check-ins, and user-facing Basecamp content.
|
||||
- **Missing `Vorlagen` rule:** If `Docs & Files → Vorlagen` is missing, report it and ask the user to choose exactly one path before proceeding: stop and fix the template or project structure, use a generic fallback communication template suitable for the project type and target language, or use a template supplied directly by the user.
|
||||
- **External visibility rule:** Confirm what clients, partners, or other external people can see before drafting or applying content.
|
||||
- **Tiered review rule:** Run review in tiers: feasibility first, plan and structure second, launch content and execution readiness last.
|
||||
- **Hybrid assignment rule:** For hybrid teams, make task ownership explicit across internal and external assignees and avoid unclear shared responsibility.
|
||||
- **Hybrid due-date rule:** For hybrid teams, use due dates that reflect dependency handoffs, external review windows, and timezone or availability constraints.
|
||||
- **Notification rule:** Treat notifications as a separate launch decision; state who will be notified, when, and why before sending or triggering updates.
|
||||
- **Cautious execution rule:** Execute Basecamp changes in small verified batches, stop on ambiguity or API/tool errors, and preserve a recoverable creation log.
|
||||
- **Existing project inspection rule:** In Existing Project Mode, inspect the current project structure and content before proposing or applying changes.
|
||||
|
||||
```
|
||||
User: "Erstelle ein neues Projekt in Basecamp"
|
||||
## Workflow Spine
|
||||
|
||||
→ Zeige Modus-Auswahl:
|
||||
[1] 🧭 Discovery Mode (interaktive Fragen)
|
||||
[2] 📄 Plan Mode (aus Markdown-Datei)
|
||||
[3] 📋 Basecamp Template duplizieren
|
||||
```
|
||||
1. Select mode: Discovery Mode, Plan Mode, or Existing Project Mode.
|
||||
2. Ask project language.
|
||||
3. Ask external/client visibility questions.
|
||||
4. Run Discovery Coach.
|
||||
5. Run Scope Realist.
|
||||
6. Resolve Red feasibility trade-offs before final planning.
|
||||
7. Run Project Planner.
|
||||
8. Run Task Architect.
|
||||
9. Ask whether to save a local Project Launch Package.
|
||||
10. Approval Gate 1: project creation/adaptation.
|
||||
11. For new projects, recommend organization template; allow blank fallback.
|
||||
12. If using template, construct project with `basecamp templates construct`.
|
||||
13. Inspect created/existing project.
|
||||
14. If `Docs & Files → Vorlagen` exists, run Template Librarian.
|
||||
15. Run Kickoff Writer using project language and template findings.
|
||||
16. Run Project Reviewer.
|
||||
17. Approval Gate 2: apply launch content and notification plan.
|
||||
18. Execute Basecamp changes in verified batches.
|
||||
19. Report links, creation log, warnings, and resume instructions if needed.
|
||||
|
||||
### 2. DISCOVERY MODE
|
||||
## Reference Loading Map
|
||||
|
||||
Führe durch die 8 Discovery-Phasen (siehe `references/discovery-questions.md`):
|
||||
|
||||
1. **Vision & Goals** - Projektziel definieren
|
||||
2. **Success Criteria** - Woran erkennen wir Erfolg?
|
||||
3. **Timeline & Milestones** - Zeitplan mit Meilensteinen
|
||||
4. **Team & Roles** - Wer ist dabei?
|
||||
5. **Communication Preferences** - Wie kommunizieren?
|
||||
6. **Tools & Workflows** - Welche Basecamp-Tools?
|
||||
7. **Risks & Dependencies** - Risiken und Abhängigkeiten
|
||||
8. **Review** - Zusammenfassung bestätigen
|
||||
|
||||
**Regeln:**
|
||||
- Jede Phase ist überspringbar
|
||||
- Multiple Choice mit "Anderes" Freitext-Option
|
||||
- Vorherige Antworten als Vorschlag ("Vorlage von: ...")
|
||||
- Natürliche Datumsangaben akzeptieren
|
||||
|
||||
### 3. TEMPLATE WAHL
|
||||
|
||||
Zeige verfügbare Templates:
|
||||
```
|
||||
Verfügbare Vorlagen:
|
||||
[1] Feature Launch - Neues Feature entwickeln
|
||||
[2] Workshop/Training - Schulung oder Workshop
|
||||
[3] Retrospektive - Team-Retro
|
||||
[4] Meeting Management - Wiederkehrende Meetings
|
||||
[5] Sprint/Iteration - Sprint planen
|
||||
[6] Research/MVP - Forschung oder Prototyp
|
||||
[7] Eigenes Design - Eigene Struktur
|
||||
[8] Basecamp Template - Vorhandenes Template nutzen
|
||||
```
|
||||
|
||||
### 4. DRAFT GENERATION
|
||||
|
||||
#### Plan Mode (aus Datei)
|
||||
1. Liste Dateien in `docs/plans/`
|
||||
2. User wählt Datei
|
||||
3. Parse Plan (siehe unten)
|
||||
4. Fehlende Daten via Discovery-Phasen ergänzen
|
||||
|
||||
#### Discovery Mode (aus Fragen)
|
||||
1. Generiere Draft basierend auf Discovery-Antworten
|
||||
2. Verwende gewähltes Template als Grundstruktur
|
||||
3. Fülle mit User-Daten
|
||||
|
||||
### 5. PARSE PLAN (für Plan Mode)
|
||||
|
||||
Extrahiere aus Markdown:
|
||||
|
||||
**Project name:**
|
||||
- Quelle: `# Title` oder frontmatter `title:`
|
||||
- Required: Yes
|
||||
|
||||
**Description:**
|
||||
- Quelle: frontmatter `description:` oder erster Absatz
|
||||
- Required: Yes
|
||||
|
||||
**Start date:**
|
||||
- Quelle: frontmatter `start:`, `starts:`, oder natürliche Erwähnung
|
||||
- Required: Yes
|
||||
|
||||
**End date:**
|
||||
- Quelle: frontmatter `end:`, `due:`, `deadline:`, oder natürliche Erwähnung
|
||||
- Required: Yes
|
||||
|
||||
**Milestones:**
|
||||
- Quelle: Sections mit `##` Level
|
||||
- Required: Yes
|
||||
|
||||
**Tasks:**
|
||||
- Quelle: Listen unter Milestones
|
||||
- Required: Yes
|
||||
|
||||
**Assignees:**
|
||||
- Quelle: `@person` Modifier oder frontmatter `team:`
|
||||
- Required: No
|
||||
|
||||
**Documents:**
|
||||
- Quelle: Links `[ref](url)` oder frontmatter `attachments:`
|
||||
- Required: No
|
||||
|
||||
### 6. PROMPT FÜR FEHLENDE DATEN
|
||||
|
||||
Reihenfolge:
|
||||
1. Projektname (wenn fehlt)
|
||||
2. Start-Datum (natürliche Sprache akzeptiert)
|
||||
3. End-Datum
|
||||
4. Team-Mitglieder (`basecamp people list --json`)
|
||||
5. Assignees
|
||||
6. Meilenstein-Daten
|
||||
|
||||
### 7. DRAFT PRESENTATION
|
||||
|
||||
Zeige strukturierten Draft (Basecamp-kompatibles Format, KEINE Tabellen):
|
||||
|
||||
```markdown
|
||||
# Projekt-Vorschlag: {name}
|
||||
|
||||
## Übersicht
|
||||
{description}
|
||||
|
||||
## Zeitplan
|
||||
- **Start:** {start}
|
||||
- **Ende:** {end}
|
||||
- **Dauer:** {X Wochen/ Tage}
|
||||
|
||||
## Meilensteine
|
||||
|
||||
### {Meilenstein 1}
|
||||
- Datum: {datum}
|
||||
- Aufgaben:
|
||||
1. {aufgabe 1}
|
||||
2. {aufgabe 2}
|
||||
- Zugewiesen: @{person}
|
||||
|
||||
## Team
|
||||
{liste}
|
||||
|
||||
## Basecamp-Struktur
|
||||
- Message Board: Kickoff + Entscheidungen
|
||||
- To-Dos: Nach Meilensteinen gruppiert
|
||||
- Schedule: Kalender-Einträge
|
||||
- Chat: {falls aktiviert}
|
||||
- Check-ins: {falls aktiviert}
|
||||
- Gauge: {falls aktiviert}
|
||||
```
|
||||
|
||||
**Optionen:**
|
||||
```
|
||||
[1] Draft speichern → `docs/drafts/{slug}-{timestamp}.md`
|
||||
[2] Projekt erstellen
|
||||
[3] Abbrechen
|
||||
```
|
||||
|
||||
### 8. PROJECT CREATION
|
||||
|
||||
Führe in Reihenfolge aus:
|
||||
|
||||
#### 8.1 Project erstellen
|
||||
```bash
|
||||
basecamp projects create "{name}" --json
|
||||
```
|
||||
|
||||
#### 8.2 Team hinzufügen
|
||||
```bash
|
||||
basecamp people list --jq '.data[] | select(.name == "Name") | .id'
|
||||
basecamp people add {person_id} --project {project_id}
|
||||
```
|
||||
|
||||
#### 8.3 Kickoff-Message
|
||||
```bash
|
||||
basecamp message "Kickoff" "{description}" --in {project_id}
|
||||
# HTML content verwenden (markdown_to_trix.py)
|
||||
```
|
||||
|
||||
#### 8.4 Discovery Document (optional)
|
||||
```bash
|
||||
basecamp files doc create "Project Brief" "{zusammenfassung}" --in {project_id}
|
||||
```
|
||||
|
||||
#### 8.5 To-Do Listen (nach Meilensteinen)
|
||||
```bash
|
||||
basecamp todolists create "{Meilenstein}" --in {project_id}
|
||||
# Dann To-Dos hinzufügen:
|
||||
basecamp todo "{task}" --in {project_id} --list {list_id} --due {date}
|
||||
```
|
||||
|
||||
#### 8.6 Schedule Entries
|
||||
```bash
|
||||
basecamp schedule create "{Meilenstein}" \
|
||||
--starts-at "{date}T09:00:00Z" \
|
||||
--all-day --in {project_id}
|
||||
```
|
||||
|
||||
#### 8.7 Chat-Kanal (optional)
|
||||
```bash
|
||||
basecamp chat post "Willkommen im Projekt!" --in {project_id}
|
||||
```
|
||||
|
||||
#### 8.8 Check-ins (optional)
|
||||
```bash
|
||||
# Questionnaire erstellen
|
||||
basecamp checkins question create "Was hast du diese Woche erreicht?" --frequency every_week
|
||||
```
|
||||
|
||||
#### 8.9 Cards/Kanban (optional)
|
||||
```bash
|
||||
basecamp cards list --in {project_id}
|
||||
# Spalten erstellen wenn nicht vorhanden
|
||||
```
|
||||
|
||||
#### 8.10 Gauge (optional)
|
||||
```bash
|
||||
basecamp gauges enable --in {project_id}
|
||||
basecamp gauges create --position 0 --color green --description "Fortschritt" --in {project_id}
|
||||
```
|
||||
|
||||
### 9. SUCCESS REPORT
|
||||
|
||||
```
|
||||
✅ Projekt erstellt: {name}
|
||||
🔗 https://3.basecamp.com/{account_id}/buckets/{project_id}
|
||||
|
||||
Struktur:
|
||||
• Message Board: 1 Nachricht (Kickoff)
|
||||
• Project Brief: 1 Dokument
|
||||
• To-Dos: {N} Listen, {M} Aufgaben
|
||||
• Schedule: {X} Einträge
|
||||
• Chat: {falls aktiviert}
|
||||
• Check-ins: {falls aktiviert}
|
||||
• Gauge: {falls aktiviert}
|
||||
```
|
||||
|
||||
## Integration mit anderen Skills
|
||||
|
||||
| Input | Next Skill | Trigger |
|
||||
|-------|------------|---------|
|
||||
| Discovery abgeschlossen | basecamp-project | Projekt erstellen |
|
||||
| Plan nicht gefunden | brainstorming | "Ich brauche erst einen Plan" |
|
||||
| Meeting-Notizen | basecamp | "Notizen zu Basecamp hinzufügen" |
|
||||
| Task verfolgen | basecamp | "Todo zu Projekt hinzufügen" |
|
||||
|
||||
## Error Handling
|
||||
|
||||
| Scenario | Action |
|
||||
|----------|--------|
|
||||
| Plan nicht gefunden | Fehler zeigen, Pläne neu listen |
|
||||
| Basecamp Auth-Fehler | `basecamp auth login` vorschlagen |
|
||||
| Projekt-Erstellung fehlgeschlagen | Fehler + Basecamp-Limits prüfen |
|
||||
| Person nicht gefunden | Freitext-Eingabe als Fallback |
|
||||
| Rate limit (429) | Warten + Retry mit Backoff |
|
||||
| Ungültige Datums-Eingabe | Mit Format-Hinweis erneut fragen |
|
||||
|
||||
## Markdown→Basecamp Konvertierung
|
||||
|
||||
Siehe `references/formatting-rules.md`
|
||||
|
||||
Kurzfassung:
|
||||
- ✅ Überschriften, bold, italic, Listen, Code, Links
|
||||
- ❌ Tabellen → Als strukturierte Listen
|
||||
- ❌ Checkboxen in Messages → Als nummerierte Listen oder echte To-Dos
|
||||
- ❌ Horizontal Rules → Entfernen
|
||||
|
||||
Verwende `scripts/markdown_to_trix.py` für Konvertierung.
|
||||
|
||||
## Discovery Questions Reference
|
||||
|
||||
Siehe `references/discovery-questions.md`
|
||||
|
||||
## Templates
|
||||
|
||||
Siehe `templates/` Verzeichnis.
|
||||
|
||||
## Dateien
|
||||
|
||||
```
|
||||
basecamp-project/
|
||||
├── SKILL.md # Diese Datei
|
||||
├── scripts/
|
||||
│ ├── markdown_to_trix.py # Markdown→HTML Konverter
|
||||
│ └── requirements.txt # Python dependencies
|
||||
├── templates/
|
||||
│ ├── feature-launch.md
|
||||
│ ├── workshop.md
|
||||
│ ├── retrospective.md
|
||||
│ ├── meeting.md
|
||||
│ ├── sprint.md
|
||||
│ ├── research-mvp.md
|
||||
│ └── blank.md
|
||||
└── references/
|
||||
├── formatting-rules.md # Basecamp-Formatierung
|
||||
└── discovery-questions.md # Fragen-Katalog
|
||||
```
|
||||
| Reference | Load when |
|
||||
| --- | --- |
|
||||
| `references/organization-template.md` | Recommending, constructing, or falling back from the organization template. |
|
||||
| `references/discovery-loop.md` | Running Discovery Mode or converting an unclear idea into usable inputs. |
|
||||
| `references/planning-model.md` | Building the Project Launch Package and feasibility-reviewed plan. |
|
||||
| `references/tasklist-rules.md` | Designing task lists, assignments, due dates, and hybrid team structure. |
|
||||
| `references/kickoff-patterns.md` | Drafting kickoff messages, briefs, check-ins, and launch communications. |
|
||||
| `references/basecamp-mapping.md` | Mapping launch package elements to Basecamp tools and project structure. |
|
||||
| `references/status-tracking.md` | Designing check-ins, status updates, reporting rhythm, and follow-up tracking. |
|
||||
| `references/review-checklists.md` | Running feasibility, planning, content, and execution reviews. |
|
||||
| `references/execution-recovery.md` | Applying changes safely, logging batches, recovering from errors, and resuming. |
|
||||
| `references/subagent-prompts/discovery-coach.md` | Running or emulating Discovery Coach. |
|
||||
| `references/subagent-prompts/scope-realist.md` | Running or emulating Scope Realist. |
|
||||
| `references/subagent-prompts/project-planner.md` | Running or emulating Project Planner. |
|
||||
| `references/subagent-prompts/task-architect.md` | Running or emulating Task Architect. |
|
||||
| `references/subagent-prompts/template-librarian.md` | Running or emulating Template Librarian. |
|
||||
| `references/subagent-prompts/kickoff-writer.md` | Running or emulating Kickoff Writer. |
|
||||
| `references/subagent-prompts/project-reviewer.md` | Running or emulating Project Reviewer. |
|
||||
| `references/subagent-prompts/basecamp-operator.md` | Running or emulating Basecamp Operator for approved execution batches. |
|
||||
|
||||
Reference in New Issue
Block a user