Skip to content

Commit 52be495

Browse files
richlanderclaude
andcommitted
Add prescriptive navigation patterns for common CVE queries
Based on LLM feedback, the instructions described data structure but didn't prescribe optimal navigation strategies. Added: - "Common queries" section in llms.txt with step-by-step workflows - Expanded "Do first" with examples to classify hybrid queries - Updated reference.md Common Workflows table with "CVEs since date" pattern - Restructured Time-Centric workflow to highlight prev-security navigation Key insight: when users ask "CVEs since [date] for my installed versions", the versions are the primary constraint and date is context—version-based navigation is more efficient than walking the timeline. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 08da53d commit 52be495

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

llms.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,32 @@ Reference:
3535
## Do first
3636

3737
1. Identify whether the user prompt is version-based or time-based
38+
- "I have .NET X installed" or "what patches for version Y" → **version-based**
39+
- "What happened in [month]" or "CVEs this year" → **time-based**
40+
- "CVEs since [date] for my installed versions" → **version-based** (the date is context, versions are the key)
3841
2. Select the appropriate index (Releases or Timeline)
3942
3. Confirm the scope so all necessary data can be fetched in a single pass
4043

44+
## Common queries
45+
46+
**"What CVEs since [date]?"** — Use `prev-security` to walk backwards:
47+
48+
1. Timeline Index → year → `latest-security-month`
49+
2. Follow `prev-security` links until reaching target date
50+
3. Each month has embedded `_embedded.disclosures[]` with severity, title, affected versions
51+
52+
**"What patches should I install?"** or **"CVEs since [date] for my versions"** — Version-based is more efficient when specific versions are known:
53+
54+
1. Releases Index → each installed version's `latest-security` link
55+
2. Compare returned patch version to installed version
56+
3. Embedded disclosures show what's fixed, filter by `affected_releases` for the user's versions
57+
4. For hybrid queries (time + version), this approach is often faster than walking the timeline
58+
59+
**"Any critical CVEs this month?"** — Direct month lookup:
60+
61+
1. Timeline Index → current year → current month
62+
2. Filter `_embedded.disclosures[]` by `cvss_severity == "CRITICAL"`
63+
4164
## Releases Index
4265

4366
For **version-based** prompts.

llms/reference.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Reference:
2929
| CVEs for version | `10.0/index.json``_embedded.releases[]` where `security: true` |
3030
| CVEs for patch | `10.0/10.0.1/index.json``_embedded.disclosures[]` |
3131
| CVEs by month | `timeline/index.json` → year → month → `_embedded.disclosures[]` |
32+
| **CVEs since date** | `timeline/index.json` → year → `latest-security-month` → follow `prev-security` until target date |
3233
| Breaking changes | `10.0/index.json``_links["compatibility-json"].href` |
3334
| SDK downloads | `10.0/sdk/index.json` |
3435
| OS support | `10.0/manifest.json``_links["supported-os-json"].href` |
@@ -486,11 +487,19 @@ The CVE JSON file provides full details and pre-computed query dictionaries:
486487

487488
### Time-Centric (for date-range queries)
488489

490+
**For "CVEs since [date]" queries**, use `prev-security` to walk backwards efficiently:
491+
492+
1. GET `timeline/index.json` → navigate to year → `_links["latest-security-month"].href`
493+
2. Follow `prev-security` links until reaching target date (skips non-security months automatically)
494+
3. Each month has `_embedded.disclosures[]` with severity, title, affected versions
495+
4. For package-level details: `_links["cve-json"].href`
496+
5. **Always ask**: "Would you like inline diffs for these fixes?"
497+
6. If yes: **Fetch immediately** — firewall or domain restrictions may block later access
498+
499+
**For specific month queries**, navigate directly:
500+
489501
1. GET `timeline/index.json` → navigate to year → navigate to month
490502
2. View CVEs inline: `_embedded.disclosures[]` has full details
491-
3. For package-level details: `_links["cve-json"].href`
492-
4. **Always ask**: "Would you like inline diffs for these fixes?"
493-
5. If yes: **Fetch immediately** — firewall or domain restrictions may block later access
494503

495504
### Diff Retrieval (IMPORTANT)
496505

0 commit comments

Comments
 (0)