radar-explore
Discover important work the radar does NOT yet track, by iterating the discovery-venue list in SOURCES.md every run —…
Safely update TRENDS.md (the AI Security Radar ledger): append evidence, move stages, manage observation_queue, source_rotation and strategy_notes without breaking the file contract. Use every time TRENDS.md is edited, before committing radar updates, and when promoting or
Claude Code
$ npx -y skills add Neetx/ai-security-research-radar --skill radar-ledger-update --agent claude-code
Codex
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a codex -y
Cursor
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a cursor -y
Gemini CLI
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a gemini-cli -y
GitHub Copilot
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a github-copilot -y
OpenCode
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a opencode -y
Windsurf
$ npx skills add Neetx/ai-security-research-radar --skill radar-ledger-update -a windsurf -y
name: radar-ledger-update description: | Safely update TRENDS.md (the AI Security Radar ledger): append evidence, move stages, manage observation_queue, source_rotation and strategy_notes without breaking the file contract. Use every time TRENDS.md is edited, before committing radar updates, and when promoting or archiving trends.
`TRENDS.md` is the single source of truth and later sessions parse it. The structure is a contract.
stage legend.
`## source_rotation`, `## strategy_notes`, `## study_shelf`, `## calibration`.
append-only content lives in `logs/source_rotation.md` and `logs/calibration.md` respectively. Keep the two stub headers (the section order is the contract) but NEVER inline log lines back into TRENDS.md — appends go to the `logs/` files.
`pinned: true`, `stage`, `confidence`, `first_observed`, `last_evidence`, `evidence:` (list), `notes:`.
trend. New trends take the next free NNN and start at `seed` or `emerging`.
EXISTING trend's axis, append it as EVIDENCE there — a single primary suffices for an existing trend; the ≥3-source bar is only for CREATING a trend; (b) if the queue now holds ≥3 independent groups on one untracked sub-theme, promote that cluster to a `seed` trend; (c) else it stays a queue item. Leaving an on-axis primary in the queue (hoarding evidence) or a named primary in report prose only is a routing failure.
to the newest evidence date.
Proposal R; cooling period held, signal persisted: TRENDS.md reached ~468 KB with the single largest `notes` field ~55 KB (agentic-attack-surface-001), a full day-by-day running narrative that bloats every future run's context although its substance is already preserved write-once in the daily/weekly reports + git).** A trend's `notes` holds only: (1) the seed/promotion rationale (why it is a trend and its current stage), (2) the last ~6–8 dated appends, and (3) open promotion levers + current rotate-candidates. When appending would push `notes` past this — as a soft guide, keep a single `notes` field under ~4 KB — COMPRESS: drop the oldest dated narrative (the citable artifacts already live in `evidence:`; the full day-by-day story lives in the reports) and replace it with a one-line pointer ("full append narrative in the daily/weekly reports + git history"). Compressing `notes` this way is CURATION of a state field, not rewriting published history (which applies to `evidence:` lines, ARCHIVE.md and the append-only logs — those are never rewritten). Trim a bloated `notes` on the next run that touches that trend.
evidence, justified in `notes`. Demotions are always allowed. 21+ days without evidence → `dormant`; at 45+ days the weekly pass moves the entry to `ARCHIVE.md` as a one-line post-mortem.
without evidence — they are the curator's standing-watch axes. They still follow the normal stage rules, INCLUDING going `dormant` when quiet (the ledger stays truthful about activity); they simply never leave the board. Only the curator adds/removes a pin (or the agent proposes it via amendment).
is a WORKING SET (signals pending verification), not a knowledge store — keep it bounded to a soft cap of ~25 live items by a CAP-DRIVEN burndown that runs every session, including quiet/no-evidence passes: while the queue is OVER the cap, resolve the oldest items toward the cap that run regardless of what the scan found; at/under the cap it stops on its own (resolve only the 1–2 oldest if stale). This is owed every run, never deferred to the weekly — a no-evidence pass is not a no-op for the queue. Items leave ONLY by resolution: promoted to a trend (the signal is captured there) or dropped with a one-line reason in the day's/week's report (write-once, permanent). NEVER silently delete — because every removal is either a promotion or a recorded drop, shrinking the queue loses no knowledge. Re-date an item only if it is genuinely still worth watching.
log; not the TRENDS.md stub). Append dated corrections to `logs/strategy_notes.md` (the strategy log; not the TRENDS.md stub); never delete curator entries.
single-artifact items allowed (the trend bar does not apply), opened primary sources only.
runs only (see the `radar-self-eval` skill); daily runs never touch it.
grep -n '^## ' TRENDS.md
# expected, in order: Active trends, observation_queue, source_rotation, strategy_notes, study_shelf, calibration
grep -c '^### \[id: ' TRENDS.md # trend count matches expectations
grep -nE '^ - [0-9]{4}-[0-9]{2}-[0-9]{2} — ' TRENDS.md | head -3 # evidence format
grep -n '^Last updated:' TRENDS.mAutonomous tracker of the offensive AI-security frontier — AI for offense and attacks against AI — for a security researcher; generated from TRENDS.md.
Discover important work the radar does NOT yet track, by iterating the discovery-venue list in SOURCES.md every run —…
Sweep the primary security feeds — vendor/lab red-team & security blogs, research venues, and advisory feeds — on EVERY daily run…
Iterate the FULL social/community + trusted-curator source lists in SOURCES.md (Reddit, Hacker News, YouTube curators,…
Regenerate README.md, the repo's landing page and only output surface: badges, a 3-4 bullet "since last scan" digest with inline…
Watch GitHub every daily run for behind-the-scenes movement — across watched REPOS (releases, merged PRs, hot issues), watched…
Compute the radar's self-calibration: weekly funnel metrics (queue dynamics, exploration compliance, off-axis rate), a monthly…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…