llm-wiki-brief — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited llm-wiki-brief (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Structured briefs, digests, and check-ins from the PM wiki. Richer, more structured output than the §10/§11 fallbacks in the core llm-wiki-pm skill.
For ingest, update, query, lint, and all other wiki operations — the core llm-wiki-pm skill handles those. This skill is brief-only.
WIKI=$(cat .wiki-path 2>/dev/null | tr -d '[:space:]')
WIKI=${WIKI:-${CLAUDE_PLUGIN_OPTION_wiki_path:-${WIKI_PATH:-$(pwd)}}}This skill is read-only by default. Before any brief:
$WIKI/_status.md if it exists — surface any pre-computed warnings immediately$WIKI/log.md — know what's recent before summarizingFull orient (AGENTS.md 4-step protocol) only required if filing output as a wiki page.
When a brief is asked to pull from external sources (whatever the user's connected stack — issue trackers, mail, chat, CRM, meeting notes, web), the core llm-wiki-pm Source-completeness guard applies in full: an empty or errored source is a signal to vary the query, not to declare the sweep done.
## Sweep Registry in $WIKI/MY-INTEGRATIONS.md and cover every source listed; the ledger below must have one row per registered source. If no registry exists, build the set from connected tools + the Active Sources table, confirm it with the user, and write it to the registry. Forgetting a registered source (e.g. omitting Slack or GitHub from the sweep) is the worst failure — it reads as complete while a high-signal source went unread.hits / empty-after-retries / failed. Never collapse failed or empty-after-retries into "covered."failed or was abandoned after one query.### Source Coverage
- <source A>: hits (N items)
- <source B>: hits (N threads)
- <source C>: empty-after-retries — tried "X", "<scoped query> Y", "<author filter> Z"; quiet or query miss. Confirm scope/range?
- <source D>: failed — not connectedTriggers: "daily brief", "what happened today", "what happened yesterday"
① Resolve $WIKI. Read $WIKI/_status.md if present.
② Read $WIKI/log.md. Filter entries from the last 24-48 hours. Parse:
ingest, create)update)decision)query, question)③ For decision and question entries, read the referenced page to pull the one-line summary or question text.
④ Output format — structured, scannable, no prose padding:
## Daily Brief — YYYY-MM-DD
### New Pages
- [[slug]] — one-line description
### Updated Pages
- [[slug]] — what changed (one phrase)
### Decisions Logged
- [[slug]]: decision text (YYYY-MM-DD)
### Open Questions Added
- [[slug]]: question text
### Warnings
- (staleness, coverage flags, lock state from _status.md)If 24h window is empty, expand to 48h and note it. If still empty, offer weekly brief.
Log: Read-only — do not append to log.md unless user asks to file output.
If you file the brief as a page (e.g. briefings/YYYY-MM-DD.md), stamp lifecycle: dated-digest in its frontmatter. These are orphans by design; the flag keeps them out of the lint orphan count (see schema-guide). Without it, every daily brief permanently inflates the orphan metric.
Triggers: "weekly brief", "weekly checkin", "what happened this week", "week in review", "what did I miss"
① Resolve $WIKI. Read $WIKI/_status.md if present.
② Read $WIKI/log.md. Filter entries from last 7 days (default; user can specify N days).
③ Aggregate counts: pages created, updated, decisions logged, questions added vs resolved.
④ Identify top 3 areas of activity: grep mentioned slugs' frontmatter tags, count by tag frequency.
⑤ Lightweight staleness check on overview.md and index.md: if updated: older than 14 days AND log shows writes this week, surface warning.
⑥ Coverage gaps: grep for coverage: stub pages created this week only — not all stubs, just new ones.
⑦ Output format:
## Weekly Brief — Week of YYYY-MM-DD
### Summary
- Pages created: N | updated: N | decisions: N | open questions: N added, N resolved
### Top Activity Areas
1. [tag] — N entries, top pages: [[a]], [[b]]
2. [tag] — N entries, top pages: [[c]]
3. [tag] — N entries, top pages: [[d]]
### Decisions This Week
- [[slug]]: decision text (YYYY-MM-DD)
### Open Questions Added
- [[slug]]: question text
### Staleness Flags
- [[overview.md]] last updated YYYY-MM-DD — may need refresh
### Coverage Gaps from This Week
- [[slug]] created as stub — gaps: X, Y
### Warnings
- (from _status.md)⑧ Offer to file as queries/weekly-brief-YYYY-MM-DD.md. If yes, run full orient per AGENTS.md before writing.
Log: ## [YYYY-MM-DD] brief | weekly | last 7 days | filed: yes/no — only if filing.
Triggers: "[tag] digest", "brief me on [tag]", "summarize [tag] pages", "what's new in [tag]"
① Resolve $WIKI. Check tag exists in $WIKI/SCHEMA.md taxonomy. If not: "Tag '[x]' not in taxonomy. Did you mean: [closest matches]?"
② Grep for matching pages:
grep -rl "tags:.*\b<tag>\b" $WIKI/entities $WIKI/concepts $WIKI/comparisons --include="*.md"③ Sort by updated: desc. Read each page: title, type, updated, coverage, confidence, 2-3 sentence summary.
④ Cross-reference with log.md: grep each slug in last 30 days. Note recent activity.
⑤ Identify themes: recurring entities/concepts, what changed recently, open questions (question-tagged pages with matching tag), patterns, gaps.
⑥ Output format:
## [Tag] Digest — YYYY-MM-DD
N pages tagged [tag]
### Key Themes
- [Theme]: [2-3 sentence synthesis]
Sources: [[page-a]], [[page-b]]
### Recently Updated (last 14 days)
- [[slug]] (YYYY-MM-DD): what changed
### Open Questions
- [[query-slug]]: question text
### Notable Patterns
- [Pattern observed across pages]
### Coverage Notes
- [[slug]]: stub — gaps: X, Y⑦ Offer to file as queries/[tag]-digest-YYYY-MM-DD.md. If yes, full orient before writing.
Log: ## [YYYY-MM-DD] digest | tag: <tag> | N pages | filed: yes/no — only if filing.
Triggers: "what's thin", "what needs more work", "coverage brief"
① Scan coverage: frontmatter across entities/, concepts/, comparisons/. Count: stub, partial, comprehensive, missing.
② For stub/partial pages, collect tags: and gaps:. Group by primary tag.
③ Output format:
## Coverage Brief — YYYY-MM-DD
### Summary
- Stub: N | Partial: N | Comprehensive: N | No marker: N
### Stubs by Domain
**[competitive]** — N stubs
- [[slug-a]], [[slug-b]]
- Top gaps: X, Y
**[customer]** — N stubs
- [[slug-c]]
### Partial Pages with Notable Gaps
- [[slug]]: gaps: [list]
### Recommended Next Actions
- [[slug]]: highest-priority — appears in N cross-references④ Offer: "For full audit with orphan detection and taxonomy analysis, run Coverage Audit (§12) from llm-wiki-pm."
No log entry — pure read operation.
This skill handles: daily brief, weekly brief, tag digest, coverage brief.
For everything else — ingest, update, query, lint, archive, persona, pre-meeting briefing — the core llm-wiki-pm skill handles those.
"For full ingest/update/query operations, the core llm-wiki-pm skill handles those."
[[wikilinks]].private: true pages — surface topic category only, not content.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.