@forwardimpact/outpost 3.3.0 → 3.3.2

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 (37) hide show
  1. package/package.json +1 -1
  2. package/src/kb-manager.js +1 -6
  3. package/templates/.claude/agents/chief-of-staff.md +0 -3
  4. package/templates/.claude/agents/concierge.md +3 -3
  5. package/templates/.claude/agents/librarian.md +0 -1
  6. package/templates/.claude/settings.json +2 -2
  7. package/templates/.claude/skills/{hyprnote-follow → anarlog-follow}/SKILL.md +12 -12
  8. package/templates/.claude/skills/{hyprnote-follow → anarlog-follow}/references/coaching.md +3 -3
  9. package/templates/.claude/skills/{hyprnote-follow → anarlog-follow}/references/debrief.md +2 -2
  10. package/templates/.claude/skills/{hyprnote-follow → anarlog-follow}/references/meeting-types.md +1 -1
  11. package/templates/.claude/skills/{hyprnote-follow → anarlog-follow}/scripts/follow.mjs +3 -3
  12. package/templates/.claude/skills/{hyprnote-process → anarlog-process}/SKILL.md +20 -16
  13. package/templates/.claude/skills/{hyprnote-process → anarlog-process}/references/extraction.md +2 -2
  14. package/templates/.claude/skills/{hyprnote-process → anarlog-process}/references/sessions.md +5 -5
  15. package/templates/.claude/skills/{hyprnote-process → anarlog-process}/scripts/scan.mjs +5 -8
  16. package/templates/.claude/skills/{hyprnote-trim → anarlog-trim}/SKILL.md +15 -15
  17. package/templates/.claude/skills/candidate-report/SKILL.md +1 -1
  18. package/templates/.claude/skills/candidate-report/references/rubric.md +12 -12
  19. package/templates/.claude/skills/extract-entities/SKILL.md +11 -6
  20. package/templates/.claude/skills/extract-entities/references/TEMPLATES.md +2 -2
  21. package/templates/.claude/skills/extract-entities/references/recruitment.md +2 -1
  22. package/templates/.claude/skills/extract-entities/references/resolution.md +15 -0
  23. package/templates/.claude/skills/extract-entities/references/sources.md +8 -1
  24. package/templates/.claude/skills/extract-entities/references/templates-goals-priorities.md +1 -1
  25. package/templates/.claude/skills/identify-user/SKILL.md +103 -0
  26. package/templates/.claude/skills/identify-user/scripts/identify.sh +89 -0
  27. package/templates/.claude/skills/req-assess/SKILL.md +1 -1
  28. package/templates/.claude/skills/req-track/SKILL.md +7 -4
  29. package/templates/.claude/skills/req-workday/SKILL.md +5 -3
  30. package/templates/.claude/skills/sync-teams/scripts/sync.mjs +4 -3
  31. package/templates/.claude/skills/upstream-skill/references/examples.md +5 -5
  32. package/templates/CLAUDE.md +45 -46
  33. package/templates/.claude/skills/manage-tasks/SKILL.md +0 -152
  34. package/templates/.claude/skills/manage-tasks/references/format.md +0 -73
  35. package/templates/.claude/skills/weekly-update/SKILL.md +0 -141
  36. package/templates/.claude/skills/weekly-update/references/template.md +0 -55
  37. package/templates/USER.md +0 -3
