@forwardimpact/outpost 3.7.0 → 3.8.1
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/package.json +1 -1
- package/src/outpost.js +8 -35
- package/templates/.claude/agents/recruiter.md +1 -1
- package/templates/.claude/skills/candidate-report/SKILL.md +1 -1
- package/templates/.claude/skills/req-assess/references/rubric.md +1 -1
- package/templates/.claude/skills/req-decide/references/template.md +1 -1
- package/templates/.claude/skills/req-scan/references/template.md +1 -1
- package/templates/.claude/skills/req-screen/SKILL.md +1 -1
- package/templates/.claude/skills/req-screen/references/template.md +2 -2
- package/templates/.claude/skills/req-track/SKILL.md +1 -1
- package/templates/.claude/skills/req-workday/references/templates.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forwardimpact/outpost",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.1",
|
|
4
4
|
"description": "Personal operations center — context from email, calendar, and knowledge assembled so preparation is continuous, not a morning scramble.",
|
|
5
5
|
"homepage": "https://www.forwardimpact.team",
|
|
6
6
|
"repository": {
|
package/src/outpost.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// fit-outpost daemon Run continuously (poll every 60s)
|
|
6
6
|
// fit-outpost wake <agent> Wake a specific agent immediately
|
|
7
7
|
// fit-outpost init <path> Initialize a new knowledge base
|
|
8
|
-
// fit-outpost update [path] Update KB with latest CLAUDE.md, agents and skills
|
|
8
|
+
// fit-outpost update [path] Update KB with latest CLAUDE.md, agents and skills (defaults to current directory)
|
|
9
9
|
// fit-outpost stop Gracefully stop daemon and all running agents
|
|
10
10
|
// fit-outpost validate Validate agent definitions exist
|
|
11
11
|
// fit-outpost status Show agent status
|
|
@@ -64,7 +64,8 @@ function buildDefinition(version) {
|
|
|
64
64
|
{
|
|
65
65
|
name: "update",
|
|
66
66
|
args: "[path]",
|
|
67
|
-
description:
|
|
67
|
+
description:
|
|
68
|
+
"Update KB with latest CLAUDE.md, agents and skills (defaults to current directory)",
|
|
68
69
|
},
|
|
69
70
|
{
|
|
70
71
|
name: "stop",
|
|
@@ -302,39 +303,11 @@ export async function run(runtime, version) {
|
|
|
302
303
|
const tpl = await requireTemplateDir();
|
|
303
304
|
if (tpl === null) return 1;
|
|
304
305
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
}
|
|
311
|
-
return 0;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
const config = await loadConfig();
|
|
315
|
-
const kbPaths = [
|
|
316
|
-
...new Set(
|
|
317
|
-
Object.values(config.agents)
|
|
318
|
-
.filter((a) => a.kb)
|
|
319
|
-
.map((a) => expandPath(a.kb)),
|
|
320
|
-
),
|
|
321
|
-
];
|
|
322
|
-
|
|
323
|
-
if (kbPaths.length === 0) {
|
|
324
|
-
proc.stderr.write(
|
|
325
|
-
"No knowledge bases configured and no path given.\n" +
|
|
326
|
-
"Usage: fit-outpost update [path]\n",
|
|
327
|
-
);
|
|
328
|
-
return 1;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
for (const kb of kbPaths) {
|
|
332
|
-
logger.info(`\nUpdating ${kb}...`);
|
|
333
|
-
const result = await kbManager.update(kb, tpl);
|
|
334
|
-
if (!result.ok) {
|
|
335
|
-
proc.stderr.write(result.error + "\n");
|
|
336
|
-
return result.code;
|
|
337
|
-
}
|
|
306
|
+
const target = args[0] ?? proc.cwd();
|
|
307
|
+
const result = await kbManager.update(target, tpl);
|
|
308
|
+
if (!result.ok) {
|
|
309
|
+
proc.stderr.write(result.error + "\n");
|
|
310
|
+
return result.code;
|
|
338
311
|
}
|
|
339
312
|
return 0;
|
|
340
313
|
}
|
|
@@ -66,7 +66,7 @@ candidates, pipeline totals by stage/track, aggregate diversity, retention flags
|
|
|
66
66
|
|
|
67
67
|
```
|
|
68
68
|
Decision: {observation and chosen action}
|
|
69
|
-
Action: {e.g. "req-screen for John Smith against J060
|
|
69
|
+
Action: {e.g. "req-screen for John Smith against J060 forward-deployed"}
|
|
70
70
|
Stage: {1 | 2 | sync | erasure}
|
|
71
71
|
Priority Watch: {priority at risk + one-line why, or "none"}
|
|
72
72
|
```
|
|
@@ -31,7 +31,7 @@ before deciding whether to invest interview time.
|
|
|
31
31
|
|
|
32
32
|
- **Candidate name** — locates `Knowledge/Candidates/{Name}/brief.md`.
|
|
33
33
|
- **Target role** — discipline, level, track (e.g.
|
|
34
|
-
`
|
|
34
|
+
`software-engineering J070 forward-deployed`). If not given, infer from the
|
|
35
35
|
candidate's `Req` field → Role file. Ask the user if it can't be inferred.
|
|
36
36
|
- **Recipient** — pod lead or hiring manager the report is for.
|
|
37
37
|
- **CV file** (optional) — read directly when no `screening.md` exists.
|
|
@@ -51,7 +51,7 @@ from the transcript — "seemed strong" is not evidence.
|
|
|
51
51
|
| `emerging` | Behaviour not observed or only when prompted |
|
|
52
52
|
| `developing` | Behaviour present but inconsistent or surface-level |
|
|
53
53
|
| `practicing` | Behaviour consistent and natural throughout the interview |
|
|
54
|
-
| `
|
|
54
|
+
| `role-modeling` | Behaviour demonstrated at high level, influenced the room |
|
|
55
55
|
| `exemplifying` | Behaviour exceptional, set the standard for the conversation |
|
|
56
56
|
|
|
57
57
|
## Level signals
|
|
@@ -10,7 +10,7 @@ Reference for `req-scan` Step 4. Save to `Knowledge/Prospects/{Name}.md`.
|
|
|
10
10
|
**Date found:** {YYYY-MM-DD}
|
|
11
11
|
**Location:** {location or "Not specified"}
|
|
12
12
|
**Estimated level:** {J040–J110} (confidence: {high/medium/low})
|
|
13
|
-
**Best track fit:** {
|
|
13
|
+
**Best track fit:** {forward-deployed / platform / either}
|
|
14
14
|
**Match strength:** {strong / moderate}
|
|
15
15
|
|
|
16
16
|
## Profile
|
|
@@ -92,7 +92,7 @@ If no target is available, estimate one using the level heuristics in
|
|
|
92
92
|
```bash
|
|
93
93
|
bunx fit-pathway job {discipline} {level} --track={track}
|
|
94
94
|
bunx fit-pathway job {discipline} {level} --track={track} --skills
|
|
95
|
-
bunx fit-pathway track
|
|
95
|
+
bunx fit-pathway track forward-deployed
|
|
96
96
|
bunx fit-pathway track platform
|
|
97
97
|
```
|
|
98
98
|
|
|
@@ -26,7 +26,7 @@ around the screening question — is this worth an interview?}
|
|
|
26
26
|
| Dimension | Assessment |
|
|
27
27
|
| -------------- | -------------------------------------- |
|
|
28
28
|
| **Level** | {estimated level and confidence} |
|
|
29
|
-
| **Track fit** | {
|
|
29
|
+
| **Track fit** | {forward-deployed / platform / either} |
|
|
30
30
|
| **Discipline** | {best discipline match} |
|
|
31
31
|
| **Gender** | {Woman / Man / —} |
|
|
32
32
|
|
|
@@ -54,7 +54,7 @@ Standard reference: `{discipline} {level} --track={track}`
|
|
|
54
54
|
|
|
55
55
|
## Track Fit Analysis
|
|
56
56
|
|
|
57
|
-
{Paragraph explaining why the candidate fits
|
|
57
|
+
{Paragraph explaining why the candidate fits forward-deployed,
|
|
58
58
|
platform, or either. Reference specific CV evidence.}
|
|
59
59
|
|
|
60
60
|
## Screening Recommendation
|
|
@@ -186,7 +186,7 @@ either skill until it changes.
|
|
|
186
186
|
bunx fit-pathway skill --list
|
|
187
187
|
```
|
|
188
188
|
|
|
189
|
-
Use agent-aligned engineering standard IDs (e.g. `
|
|
189
|
+
Use agent-aligned engineering standard IDs (e.g. `data-integration`,
|
|
190
190
|
`full_stack_development`, `architecture_and_design`) in the `## Skills` section
|
|
191
191
|
instead of free-form tags. Flag any candidate with a CV attachment for
|
|
192
192
|
`req-screen`.
|
|
@@ -15,7 +15,7 @@ Use when no Role file exists for the requisition. Filename:
|
|
|
15
15
|
**Title:** {Full title from export}
|
|
16
16
|
**Level:** {Infer from title: "Principal" → J100, "Staff" → J090, "Director" → J100 M-track, "Senior" → J070}
|
|
17
17
|
**Track:** {P-track for IC roles, M-track for Director/Manager roles}
|
|
18
|
-
**Discipline:** {Infer: "Software Engineer" →
|
|
18
|
+
**Discipline:** {Infer: "Software Engineer" → software-engineering, "Data Engineer" → data-engineering, "Data Scientist" → data-science}
|
|
19
19
|
**Domain lead:** —
|
|
20
20
|
**Hiring manager:** {From export metadata if available, or "—"}
|
|
21
21
|
**Locations:** {Primary Location from export}
|