Automates consistency checks and version migrations for Pureinn project workspaces.

Install

mkdir -p .claude/skills/pm-audit && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17011" && unzip -o skill.zip -d .claude/skills/pm-audit && rm skill.zip

Installs to .claude/skills/pm-audit

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Health check for an existing Pureinn workspace. Scans the framework's own artifacts - the 4 Live Registers, feature_list, Feature Cards, roadmap, glossary, state.json - against the current Pureinn conventions, finds inconsistencies, drift, and errors, then fixes the mechanical ones and asks about the judgment calls. Detects framework-version drift (artifacts produced by an older Pureinn version) and offers to migrate them. Use when a workspace was built with an older version, after pm-reconcile or pm-reverse-extract, or any time you want to confirm the workspace is internally consistent before continuing. Takes an optional area argument to scope the audit (/pm-audit domain | rules | features), or audits the whole workspace by default. Distinct from pm-reconcile (code vs legacy docs) and pm-reverse-extract (code to inventory) - this checks Pureinn artifacts against Pureinn conventions (Tier 1: form) and cross-checks the strategic layer (PRD, roadmap, personas, market, business model) for semantic consistency, surfacing contradictions read-only and routing each fix to its authoring skill (Tier 2: substance).
1123 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • →Scan Pureinn workspace artifacts for inconsistencies
  • →Detect framework-version drift in artifacts
  • →Fix mechanical inconsistencies in place
  • →Surface strategic contradictions for user review
  • →Generate an audit report with findings by severity

How it works

The skill scans Pureinn workspace artifacts against current framework conventions, identifies inconsistencies and version drift, automatically fixes mechanical issues, and reports strategic contradictions for user decision.

Inputs & outputs

You give it
An optional area argument (domain, rules, features) or the whole Pureinn workspace
You get back
An `audit/audit_report.md` with findings, mechanical fixes applied in place, and a short AskUserQuestion round for judgment calls

When to use pm-audit

  • →Verifying workspace consistency
  • →Fixing framework version drift
  • →Auditing product management artifacts

About this skill

PM - Audit (Workspace Health Check)

Agent mode (--agent)

Supports --agent: runs autonomously in a subagent, drafts the artifact from existing inputs, and returns a short summary + coverage note.

  • No flag → interactive (default); if inputs are heavy, offer agent mode.
  • --agent → obey. First check inputs are complete. Anything missing: do NOT invent it - mark [ASSUMED - what/why] in the output and summary. Never hallucinate to fill a gap.

Artifact language

Checks state.json → artifact_language. Default (unset or "English"): no change in behavior.

  • If set to a non-English language: write prose content (descriptions, rationale, rule text) in that language.
  • Never translate: IDs, frontmatter keys and enum values, section headers other skills parse, file names - these stay English always, regardless of the setting.

Standalone run

Needs the artifacts listed under Dependencies - it synthesizes them, so without them there is nothing to synthesize.

  • No workspace, or inputs missing: name which are missing and what each one unlocks, then offer the PREREQ paths - proceed on stated assumptions marked [ASSUMED - what/why], or route to the skill that produces the missing input. Never hard-block, and never invent the input.
  • Writing never depends on /pureinn having run: with no workspace, create just the folder this skill writes into, or write to a path the user names, and say where the file went.
  • Read pureinn-variables.md / state.json where a value is actually used, not at the top of the run. Missing value: continue and name the capability it costs.

What this skill does

Scans an existing Pureinn workspace and reports - then fixes - where its own artifacts drifted from the current framework conventions. It is the productized version of a manual consistency pass: ID and naming integrity, cross-reference resolution, structural conformance, lifecycle validity, completeness, and framework-version drift (artifacts from an older Pureinn version that miss newer fields or use old names).

Two tiers, two different jobs:

  • Tier 1 - Form. Naming, IDs, cross-refs, lifecycle, schema, metadata parity. Mechanical - auto-fixed in place. This is the classic audit.
  • Tier 2 - Strategic consistency (substance). Does the strategic layer still agree with itself and with the research it was built on - PRD Target Customer vs. personas, value prop vs. research pains, roadmap phases vs. feature phases, pricing vs. WTP? This tier is read-only: it never auto-edits strategic content (that is a business decision). It surfaces each contradiction as [CONFLICT] and routes the fix to the authoring skill (pm-prd, pm-product-roadmap, pm-business-model, ...), which re-runs in delta mode. Run Tier 2 after a research injection or strategic pivot, and before a build commitment or pitch.