@@ -1,152 +0,0 @@
1
- ---
2
- name: manage-tasks
3
- description: Create, update, list, and close tasks on per-person task boards in knowledge/Tasks/. Manages task lifecycle, extracts action items from other skills, and keeps boards current. Use when the user asks to add, update, or review tasks, or when chained from extract-entities or hyprnote-process.
4
- ---
5
-
6
- # Manage Tasks
7
-
8
- Manage per-person task boards in `knowledge/Tasks/`. Each person has a single
9
- living document tracking open, in-progress, blocked, and recently completed
10
- tasks. Task boards are the **canonical source** for task tracking — other notes
11
- link to them rather than duplicating.
12
-
13
- ## Trigger
14
-
15
- - The user asks to add, update, close, or list tasks.
16
- - Chained from `extract-entities` or `hyprnote-process` with extracted action
17
- items.
18
- - The user asks to see someone's task board or workload.
19
- - Scheduled housekeeping (prune done items, flag overdue).
20
-
21
- ## Prerequisites
22
-
23
- - `knowledge/Tasks/` directory exists.
24
- - User identity configured in `USER.md`.
25
-
26
- ## Inputs
27
-
28
- User-initiated: person name and task details from the request.
29
-
30
- Chained from other skills, action items in this shape:
31
-
32
- ```
33
- TASKS:
34
- - Owner: {Full Name}
35
- Task: {Description — starts with a verb}
36
- Priority: high|medium|low
37
- Due: YYYY-MM-DD (if known)
38
- Source: meeting|email
39
- Source date: YYYY-MM-DD
40
- Project: {Project Name} (if applicable)
41
- Context: {brief context}
42
- ```
43
-
44
- ## Outputs
45
-
46
- - `knowledge/Tasks/{Person Name}.md` — created or updated.
47
-
48
- <do_confirm_checklist goal="Verify task board changes are clean and consistent">
49
-
50
- - [ ] Task title is actionable and starts with a verb.
51
- - [ ] Priority is set; medium-default omitted.
52
- - [ ] Due date present only when there's a real deadline.
53
- - [ ] Project link `[[Projects/Name]]` set when applicable.
54
- - [ ] No duplicate tasks on the board.
55
- - [ ] All backlinks use absolute paths `[[Folder/Name]]`.
56
- - [ ] Context line is concise (1–2 lines max).
57
- - [ ] New boards include all four sections.
58
- - [ ] Housekeeping pruned `## Recently Done` to the last 14 days.
59
-
60
- </do_confirm_checklist>
61
-
62
- Board layout, entry format, conventions, and useful queries:
63
- [references/format.md](references/format.md).
64
-
65
- ## Procedure
66
-
67
- ### 1. Resolve the person
68
-
69
- Read `USER.md`, then resolve the target name to its canonical form:
70
-
71
- ```bash
72
- ls knowledge/Tasks/
73
- rg "{name}" knowledge/People/
74
- ```
75
-
76
- If no board exists yet, create one (Step 4).
77
-
78
- ### 2. Read the current board
79
-
80
- ```bash
81
- cat "knowledge/Tasks/{Person Name}.md"
82
- ```
83
-
84
- Parse the existing entries to: avoid duplicates, understand current workload,
85
- and find the right insertion point.
86
-
87
- ### 3. Perform the operation
88
-
89
- Pick **add**, **update**, **close**, **list**, or **housekeeping** based on the
90
- request.
91
-
92
- #### Add
93
-
94
- 1. Check for duplicates. If a near-duplicate exists, update it instead.
95
- 2. Pick the section per the routing rules in
96
- [references/format.md](references/format.md#section-routing).
97
- 3. Append the entry at the **bottom** of that section using the format from
98
- `references/format.md`.
99
- 4. Verify any referenced Project note exists.
100
-
101
- #### Update
102
-
103
- Find the task by its bold title (fuzzy match OK). Apply changes:
104
-
105
- - **Status change:** move the entire entry between sections.
106
- - **Priority change:** update the `| {priority} |` segment.
107
- - **Due date change:** update or add `| due YYYY-MM-DD |`.
108
- - **Add context:** append to the indented line.
109
-
110
- Use Edit for targeted modifications.
111
-
112
- #### Close
113
-
114
- Find the task, remove it from its section, and add to the **top** of
115
- `## Recently Done` using the closed-task format in
116
- [references/format.md](references/format.md#closed-task-format).
117
-
118
- #### List
119
-
120
- Run the queries in [references/format.md](references/format.md#useful-queries)
121
- and present results grouped by person or project as the user's question
122
- warrants.
123
-
124
- #### Housekeeping (scheduled)
125
-
126
- 1. Prune entries older than 14 days from `## Recently Done`.
127
- 2. Flag overdue tasks (due in the past, still in `## Open` or `## In Progress`)
128
- — report to the user; do **not** auto-modify.
129
- 3. Merge duplicates on the same board.
130
- 4. Spot-check `[[People/]]`, `[[Projects/]]`, `[[Goals/]]` references point to
131
- existing notes.
132
-
133
- ### 4. Write updates
134
-
135
- For a new board, create `knowledge/Tasks/{Person Name}.md` with all four
136
- sections (template in
137
- [references/format.md](references/format.md#board-structure)).
138
-
139
- For an existing board, use Edit for targeted changes — never rewrite the whole
140
- file.
141
-
142
- ### 5. Migrate open items (one-time)
143
-
144
- When first setting up boards, scan source notes for `## Open items` sections:
145
-
146
- ```bash
147
- rg -l "## Open items" knowledge/People/ knowledge/Projects/ knowledge/Goals/
148
- ```
149
-
150
- Convert each item into a task entry on the relevant person's board. **Do not**
151
- remove the original — it stays as the historical record; the board becomes the
152
- living tracker.
@@ -1,73 +0,0 @@
1
- # Task Board Format
2
-
3
- Reference data for `manage-tasks`.
4
-
5
- ## Board structure
6
-
7
- Each task board is a markdown file with four sections, always present (even if
8
- empty), in this order:
9
-
10
- ```markdown
11
- # {Person Name}
12
-
13
- ## In Progress
14
-
15
- ## Open
16
-
17
- ## Blocked
18
-
19
- ## Recently Done
20
- ```
21
-
22
- ## Task entry
23
-
24
- ```markdown
25
- - [ ] **{Task title}** | {priority} | due {YYYY-MM-DD} | [[Projects/Name]] → [[Goals/Name]]
26
- {Context line with source info and backlinks.}
27
- ```
28
-
29
- ### Conventions
30
-
31
- - **Priorities:** `high` | `medium` | `low`. Omit when medium (the default).
32
- - **Due dates:** include only when there is a real deadline. Format
33
- `due YYYY-MM-DD`.
34
- - **Goal link:** append `→ [[Goals/Name]]` only when the task clearly serves a
35
- specific Goal — not every task needs one.
36
- - **Titles are the ID:** keep them unique within a board. No task IDs.
37
- - **Recently Done:** keep the last 14 days; older entries are pruned during
38
- housekeeping.
39
-
40
- ## Closed-task format
41
-
42
- Closed entries drop priority, due date, project link, and context:
43
-
44
- ```markdown
45
- - [x] **{Task title}** | completed {YYYY-MM-DD}
46
- ```
47
-
48
- ## Section routing
49
-
50
- - Default add target: `## Open`.
51
- - Move to `## In Progress` when the user says "I'm working on" / "started".
52
- - Move to `## Blocked` when the user describes a wait condition; include what's
53
- needed and from whom in the context line.
54
- - Move to `## Recently Done` when closed.
55
-
56
- ## Useful queries
57
-
58
- ```bash
59
- # All open / in-progress tasks
60
- rg "^- \[ \] \*\*" knowledge/Tasks/
61
-
62
- # Tasks for a specific project
63
- rg "Projects/{Name}" knowledge/Tasks/
64
-
65
- # High priority tasks
66
- rg "\| high \|" knowledge/Tasks/
67
-
68
- # Find every due date — compare against today to spot overdue
69
- rg "due 20[0-9]{2}-[0-9]{2}-[0-9]{2}" knowledge/Tasks/
70
-
71
- # Blocked tasks with their context
72
- rg -A1 "^- \[ \]" knowledge/Tasks/ | rg -B1 "Waiting on"
73
- ```
@@ -1,141 +0,0 @@
1
- ---
2
- name: weekly-update
3
- description: Generate or refresh a weekly priorities document. Pulls from task boards, recent activity, and calendar to create a point-in-time snapshot. Use when the user asks to update their weekly, prep for the week, or on a Monday morning schedule.
4
- ---
5
-
6
- # Weekly Update
7
-
8
- Generate or refresh a weekly priorities document in
9
- `knowledge/Weeklies/{Person Name}/`. Each weekly is a point-in-time snapshot —
10
- created at the start of the week, updated as priorities shift, and closed out
11
- with a retrospective at end-of-week.
12
-
13
- ## Trigger
14
-
15
- - The user asks to update their weekly or prep for the week.
16
- - Monday mornings (scheduled).
17
- - The user asks to review someone's weekly.
18
- - End-of-week to fill in accomplishments and retrospective.
19
-
20
- ## Prerequisites
21
-
22
- - `knowledge/Weeklies/` exists.
23
- - `knowledge/Tasks/{Person Name}.md` exists (see `manage-tasks`).
24
- - Calendar data in `~/.cache/fit/outpost/apple_calendar/`.
25
- - User identity configured in `USER.md`.
26
-
27
- ## Inputs
28
-
29
- - `knowledge/Tasks/{Person Name}.md` — current task board.
30
- - `knowledge/People/{Person Name}.md` — recent activity, context.
31
- - `knowledge/Goals/*.md` — active goals (for linking priorities).
32
- - `knowledge/Priorities/*.md` — strategic pillars (for the focus statement).
33
- - `~/.cache/fit/outpost/apple_calendar/*.json` — week's events.
34
- - Previous weekly (if any) — continuity and carry-forward.
35
-
36
- ## Outputs
37
-
38
- - `knowledge/Weeklies/{Person Name}/{YYYY}-W{WW}.md`.
39
-
40
- <do_confirm_checklist goal="Verify the weekly snapshot is accurate before
41
- saving">
42
-
43
- - [ ] ISO week number and date range are correct.
44
- - [ ] Focus statement reflects the actual week (not generic).
45
- - [ ] Priorities pulled from the task board (not invented), capped at 5–7.
46
- - [ ] Key meetings pulled from calendar; attendees resolved to `[[People/Name]]`
47
- where known.
48
- - [ ] Blockers match the task board's `## Blocked` section.
49
- - [ ] Carry-forward items from the previous week are included.
50
- - [ ] All backlinks use absolute paths.
51
- - [ ] Retrospective is filled only at end-of-week.
52
-
53
- </do_confirm_checklist>
54
-
55
- Document layout, conventions, and date helpers:
56
- [references/template.md](references/template.md).
57
-
58
- ## Procedure
59
-
60
- ### 1. Pick the target
61
-
62
- Read `USER.md` for identity. Default the target to the current user; otherwise,
63
- the person the user named. Compute the current ISO week and the Monday–Friday
64
- range — see the date helpers in
65
- [references/template.md](references/template.md#date-helpers-macos).
66
-
67
- Check whether a weekly exists for this week:
68
-
69
- ```bash
70
- ls "knowledge/Weeklies/{Person Name}/" 2>/dev/null
71
- ```
72
-
73
- - **No file:** new (start-of-week).
74
- - **File present:** update (mid-week or end-of-week).
75
-
76
- ### 2. Gather context
77
-
78
- **Task board:**
79
-
80
- ```bash
81
- cat "knowledge/Tasks/{Person Name}.md"
82
- ```
83
-
84
- - `## In Progress` → top priorities.
85
- - `## Open` with `high` priority or near due dates → candidate priorities.
86
- - `## Blocked` → blockers section.
87
- - `## Recently Done` items completed this week → accomplishments.
88
-
89
- **Recent activity:** `cat "knowledge/People/{Person Name}.md"` — `## Activity`
90
- for this week's entries.
91
-
92
- **Calendar:** read events in the Mon–Fri range. Capture title, attendees
93
- (resolve to `[[People/Name]]`), day, and agenda. Filter out all-day
94
- placeholders, declined, and cancelled events.
95
-
96
- **Previous weekly:** `ls "knowledge/Weeklies/{Person Name}/" | sort | tail -1`.
97
- Carry forward any unchecked priorities and ongoing themes.
98
-
99
- ### 3. Generate or update
100
-
101
- #### New weekly (start of week)
102
-
103
- 1. **Focus:** synthesize from highest-priority tasks and key meetings — one
104
- sentence.
105
- 2. **Priorities:** in-progress first, then `high` open, then near-due, then
106
- carry-forward. Cap at 5–7.
107
- 3. **Key Meetings:** `**{Day}**: {title} with [[People/Name]] — {purpose}`.
108
- 4. **Blockers:** from the board, naming who is needed.
109
- 5. **Accomplishments / Retrospective:** leave empty (or pre-fill anything
110
- completed Monday morning).
111
-
112
- #### Mid-week update
113
-
114
- Re-read the board for changes. Mark completed `[x]`. Append new priorities.
115
- Update blockers. Add accomplishments as they happen. Do **not** touch the
116
- retrospective.
117
-
118
- #### End-of-week update
119
-
120
- Mark all completed priorities `[x]`. Fill accomplishments from the full week.
121
- Write a brief retrospective: went well / didn't go as planned / carry forward.
122
- Note unchecked priorities — they carry to next week.
123
-
124
- ### 4. Write
125
-
126
- For a new file, ensure the directory exists:
127
-
128
- ```bash
129
- mkdir -p "knowledge/Weeklies/{Person Name}"
130
- ```
131
-
132
- Use the template in [references/template.md](references/template.md). Save to
133
- `knowledge/Weeklies/{Person Name}/{YYYY}-W{WW}.md`.
134
-
135
- For an existing file, use Edit for targeted updates; do not rewrite.
136
-
137
- ### 5. Cross-reference
138
-
139
- If new priorities aren't on the task board, add them to the board (the board is
140
- canonical, the weekly references it). If blockers were resolved, update the
141
- board accordingly.
@@ -1,55 +0,0 @@
1
- # Weekly Document Template
2
-
3
- Reference template for `weekly-update`. Each weekly is a point-in-time snapshot
4
- stored at `knowledge/Weeklies/{Person Name}/{YYYY}-W{WW}.md`.
5
-
6
- ```markdown
7
- # {YYYY}-W{WW} — {Person Name}
8
-
9
- > {Focus statement: one sentence summarizing the week's theme}
10
-
11
- ## Priorities
12
-
13
- - [ ] Priority one — [[Projects/Name]] → [[Goals/Goal Name]]
14
- - [ ] Priority two
15
- - [x] Completed priority
16
-
17
- ## Key Meetings
18
-
19
- - **Monday**: Meeting title with [[People/Name]] — purpose
20
- - **Wednesday**: Meeting title — purpose
21
-
22
- ## Blockers
23
-
24
- - Waiting on X from [[People/Name]]
25
-
26
- ## Accomplishments
27
-
28
- - Completed X
29
- - Shipped Y
30
-
31
- ## Retrospective
32
-
33
- - **Went well:** ...
34
- - **Didn't go as planned:** ...
35
- - **Carry forward:** ...
36
- ```
37
-
38
- ## Conventions
39
-
40
- - **Week numbers:** ISO 8601 (e.g. `2026-W08`).
41
- - **Priorities:** Top 3–7 items pulled from the task board. Append
42
- `→ [[Goals/Goal Name]]` only when the task clearly serves that goal — not
43
- every task needs a link.
44
- - **Key Meetings:** Substantive meetings only. Skip recurring standups.
45
- - **Retrospective:** Filled at end-of-week only.
46
- - **Backlinks:** Always absolute — `[[People/Name]]`, `[[Projects/Name]]`,
47
- `[[Goals/Name]]`, `[[Tasks/Name]]`.
48
-
49
- ## Date helpers (macOS)
50
-
51
- ```bash
52
- date +%G-W%V # Current ISO week
53
- date -v-mon +%Y-%m-%d # Monday of current week
54
- date -v+fri +%Y-%m-%d # Friday of current week
55
- ```
package/templates/USER.md DELETED
@@ -1,3 +0,0 @@
1
- - **Name:**
2
- - **Email:**
3
- - **Domain:**