llm-wiki-prd — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited llm-wiki-prd (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.
Sub-skill of llm-wiki-pm. Generates PM artifacts (PRDs, user stories, release notes) from wiki knowledge. The wiki is the only source of truth. Never fabricates product context.
Does not activate for wiki operations (ingest, update, lint, query). Those route to llm-wiki-pm.
Per AGENTS.md, orient before any write. PRD generation requires knowing what pages exist to avoid duplication and ensure grounding.
Orient steps (mandatory):
WIKI=$(cat .wiki-path 2>/dev/null | tr -d '[:space:]')
WIKI=${WIKI:-${CLAUDE_PLUGIN_OPTION_wiki_path:-${WIKI_PATH:-$(pwd)}}}① Read $WIKI/SCHEMA.md — tag taxonomy, domain scope ② Read $WIKI/index.md — what pages exist (prevents duplicate artifacts, identifies grounding material) ③ Read last 20-30 lines of $WIKI/log.md — recent activity ④ Read $WIKI/overview.md — current synthesis state
Orient gate (enforced): if steps ①-④ are not complete in this session, refuse any write. Surface: "Need to orient first. Running now." Then orient, then proceed.
Never invent product context. If the wiki has no page for a claimed feature, customer segment, or competitive context, say so and offer to create a stub first:
"No wiki page found for [X]. Draft with that gap flagged, or create a stub page first?"
Every factual claim in a generated artifact must cite [[page]] from the wiki. No citation = no claim.
Output structures for all three operations live in references/prd-templates.md — copy the matching template when drafting.
Trigger: "write a PRD", "draft PRD for [feature/topic]"
① Ground in wiki — grep -ri "<feature>" "$WIKI" --include="*.md" -l, then read every relevant page: entities, concepts, comparisons, customer pages, and decision/roadmap/question-tagged pages. ② Surface gaps before drafting — if a major section has no wiki backing (target persona, competitive context, core problem, key decisions), flag it and ask; never draft a fabricated section silently:
"Missing wiki coverage for: [X, Y, Z]. Draft with gaps flagged, or research first?"
③ Draft to $WIKI/queries/prd-<feature-slug>-<YYYY-MM-DD>/README.md using the PRD template (references/prd-templates.md). ④ Cite inline — every factual claim cites its source ("Per [[page]]..."); an uncited claim moves to Open Questions or gaps:. ⑤ Populate `gaps:` with unbacked sections — this surfaces in Coverage Audit. ⑥ Update navigation — add to index.md under queries/, append the prd log line.
Trigger: "create user stories", "write user stories for [feature]", "acceptance criteria"
① Ground in wiki — same search as PRD ①. ② Read persona pages — grep -ri "persona" "$WIKI/entities" -l; read each relevant entities/<name>-persona.md for "As a [persona]" framing. If none exist:
"No customer entity pages found. Stories will use generic personas. Create customer pages first for grounded framing?"
③ Generate stories — As a [persona], I want [action] so that [outcome]. One per distinct need, grouped by persona. ④ Add acceptance criteria — Given/When/Then per story; flag any criterion that's an assumption with no wiki backing. ⑤ File to $WIKI/queries/user-stories-<feature-slug>-<YYYY-MM-DD>.md using the template; append the user-stories log line. ⑥ Link back from the relevant concept/roadmap page.
Trigger: "generate release notes", "draft release notes", "what shipped"
① Date range — if unspecified, ask; "last release" → find the prior release-notes entry in log.md for the cutoff. ② Read `log.md` for the range — filter for roadmap pages, decision entries, supersedes: changes (deprecations), and crystallize/PRD query entries. ③ Read the actual pages — log summaries are thin; pull substance from the pages, never write release notes from log lines alone. ④ Draft by category using the template. User-facing copy stays clean — no wiki jargon or [[wikilinks]]; citations go only in the internal-context section. ⑤ File to $WIKI/queries/release-notes-<YYYY-MM-DD>.md; append the release-notes log line.
| Artifact | Path |
|---|---|
| PRD | $WIKI/queries/prd-<feature-slug>-<YYYY-MM-DD>/README.md |
| User Stories | $WIKI/queries/user-stories-<feature-slug>-<YYYY-MM-DD>.md |
| Release Notes | $WIKI/queries/release-notes-<YYYY-MM-DD>.md |
All artifacts:
type: query in frontmattersources: lists all wiki pages consultedgaps: lists sections with no wiki backingindex.md under the queries/ sectionlog.mdInherited from AGENTS.md. The following apply specifically to artifact generation:
No fabrication. Every claim must cite a wiki page. If no page exists, the claim goes to gaps or open questions.
No silent gaps. If a major PRD section has no wiki backing, surface it before drafting and populate gaps: in frontmatter.
Orient first. Read SCHEMA.md, index.md, log.md tail, overview.md before generating any artifact.
No wiki jargon in user-facing copy. Release notes and PRDs shared externally should read naturally. Internal citations go in frontmatter sources: and an internal-only section.
No orphan artifacts. After filing, add the artifact to index.md and link back from any relevant concept or roadmap page it references.
Verify writes. Re-read after writing. If frontmatter is malformed, do not update index.md or log.md.
entities/<name>-persona.md pages, user stories default to generic framing.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.