nw-buddy-ssot-knowledge
Single Source of Truth detection — where truth lives in an nWave repo and how to avoid contradicting it.
Best use case
nw-buddy-ssot-knowledge is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Single Source of Truth detection — where truth lives in an nWave repo and how to avoid contradicting it.
Teams using nw-buddy-ssot-knowledge should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/nw-buddy-ssot-knowledge/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How nw-buddy-ssot-knowledge Compares
| Feature / Agent | nw-buddy-ssot-knowledge | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Single Source of Truth detection — where truth lives in an nWave repo and how to avoid contradicting it.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SSOT Knowledge for the Buddy Agent Large projects accumulate multiple copies of "the same" information: a version in `pyproject.toml`, a version in a `VERSION` file, a version in the README, a version in a changelog. When these disagree, the buddy agent must know which one is authoritative. This skill is the SSOT map for nWave projects. ## Why it matters Answering a user's question with a stale secondary copy is worse than saying "I don't know": it spreads wrong information with a confident tone. The buddy's job is to read the authoritative source every time, and to flag contradictions when the copies diverge. ## The SSOT map Each concept below has one authoritative file. Read that file first. Treat everything else as a cache that may be stale. ### Versions - **Authoritative**: `pyproject.toml` `[project] version = "..."` (or the equivalent field in the package manifest for non-Python projects). - **Caches**: `VERSION` file, README badges, docs footer, release notes. - **Rule**: quote `pyproject.toml`. If asked about a cache that disagrees, report the discrepancy. ### Planned work - **Authoritative**: `BACKLOG.md` at the repo root. - **Caches**: GitHub issues, conversation context, notes in other docs, stale TODO comments. - **Rule**: work that isn't in `BACKLOG.md` is not planned. Don't invent items. If the user mentions something not on the backlog, point that out and suggest they add it. ### Architecture intent - **Authoritative**: `docs/architecture/architecture-design.md` (or whichever file the project uses as the single architecture doc — usually linked from `CLAUDE.md` or `README.md`). - **Caches**: individual feature specs in `docs/feature/` with wave subdirectories, ADRs in `docs/adrs/`, diagrams in `docs/`, comments in code. - **Rule**: design *intent* lives in the architecture doc; design *decisions* live in ADRs; design *details* live in feature specs. If they disagree, the architecture doc wins for high-level questions; ADRs win for "why did we choose X". ### Runtime behavior - **Authoritative**: the code. - **Caches**: docs, specs, comments, commit messages. - **Rule**: if a doc claims behavior X and the code does Y, the code is what users experience. Report the discrepancy as a finding. ### Configuration - **Authoritative**: the config file the runtime actually loads (`pyproject.toml`, `.pre-commit-config.yaml`, `ci.yml`, whichever applies). - **Caches**: docs describing the config, README examples. - **Rule**: quote the real file, including its path. ### Agent / command definitions - **Authoritative**: the YAML frontmatter of the agent or command file, and the framework catalog (`framework-catalog.yaml` or equivalent) if the project uses one. - **Caches**: READMEs, marketing docs, generated reference pages. - **Rule**: trust the frontmatter + catalog. ### Git state - **Authoritative**: `git status`, `git log`, `git branch`. - **Caches**: conversation memory, "what I was doing" notes. - **Rule**: run git commands before answering state questions. Never guess. ## Conflict resolution hierarchy When two sources disagree and it isn't obvious which wins, use this hierarchy from most to least authoritative: 1. The code itself (runtime behavior). 2. The config files that control the runtime. 3. The SSOT file declared by the project (`BACKLOG.md`, `architecture-design.md`, etc.). 4. ADRs (for "why" questions). 5. Feature specs. 6. Generated docs. 7. README. 8. Prose in commit messages. 9. Conversation context and memory. Reporting a conflict is a valuable answer. "The README says X but the code does Y — you probably want to update the README" is more useful than picking one silently. ## How to recognize a stale secondary copy Signals that a doc is out of date: - It references APIs, commands, or files that no longer exist in the repo. - It claims a version number older than `pyproject.toml`. - Its "last updated" date (if present) is much older than recent commits to the code it describes. - Its vocabulary matches an older phase of the project (old feature names, old architecture terms). - It contradicts a more recent ADR. When you spot one, mention it in the answer and suggest it be updated or deleted. ## Read-before-answer discipline Before any concrete answer: 1. Identify which concept the question is about (version, backlog, architecture, behavior, config, state). 2. Look up the SSOT for that concept in the map above. 3. Read the authoritative file. 4. Form the answer from that file, with a citation. 5. If you also happen to see a contradicting cache, report it. Don't answer from memory. The buddy agent's memory is not an SSOT; the repo is. ## Never invent, always cite If you don't find the information, say so and suggest where the user might add it. Never fabricate a file path, a function name, a version number, or a backlog item. Fabrication destroys trust; "I couldn't find this" preserves it. ## A short example User asks: "what version are we on and what's next?" Good answer: > We're on v2.17.5 (`pyproject.toml:3`). The top three items in `BACKLOG.md` are: > 1. Finish the D-PLUGIN-00b delivery (`BACKLOG.md:12`) > 2. Docker validation matrix refresh (`BACKLOG.md:27`) > 3. CI matrix expansion (`BACKLOG.md:34`) > > Note: the README badge shows v2.17.3 — probably stale, consider updating. Bad answer: > I think we're on v2.17 something and you're working on the plugin feature. The good answer is sourced, cited, and adds a finding. The bad answer is vibes.
Related Skills
nw-buddy
nWave concierge — ask any question about methodology, project state, commands, migration, or troubleshooting. Read-only, contextual answers.
nw-buddy-wave-knowledge
Wave methodology knowledge for the buddy agent — what each wave does, its inputs and outputs, and how to route questions.
nw-buddy-project-reading
How the nWave buddy agent reads a project to answer questions — detection, order of inspection, and citation discipline.
nw-buddy-command-catalog
All /nw-* commands — what they do, when to use them, which agent they invoke. For the buddy agent to help users pick the right command.
nw-ux-web-patterns
Web UI design patterns for product owners. Load when designing web application interfaces, writing web-specific acceptance criteria, or evaluating responsive designs.
nw-ux-tui-patterns
Terminal UI and CLI design patterns for product owners. Load when designing command-line tools, interactive terminal applications, or writing CLI-specific acceptance criteria.
nw-ux-principles
Core UX principles for product owners. Load when evaluating interface designs, writing acceptance criteria with UX requirements, or reviewing wireframes and mockups.
nw-ux-emotional-design
Emotional design and delight patterns for product owners. Load when designing onboarding flows, empty states, first-run experiences, or evaluating the emotional quality of an interface.
nw-ux-desktop-patterns
Desktop application UI patterns for product owners. Load when designing native or cross-platform desktop applications, writing desktop-specific acceptance criteria, or evaluating panel layouts and keyboard workflows.
nw-user-story-mapping
User story mapping for backlog management and outcome-based prioritization. Load during Phase 2.5 (User Story Mapping) to produce story-map.md and prioritization.md.
nw-tr-review-criteria
Review dimensions and scoring for root cause analysis quality assessment
nw-tlaplus-verification
TLA+ formal verification for design correctness and PBT pipeline integration