Run it when:

  • A workspace was built with an older Pureinn version and you want it brought current
  • Right after pm-reconcile or pm-reverse-extract, as a verification pass
  • Any time before continuing work, to confirm the workspace is internally consistent

Produces:

  1. audit/audit_report.md - findings by severity (P0-P3), scored
  2. Mechanical fixes applied in place (with a diff summary)
  3. A short AskUserQuestion round for every judgment call

It checks Pureinn artifacts against Pureinn conventions - it does not read the codebase or legacy docs (that is pm-reconcile / pm-reverse-extract).


Position vs. related skills

SkillInput → output
pm-reconcilecodebase vs legacy docs → reconciled rebuild
pm-reverse-extractcodebase → feature inventory
pm-auditPureinn artifacts vs Pureinn conventions → drift/error fix

pm-reconcile and pm-reverse-extract hand off to pm-audit as their verification step.


What this skill does NOT do

  • Read the codebase or legacy documents (that is reconcile / reverse-extract)
  • Change business decisions or rule values - only structure, naming, references, and conformance. Tier 2 may report a strategic contradiction, but it never resolves it - resolving means choosing between two business claims, which belongs to the authoring skill in delta mode.
  • Generate new artifacts that do not exist - it audits what is there (a missing artifact is a finding, not something it invents)

Dependencies

  • A Pureinn workspace exists: pureinn-workspace/[project-slug]/ with at least state.json and some artifacts.

If no workspace is found, do not guess. Tell the user to run /pureinn first (greenfield) or /pm-reverse-extract / /pm-reconcile (existing product).


Scope (whole workspace or one area)

pm-audit takes an optional area argument, mirroring pm-reconcile's per-area model:

CommandAudits
/pm-auditWhole workspace (default) - all artifacts
/pm-audit domaindomain/entities.md + domain/domain-model.md (structure, entity/state naming, ERD ↔ entities consistency)
/pm-audit rulesdomain/business_rules.md + domain/decision_models.md (BR/TBL IDs, rule↔entity refs, decision-table completeness)
/pm-audit featuresfeatures/feature_list.md + features/cards/ (card structure, FS-NN, Section-1 BR-ID refs resolve, lifecycle status)
/pm-audit open-questionsdomain/open_questions.md (ID hygiene, Type↔prefix match, no duplication of open-item text elsewhere in the workspace)
/pm-audit strategyTier 2 only - cross-artifact strategic consistency (PRD ↔ personas ↔ roadmap ↔ market ↔ business model ↔ feature phases). Read-only, routes fixes to authoring skills.
/pm-audit [other]any single artifact the user names

Tier scoping: area scopes (domain, rules, features, open-questions) run Tier 1 only. strategy runs Tier 2 only. The default whole-workspace run does both tiers.

When an area is given, scan and report only that area's artifacts (plus their direct cross-references - e.g. features checks that BR-IDs in cards resolve into business_rules.md, without auditing the rules themselves). When no area is given, audit everything. If the user states a scope in plain language, honour it (per the Adaptive-execution standard).


Step 0: Locate workspace + detect version

