Make Chronicle a Skill#313929
Merged
vijayupadya merged 7 commits intomainfrom May 4, 2026
Merged
Conversation
# Conflicts: # extensions/copilot/package.nls.json # extensions/copilot/src/extension/intents/node/chronicleIntent.ts
Co-authored-by: Copilot <copilot@github.com>
Contributor
Screenshot ChangesBase: Changed (6)Errored (18)Fixtures that failed to render — no screenshot was produced.
|
Contributor
There was a problem hiding this comment.
Pull request overview
Moves the Chronicle experience out of a dedicated /chronicle intent/prompt pipeline and into the Skills system, with the session store SQL tool expanded to cover standup + reindex workflows and to better support cloud (DuckDB) vs local (SQLite) backends.
Changes:
- Removes the Chronicle intent and panel prompt, and unregisters related slash commands/intent mappings.
- Expands
copilot_sessionStoreSqlto supportaction: query | standup | reindex, adds standup/reindex implementations, and adds cloud-specific tool definition text. - Adds a Chronicle skill (
SKILL.md) plus prompt files forchronicle:standup,chronicle:tips, andchronicle:reindex, and enables the session store SQL tool for agent tooling.
Show a summary per file
| File | Description |
|---|---|
| extensions/copilot/src/extension/tools/node/sessionStoreSqlTool.ts | Adds action routing, implements standup/reindex, improves cloud query error surfacing, and adds cloud-only alternativeDefinition description. |
| extensions/copilot/src/extension/prompts/node/panel/chroniclePrompt.tsx | Removes Chronicle-specific prompt renderer (Chronicle no longer uses this panel prompt). |
| extensions/copilot/src/extension/intents/node/chronicleIntent.ts | Removes Chronicle intent implementation (standup/tips/freeform/reindex). |
| extensions/copilot/src/extension/intents/node/allIntents.ts | Unregisters Chronicle intent from the intent registry. |
| extensions/copilot/src/extension/intents/node/agentIntent.ts | Enables session_store_sql tool for agent tool availability. |
| extensions/copilot/src/extension/common/constants.ts | Removes Chronicle intent constant and agent command mappings for chronicle commands. |
| extensions/copilot/src/extension/chronicle/node/cloudSessionStoreClient.ts | Extends query result contract to return { error } for non-OK HTTP responses. |
| extensions/copilot/package.nls.json | Removes NLS strings for Chronicle slash command descriptions. |
| extensions/copilot/package.json | Updates tool definition to support new actions and adds Chronicle prompt files + Chronicle skill file contribution; removes chronicle slash commands. |
| extensions/copilot/assets/prompts/skills/chronicle/SKILL.md | Adds the Chronicle skill instructions for standup/tips/reindex/delete guidance. |
| extensions/copilot/assets/prompts/chronicle-standup.prompt.md | Adds a prompt file for chronicle standup. |
| extensions/copilot/assets/prompts/chronicle-tips.prompt.md | Adds a prompt file for chronicle tips. |
| extensions/copilot/assets/prompts/chronicle-reindex.prompt.md | Adds a prompt file for chronicle reindex. |
Copilot's findings
Comments suppressed due to low confidence (2)
extensions/copilot/src/extension/tools/node/sessionStoreSqlTool.ts:295
- _invokeStandup reports telemetry via chronicle.sqlQuery with source='standup'. The GDPR schema comment for chronicle.sqlQuery documents 'source' as "Query target: local, cloud, or blocked", so sending standup/reindex values breaks the documented schema and makes the event ambiguous. Consider using a separate telemetry event for standup (and reindex), or expand the schema/comment to explicitly include these sources/actions.
const prompt = buildStandupPrompt(capped, cappedRefs, cappedTurns, cappedFiles);
this._sendTelemetry('standup', capped.length, Date.now() - startTime, true);
return new LanguageModelToolResult([new LanguageModelTextPart(prompt)]);
extensions/copilot/src/extension/tools/node/sessionStoreSqlTool.ts:357
- _invokeReindex reports telemetry via chronicle.sqlQuery with source='reindex'. The GDPR schema comment for chronicle.sqlQuery describes SQL query execution (local/cloud/blocked), so reusing it for reindex makes the event misleading and can violate telemetry expectations. Consider emitting a dedicated chronicle.reindex event (or updating the chronicle.sqlQuery schema/comment to include reindex explicitly).
// Cloud reindex phase — gated by cloud sync settings in RemoteSessionExporter
if (!result.cancelled && !token.isCancellationRequested) {
try {
const cloudResult = await this._runCommandService.executeCommand(
'github.copilot.sessionSync.reindex',
() => { /* progress not streamed for tool results */ },
token,
) as { created: number; eventsUploaded: number; failed: number; backfillQueued: number } | undefined;
if (cloudResult && cloudResult.created > 0) {
lines.push(`${cloudResult.created} session(s) synced to cloud.`);
}
} catch {
// Cloud phase failure is non-fatal — local reindex already succeeded
}
}
this._sendTelemetry('reindex', result.processed, Date.now() - startTime, true);
return new LanguageModelToolResult([new LanguageModelTextPart(lines.join('\n'))]);
- Files reviewed: 13/13 changed files
- Comments generated: 5
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
pwang347
approved these changes
May 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #310996