ワンクリックで
budget
Track and report customer kontingent usage from Productive.io. Monitor budget consumption and warn on low kontingent.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Track and report customer kontingent usage from Productive.io. Monitor budget consumption and warn on low kontingent.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Cross-project audit and sync. Backs up, bootstraps, promotes, syncs, and verifies all downstream projects.
Structured pre-planning research. Explores codebase, asks clarifying questions, and produces a brainstorm output file for /plan-feature input.
Capture knowledge from development sessions. Debug patterns, architecture decisions, framework gotchas, and integration learnings compound over time.
Load project context and show current status. Use at the start of a session or when context is needed.
Run parallel code reviews using specialized agents (security, performance, simplicity, nextjs-react). Produces a structured report.
Initialize a new project from Agent Kit boilerplate. Use when creating a new downstream project.
| name | budget |
| description | Track and report customer kontingent usage from Productive.io. Monitor budget consumption and warn on low kontingent. |
| disable-model-invocation | true |
| allowed-tools | Read, Write, Bash, WebFetch |
| argument-hint | ["status|report|warn"] |
Track customer kontingent (budget/hours) usage via Productive.io Time Entries.
Read-Only - This skill reads data from Productive.io but does not write:
Budget tracking is essential for:
/budget status [customer]Show current kontingent status for a customer.
Output:
┌─────────────────────────────────────────────────────┐
│ BUDGET STATUS: [Customer Name] │
├─────────────────────────────────────────────────────┤
│ Delivery Unit Booked Used Remaining │
│ ───────────────────── ────── ──── ───────── │
│ Agent: Support Bot 40h 28h 12h │
│ Workshop: AI Training 16h 16h 0h ⚠️ │
│ Advisory: Strategy 8h 4h 4h │
├─────────────────────────────────────────────────────┤
│ TOTAL 64h 48h 16h │
│ Usage: ████████████░░░░ 75% │
└─────────────────────────────────────────────────────┘
Data Sources:
/budget report [customer]Generate a detailed budget report for customer communication.
Report Contents:
Output Format: Markdown for customer-ready sharing
/budget warnCheck all customers for low kontingent and generate warnings.
Thresholds:
Actions:
# Get all budgets for organization
curl -X GET "https://api.productive.io/api/v2/budgets" \
-H "Content-Type: application/vnd.api+json" \
-H "X-Auth-Token: ${PRODUCTIVE_API_TOKEN}" \
-H "X-Organization-Id: ${PRODUCTIVE_ORG_ID}"
Budget Response Fields:
{
"data": {
"id": "budget_id",
"attributes": {
"name": "Monthly Retainer",
"budget_type": "time_and_materials",
"total_hours": 40,
"spent_hours": 28,
"remaining_hours": 12
},
"relationships": {
"project": { "data": { "id": "project_id" } },
"company": { "data": { "id": "company_id" } }
}
}
}
# Get time entries for a project
curl -X GET "https://api.productive.io/api/v2/time_entries?filter[project_id]=PROJECT_ID" \
-H "Content-Type: application/vnd.api+json" \
-H "X-Auth-Token: ${PRODUCTIVE_API_TOKEN}" \
-H "X-Organization-Id: ${PRODUCTIVE_ORG_ID}"
Time Entry Response Fields:
{
"data": {
"id": "time_entry_id",
"attributes": {
"date": "2026-01-15",
"time": 120,
"note": "Agent development session"
},
"relationships": {
"person": { "data": { "id": "person_id" } },
"service": { "data": { "id": "service_id" } },
"task": { "data": { "id": "task_id" } }
}
}
}
# Budget Report: [Customer Name]
**Report Period:** [Start Date] - [End Date]
**Generated:** [Current Date]
## Executive Summary
[Customer Name] hat aktuell **[X]h von [Y]h** des gebuchten Kontingents verbraucht.
Das entspricht einer Auslastung von **[Z]%**.
## Kontingent-Übersicht
| Delivery Unit | Typ | Gebucht | Verbraucht | Verbleibend | Status |
|--------------|-----|---------|------------|-------------|--------|
| [Name] | [Type] | [X]h | [Y]h | [Z]h | 🟢/🟡/🔴 |
## Aktivitäten im Berichtszeitraum
### [Delivery Unit 1]
| Datum | Aktivität | Dauer |
|-------|-----------|-------|
| [Date] | [Description] | [Hours] |
**Gesamt:** [X]h
### [Delivery Unit 2]
...
## Burn-Rate Analyse
- **Durchschnittlicher Verbrauch:** [X]h pro Woche
- **Geschätzte Restlaufzeit:** [Y] Wochen
- **Empfohlene Handlung:** [Recommendation]
## Empfehlungen
1. [Recommendation based on usage patterns]
2. [Recommendation for next period]
3. [Recommendation for kontingent adjustment]
---
*Report generiert via /budget skill*
*Datenquelle: Productive.io*
Session Start During Work Reporting
───────────── ─────────── ─────────
/prime Log time in /budget status
↓ Productive.io /budget report
Check kontingent ↓ ↓
status Time accumulates Customer update
Consider adding to /prime:
1. Check customer kontingent status
2. Warn if < 20% remaining
3. Block work if 0% remaining (optional)
# Productive.io API Access
PRODUCTIVE_API_TOKEN=your-api-token
PRODUCTIVE_ORG_ID=your-organization-id
Store customer → Productive.io mapping in .productive-config:
customers:
customer-slug:
productive_company_id: "123456"
productive_project_ids:
- "789012" # Main project
- "345678" # Secondary project
kontingent_warning_threshold: 0.2 # 20%
kontingent_critical_threshold: 0.1 # 10%
⚠️ LOW KONTINGENT ALERT
Customer: [Name]
Delivery Unit: [Name]
Remaining: [X]h ([Y]%)
Burn Rate: [Z]h/week
Estimated Empty: [Date]
Action Required:
- [ ] Contact customer about extension
- [ ] Review planned work scope
- [ ] Prioritize remaining hours
🔴 KONTINGENT EXHAUSTED
Customer: [Name]
Delivery Unit: [Name]
Status: 0h remaining
Immediate Actions:
1. Pause non-critical work
2. Contact customer
3. Document incomplete items
Do NOT continue work without:
- [ ] Customer approval for extension
- [ ] New kontingent booked in Productive.io
Betreff: Kontingent-Update für [Service Name]
Hallo [Contact],
Ihr aktueller Kontingent-Status für [Service Name]:
- Gebucht: [X]h
- Verbraucht: [Y]h
- Verbleibend: [Z]h
[If low:]
Um die Kontinuität unserer Zusammenarbeit zu gewährleisten,
empfehlen wir eine Aufstockung des Kontingents.
[Options for extension]
Bei Fragen stehen wir gerne zur Verfügung.
Mit freundlichen Grüßen,
[Team]
Before running budget commands:
.productive-config?After generating reports: