kushi-agents 5.0.3 → 5.0.4
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/README.md +13 -0
- package/bin/cli.mjs +103 -0
- package/package.json +2 -2
- package/plugin/agents/kushi.agent.md +2 -0
- package/plugin/instructions/skill-authoring.instructions.md +147 -0
- package/plugin/skills/ask-project/SKILL.md +10 -0
- package/plugin/skills/intro/SKILL.md +160 -451
- package/plugin/skills/intro/references/walkthrough.md +310 -0
- package/plugin/skills/project-status/SKILL.md +10 -1
- package/plugin/skills/self-check/SKILL.md +1 -0
- package/plugin/skills/self-check/run.ps1 +81 -0
- package/plugin/skills/setup/SKILL.md +10 -0
- package/plugin/skills/skill-checker/SKILL.md +136 -0
- package/plugin/skills/skill-checker/check-skill.ps1 +416 -0
- package/plugin/skills/skill-checker/evals/evals.json +41 -0
- package/plugin/skills/skill-creator/SKILL.md +134 -0
- package/plugin/skills/skill-creator/evals/evals.json +40 -0
- package/plugin/skills/skill-creator/generate-eval-review.ps1 +101 -0
- package/plugin/skills/skill-creator/optimize-description.ps1 +87 -0
- package/plugin/skills/skill-creator/scaffold.ps1 +180 -0
- package/plugin/skills/skill-creator/templates/evals-starter.template.json +27 -0
- package/plugin/skills/skill-creator/templates/gotchas-stub.template.md +9 -0
- package/plugin/skills/skill-creator/templates/skill-skeleton.template.md +28 -0
- package/plugin/skills/vertex-link/SKILL.md +10 -0
- package/src/skill-checker.test.mjs +118 -0
- package/src/skill-creator.test.mjs +92 -0
|
@@ -1,451 +1,160 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "intro"
|
|
3
|
-
version: "2.1.0"
|
|
4
|
-
description: "USE WHEN the user asks \"what is Kushi?\", \"what can you do?\", \"show me the skills\", \"give me a tour\", or any first-touch onboarding question AND the user appears unfamiliar with kushi. DO NOT USE for project-specific work or for users already mid-workflow. Capability: offers a quick overview OR an interactive walkthrough — picks a known-bootstrapped project, runs a guided demo across ask, refresh, dashboard, tour."
|
|
5
|
-
triggers:
|
|
6
|
-
- "what is kushi"
|
|
7
|
-
- "what can kushi do"
|
|
8
|
-
- "tell me about kushi"
|
|
9
|
-
- "kushi intro"
|
|
10
|
-
- "introduce yourself"
|
|
11
|
-
- "what are your skills"
|
|
12
|
-
- "show me kushi"
|
|
13
|
-
- "how does kushi work"
|
|
14
|
-
- "kushi help"
|
|
15
|
-
- "demo yourself"
|
|
16
|
-
- "i'm new to kushi"
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
# intro
|
|
20
|
-
|
|
21
|
-
Introduce Kushi to new users and demonstrate every verb hands-on. When a user asks "What is Kushi?", "What can it do?", "How does this work?", or any equivalent identity / capability / onboarding question, this skill activates and offers two modes:
|
|
22
|
-
|
|
23
|
-
1. **Quick Overview** — a scannable summary of every verb and skill (≈ 30 seconds to read).
|
|
24
|
-
2. **Interactive Walkthrough** — a guided tour where the user runs each verb against a real (or fictional) project, one at a time, with ready-to-send prompts.
|
|
25
|
-
|
|
26
|
-
## Principles
|
|
27
|
-
|
|
28
|
-
- **User chooses the format.** Always offer both modes — never assume which one the user wants.
|
|
29
|
-
- **Show, don't tell.** In interactive mode, each verb is demonstrated with a real prompt against a real project (or a fictional one if no projects are bootstrapped yet).
|
|
30
|
-
- **One moment at a time.** Present one verb demo at a time. Wait for the user before advancing.
|
|
31
|
-
- **Low commitment.** The user can exit at any point — say so at the start.
|
|
32
|
-
- **No jargon on first contact.** Assume the user has never seen Kushi before. Define snapshot/stream/watermark/run-log on first use.
|
|
33
|
-
- **Honesty about state.** If no projects are bootstrapped yet, the demo proposes a fictional project (e.g. `Contoso Discovery`) so the user can see verbs work without committing real data.
|
|
34
|
-
|
|
35
|
-
## Trigger Detection
|
|
36
|
-
|
|
37
|
-
Activate this skill when the user's request matches any of:
|
|
38
|
-
|
|
39
|
-
- Identity: "Who are you?", "What is Kushi?", "Tell me about yourself"
|
|
40
|
-
- Capability: "What can you do?", "What are your skills?", "What's the difference between bootstrap and refresh?"
|
|
41
|
-
- Onboarding: "I'm new to Kushi", "How do I get started?", "Help me learn Kushi", "kushi help"
|
|
42
|
-
- Demo: "Show me Kushi", "Walk me through it", "Demo yourself"
|
|
43
|
-
|
|
44
|
-
Do **not** activate when the user has already asked for a specific verb (e.g. "kushi bootstrap AGCO") — in that case, route directly to that verb.
|
|
45
|
-
|
|
46
|
-
## Response Mode Selection
|
|
47
|
-
|
|
48
|
-
When triggered, present this exact opening, then wait:
|
|
49
|
-
|
|
50
|
-
> I'm **Kushi** — a multi-source project evidence agent. I capture **snapshots** (current state of entities like meetings, OneNote pages, ADO items) and **streams** (timestamped events) across Email, Teams, Meetings, OneNote, SharePoint, CRM, and ADO, then either let you ask cited questions over that Evidence — or render an outcome-based **State** view (on the `full` profile) — or author **FDE engagement reports** grounded in an FDE reference pack.
|
|
51
|
-
>
|
|
52
|
-
> Three install profiles: `core` (aggregator only), `standard` (default — adds bootstrap/refresh + FDE authoring), `full` (adds State/ rollup).
|
|
53
|
-
>
|
|
54
|
-
> How would you like to learn what I can do?
|
|
55
|
-
>
|
|
56
|
-
> **1 — Quick Overview** — scannable summary of every verb and skill (reply `1` or `overview`)
|
|
57
|
-
> **2 — Interactive Walkthrough** — guided tour where you run each verb hands-on (reply `2` or `walkthrough`)
|
|
58
|
-
|
|
59
|
-
Accept these as equivalent:
|
|
60
|
-
|
|
61
|
-
- `1`, `one`, `overview`, `quick`, `summary` → Mode 1
|
|
62
|
-
- `2`, `two`, `walkthrough`, `interactive`, `demo`, `tour`, `hands-on` → Mode 2
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Mode 1: Quick Overview
|
|
67
|
-
|
|
68
|
-
Present this verbatim:
|
|
69
|
-
|
|
70
|
-
> ## Kushi at a glance
|
|
71
|
-
>
|
|
72
|
-
> **Identity.** Kushi is a single Copilot agent backed by 15 specialized skills. Instead of orchestrating WorkIQ + m365 + ADO + CRM yourself, you give kushi a verb and a project name, and it routes through the right pulls, consolidates, renders state, and answers cited Q&A — citing every assertion back to its source file.
|
|
73
|
-
>
|
|
74
|
-
> **Hard rule:** every per-source skill writes evidence in TWO shapes. **Snapshot** = current state of an entity (one file per entity, replace on refresh, no date in filename). **Stream** = timestamped events (one file per ISO week, append-only, dated `YYYY-MM-DD_<source>-stream.md`). State files cite both. Snapshot answers *"what IS true now?"* Stream answers *"when did it happen?"*
|
|
75
|
-
>
|
|
76
|
-
> ### Verbs
|
|
77
|
-
>
|
|
78
|
-
> | Verb | Profile | Default window | What it does |
|
|
79
|
-
> |---|---|---|---|
|
|
80
|
-
> | `kushi aggregate <project>` | core+ | since last watermark | Pull-only orchestrator — runs every `pull-*` + consolidate. No State/. |
|
|
81
|
-
> | `kushi bootstrap <project>` | standard+ | last 30 days | First-time setup — lays configs side-by-side, scaffolds folders, runs initial pull. Builds State/ on `full` only. |
|
|
82
|
-
> | `kushi refresh <project>` | standard+ | since last watermark (fallback 7d) | Incremental pull driven by run-log watermarks. Builds State/ on `full` only. |
|
|
83
|
-
> | `kushi refresh <project> last N days` | standard+ | N days | Override window. |
|
|
84
|
-
> | `kushi state <project>` | **full** | n/a | Re-render `State/` from existing `Evidence/` (no source pulls). |
|
|
85
|
-
> | `kushi consolidate <project> last N days` | core+ | N days | Merge per-user streams into `_Consolidated/`. |
|
|
86
|
-
> | `kushi status <project>` | core+ | n/a | Read-only run-log inspector. |
|
|
87
|
-
> | `kushi ask <project> <question>` | core+ | n/a | **Cited Q&A** over Evidence/ (+ State/ on full). Auto-routes when you name a project + ask a question — no `kushi ask` prefix needed. |
|
|
88
|
-
> | `kushi pull <source> for <project> [window]` | core+ | as supplied | Run one `pull-<source>` skill in isolation. |
|
|
89
|
-
> | `kushi fde-intake <project>` | **standard+** | n/a | Author/update the FDE Intake document (`Reports/00-FDE-Intake-<project>.md`). |
|
|
90
|
-
> | `kushi fde-report <project> [shape]` | **standard+** | n/a | Generate an FDE report in one of 5 shapes: `weekly` (default) / `short` / `long` / `fitness` / `stage-readiness`. |
|
|
91
|
-
> | `kushi fde-triage <project>` | **standard+** | n/a | Produce the full 7-file FDE Triage bundle. |
|
|
92
|
-
> | `kushi self-check` | all | n/a | Validate skills, instructions, prompts, and live install consistency. |
|
|
93
|
-
> | `kushi intro` (this) | all | n/a | This walkthrough. |
|
|
94
|
-
>
|
|
95
|
-
> ### Skills (18)
|
|
96
|
-
>
|
|
97
|
-
> | Domain | Skill | Profile | Snapshot? | Stream? |
|
|
98
|
-
> |---|---|---|---|---|
|
|
99
|
-
> | **Orchestrators** | `aggregate-project` | core+ | — | — |
|
|
100
|
-
> | | `bootstrap-project` | standard+ | — | — |
|
|
101
|
-
> | | `refresh-project` | standard+ | — | — |
|
|
102
|
-
> | | `build-state` | **full** | — | — |
|
|
103
|
-
> | | `consolidate-evidence` | core+ | — | — |
|
|
104
|
-
> | | `project-status` | core+ | — | — |
|
|
105
|
-
> | **Per-source pulls** | `pull-email` | core+ | — | ✅ |
|
|
106
|
-
> | | `pull-teams` | core+ | ✅ | ✅ |
|
|
107
|
-
> | | `pull-meetings` | core+ | ✅ | ✅ |
|
|
108
|
-
> | | `pull-onenote` | core+ | ✅ | ✅ |
|
|
109
|
-
> | | `pull-sharepoint` | core+ | ✅ | ✅ |
|
|
110
|
-
> | | `pull-crm` | core+ | ✅ | ✅ |
|
|
111
|
-
> | | `pull-ado` | core+ | ✅ | ✅ |
|
|
112
|
-
> | **Consumer (Q&A)** | `ask-project` | core+ | reads both | — |
|
|
113
|
-
> | **Vertex integration** | `vertex-link` | core+ | — | — |
|
|
114
|
-
> | | `emit-vertex` | core+ | reads both | — |
|
|
115
|
-
> | **FDE authoring** | `fde-intake` | standard+ | reads both | — |
|
|
116
|
-
> | | `fde-report` | standard+ | reads both | — |
|
|
117
|
-
> | | `fde-triage` | standard+ | reads both | — |
|
|
118
|
-
> | **Meta** | `self-check` | all | — | — |
|
|
119
|
-
> | | `intro` | all | — | — |
|
|
120
|
-
>
|
|
121
|
-
> ### Core rules (apply to every skill)
|
|
122
|
-
>
|
|
123
|
-
> - **WorkIQ-first** — if WorkIQ is reachable, use it; only fall back to host m365 tools if it is not.
|
|
124
|
-
> - **Citation Ledger** — every assertion in any output cites `[source: <alias>/<folder>/<file> · YYYY-MM-DD]`.
|
|
125
|
-
> - **Side-by-side config** — every skeleton config is paired with a live filled file in the same folder.
|
|
126
|
-
> - **NEVER reach out** — Kushi never sends outbound messages. Recommendations land in `State/09_open-questions.md`.
|
|
127
|
-
> - **Engagement-root resolution** — single root (default `OneDrive\ISE\Engagement Assets`) holds all projects.
|
|
128
|
-
>
|
|
129
|
-
> ### Want to go deeper?
|
|
130
|
-
>
|
|
131
|
-
> - Reply `walkthrough` for the interactive guided tour (≈ 5 min).
|
|
132
|
-
> - Reply `bootstrap <project name>` to start a real engagement.
|
|
133
|
-
> - Or just describe what you need — I'll route it to the right verb.
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## Mode 2: Interactive Walkthrough
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
> - Waits for `next` / `skip` / `done` before advancing.
|
|
162
|
-
>
|
|
163
|
-
> Demo target for this tour: **{{active_project}}**. (Substitute any project name in the Try-it prompts.)
|
|
164
|
-
>
|
|
165
|
-
> Reply `next` (or just say "let's go") to begin.
|
|
166
|
-
|
|
167
|
-
### Demo Moments
|
|
168
|
-
|
|
169
|
-
Present in order. After each moment, append the navigation block.
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
**Moment 1 — Snapshot vs Stream (the foundation)**
|
|
174
|
-
|
|
175
|
-
> **The single most important rule in Kushi.** Every per-source skill writes two kinds of evidence:
|
|
176
|
-
>
|
|
177
|
-
> - **Snapshot** = current state of one entity. One file per entity. Replaced on every refresh. No date in filename. Example: `Evidence/{{alias}}/Teams-Chats/snapshot/roster.md` always shows the *current* member list of the project chat — not who was in it three weeks ago.
|
|
178
|
-
> - **Stream** = timestamped events. One file per ISO week. Append-only. Dated filename. Example: `Evidence/{{alias}}/Email/stream/2026-05-04_email-stream.md` shows every email received during the week of May 4.
|
|
179
|
-
>
|
|
180
|
-
> State files (e.g. `02_stakeholders.md`) cite snapshots for *current* facts and streams for *temporal* claims like "decision made on May 5".
|
|
181
|
-
|
|
182
|
-
Reply `next` to see how to bootstrap a project, or `done` to exit.
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
**Moment 2 — Bootstrap a new project**
|
|
187
|
-
|
|
188
|
-
> **`bootstrap-project`** — first-time setup for an engagement. Lays configs side-by-side, scaffolds `Evidence/` and `State/` folders, asks you to confirm sources, then runs the initial 30-day pull across every enabled source.
|
|
189
|
-
|
|
190
|
-
**Try it** — copy and send (or reply `try`):
|
|
191
|
-
|
|
192
|
-
```
|
|
193
|
-
kushi bootstrap {{active_project}}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Reply `next`, `skip`, or `done`.
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
**Moment 3 — Refresh with a watermark**
|
|
201
|
-
|
|
202
|
-
> **`refresh-project`** — incremental pull driven by `Evidence/run-log.yml` watermarks. If the last successful pull was Monday 9 AM, refresh picks up everything since then. No window arg = "since last watermark", with a 7-day fallback if no watermark exists.
|
|
203
|
-
|
|
204
|
-
**Try it — default (since last watermark):**
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
kushi refresh {{active_project}}
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
**Try it — explicit window:**
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
kushi refresh {{active_project}} last 14 days
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
Reply `next`, `skip`, or `done`.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
**Moment 4 — Pull one source in isolation**
|
|
221
|
-
|
|
222
|
-
> **`pull-<source>`** — run a single per-source skill without touching the others. Useful when you only care about new ADO items, or you want to backfill OneNote pages without re-pulling email. Each `pull-*` skill is **WorkIQ-first** and writes to your alias subfolder under `Evidence/<alias>/<source>/`.
|
|
223
|
-
|
|
224
|
-
**Try it — pull just email:**
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
kushi pull email for {{active_project}} last 7 days
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
**Try it — pull just ADO work items:**
|
|
231
|
-
|
|
232
|
-
```
|
|
233
|
-
kushi pull ado for {{active_project}} last 30 days
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Reply `next`, `skip`, or `done`.
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
**Moment 5 — Render State from existing Evidence**
|
|
241
|
-
|
|
242
|
-
> **`build-state`** — re-render every file under `State/` from existing `Evidence/`, **without any source pulls**. Use this when you want to see how the state view changes after manually editing evidence, or when you've consolidated streams from multiple contributors and want a fresh outcome view.
|
|
243
|
-
>
|
|
244
|
-
> State output is outcome-based — `00_overview.md`, `01_decisions.md`, `02_stakeholders.md`, `03_architecture.md`, `04_workshops.md`, `05_actions.md`, `06_risks.md`, `07_timeline.md`, `08_artifacts.md`, `09_open-questions.md`. Every assertion cites the evidence file + date it came from.
|
|
245
|
-
|
|
246
|
-
**Try it:**
|
|
247
|
-
|
|
248
|
-
```
|
|
249
|
-
kushi state {{active_project}}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Reply `next`, `skip`, or `done`.
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
**Moment 6 — Consolidate multi-user evidence**
|
|
257
|
-
|
|
258
|
-
> **`consolidate-evidence`** — merge per-user streams into `Evidence/_Consolidated/`. Only needed if multiple contributors are pulling for the same project. The consolidated file tags each entry with the contributor alias so provenance is preserved.
|
|
259
|
-
|
|
260
|
-
**Try it:**
|
|
261
|
-
|
|
262
|
-
```
|
|
263
|
-
kushi consolidate {{active_project}} last 7 days
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
Reply `next`, `skip`, or `done`.
|
|
267
|
-
|
|
268
|
-
---
|
|
269
|
-
|
|
270
|
-
**Moment 7 — Inspect the run-log**
|
|
271
|
-
|
|
272
|
-
> **`project-status`** — read-only inspector for `Evidence/run-log.yml`. Shows per-source watermarks, last successful run, and any failures. Use it before kicking off a refresh to see what kushi will pull.
|
|
273
|
-
|
|
274
|
-
**Try it:**
|
|
275
|
-
|
|
276
|
-
```
|
|
277
|
-
kushi status {{active_project}}
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
Reply `next`, `skip`, or `done`.
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
**Moment 8 — Ask the project (cited Q&A)**
|
|
285
|
-
|
|
286
|
-
> **`ask-project`** — read-only natural-language Q&A over what's already been captured. Loads the cheapest set of files needed (Evidence/ first; State/ on `full`), cites every assertion `[source: <alias>/<folder>/<file> · YYYY-MM-DD]`, warns if the relevant source is older than 14 days, and ends with a Confidence verdict.
|
|
287
|
-
>
|
|
288
|
-
> **Auto-routes — no prefix needed.** Just name a project and ask a question. The slash form (`/ask`) and the explicit `kushi ask` are also accepted.
|
|
289
|
-
>
|
|
290
|
-
> **Never** triggers a `pull-*`. If evidence is stale or missing, it offers `kushi refresh <project>` and stops.
|
|
291
|
-
|
|
292
|
-
**Try it — explicit form:**
|
|
293
|
-
|
|
294
|
-
```
|
|
295
|
-
kushi ask {{active_project}} what's the status?
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
**Try it — auto-routed (no prefix):**
|
|
299
|
-
|
|
300
|
-
```
|
|
301
|
-
what's the MACC for {{active_project}} and is it confirmed?
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
```
|
|
305
|
-
who is the EM on {{active_project}}?
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
```
|
|
309
|
-
summarize {{active_project}}
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
Reply `next`, `skip`, or `done`.
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
**Moment 9 — FDE Intake (first-artifact authoring)**
|
|
317
|
-
|
|
318
|
-
> **`fde-intake`** — author or update the FDE Intake document at `Reports/00-FDE-Intake-<project>.md`. It is the first artifact in any FDE engagement and is consumed by FDE Triage to decide which team is best suited and whether the engagement is billable.
|
|
319
|
-
>
|
|
320
|
-
> Grounded in **two sources**: the project's Evidence/ + the FDE reference pack (`intake-questions.md`, `report-doctrine.md`, `core-fde-reference.md`). Embeds inline `> ⚠️ VALIDATION WARNING — Rule X.Y` blockquotes wherever Evidence is silent.
|
|
321
|
-
>
|
|
322
|
-
> **Standard + Full profiles only.**
|
|
323
|
-
|
|
324
|
-
**Try it:**
|
|
325
|
-
|
|
326
|
-
```
|
|
327
|
-
kushi fde-intake {{active_project}}
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
Reply `next`, `skip`, or `done`.
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
**Moment 10 — FDE Report (5 shapes)**
|
|
335
|
-
|
|
336
|
-
> **`fde-report`** — generate an FDE-shaped engagement report. One skill, five shapes:
|
|
337
|
-
>
|
|
338
|
-
> - `weekly` (default) — internal status, 1–2 pages.
|
|
339
|
-
> - `short` — customer-facing, sanitized (no MACC / MS staffing / CRM IDs).
|
|
340
|
-
> - `long` — incoming-crew handoff, 3–5 pages.
|
|
341
|
-
> - `fitness` — 10-row FDE Fitness scorecard + verdict.
|
|
342
|
-
> - `stage-readiness` — "should we advance to the next FDE stage?" check.
|
|
343
|
-
>
|
|
344
|
-
> Read-only against Evidence; no outbound. Apply all 9 doctrine rules.
|
|
345
|
-
|
|
346
|
-
**Try it — weekly default:**
|
|
347
|
-
|
|
348
|
-
```
|
|
349
|
-
kushi fde-report {{active_project}}
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
**Try it — fitness scorecard:**
|
|
353
|
-
|
|
354
|
-
```
|
|
355
|
-
kushi fde-report {{active_project}} fitness
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
**Try it — stage-readiness check:**
|
|
359
|
-
|
|
360
|
-
```
|
|
361
|
-
kushi fde-report {{active_project}} stage-readiness
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
Reply `next`, `skip`, or `done`.
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
**Moment 11 — FDE Triage (full 7-file bundle)**
|
|
369
|
-
|
|
370
|
-
> **`fde-triage`** — produce the full FDE Triage bundle: 7 companion files at `Reports/triage/<YYYY-MM-DD>/`:
|
|
371
|
-
>
|
|
372
|
-
> 1. `00-fde-analysis.md` — concise FDE analysis (entry point)
|
|
373
|
-
> 2. `01-fde-fitness.md` — 10-row fitness scorecard
|
|
374
|
-
> 3. `02-risk-analysis.md` — risks bucketed into 8 reference-pack categories
|
|
375
|
-
> 4. `03-6Q.md` — 6-question engagement framing
|
|
376
|
-
> 5. `04-readiness-checklist.md` — **mobilization readiness** (distinct from stage readiness)
|
|
377
|
-
> 6. `05-executive-consolidated-report.md` — leadership readout
|
|
378
|
-
> 7. `06-global-opportunity-and-reuse.md` — repeatability lens
|
|
379
|
-
> 8. `07-validation-warnings-checklist.md` — central tracker (open / resolved / NA)
|
|
380
|
-
>
|
|
381
|
-
> Re-runs preserve user-edited statuses in file 07.
|
|
382
|
-
|
|
383
|
-
**Try it:**
|
|
384
|
-
|
|
385
|
-
```
|
|
386
|
-
kushi fde-triage {{active_project}}
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
Reply `next`, `skip`, or `done`.
|
|
390
|
-
|
|
391
|
-
---
|
|
392
|
-
|
|
393
|
-
**Moment 12 — Self-check before committing**
|
|
394
|
-
|
|
395
|
-
> **`self-check`** — Kushi has its own consistency checker. Before you commit changes to the kushi repo (or after editing an instruction file), run self-check to verify every skill is in the agent inventory, every prompt routes to a real skill, every cross-link resolves, and the live `~/.copilot/m-skills/kushi/` install matches the repo. Run it as a markdown report (default), JSON for CI (`-Json`), or with deeper hash + schema checks (`-Deep`). Cross-OS: on macOS/Linux use `./run.sh` (requires `pwsh` 7+).
|
|
396
|
-
|
|
397
|
-
**Try it — quick:**
|
|
398
|
-
|
|
399
|
-
```
|
|
400
|
-
kushi self-check
|
|
401
|
-
```
|
|
402
|
-
|
|
403
|
-
**Try it — deep + strict for CI (Windows):**
|
|
404
|
-
|
|
405
|
-
```
|
|
406
|
-
pwsh plugin/skills/self-check/run.ps1 -Deep -StrictExit
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
**Try it — deep + strict for CI (macOS / Linux):**
|
|
410
|
-
|
|
411
|
-
```
|
|
412
|
-
./plugin/skills/self-check/run.sh -Deep -StrictExit
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
Reply `next` to see the closing cheat sheet, or `done` to exit.
|
|
416
|
-
|
|
417
|
-
---
|
|
418
|
-
|
|
419
|
-
### Closing
|
|
420
|
-
|
|
421
|
-
> That's the full tour. Cheat sheet:
|
|
422
|
-
>
|
|
423
|
-
> | What you want | What to say |
|
|
424
|
-
> |---|---|
|
|
425
|
-
> | First-time engagement setup | `kushi bootstrap <project>` |
|
|
426
|
-
> | Catch up since last pull | `kushi refresh <project>` |
|
|
427
|
-
> | Backfill a custom range | `kushi refresh <project> last N days` |
|
|
428
|
-
> | One source only | `kushi pull <source> for <project>` |
|
|
429
|
-
> | Re-render state files (full only) | `kushi state <project>` |
|
|
430
|
-
> | Merge contributors | `kushi consolidate <project>` |
|
|
431
|
-
> | Inspect run-log | `kushi status <project>` |
|
|
432
|
-
> | **Ask a question (cited Q&A)** | `kushi ask <project> <question>` — or just say it naturally |
|
|
433
|
-
> | First-artifact FDE Intake | `kushi fde-intake <project>` |
|
|
434
|
-
> | FDE report (5 shapes) | `kushi fde-report <project> [shape]` |
|
|
435
|
-
> | Full FDE Triage bundle (7 files) | `kushi fde-triage <project>` |
|
|
436
|
-
> | Pre-commit validation | `kushi self-check` (or `-Deep`) |
|
|
437
|
-
> | This tour again | `kushi intro` |
|
|
438
|
-
>
|
|
439
|
-
> You can also describe what you need in plain language — kushi will route to the right verb. Reply `restart` to retake the tour, or just ask me anything.
|
|
440
|
-
|
|
441
|
-
---
|
|
442
|
-
|
|
443
|
-
## Validation Rules
|
|
444
|
-
|
|
445
|
-
- Rule 1.1: Trigger detection must match before activating — never activate if the user has already asked for a specific verb.
|
|
446
|
-
- Rule 1.2: Mode selection must always present BOTH options — never auto-route to one mode.
|
|
447
|
-
- Rule 1.3: In walkthrough mode, each moment must wait for `next` / `skip` / `done` / `try` before advancing — never auto-advance.
|
|
448
|
-
- Rule 1.4: `done` must work at every moment — never trap the user.
|
|
449
|
-
- Rule 1.5: Try-it prompts must use the active project name from `<workspace>/.kushi/config/user/project-evidence.yml`, OR the placeholder `Contoso Discovery` if no projects are configured. Never invent a real-sounding project name.
|
|
450
|
-
- Rule 1.6: Skill descriptions in this file must match `kushi.agent.md` and the live `SKILL.md` files — `self-check` D-checks catch drift.
|
|
451
|
-
- Rule 1.7: Demo moments must reflect the actual verb count in `kushi.agent.md`. If a verb is added or removed, this file must be updated in the same commit (`self-check` warns on drift).
|
|
1
|
+
---
|
|
2
|
+
name: "intro"
|
|
3
|
+
version: "2.1.0"
|
|
4
|
+
description: "USE WHEN the user asks \"what is Kushi?\", \"what can you do?\", \"show me the skills\", \"give me a tour\", or any first-touch onboarding question AND the user appears unfamiliar with kushi. DO NOT USE for project-specific work or for users already mid-workflow. Capability: offers a quick overview OR an interactive walkthrough — picks a known-bootstrapped project, runs a guided demo across ask, refresh, dashboard, tour."
|
|
5
|
+
triggers:
|
|
6
|
+
- "what is kushi"
|
|
7
|
+
- "what can kushi do"
|
|
8
|
+
- "tell me about kushi"
|
|
9
|
+
- "kushi intro"
|
|
10
|
+
- "introduce yourself"
|
|
11
|
+
- "what are your skills"
|
|
12
|
+
- "show me kushi"
|
|
13
|
+
- "how does kushi work"
|
|
14
|
+
- "kushi help"
|
|
15
|
+
- "demo yourself"
|
|
16
|
+
- "i'm new to kushi"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# intro
|
|
20
|
+
|
|
21
|
+
Introduce Kushi to new users and demonstrate every verb hands-on. When a user asks "What is Kushi?", "What can it do?", "How does this work?", or any equivalent identity / capability / onboarding question, this skill activates and offers two modes:
|
|
22
|
+
|
|
23
|
+
1. **Quick Overview** — a scannable summary of every verb and skill (≈ 30 seconds to read).
|
|
24
|
+
2. **Interactive Walkthrough** — a guided tour where the user runs each verb against a real (or fictional) project, one at a time, with ready-to-send prompts.
|
|
25
|
+
|
|
26
|
+
## Principles
|
|
27
|
+
|
|
28
|
+
- **User chooses the format.** Always offer both modes — never assume which one the user wants.
|
|
29
|
+
- **Show, don't tell.** In interactive mode, each verb is demonstrated with a real prompt against a real project (or a fictional one if no projects are bootstrapped yet).
|
|
30
|
+
- **One moment at a time.** Present one verb demo at a time. Wait for the user before advancing.
|
|
31
|
+
- **Low commitment.** The user can exit at any point — say so at the start.
|
|
32
|
+
- **No jargon on first contact.** Assume the user has never seen Kushi before. Define snapshot/stream/watermark/run-log on first use.
|
|
33
|
+
- **Honesty about state.** If no projects are bootstrapped yet, the demo proposes a fictional project (e.g. `Contoso Discovery`) so the user can see verbs work without committing real data.
|
|
34
|
+
|
|
35
|
+
## Trigger Detection
|
|
36
|
+
|
|
37
|
+
Activate this skill when the user's request matches any of:
|
|
38
|
+
|
|
39
|
+
- Identity: "Who are you?", "What is Kushi?", "Tell me about yourself"
|
|
40
|
+
- Capability: "What can you do?", "What are your skills?", "What's the difference between bootstrap and refresh?"
|
|
41
|
+
- Onboarding: "I'm new to Kushi", "How do I get started?", "Help me learn Kushi", "kushi help"
|
|
42
|
+
- Demo: "Show me Kushi", "Walk me through it", "Demo yourself"
|
|
43
|
+
|
|
44
|
+
Do **not** activate when the user has already asked for a specific verb (e.g. "kushi bootstrap AGCO") — in that case, route directly to that verb.
|
|
45
|
+
|
|
46
|
+
## Response Mode Selection
|
|
47
|
+
|
|
48
|
+
When triggered, present this exact opening, then wait:
|
|
49
|
+
|
|
50
|
+
> I'm **Kushi** — a multi-source project evidence agent. I capture **snapshots** (current state of entities like meetings, OneNote pages, ADO items) and **streams** (timestamped events) across Email, Teams, Meetings, OneNote, SharePoint, CRM, and ADO, then either let you ask cited questions over that Evidence — or render an outcome-based **State** view (on the `full` profile) — or author **FDE engagement reports** grounded in an FDE reference pack.
|
|
51
|
+
>
|
|
52
|
+
> Three install profiles: `core` (aggregator only), `standard` (default — adds bootstrap/refresh + FDE authoring), `full` (adds State/ rollup).
|
|
53
|
+
>
|
|
54
|
+
> How would you like to learn what I can do?
|
|
55
|
+
>
|
|
56
|
+
> **1 — Quick Overview** — scannable summary of every verb and skill (reply `1` or `overview`)
|
|
57
|
+
> **2 — Interactive Walkthrough** — guided tour where you run each verb hands-on (reply `2` or `walkthrough`)
|
|
58
|
+
|
|
59
|
+
Accept these as equivalent:
|
|
60
|
+
|
|
61
|
+
- `1`, `one`, `overview`, `quick`, `summary` → Mode 1
|
|
62
|
+
- `2`, `two`, `walkthrough`, `interactive`, `demo`, `tour`, `hands-on` → Mode 2
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Mode 1: Quick Overview
|
|
67
|
+
|
|
68
|
+
Present this verbatim:
|
|
69
|
+
|
|
70
|
+
> ## Kushi at a glance
|
|
71
|
+
>
|
|
72
|
+
> **Identity.** Kushi is a single Copilot agent backed by 15 specialized skills. Instead of orchestrating WorkIQ + m365 + ADO + CRM yourself, you give kushi a verb and a project name, and it routes through the right pulls, consolidates, renders state, and answers cited Q&A — citing every assertion back to its source file.
|
|
73
|
+
>
|
|
74
|
+
> **Hard rule:** every per-source skill writes evidence in TWO shapes. **Snapshot** = current state of an entity (one file per entity, replace on refresh, no date in filename). **Stream** = timestamped events (one file per ISO week, append-only, dated `YYYY-MM-DD_<source>-stream.md`). State files cite both. Snapshot answers *"what IS true now?"* Stream answers *"when did it happen?"*
|
|
75
|
+
>
|
|
76
|
+
> ### Verbs
|
|
77
|
+
>
|
|
78
|
+
> | Verb | Profile | Default window | What it does |
|
|
79
|
+
> |---|---|---|---|
|
|
80
|
+
> | `kushi aggregate <project>` | core+ | since last watermark | Pull-only orchestrator — runs every `pull-*` + consolidate. No State/. |
|
|
81
|
+
> | `kushi bootstrap <project>` | standard+ | last 30 days | First-time setup — lays configs side-by-side, scaffolds folders, runs initial pull. Builds State/ on `full` only. |
|
|
82
|
+
> | `kushi refresh <project>` | standard+ | since last watermark (fallback 7d) | Incremental pull driven by run-log watermarks. Builds State/ on `full` only. |
|
|
83
|
+
> | `kushi refresh <project> last N days` | standard+ | N days | Override window. |
|
|
84
|
+
> | `kushi state <project>` | **full** | n/a | Re-render `State/` from existing `Evidence/` (no source pulls). |
|
|
85
|
+
> | `kushi consolidate <project> last N days` | core+ | N days | Merge per-user streams into `_Consolidated/`. |
|
|
86
|
+
> | `kushi status <project>` | core+ | n/a | Read-only run-log inspector. |
|
|
87
|
+
> | `kushi ask <project> <question>` | core+ | n/a | **Cited Q&A** over Evidence/ (+ State/ on full). Auto-routes when you name a project + ask a question — no `kushi ask` prefix needed. |
|
|
88
|
+
> | `kushi pull <source> for <project> [window]` | core+ | as supplied | Run one `pull-<source>` skill in isolation. |
|
|
89
|
+
> | `kushi fde-intake <project>` | **standard+** | n/a | Author/update the FDE Intake document (`Reports/00-FDE-Intake-<project>.md`). |
|
|
90
|
+
> | `kushi fde-report <project> [shape]` | **standard+** | n/a | Generate an FDE report in one of 5 shapes: `weekly` (default) / `short` / `long` / `fitness` / `stage-readiness`. |
|
|
91
|
+
> | `kushi fde-triage <project>` | **standard+** | n/a | Produce the full 7-file FDE Triage bundle. |
|
|
92
|
+
> | `kushi self-check` | all | n/a | Validate skills, instructions, prompts, and live install consistency. |
|
|
93
|
+
> | `kushi intro` (this) | all | n/a | This walkthrough. |
|
|
94
|
+
>
|
|
95
|
+
> ### Skills (18)
|
|
96
|
+
>
|
|
97
|
+
> | Domain | Skill | Profile | Snapshot? | Stream? |
|
|
98
|
+
> |---|---|---|---|---|
|
|
99
|
+
> | **Orchestrators** | `aggregate-project` | core+ | — | — |
|
|
100
|
+
> | | `bootstrap-project` | standard+ | — | — |
|
|
101
|
+
> | | `refresh-project` | standard+ | — | — |
|
|
102
|
+
> | | `build-state` | **full** | — | — |
|
|
103
|
+
> | | `consolidate-evidence` | core+ | — | — |
|
|
104
|
+
> | | `project-status` | core+ | — | — |
|
|
105
|
+
> | **Per-source pulls** | `pull-email` | core+ | — | ✅ |
|
|
106
|
+
> | | `pull-teams` | core+ | ✅ | ✅ |
|
|
107
|
+
> | | `pull-meetings` | core+ | ✅ | ✅ |
|
|
108
|
+
> | | `pull-onenote` | core+ | ✅ | ✅ |
|
|
109
|
+
> | | `pull-sharepoint` | core+ | ✅ | ✅ |
|
|
110
|
+
> | | `pull-crm` | core+ | ✅ | ✅ |
|
|
111
|
+
> | | `pull-ado` | core+ | ✅ | ✅ |
|
|
112
|
+
> | **Consumer (Q&A)** | `ask-project` | core+ | reads both | — |
|
|
113
|
+
> | **Vertex integration** | `vertex-link` | core+ | — | — |
|
|
114
|
+
> | | `emit-vertex` | core+ | reads both | — |
|
|
115
|
+
> | **FDE authoring** | `fde-intake` | standard+ | reads both | — |
|
|
116
|
+
> | | `fde-report` | standard+ | reads both | — |
|
|
117
|
+
> | | `fde-triage` | standard+ | reads both | — |
|
|
118
|
+
> | **Meta** | `self-check` | all | — | — |
|
|
119
|
+
> | | `intro` | all | — | — |
|
|
120
|
+
>
|
|
121
|
+
> ### Core rules (apply to every skill)
|
|
122
|
+
>
|
|
123
|
+
> - **WorkIQ-first** — if WorkIQ is reachable, use it; only fall back to host m365 tools if it is not.
|
|
124
|
+
> - **Citation Ledger** — every assertion in any output cites `[source: <alias>/<folder>/<file> · YYYY-MM-DD]`.
|
|
125
|
+
> - **Side-by-side config** — every skeleton config is paired with a live filled file in the same folder.
|
|
126
|
+
> - **NEVER reach out** — Kushi never sends outbound messages. Recommendations land in `State/09_open-questions.md`.
|
|
127
|
+
> - **Engagement-root resolution** — single root (default `OneDrive\ISE\Engagement Assets`) holds all projects.
|
|
128
|
+
>
|
|
129
|
+
> ### Want to go deeper?
|
|
130
|
+
>
|
|
131
|
+
> - Reply `walkthrough` for the interactive guided tour (≈ 5 min).
|
|
132
|
+
> - Reply `bootstrap <project name>` to start a real engagement.
|
|
133
|
+
> - Or just describe what you need — I'll route it to the right verb.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Mode 2: Interactive Walkthrough
|
|
138
|
+
|
|
139
|
+
See `references/walkthrough.md` for the full step-by-step walkthrough (pre-flight, navigation keywords, opening, demo moments for every verb, closing). Load on trigger when the user accepts the walkthrough offer.
|
|
140
|
+
|
|
141
|
+
## Validation Rules
|
|
142
|
+
|
|
143
|
+
- Rule 1.1: Trigger detection must match before activating — never activate if the user has already asked for a specific verb.
|
|
144
|
+
- Rule 1.2: Mode selection must always present BOTH options — never auto-route to one mode.
|
|
145
|
+
- Rule 1.3: In walkthrough mode, each moment must wait for `next` / `skip` / `done` / `try` before advancing — never auto-advance.
|
|
146
|
+
- Rule 1.4: `done` must work at every moment — never trap the user.
|
|
147
|
+
- Rule 1.5: Try-it prompts must use the active project name from `<workspace>/.kushi/config/user/project-evidence.yml`, OR the placeholder `Contoso Discovery` if no projects are configured. Never invent a real-sounding project name.
|
|
148
|
+
- Rule 1.6: Skill descriptions in this file must match `kushi.agent.md` and the live `SKILL.md` files — `self-check` D-checks catch drift.
|
|
149
|
+
- Rule 1.7: Demo moments must reflect the actual verb count in `kushi.agent.md`. If a verb is added or removed, this file must be updated in the same commit (`self-check` warns on drift).
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
## Validation loop
|
|
153
|
+
|
|
154
|
+
<!-- TODO(retrofit): fill in — describe how to verify this skill ran correctly. Auto-added by skill-checker --retrofit --apply per skill-authoring.instructions.md. -->
|
|
155
|
+
|
|
156
|
+
1. Run pwsh plugin/skills/self-check/run.ps1 -Targeted <area>.
|
|
157
|
+
2. Fix any findings, then re-run the affected step.
|
|
158
|
+
3. Repeat until self-check exits 0.
|
|
159
|
+
4. Only then update
|
|
160
|
+
un-log.yml with success status.
|