agent-office 0.6.23 → 0.7.0

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.
Files changed (58) hide show
  1. package/AGENTS.md +0 -0
  2. package/CONTEXT.md +77 -0
  3. package/README.md +87 -6
  4. package/dist/commands/cron-requests.d.ts +5 -5
  5. package/dist/commands/cron-requests.d.ts.map +1 -1
  6. package/dist/commands/cron-requests.js +9 -14
  7. package/dist/commands/cron-requests.js.map +1 -1
  8. package/dist/commands/crons.d.ts +9 -9
  9. package/dist/commands/crons.d.ts.map +1 -1
  10. package/dist/commands/crons.js +17 -27
  11. package/dist/commands/crons.js.map +1 -1
  12. package/dist/commands/messages.d.ts +6 -6
  13. package/dist/commands/messages.d.ts.map +1 -1
  14. package/dist/commands/messages.js +11 -18
  15. package/dist/commands/messages.js.map +1 -1
  16. package/dist/commands/sessions.d.ts +5 -5
  17. package/dist/commands/sessions.d.ts.map +1 -1
  18. package/dist/commands/sessions.js +10 -16
  19. package/dist/commands/sessions.js.map +1 -1
  20. package/dist/commands/task-columns.d.ts +1 -1
  21. package/dist/commands/task-columns.d.ts.map +1 -1
  22. package/dist/commands/task-columns.js +2 -4
  23. package/dist/commands/task-columns.js.map +1 -1
  24. package/dist/commands/tasks.d.ts +10 -10
  25. package/dist/commands/tasks.d.ts.map +1 -1
  26. package/dist/commands/tasks.js +20 -31
  27. package/dist/commands/tasks.js.map +1 -1
  28. package/dist/contracts/commands.d.ts +38 -0
  29. package/dist/contracts/commands.d.ts.map +1 -0
  30. package/dist/contracts/commands.js +469 -0
  31. package/dist/contracts/commands.js.map +1 -0
  32. package/dist/index.js +1062 -160
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/input.d.ts +7 -0
  35. package/dist/lib/input.d.ts.map +1 -0
  36. package/dist/lib/input.js +94 -0
  37. package/dist/lib/input.js.map +1 -0
  38. package/dist/lib/mcp.d.ts +36 -0
  39. package/dist/lib/mcp.d.ts.map +1 -0
  40. package/dist/lib/mcp.js +150 -0
  41. package/dist/lib/mcp.js.map +1 -0
  42. package/dist/lib/output.d.ts +9 -1
  43. package/dist/lib/output.d.ts.map +1 -1
  44. package/dist/lib/output.js +59 -4
  45. package/dist/lib/output.js.map +1 -1
  46. package/dist/lib/schema.d.ts +35 -0
  47. package/dist/lib/schema.d.ts.map +1 -0
  48. package/dist/lib/schema.js +441 -0
  49. package/dist/lib/schema.js.map +1 -0
  50. package/dist/lib/validation.d.ts +15 -0
  51. package/dist/lib/validation.d.ts.map +1 -0
  52. package/dist/lib/validation.js +140 -0
  53. package/dist/lib/validation.js.map +1 -0
  54. package/package.json +5 -2
  55. package/skills/SKILL-create-coworker.md +51 -0
  56. package/skills/SKILL-cron-jobs.md +106 -0
  57. package/skills/SKILL-send-message.md +56 -0
  58. package/skills/SKILL-task-management.md +86 -0
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: agent-office-create-coworker
3
+ version: 1.0.0
4
+ metadata:
5
+ description: Create and manage AI coworkers in the office system
6
+ mutating: true
7
+ ---
8
+
9
+ # Create Coworker Skill
10
+
11
+ This skill guides agents on creating coworkers (AI agent sessions) in the agent-office system.
12
+
13
+ ## Invariants
14
+
15
+ - **Always use --dry-run first** when creating coworkers to validate parameters
16
+ - Coworker names should be unique and descriptive (e.g., "Alice", "Bob", "DevAssistant")
17
+ - coworkerType should reflect the role: `assistant`, `developer`, `manager`, `reviewer`, etc.
18
+ - Confirm with user before creating production coworkers
19
+
20
+ ## Best Practices
21
+
22
+ ```bash
23
+ # Validate first
24
+ agent-office --sqlite ./data.db create-coworker \
25
+ --name "NewCoworker" \
26
+ --coworker-type "assistant" \
27
+ --dry-run
28
+
29
+ # Then execute
30
+ agent-office --sqlite ./data.db create-coworker \
31
+ --name "NewCoworker" \
32
+ --coworker-type "assistant"
33
+ ```
34
+
35
+ ## JSON Input Format (Agent-First)
36
+
37
+ ```bash
38
+ agent-office --sqlite ./data.db create-coworker \
39
+ --json '{"name": "NewCoworker", "coworkerType": "assistant"}'
40
+ ```
41
+
42
+ ## Required Fields
43
+
44
+ - `name`: Unique identifier for the coworker
45
+ - `coworkerType`: Role classification
46
+
47
+ ## Related Commands
48
+
49
+ - `update-coworker` - Modify existing coworker properties
50
+ - `delete-coworker` - Remove coworker and all associated data
51
+ - `list-coworkers` - View all coworkers
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: agent-office-cron-jobs
3
+ version: 1.0.0
4
+ metadata:
5
+ description: Schedule and manage automated tasks
6
+ mutating: true
7
+ ---
8
+
9
+ # Cron Job Management Skill
10
+
11
+ This skill guides agents on creating and managing scheduled cron jobs.
12
+
13
+ ## Invariants
14
+
15
+ - **Always use request-cron workflow for production** (requires approval)
16
+ - **Always use --dry-run** when creating cron jobs
17
+ - Validate cron schedule expression format before creating
18
+ - Include clear timezone specification
19
+ - Document who to notify on completion
20
+
21
+ ## Two Workflows
22
+
23
+ ### 1. Request-Approval Workflow (Production)
24
+
25
+ For production cron jobs, use the approval workflow:
26
+
27
+ ```bash
28
+ # Request (creates pending request)
29
+ agent-office --sqlite ./data.db request-cron \
30
+ --name "Daily Report" \
31
+ --coworker "Alice" \
32
+ --schedule "0 9 * * *" \
33
+ --task "Generate daily summary report" \
34
+ --notify "Bob, Charlie" \
35
+ --timezone "America/New_York"
36
+
37
+ # List pending requests
38
+ agent-office --sqlite ./data.db list-cron-requests
39
+
40
+ # Approve (requires reviewer)
41
+ agent-office --sqlite ./data.db approve-cron-request \
42
+ --id 1 \
43
+ --reviewer "Manager" \
44
+ --notes "Approved for daily execution"
45
+ ```
46
+
47
+ ### 2. Direct Creation (Development/Testing)
48
+
49
+ For development only:
50
+
51
+ ```bash
52
+ agent-office --sqlite ./data.db create-cron \
53
+ --name "Test Job" \
54
+ --coworker "TestBot" \
55
+ --schedule "*/5 * * * *" \
56
+ --task "Run test suite" \
57
+ --notify "Developer" \
58
+ --timezone "UTC" \
59
+ --dry-run # Validate first
60
+ ```
61
+
62
+ ## JSON Input Format
63
+
64
+ ```bash
65
+ agent-office --sqlite ./data.db create-cron \
66
+ --json '{
67
+ "name": "Daily Report",
68
+ "coworker": "Alice",
69
+ "schedule": "0 9 * * *",
70
+ "task": "Generate daily summary",
71
+ "notify": "Bob, Charlie",
72
+ "timezone": "America/New_York"
73
+ }'
74
+ ```
75
+
76
+ ## Cron Schedule Format
77
+
78
+ Standard cron expression: `min hour day month weekday`
79
+
80
+ Examples:
81
+
82
+ - `0 9 * * 1` - Every Monday at 9 AM
83
+ - `0 */6 * * *` - Every 6 hours
84
+ - `0 9 * * *` - Daily at 9 AM
85
+ - `*/5 * * * *` - Every 5 minutes (testing)
86
+
87
+ ## Safety Guidelines
88
+
89
+ 1. **Start with --dry-run** to validate
90
+ 2. **Use request-cron for production** (enables approval workflow)
91
+ 3. **Test schedules** with frequent intervals first
92
+ 4. **Document dependencies** in the task description
93
+ 5. **Always specify timezone** explicitly
94
+
95
+ ## Monitoring
96
+
97
+ ```bash
98
+ # Check if cron should run this minute
99
+ agent-office --sqlite ./data.db check-cron-jobs --coworker "Alice"
100
+
101
+ # Get actionable cron jobs for AI execution
102
+ agent-office --sqlite ./data.db list-active-cron-actions --coworker "Alice"
103
+
104
+ # View execution history
105
+ agent-office --sqlite ./data.db cron-history --id 1 --limit 10
106
+ ```
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: agent-office-send-message
3
+ version: 1.0.0
4
+ metadata:
5
+ description: Send messages between coworkers
6
+ mutating: true
7
+ ---
8
+
9
+ # Send Message Skill
10
+
11
+ This skill guides agents on sending messages between AI coworkers.
12
+
13
+ ## Invariants
14
+
15
+ - **Always use --dry-run first** for important messages
16
+ - Verify recipient names exist via `list-coworkers` before sending
17
+ - Message body should be clear and actionable
18
+ - Use `--json` for complex messages with formatting
19
+
20
+ ## Best Practices
21
+
22
+ ```bash
23
+ # List coworkers first to verify recipients
24
+ agent-office --sqlite ./data.db list-coworkers --fields name
25
+
26
+ # Send with validation
27
+ agent-office --sqlite ./data.db send-message \
28
+ --from "Alice" \
29
+ --to "Bob" "Charlie" \
30
+ --body "Task complete. Please review." \
31
+ --dry-run
32
+
33
+ # Execute
34
+ agent-office --sqlite ./data.db send-message \
35
+ --from "Alice" \
36
+ --to "Bob" "Charlie" \
37
+ --body "Task complete. Please review."
38
+ ```
39
+
40
+ ## JSON Input Format
41
+
42
+ ```bash
43
+ agent-office --sqlite ./data.db send-message \
44
+ --json '{
45
+ "from": "Alice",
46
+ "to": ["Bob", "Charlie"],
47
+ "body": "Task complete. Please review."
48
+ }'
49
+ ```
50
+
51
+ ## Important Notes
52
+
53
+ - Recipients must exist as coworkers
54
+ - Multiple recipients can be specified
55
+ - Messages are tracked with read/unread status
56
+ - Use `check-unread-messages` to poll for responses
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: agent-office-task-management
3
+ version: 1.0.0
4
+ metadata:
5
+ description: Manage tasks in the Kanban board
6
+ mutating: true
7
+ ---
8
+
9
+ # Task Management Skill
10
+
11
+ This skill guides agents on managing tasks in the agent-office Kanban system.
12
+
13
+ ## Invariants
14
+
15
+ - **Always use --dry-run for mutating operations** (add-task, move-task, assign-task, delete-task)
16
+ - **Always use --fields** when listing tasks to limit response size
17
+ - Tasks must move through columns in logical order: idea → approved idea → working on → ready for review → done
18
+ - Check task dependencies before moving to "working on"
19
+
20
+ ## Task Board Columns
21
+
22
+ 1. `idea` - New proposals (default)
23
+ 2. `approved idea` - Approved, ready to start
24
+ 3. `working on` - In progress
25
+ 4. `blocked` - Blocked by dependencies/issues
26
+ 5. `ready for review` - Awaiting review
27
+ 6. `done` - Completed
28
+
29
+ ## Best Practices
30
+
31
+ ```bash
32
+ # List tasks with field filtering (context window discipline)
33
+ agent-office --sqlite ./data.db list-tasks \
34
+ --fields id,title,column,assignee
35
+
36
+ # Add task with validation
37
+ agent-office --sqlite ./data.db add-task \
38
+ --title "Implement auth" \
39
+ --column "idea" \
40
+ --assignee "Alice" \
41
+ --dry-run
42
+
43
+ # Move task through workflow
44
+ agent-office --sqlite ./data.db move-task \
45
+ --id 42 \
46
+ --column "working on"
47
+
48
+ # Assign to reviewer
49
+ agent-office --sqlite ./data.db assign-task \
50
+ --id 42 \
51
+ --assignee "ReviewerBot"
52
+ ```
53
+
54
+ ## JSON Input Format
55
+
56
+ ```bash
57
+ agent-office --sqlite ./data.db add-task \
58
+ --json '{
59
+ "title": "Implement auth",
60
+ "description": "Add JWT authentication",
61
+ "column": "idea",
62
+ "assignee": "Alice"
63
+ }'
64
+ ```
65
+
66
+ ## Context Window Discipline
67
+
68
+ ```bash
69
+ # Bad - returns all fields for all tasks
70
+ agent-office --sqlite ./data.db list-tasks
71
+
72
+ # Good - only return needed fields
73
+ agent-office --sqlite ./data.db list-tasks \
74
+ --fields id,title,column
75
+
76
+ # Better - filter then field mask
77
+ agent-office --sqlite ./data.db list-tasks \
78
+ --column "working on" \
79
+ --fields id,title,assignee
80
+ ```
81
+
82
+ ## Related Commands
83
+
84
+ - `task-stats` - Overview of tasks by column
85
+ - `task-history` - View task's column transitions
86
+ - `list-task-columns` - Show valid column names