@studiometa/productive-mcp 0.10.5 → 0.10.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/skills/SKILL.md CHANGED
@@ -472,89 +472,166 @@ Compound workflows that chain multiple operations into a single tool call.
472
472
 
473
473
  ## Filters Reference
474
474
 
475
+ > **Tip:** Use `action: "help"` on any resource to see the full, up-to-date list of filters, fields, and examples. Use `action: "schema"` for a compact machine-readable spec.
476
+ >
477
+ > ```json
478
+ > { "resource": "tasks", "action": "help" }
479
+ > { "resource": "tasks", "action": "schema" }
480
+ > ```
481
+
482
+ ### Text Search with `query`
483
+
484
+ Many resources support a `query` filter for full-text search. You can pass it either as a top-level shorthand or via the `filter` object (passthrough pattern):
485
+
486
+ ```json
487
+ // Shorthand (top-level)
488
+ { "resource": "projects", "action": "list", "query": "website" }
489
+
490
+ // Filter passthrough (explicit)
491
+ { "resource": "projects", "action": "list", "filter": { "query": "website" } }
492
+ ```
493
+
494
+ Resources that support `query`: **projects**, **tasks**, **people**, **companies**, **deals**
495
+
475
496
  ### Time Entries
476
497
 
477
- - `person_id` - Filter by person (use "me" for current user)
478
- - `project_id` - Filter by project
479
- - `service_id` - Filter by service
480
- - `task_id` - Filter by task
481
- - `company_id` - Filter by company
482
- - `deal_id` / `budget_id` - Filter by deal/budget
483
- - `after` - After date (YYYY-MM-DD)
484
- - `before` - Before date (YYYY-MM-DD)
498
+ - `person_id` - Filter by person (use "me" for current user) (array)
499
+ - `project_id` - Filter by project (array)
500
+ - `service_id` - Filter by service (array)
501
+ - `task_id` - Filter by task (array)
502
+ - `company_id` - Filter by company (array)
503
+ - `deal_id` / `budget_id` - Filter by deal/budget (array)
504
+ - `after` / `before` - Date range (YYYY-MM-DD)
505
+ - `date` - Exact date (YYYY-MM-DD)
485
506
  - `status` - Approval status: `1`=approved, `2`=unapproved, `3`=rejected
486
507
  - `billing_type_id` - Billing type: `1`=fixed, `2`=actuals, `3`=non_billable
487
508
  - `invoicing_status` - Invoicing: `1`=not_invoiced, `2`=drafted, `3`=finalized
509
+ - `invoiced` - Invoiced status (boolean)
510
+ - `creator_id` / `approver_id` - Filter by creator or approver (array)
511
+ - `booking_id` - Filter by booking (array)
512
+ - `autotracked` - Auto-tracked entries (boolean)
488
513
 
489
514
  ### Tasks
490
515
 
491
- - `project_id` - Filter by project
492
- - `company_id` - Filter by company
493
- - `assignee_id` - Filter by assigned person
494
- - `creator_id` - Filter by task creator
516
+ - `query` - Text search on task title
517
+ - `project_id` - Filter by project (array)
518
+ - `company_id` - Filter by company (array)
519
+ - `assignee_id` - Filter by assigned person (array)
520
+ - `creator_id` - Filter by task creator (array)
495
521
  - `status` - Status: `1`=open, `2`=closed (or "open", "closed", "all")
496
- - `task_list_id` - Filter by task list
497
- - `board_id` - Filter by board
498
- - `workflow_status_id` - Filter by workflow status (kanban column)
499
- - `parent_task_id` - Filter by parent task (for subtasks)
522
+ - `task_list_id` - Filter by task list (array)
523
+ - `task_list_status` - Task list status: `1`=open, `2`=closed
524
+ - `board_id` - Filter by board (array)
525
+ - `workflow_status_id` - Filter by workflow status/kanban column (array)
526
+ - `workflow_status_category_id` - Workflow category: `1`=not started, `2`=started, `3`=closed
527
+ - `workflow_id` - Filter by workflow (array)
528
+ - `parent_task_id` - Filter by parent task (for subtasks) (array)
529
+ - `task_type` - Task type: `1`=parent task, `2`=subtask
500
530
  - `overdue_status` - Overdue: `1`=not overdue, `2`=overdue
