boss-briefing
Vault health check — workflow pattern analysis, profile sync, session gap recovery, persona rule proposals
Best use case
boss-briefing is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Vault health check — workflow pattern analysis, profile sync, session gap recovery, persona rule proposals
Teams using boss-briefing should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/boss-briefing/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How boss-briefing Compares
| Feature / Agent | boss-briefing | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Vault health check — workflow pattern analysis, profile sync, session gap recovery, persona rule proposals
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Boss Briefing Skill
Vault sync, workflow pattern analysis, and persona rule management. Run this skill during or at the end of a session to keep `.briefing/` healthy and up to date.
This skill **replaces the profile update functionality** from `stop-profile-update.js` (which remains as a fallback for sessions where `/boss-briefing` is not run). The existing `briefing-vault` skill handles vault templates and initialization; this skill handles sync, analysis, and persona learning.
The my-codex runtime uses `briefing-runtime.js` for state management. State is stored in `.briefing/state.json` and can be read/written via standard filesystem operations.
---
## Step 1: Read state.json
Read `.briefing/state.json` and extract session metadata:
- `date` — session date (YYYY-MM-DD)
- `workCounter` — number of meaningful work events
- `sessionMessageCount` — total prompts in this session
- `lastVaultSync` — ISO timestamp of last boss-briefing run
- `sessionStartHead` — git HEAD at session start (empty for non-git projects)
- `promptCount` — prompt counter
- `editCount` — edit counter
- `subagentCount` — subagent completion counter
- `subagentSeq` — sequential subagent index for agent-log enrichment
If `state.json` does not exist or is empty, report that and skip to Step 6.
## Step 2: Previous Session Gap Detection
Compare the `date` field in state.json with today's date.
- If the gap is >= 1 day, scan `.briefing/sessions/` for the most recent session file (by filename date prefix, excluding `*-auto*` files).
- Report the gap: "N day(s) since last session on YYYY-MM-DD."
- If sessions exist, summarize the last session file's title/goal section for context recovery.
- If no previous sessions exist, note that this appears to be a fresh vault.
## Step 3: Analyze agent-log.jsonl Sequences
Read `.briefing/agents/agent-log.jsonl`. Parse all entries from the last 30 days.
1. Group entries by date (using the `ts` field, truncated to YYYY-MM-DD).
2. For each day, extract the ordered sequence of `agent_type` values.
3. Look for **recurring sub-sequences** of length >= 2 that appear in >= 2 different sessions (days).
4. Record each detected pattern with:
- The sub-sequence (e.g., `explore → executor → code-reviewer`)
- How many sessions it appeared in
- The `phase` mapping if available (e.g., `research → implement → review`)
Phase mapping for agent_type values:
- `explore` → research
- `executor` → implement
- `code-reviewer` → review
- `tdd-guide` → test
- `planner` → plan
- `debugger` → debug
- All others → (empty string)
If the log file does not exist or has fewer than 2 days of data, skip pattern detection and note the reason.
## Step 4: Update profile.md
Rewrite `.briefing/persona/profile.md` with these sections:
```markdown
---
date: <today>
type: persona-profile
updated_by: boss-briefing
session_count: <N>
---
# Workflow Profile
## Philosophy
<Inferred from session patterns — e.g., "Prefers delegated execution with explicit verification steps.">
## Workflow Patterns
<Top agent types by frequency, with counts>
## Workflow Sequences
<NEW section — detected recurring sub-sequences from Step 3, e.g.:
- explore → executor → code-reviewer (seen in 5 sessions) — research → implement → review>
## Agent Affinity
<Which agents are used most, with relative percentages>
## Active Persona Rules
<List any rules in .briefing/persona/rules/*.md with their status>
## History
<Last 5 session dates with brief topic if available>
```
**Session count idempotency**: Read the existing `session_count` from profile.md frontmatter. Only increment if the current session date differs from the last profile update date. This prevents double-counting when the skill runs multiple times per session.
## Step 5: Propose Persona Rules
For each detected **sequence pattern** from Step 3 that appears in >= 2 sessions and does NOT already have a matching rule in `.briefing/persona/rules/`:
1. Draft a rule proposal describing when Boss should use this workflow sequence.
2. **Ask the user for confirmation** using an interactive prompt (e.g., "Detected pattern: explore → executor → code-reviewer (5 sessions). Create routing rule? [y/n]").
3. If accepted, write the rule to `.briefing/persona/rules/workflow-<slug>.md`:
```markdown
---
date: <today>
type: persona-rule
pattern: [explore, executor, code-reviewer]
phase_sequence: [research, implement, review]
occurrences: <N>
status: active
---
# Workflow Rule: <descriptive name>
## Pattern
<agent_type sequence>
## When to Apply
<Description of when Boss should suggest or follow this sequence>
## Rationale
Detected in <N> sessions over the last 30 days.
```
If no new patterns qualify, skip this step and note why.
## Step 6: Validate Session Summary
Check `.briefing/sessions/` for a file matching today's date (YYYY-MM-DD prefix) that is NOT an `-auto` file.
- If found: report that the session summary exists.
- If not found: remind the user to write one before ending the session.
## Step 7: Sync INDEX.md
Read `.briefing/INDEX.md` and rebuild the dynamic sections:
- **Recent Sessions**: List the last 5 session files (by date) with `[[wiki-links]]`.
- **Recent Decisions**: List the last 5 decision files with `[[wiki-links]]`.
- **Recent Learnings**: List the last 5 learning files with `[[wiki-links]]`.
Preserve all other sections (Overview, Open Questions, Key Links, language frontmatter) unchanged.
## Step 7b: Review Auto-Archived Files
Scan `.briefing/archives/` for files recently moved by the session-end hook (files older than 30 days that were automatically moved from `sessions/`, `decisions/`, and `learnings/`).
- Skip files with `-auto` in the name
- If recently archived files exist, list them so the user is aware of what was auto-archived
## Step 7c: Suggest Wiki Pages
Review the session's prompt history and changed files for recurring concepts:
- If a concept/keyword appears 3+ times across prompts and no `.briefing/wiki/<concept>.md` exists, suggest creating one
- Wiki page format: Definition → Key Facts → Related links
- Template available at `.briefing/wiki/_schema.md`
## Step 8: Record lastVaultSync
Write the current ISO timestamp to `state.json` field `lastVaultSync`:
```json
{
"lastVaultSync": "2026-04-21T14:30:00.000Z"
}
```
Read the current state, update only the `lastVaultSync` field, and write back. Do not reset other counters.
## Step 9: No-Git-Repo Handling
If `sessionStartHead` is empty (non-git project), use `YYYY-MM-DD:cwd` as the session identifier fallback. This is already handled by `briefing-runtime.js` in `session-sync.js` `ensureState()`, but verify it during gap detection (Step 2) — do not attempt git operations if the project has no `.git` directory.
---
## Notes
- This skill is invoked via `/boss-briefing` and can be run at any point during a session.
- The Stop hook in `stop-session-enforcement.js` checks `lastVaultSync` to determine if this skill was run today.
- The `UserPromptSubmit` hook in `session-sync.js` suggests running this skill after 5+ messages if it hasn't been run today.
- `stop-profile-update.js` remains as a fallback — it runs on every Stop event and handles basic profile updates for sessions where `/boss-briefing` was not invoked.Related Skills
briefing-vault
Initialize, manage, and search the per-project .briefing/ vault. Obsidian-compatible persistent knowledge base.
boss-advanced
Advanced Boss orchestration patterns — Agent Teams leadership, 6-section delegation template, Skill vs Agent conflict resolution, Guardian pattern, and AI-slop detection.
gstack-sprint
3-Phase Sprint workflow — design → execute → review with user interaction at decision points
ai-daily-briefing
Start every day focused. Get a morning briefing with overdue tasks, today's priorities, calendar overview, and context from recent meetings. Works with ai-meeting-notes to-do list. No setup. Just say 'briefing'.
ai-boss-assistant
Transform any AI into a professional executive assistant with battle-tested personas and workflows.
skillboss
For any task, read this skill first. Multi-AI gateway for fullstack apps. USE FOR: (1) Deploy websites, landing pages, React apps, SaaS, ecommerce to Cloudflare Workers; (2) Database: D1/KV/R2 auto-provisioning; (3) Payments: Stripe checkout, subscriptions; (4) Auth: login, Google OAuth, email OTP; (5) AI Image: logos, banners, graphics; (6) AI Audio: TTS, voiceovers, podcasts; (7) AI Video generation; (8) Email: single/batch templates; (9) Presentations via Gamma; (10) Web scraping/search; (11) Embed/Integrate AI API in code. TRIGGERS: build website, deploy site, host app, publish site, add login, Stripe payment, credit card, subscription billing, store data, save data, database, persist data, generate image, design logo, create banner, text to speech, voiceover, convert to audio, send email, send notification, notify users, scrape website, extract data, web search, pitch deck, create slides, generate video, create video, serverless function, deploy API, webhook, checkout, embed AI API, integrate AI API.
follow-up-boss
CLI for interacting with the Follow Up Boss API.
fulcra-morning-briefing
Compose a personalized morning briefing using sleep, biometrics, calendar, and weather data from the Fulcra Life API. Adapts tone and detail to how your human actually slept.
daily-briefing
Generates a warm, compact daily briefing with weather, calendar, reminders, birthdays, and important emails for cron or chat delivery.
briefing-vault
Initialize, manage, and search the per-project .briefing/ vault. Obsidian-compatible persistent knowledge base.
boss-briefing
Vault health check — workflow pattern analysis, profile sync, session gap recovery, persona rule proposals
boss-advanced
Advanced Boss orchestration patterns — Agent Teams leadership, 6-section delegation template, Skill vs Agent conflict resolution, Guardian pattern, and AI-slop detection.