AI skills in use in my daily
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
7.4 KiB

---
name: "connect"
description: "Manage Microsoft Connect (perf review) tracking inside the Obsidian vault. Reads the active Connect markdown in D:\\Repos\\Obsidian\\04 - Connects\\, cross-references the rest of the vault for evidence (daily notes, squad meetings, status updates, decisions), and emits weekly check-ins, draft narratives, 1:1 prep digests, and gap warnings. Triggers: 'connect', 'connect check-in', 'connect prep', 'connect draft', or any /connect subcommand."
---
## Connect Skill
Helps the user track and stay on top of their Microsoft Connect (perf review)
period using their Obsidian vault as the source of truth.
**Vault root:** `D:\Repos\Obsidian\`
**Connect folder:** `D:\Repos\Obsidian\04 - Connects\`
**Templates:** `D:\Repos\Obsidian\04 - Connects\Templates\`
**Output folders (skill writes here):**
- `04 - Connects\Check-ins\YYYY-MM-DD.md`
- `04 - Connects\Drafts\YYYY-MM.md`
The skill is **read-only** outside `04 - Connects\` — never modify daily notes, squad notes, or meeting notes. Only emit new files inside `04 - Connects\`.
---
### Active Connect doc
The user authors one markdown per Connect period (e.g. `2026-H1.md`) directly in
`04 - Connects\`. The "active" doc is the one whose frontmatter has
`status: active`. Use this PowerShell to find it:
```powershell
Get-ChildItem 'D:\Repos\Obsidian\04 - Connects\*.md' -File | ForEach-Object {
$head = Get-Content $_.FullName -TotalCount 12 -ErrorAction SilentlyContinue
if ($head -match 'status:\s*active') { $_.FullName }
}
```
If multiple are marked active, prefer the one whose `period` lexically sorts last
and warn the user. If none are active, tell the user and offer `/connect new`.
### Connect doc convention (for parsing)
```yaml
---
type: connect
period: 2026-H1
status: active
start: 2026-01-01
end: 2026-06-30
manager: <name>
---
```
Body sections:
- `## Core Priority N — <title>` — one per priority. Sub-fields:
- `**Tags:** #cp/<tag1> #cp/<tag2>` — these are the tag hooks for evidence rollup.
- `**What success looks like:**`
- `**Key results / milestones:**`
- `**People / projects / keywords:**`
- `## Growth & Learning`
- `## Manager check-in notes`
- `## Submitted Connect`
### Evidence sources (READ ONLY)
Scan these for evidence to attribute to priorities:
1. `01 - Daily\*.md` — look in `## ✅ Tasks`, `## 📌 Highlights`, `## 🌙 Reflection` (Wins/Lessons), `## ✅ Action Items`, `## 💬 Teams Activity`, `## 🗓️ Meetings`.
2. `02 - Meetings\**\*.md` and `03 - Squads\**\Meetings\*.md` — meeting summaries, decisions, action items.
3. `03 - Squads\**\Status Updates\*.md` — explicit status writeups.
4. `03 - Squads\**\04 - Decisions.md` — squad decisions.
5. `00 - Inbox\*.md` — only if the file is dated within the window.
### Matching strategy (apply in order, dedupe)
1. **Tag match** — `#cp/<tag>` anywhere in a note attributes that note to the matching priority.
2. **Keyword/people/project match** — extract terms from each priority's `**People / projects / keywords:**` line plus the priority title; case-insensitive substring match against note body. Be conservative — require at least one strong match (a project/person, not a generic word).
3. **Recency window** — defaults: weekly = last 7 days, period-to-date = since `start` in frontmatter, custom = whatever the user passes.
When emitting evidence, always cite the source note as an Obsidian wikilink (e.g. `[[2026-05-11]]`, `[[2026-05-12 - OMR Reliability Cross-Squad Meetup]]`).
---
## Subcommands
The user may invoke any of these. If they say `/connect` with no subcommand, ask which one — show the table of options. If they describe an intent in natural language ("how am I doing on connect?"), pick the closest subcommand.
### `/connect status`
Show:
- The active Connect doc path + period + days remaining until `end`.
- Each Core Priority: title, tag hooks, **last evidence date** found in the vault, **count of evidence items** in the period.
- Cold priorities (no evidence in last 14 days).
- Top 3 gaps.
Do NOT write any file. Just respond.
### `/connect evidence [priority] [--since YYYY-MM-DD]`
List every evidence snippet matched, grouped by priority. If `priority` is omitted, do all. If `--since` omitted, default to last 7 days.
For each snippet include: source wikilink, date, one-line summary, why it matched (tag vs keyword).
Do NOT write any file. Just respond.
### `/connect checkin`
Generate a weekly check-in note from `Templates\Check-in.md`. Fill in:
- Per-priority new evidence (last 7 days), summarized in 1–3 bullets each.
- Gaps / risks (priorities with thin evidence, action items going stale).
- Suggested next actions (concrete, attributable to a priority).
- Cold priorities (>14d silent).
- "For the manager 1:1" section — punchy, max 5 bullets.
Save to `04 - Connects\Check-ins\YYYY-MM-DD.md` (use today's date in PT). If a check-in already exists for today, ask before overwriting; default to appending a `## Re-run HH:MM` section.
Then briefly tell the user the path and the top 3 highlights.
### `/connect draft`
Produce a narrative draft per priority suitable for pasting into HR Web. Style:
- 1–3 paragraphs per priority, written in first person, past/present tense as appropriate.
- Lead with impact ("what changed in the world"), then approach, then evidence.
- Reference specific work (project names, decisions, metrics) — pull these from the vault evidence.
- No fluff, no buzzwords beyond what the user already uses.
Save to `04 - Connects\Drafts\YYYY-MM.md` (current month). Overwrite freely; this is a draft.
Then summarize what's in the draft and flag any priority where evidence felt thin.
### `/connect prep <name>`
Pull Connect-relevant evidence since the last 1:1 with `<name>` (look in `02 - Meetings\` for the most recent file containing that name, or fall back to last 14 days). Output as a markdown digest grouped by priority. Do NOT write a file unless the user asks.
If `<name>` matches the `manager:` frontmatter, this is a manager-prep run — include the Submitted Connect snippet from the doc and a "what I'd like to discuss" section.
### `/connect new <period>`
Scaffold a new Connect markdown:
1. Find the current active doc and set its frontmatter to `status: archived`.
2. Copy `Templates\Connect Period.md` to `04 - Connects\<period>.md` (e.g. `2026-H2.md`).
3. Substitute `{{period}}`, `{{start}}`, `{{end}}` based on the period name (H1 = Jan 1–Jun 30, H2 = Jul 1–Dec 31 of the year embedded in the period).
4. Tell the user to fill in titles, tags, and goals, then re-run `/connect status`.
---
## Implementation notes
- Use PowerShell `Get-ChildItem` + `Select-String` (or `grep` tool) to scan files efficiently. For large scans batch by month rather than reading every file.
- Always parse frontmatter via simple line-based regex; don't pull in YAML libs.
- Use `[[wikilink]]` style with the file's basename (no `.md`, no path) for Obsidian compatibility.
- All "today" decisions use America/Los_Angeles. Use `Get-Date` formatted as `yyyy-MM-dd`.
- When generating, be honest about gaps. Do not fabricate evidence. If a priority truly has no matched notes, say so explicitly.
- Sensitivity: Connect content is private. Never send drafts via Teams/email automatically. Files inside the Obsidian vault are fine.
## First-run guidance
If `04 - Connects\` has no `*.md` other than the templates, tell the user:
> "No Connect doc yet. Run `/connect new 2026-H1` (or your current period) to scaffold one, then fill in your Core Priorities and tags."