plugins/spx-legacy/skills/understanding-spx/SKILL.md
ALWAYS invoke this skill before implementing any work item to load complete context. NEVER create, read, or modify any files in the spx/ directory without this skill.
npx skillsauth add outcomeengineering/spx-claude understanding-spxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<accessing_skill_files> When this skill is invoked, Claude Code provides the base directory in the loading message:
Base directory for this skill: {skill_dir}
Use this path to access skill files:
{skill_dir}/references/{skill_dir}/workflows/IMPORTANT: Do NOT search the project directory for skill files. </accessing_skill_files>
<essential_principles> COMPLETE CONTEXT OR ABORT. NO EXCEPTIONS.
.capability.md, .feature.md, .story.md)</essential_principles>
<objective> Verify and load complete hierarchical context for a work item by reading all specification documents from product level down to the target work item. Fails fast with actionable errors when required documents are missing. Ensures implementation skills have complete context including all constraints (ADRs), product decisions (PDRs), requirements (PRD), and specifications before starting work. </objective> <prerequisite> **Foundational understanding required:**/understanding-durable-map - Specs are permanent product documentation, not work items/understanding-outcome-decomposition - What belongs at each level (capability/feature/story)Specs describe what the product IS. Status is derived from whether tests pass, not from spec content.
Atemporal voice: All spec content must state product truth without temporal markers. If you encounter "we need", "currently", "has accumulated", or "was decided because" in a spec, flag it as a quality issue — the content should be rewritten in atemporal voice per /understanding-durable-map.
<quick_start> Invoke with FULL work item path:
# ALWAYS use full path (REQUIRED)
/understanding-spx 10-cli.capability/20-commands.feature/30-build.story
🚨 NEVER use bare story/feature numbers - BSP numbers are sibling-unique, not globally unique:
# ❌ WRONG: Ambiguous - which story-30?
/understanding-spx 30-build.story
# ✅ CORRECT: Unambiguous full path
/understanding-spx 10-cli.capability/20-commands.feature/30-build.story
The skill will:
spx/</quick_start>
<intake> Provide the **FULL work item path** you're working on:NN-slug.capability/NN-slug.feature/NN-slug.story🚨 BSP numbers are sibling-unique, not globally unique.
| ❌ WRONG (Ambiguous) | ✅ CORRECT (Unambiguous) | | ---------------------- | ------------------------------------------------------ | | "30-build.story" | "10-cli.capability/20-commands.feature/30-build.story" | | "implement feature-20" | "implement 10-cli.capability/20-commands.feature" |
The skill will locate and verify all documents in the hierarchy. </intake>
<routing> All inputs route to: `workflows/ingest-context.md`This skill has a single workflow that handles all context ingestion. </routing>
<reference_index> Detailed patterns and error handling:
| File | Purpose |
| ------------------------------ | --------------------------------------- |
| references/abort-protocol.md | Error messages and remediation guidance |
| references/document-types.md | Required documents at each level |
</reference_index>
<workflows_index>
| Workflow | Purpose |
| ----------------------------- | ---------------------------------- |
| workflows/ingest-context.md | Hierarchical document verification |
</workflows_index>
<success_criteria> Context ingestion succeeds when:
spx/spx/CLAUDE.md) read</success_criteria>
tools
ALWAYS invoke this skill when creating Excalidraw diagrams, visualizing workflows, architectures, or concepts. NEVER generate Excalidraw JSON without this skill.
development
ALWAYS invoke this skill when writing or fixing tests for TypeScript.
development
TypeScript code standards enforced across all skills. Loaded by other skills, not invoked directly.
development
TypeScript ADR conventions enforced across architect and auditor skills. Loaded by other skills, not invoked directly.