501
531
  - `due_date_on` / `due_date_before` / `due_date_after` - Due date filters
532
+ - `start_date_before` / `start_date_after` - Start date filters
533
+ - `after` / `before` - Created date range
534
+ - `closed_after` / `closed_before` - Closed date range
535
+ - `project_manager_id` - Filter by project manager (array)
536
+ - `subscriber_id` - Filter by subscriber/watcher (array)
537
+ - `tags` - Filter by tags
502
538
 
503
539
  ### Projects
504
540
 
505
- - `company_id` - Filter by company
541
+ - `query` - Text search on project name
542
+ - `company_id` - Filter by company (array)
506
543
  - `project_type` - Type: `1`=internal, `2`=client
507
- - `responsible_id` - Filter by project manager
508
- - `person_id` - Filter by team member
544
+ - `responsible_id` - Filter by project manager (array)
545
+ - `person_id` - Filter by team member (array)
509
546
  - `status` - Status: `1`=active, `2`=archived
510
547
 
511
548
  ### Services
512
549
 
513
- - `project_id` - Filter by project
514
- - `deal_id` - Filter by deal
515
- - `task_id` - Filter by task
516
- - `person_id` - Filter by person (trackable by)
550
+ - `project_id` - Filter by project (array)
551
+ - `deal_id` - Filter by deal (array)
552
+ - `task_id` - Filter by task (array)
553
+ - `person_id` - Filter by person/trackable by (array)
554
+ - `name` - Filter by service name (text match)
517
555
  - `budget_status` - Status: `1`=open, `2`=delivered
556
+ - `stage_status_id` - Stage: `1`=open, `2`=won, `3`=lost, `4`=delivered (array)
518
557
  - `billing_type` - Type: `1`=fixed, `2`=actuals, `3`=none
519
- - `time_tracking_enabled` - Boolean
558
+ - `unit` - Unit: `1`=hour, `2`=piece, `3`=day
559
+ - `time_tracking_enabled` / `expense_tracking_enabled` - Boolean
560
+ - `trackable_by_person_id` - Services trackable by a specific person
561
+ - `after` / `before` - Date range
520
562
 
521
563
  ### People
522
564
 
565
+ - `query` - Text search on name or email
566
+ - `email` - Filter by exact email address
523
567
  - `status` - Status: `1`=active, `2`=deactivated
524
568
  - `person_type` - Type: `1`=user, `2`=contact, `3`=placeholder
525
- - `company_id` - Filter by company
569
+ - `company_id` - Filter by company (array)
526
570
  - `project_id` - Filter by project
527
- - `role_id` - Filter by role
571
+ - `role_id` - Filter by role (array)
528
572
  - `team` - Filter by team name
573
+ - `manager_id` - Filter by manager
574
+ - `custom_role_id` - Filter by custom role
575
+ - `tags` - Filter by tags
576
+
577
+ ### Companies
578
+
579
+ - `query` - Text search on company name
580
+ - `name` - Exact name match
581
+ - `company_code` / `billing_name` / `vat` - Filter by specific fields
582
+ - `status` - Status (integer)
583
+ - `archived` - Archived status (boolean)
584
+ - `project_id` - Filter by project (array)
585
+ - `subsidiary_id` - Filter by subsidiary (array)
586
+ - `default_currency` - Filter by currency code (e.g. USD, EUR)
529
587
 
530
588
  ### Deals
531
589
 
532
- - `company_id` - Filter by company
533
- - `project_id` - Filter by project
534
- - `responsible_id` - Filter by responsible person
535
- - `pipeline_id` - Filter by pipeline
536
- - `stage_status_id` - Stage: `1`=open, `2`=won, `3`=lost
590
+ - `query` - Text search on deal name
591
+ - `number` - Filter by deal number
592
+ - `company_id` - Filter by company (array)
593
+ - `project_id` - Filter by project (array)
594
+ - `responsible_id` - Filter by responsible person (array)
595
+ - `creator_id` - Filter by creator (array)
596
+ - `pipeline_id` - Filter by pipeline (array)
597
+ - `stage_status_id` - Stage: `1`=open, `2`=won, `3`=lost (array)
598
+ - `status_id` - Filter by deal status (array)
537
599
  - `type` - Type: `1`=deal, `2`=budget
