Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .claude/skills/codebase-index/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ The index returns a **ranked retrieval packet** with:
- `score` — relevance score
- `reason` — why this result ranked (e.g., "exact symbol match, 4 callers")
- `snippet` — compact code excerpt (may already answer the question); `null` means budget was spent — read via `recommended_reads` instead
- `skeletonized` — when `true`, the `snippet` is a **focus skeleton**: import/signature/class lines and the line(s) matching your query are kept, while function bodies collapse to a marker like `... 24 lines elided (read 88-134)`. Read that line range (or the result's `line_start`/`line_end`) when you need a full body.
- `elided_lines` — how many source lines the skeleton folded away (`0` when not skeletonized).

Top-level fields:

Expand Down Expand Up @@ -136,6 +138,7 @@ Top-level fields:
- Don't re-run the query with trivially reworded text; refine with a different subcommand instead.
- For broad questions (`confidence: low`, architecture, data-flow), raise the budget: `--token-budget 3000`.
- Test files are demoted in ranking by default. Include "test" in the query to surface them.
- Snippets are skeletonized by default to fit more results in the budget. The matched line is always preserved; pass `--raw` (CLI) or `raw: true` (MCP) on the rare occasion you need full bodies inline instead of reading the cited line range.

## Fallback behavior

Expand Down
3 changes: 3 additions & 0 deletions .codex/skills/codebase-index/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ The index returns a **ranked retrieval packet** with:
- `score` — relevance score
- `reason` — why this result ranked (e.g., "exact symbol match, 4 callers")
- `snippet` — compact code excerpt (may already answer the question); `null` means budget was spent — read via `recommended_reads` instead
- `skeletonized` — when `true`, the `snippet` is a **focus skeleton**: import/signature/class lines and the line(s) matching your query are kept, while function bodies collapse to a marker like `... 24 lines elided (read 88-134)`. Read that line range (or the result's `line_start`/`line_end`) when you need a full body.
- `elided_lines` — how many source lines the skeleton folded away (`0` when not skeletonized).

Top-level fields:

Expand Down Expand Up @@ -136,6 +138,7 @@ Top-level fields:
- Don't re-run the query with trivially reworded text; refine with a different subcommand instead.
- For broad questions (`confidence: low`, architecture, data-flow), raise the budget: `--token-budget 3000`.
- Test files are demoted in ranking by default. Include "test" in the query to surface them.
- Snippets are skeletonized by default to fit more results in the budget. The matched line is always preserved; pass `--raw` (CLI) or `raw: true` (MCP) on the rare occasion you need full bodies inline instead of reading the cited line range.

## Fallback behavior

Expand Down
3 changes: 3 additions & 0 deletions .opencode/skills/codebase-index/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ The index returns a **ranked retrieval packet** with:
- `score` — relevance score
- `reason` — why this result ranked (e.g., "exact symbol match, 4 callers")
- `snippet` — compact code excerpt (may already answer the question); `null` means budget was spent — read via `recommended_reads` instead
- `skeletonized` — when `true`, the `snippet` is a **focus skeleton**: import/signature/class lines and the line(s) matching your query are kept, while function bodies collapse to a marker like `... 24 lines elided (read 88-134)`. Read that line range (or the result's `line_start`/`line_end`) when you need a full body.
- `elided_lines` — how many source lines the skeleton folded away (`0` when not skeletonized).

Top-level fields:

Expand Down Expand Up @@ -136,6 +138,7 @@ Top-level fields:
- Don't re-run the query with trivially reworded text; refine with a different subcommand instead.
- For broad questions (`confidence: low`, architecture, data-flow), raise the budget: `--token-budget 3000`.
- Test files are demoted in ranking by default. Include "test" in the query to surface them.
- Snippets are skeletonized by default to fit more results in the budget. The matched line is always preserved; pass `--raw` (CLI) or `raw: true` (MCP) on the rare occasion you need full bodies inline instead of reading the cited line range.

## Fallback behavior

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ All notable changes to this project are documented here. The format is based on

## [Unreleased]

### Added
- **Snippet skeletonization & content-aware rendering.** `search`/`explain` snippets are now
focus skeletons — import/signature/class lines and the query-matching line are kept while
function bodies collapse to a `... N lines elided (read A-B)` marker — so more ranked results
fit the same token budget. Content-aware (code via tree-sitter, markdown headings,
structured-config keys), reversible via `recommended_reads`, and safe (raw fallback on any
parse miss or non-win). New `skeletonized` / `elided_lines` result fields; new
`retrieval.compact_snippets` / `retrieval.compact_min_reduction` config knobs (no reindex);
disable per-call with `--raw` (CLI) or `raw: true` (MCP `search_code` / `explain_code`).

## [1.5.0] - 2026-06-24

### Added — graph visualization upgrade + interop exports
Expand Down
Loading
Loading