← Back to Axel
AgentAxel
Projects and resource planning
Connects customer orders to delivery work, capacity, approved time and the correct billing basis.
projects-resource-planning
See how it helpsWhen is it useful?
Use when project commitments exceed available people or billing loses its source records.
What does it help you do?
- Preserves order-to-project lineage and delivery structure.
- Compares assignments and demand against actual capacity.
- Locks approved time or expenses and distinguishes milestone from time-based billing.
Try asking this
Plan delivery from a signed order with limited consultant availability and traceable milestone invoices.
Detailed documentation
Read the skill’s original instructions, examples and checks in their authored language.
Show less
Projects & Resource Planning
When to Use
Use when building or extending project delivery, professional services automation (PSA), resource scheduling/capacity planning, timesheets, billable expenses, or order-to-project delivery workflows.
1. Order-to-Project Lineage & Delivery Structure
In service and hybrid businesses, a won Opportunity or confirmed SalesOrder triggers a delivery Project:
- Link
project.source_order_id/opportunity_idandaccount_idso budget, contracted hours, and milestone deliverables trace directly back to the commercial agreement. - Model Phases / Milestones and Tasks / Work Packages with explicit budgets (
budgeted_hours,budgeted_amount_minor), target dates, and completion states (planned$\rightarrow$in_progress$\rightarrow$ready_for_acceptance$\rightarrow$accepted).
2. Resource Allocation & Capacity vs. Demand
Prevent double-booking people, equipment, or rooms by modeling both Capacity Supply and Allocated Demand:
- Available Capacity: Working calendar hours per resource (
resource_id, role/skill tags, standard hours/day minus approved time off/holidays). - Resource Allocations (Soft vs. Hard Bookings):
soft_booked: Tentative hold from an open high-probability opportunity or draft project plan.hard_booked: Confirmed commitment on an active project (start_date,end_date,allocated_hours_per_dayor% utilization).
- Utilization & Over-Allocation Detection:
- Compute
utilization = allocated_hours / available_capacity_hoursper time bucket (day/week) and flag over-allocations (> 100%) or skill/role shortages early.
- Compute
3. Time & Expense Capture with Approval Locks
- Timesheet & Expense Entries:
- Record
resource_id,project_id,task_id,work_date,duration_minutes(orhours NUMERIC(6,2)),billableboolean,billing_rate_snapshot,cost_rate_snapshot, andstatus(draft$\rightarrow$submitted$\rightarrow$approved$\rightarrow$invoiced).
- Record
- Immutability After Approval / Invoicing:
- Once a time or expense entry is
approvedor linked to aninvoice_line_id, lock it against direct edits! Corrections must use an explicit adjustment/credit entry so project profitability and customer invoices never drift.
- Once a time or expense entry is
4. Project Billing Models (T&M vs. Fixed-Price Milestones)
- Time & Materials (T&M): Aggregate approved, unbilled (
billable = true AND invoice_line_id IS NULL) time and expense entries within the billing period, locking them atomically when generating the draft invoice. - Fixed-Price / Milestone Billing: Trigger invoice eligibility when a
ProjectMilestonetransitions toaccepted, trackingcontract_amount - billed_to_date = remaining_to_bill.
Included files 1
SKILL.md