600
+ - `deal_type_id` - Deal type: `1`=internal, `2`=client
538
601
  - `budget_status` - Budget status: `1`=open, `2`=closed
602
+ - `project_type` - Project type: `1`=internal, `2`=client
603
+ - `subsidiary_id` - Filter by subsidiary (array)
604
+ - `tags` - Filter by tags
605
+ - `recurring` - Recurring deals (boolean)
606
+ - `needs_invoicing` / `time_approval` - Boolean filters
539
607
 
540
608
  > **Note:** Budgets are deals with `budget=true`. There is no separate `/budgets` endpoint. Use `filter[type]=2` to list only budgets.
541
609
 
542
610
  ### Bookings
543
611
 
544
- - `person_id` - Filter by person
612
+ - `person_id` - Filter by person (array)
545
613
  - `service_id` - Filter by service
546
- - `project_id` - Filter by project
547
- - `company_id` - Filter by company
548
- - `event_id` - Filter by event
549
- - `after` / `before` - Date range
614
+ - `project_id` - Filter by project (array)
615
+ - `company_id` - Filter by company (array)
616
+ - `event_id` - Filter by event/absence (array)
617
+ - `task_id` - Filter by task (array)
618
+ - `approver_id` - Filter by approver (array)
619
+ - `after` / `before` - Date range (YYYY-MM-DD)
620
+ - `started_on` / `ended_on` - Exact start/end date
550
621
  - `booking_type` - Type: `event` (absence) or `service` (budget)
551
- - `draft` - Tentative status: `true`/`false`
622
+ - `draft` - Tentative bookings only: `true`/`false`
623
+ - `with_draft` - Include tentative bookings: `true`/`false`
624
+ - `status` / `approval_status` - Approval status (array)
625
+ - `billing_type_id` - Billing type: `1`=fixed, `2`=actuals, `3`=none (array)
626
+ - `person_type` - Person type: `1`=user, `2`=contact, `3`=placeholder
627
+ - `canceled` - Canceled bookings (boolean)
552
628
 
553
629
  ### Pages
554
630
 
555
- - `project_id` - Filter by project
631
+ - `project_id` - Filter by project (array)
556
632
  - `creator_id` - Filter by creator
557
633
  - `parent_page_id` - Filter by parent page (for sub-pages)
634
+ - `edited_at` - Filter by last edited date (ISO 8601)
558
635
 
559
636
  ### Discussions
560
637
 
@@ -564,15 +641,29 @@ Compound workflows that chain multiple operations into a single tool call.
564
641
  ### Comments
565
642
 
566
643
  - `task_id` - Filter by task
567
- - `deal_id` - Filter by deal
568
- - `project_id` - Filter by project
569
- - `page_id` - Filter by page
644
+ - `project_id` - Filter by project (array)
645
+ - `page_id` - Filter by page (array)
570
646
  - `discussion_id` - Filter by discussion
647
+ - `draft` - Draft comments: `true`/`false`
648
+ - `workflow_status_category_id` - Filter by workflow status category (array)
649
+
650
+ ### Activities
651
+
652
+ - `event` - Event type: create, copy, update, delete, etc.
653
+ - `type` - Activity type: `1`=Comment, `2`=Changeset, `3`=Email
654
+ - `after` / `before` - ISO 8601 timestamp range
655
+ - `person_id` - Filter by person (array)
656
+ - `project_id` - Filter by project (array)
657
+ - `company_id` / `task_id` / `deal_id` / `discussion_id` - Filter by resource (array)
658
+ - `item_type` - Resource type (e.g. Task, Page, Deal, Workspace)
659
+ - `parent_type` / `root_type` - Parent/root resource type
660
+ - `has_attachments` / `pinned` - Boolean filters
571
661
 
572
662
  ### Timers
573
663
 
574
664
  - `person_id` - Filter by person
575
665
  - `time_entry_id` - Filter by time entry
666
+ - `started_at` / `stopped_at` - Filter by start/stop time (ISO 8601)
576
667
 
577
668
  ## Include (Related Resources)
578
669