Determine the scope first (from the argument or the user's request - default whole workspace). Then find the workspace and inventory the artifacts in scope:

ArtifactPresent?
state.json
domain/entities.md, business_rules.md, decision_models.md
features/feature_list.md + features/cards/
product/PRD_master.md
roadmap, glossary
prototypes/*/meta.md (prototype folders, if any)

Version-drift signals (detect an older-framework workspace). This is the concrete migration checklist - an artifact produced by an older Pureinn version will carry one or more of these; scan for each literally, not just "convention drift" in the abstract:

  • Old lifecycle state names (1_Walkthrough, 2_Design, 3_Design_Inspection_Passed, 4_Build, 5_Code_Inspection, 6_Promoted_to_Build)
  • Old hierarchy terms (Subject Area, Major Feature Set) or bare FS-ID without FS-NN: Name
  • Missing newer Feature Card fields (feature_set, estimate) or the ## Subtasks section
  • Notion cache key notion.* instead of notion_ids.*
  • Feature Card prd_ref pointing at the old PRD path - prd_ref: /product/PRD.md#... (or the missing-slash variants product/PRD.md#... / bare PRD.md#...). Older versions saved the PRD as PRD.md; the canonical save path is now product/PRD_master.md, so every old card carries a dead reference to a file that no longer exists. Migrate to prd_ref: /product/PRD_master.md#... (preserve the #section anchor). Initiative-PRD refs (/initiatives/[slug]/prd.md#bc-...) are a separate valid form - leave them.
  • A separate MVP-membership field (mvp: true/false, roadmap_phase:, or an "MVP" column) instead of the single canonical phase axis
  • layer: fullstack instead of the explicit layer set (frontend, backend, system)
  • Reconcile-reality words (Built / In Progress / Backlog) sitting in a status/Status field instead of a canonical lifecycle value
  • Feature Card at status ≥ 2_Spec_Done without a ### Edge Case Coverage table (pre-5.62.0 card). Do NOT migrate it in the audit - that means writing acceptance criteria, which the audit must never invent. Route each card to /pm-feature-design [FEAT-ID] --edge-cases, ordered by status: 3_Ready_to_Build and 4_In_Build first, then 5_In_Review, 2_Spec_Done / 2b_In_Design, and 6_Shipped last. Severity: P2 for 2_Spec_Done-5_In_Review; P3 for 6_Shipped (a retro table only records gaps, it changes no shipped behavior - on a Rebuild workspace do not let dozens of these bury the active cards)

Interaction: Group related questions (2-4 per round) and confirm before moving on. For any A/B/C/D choice, use the AskUserQuestion tool with one option marked (Recommended) - never print options as plain text. Keep open-ended questions free-text (don't fake options). If the user is unsure, propose 3-4 concrete options plus "Other". Surface an assumption the moment you make one; never fabricate to fill a gap. (Full standard: CLAUDE.md.)


Step 1: Scan

Read every artifact in scope (Step 0) and run the checks below - for an area scope, only that area's artifacts and their direct cross-references; for whole-workspace, all of them. Collect findings; do not fix yet.

DimensionWhat is checked
StructureFeature Cards match the canonical template (sections 1-4 + Subtasks; frontmatter: id, title, status, stripe, feature_set, actor, owner, priority, estimate, prd_ref, feature_flag, flag_default). Registers match current format and header. Edge Case Coverage table (Section 2, cards ≥ 2_Spec_Done): exac

Content truncated.

When not to use it

  • →When the user needs to read the codebase or legacy documents
  • →When the user needs to change business decisions or rule values
  • →When the user needs to generate new artifacts that do not exist

Prerequisites

A Pureinn workspace exists: `pureinn-workspace/[project-slug]/` with at least `state.json` and some artifacts.

Limitations

  • →Does not read the codebase or legacy documents
  • →Does not change business decisions or rule values
  • →Does not generate new artifacts that do not exist

How it compares

This skill provides a specialized health check for Pureinn workspaces, focusing on internal consistency and framework versioning, unlike general code reconciliation or inventory extraction tools.

Compared to similar skills

pm-audit side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
pm-audit (this skill)03moNo flagsIntermediate
docx937moReviewAdvanced
notion-knowledge-capture1011moNo flagsIntermediate
session-handoff134moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

docx

anthropics

Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks

93225

notion-knowledge-capture

makenotion

Transforms conversations and discussions into structured documentation pages in Notion. Captures insights, decisions, and knowledge from chat context, formats appropriately, and saves to wikis or databases with proper organization and linking for easy discovery.

10115

session-handoff

davila7

Creates comprehensive handoff documents for seamless AI agent session transfers. Triggered when: (1) user requests handoff/memory/context save, (2) context window approaches capacity, (3) major task milestone completed, (4) work session ending, (5) user says 'save state', 'create handoff', 'I need to pause', 'context is getting full', (6) resuming work with 'load handoff', 'resume from', 'continue where we left off'. Proactively suggests handoffs after substantial work (multiple file edits, complex debugging, architecture decisions). Solves long-running agent context exhaustion by enabling fresh agents to continue with zero ambiguity.

1370

feishu-doc

openclaw

Feishu document read/write operations. Activate when user mentions Feishu docs, cloud docs, or docx links.

1464

spec-to-backlog

atlassian

Automatically convert Confluence specification documents into structured Jira backlogs with Epics and implementation tickets. When Claude needs to: (1) Create Jira tickets from a Confluence page, (2) Generate a backlog from a specification, (3) Break down a spec into implementation tasks, or (4) Convert requirements into Jira issues. Handles reading Confluence pages, analyzing specifications, creating Epics with proper structure, and generating detailed implementation tickets linked to the Epic.

868

marker

benchflow-ai

Convert PDF documents to Markdown using marker_single. Use when Claude needs to extract text content from PDFs while preserving LaTeX formulas, equations, and document structure. Ideal for academic papers and technical documents containing mathematical notation.

2248

Search skills

Search the agent skills registry