Semantic Center
Concept of the skill
Semantic-center analysis is a figure-ground reduction method. Treat the unit of analysis as a graph of parts, then name the one part that carries the most structural load and place every other part in relation to it. The center is not automatically the most visible, newest, largest, or first-in-sequence part; it is the part whose removal, governing role, purpose explanation, semantic weight, or decision leverage best explains the whole.
This skill prevents flat explanations. It turns "here are all the parts" into "this is the primary part, these are the supporting parts, and this is how each support, constrains, feeds, or depends on the primary." That makes dense systems, pages, workflows, and concepts easier to understand without turning the answer into a prioritized task list or a formal domain model.
This skill owns explanatory reduction for one system, feature, workflow, concept, decision, problem, or page. It does not own user-goal decomposition and friction scoring, full conceptual modeling, precise edge semantics for a single relation, cross-instance pattern detection, implementation, code review, model routing, or project prioritization. Use the specialist skill once the work changes from explanation to those activities. Semantic-center analysis is like finding the load-bearing column in a room: furniture, paint, wiring, and fixtures all matter, but the explanation becomes useful only after the column that everything else depends on is named. The common mistake is believing the semantic center is whatever is most visible or most recently discussed. Visibility is a UI fact, recency is a conversation fact, sequence is a timeline fact, and none of them alone proves structural importance.
Coverage
A structured explanatory workflow for identifying the semantic center of any system, feature, concept, page, workflow, decision, or problem and mapping how surrounding parts relate to it. Covers (1) unit-of-analysis classification (system / feature / module / page / workflow / concept / data model / decision / problem); (2) primary-part identification via the five tests (removal, governance, purpose, weight, decision) ranked by priority; (3) typed secondary-part relation mapping using a fixed taxonomy of relation types (dependency, input/output, parent/child, source/consumer, cause/effect, owner/owned, trigger/result, semantic grouping, constraint/enabler, sequence/timeline, contrast/tradeoff); (4) structured-output production following a fixed skeleton; and (5) final one-sentence reduction in a fixed grammatical form. Includes a "codebase analysis mode" overlay for analyzing a real implementation surface (grep, read primary file, follow data path, read tests) and an anti-pattern catalog (everything-is-important flattening, visibility-as-importance, proximity-as-relation, chronology-instead-of-structure, symmetric-relation blur).
Philosophy of the skill
Most explanations fail because they present everything at the same weight. A user asks "how does this work?" and receives a chronological walkthrough or a laundry list, neither of which tells them what the system depends on. Until one part is named as load-bearing, the explanation is not structurally useful — the reader still has to do the reduction work themselves.
The core rule is: prefer one primary part and typed supporting relations over multiple co-equal "important" parts. When more than one thing seems important, the removal test or the governance test usually breaks the tie. If it doesn't, state the tension explicitly rather than hiding it behind a list. The five-step workflow exists to force that reduction every time, not as an aesthetic preference but as a structural one.
This skill is for explanation, not for execution. It tells you which part of a system carries the most semantic load. It does not tell you which task to start next (a prioritization concern), how to design the bounded contexts and aggregates of the system (a domain-modeling concern), or how to implement any of it (a domain skill concern).
Grounding
This skill combines three public ideas into an agent workflow:
- Graph centrality names a family of methods for asking which node is structurally important in a network; this skill uses the same intuition qualitatively, without pretending to compute a formal centrality metric.
- SKOS distinguishes hierarchical and associative semantic relations; this skill uses a practical relation vocabulary so supporting parts are not left as vague "related" items.
- The Pyramid Principle frames communication around one governing point with supporting ideas underneath it; this skill applies that one-point discipline to system explanation.
The workflow is heuristic, not mathematical. Use semantic-relations when one edge needs precise relation semantics, and use a graph-analysis tool when the question requires computed centrality rather than explanatory judgment.
Workflow
The skill is the five-step workflow below. Each step produces explicit output. Steps run in order; a missing step downstream usually means the analysis short-circuited at the previous step.
Step 1: Classify the unit of analysis
Step 2: Find the single most important part
Step 3: Map secondary parts in relation to the primary part
Step 4: Produce the structured output
Step 5: Reduce to one sentence
Step 1 — Classify the Unit of Analysis
Before analyzing, explicitly state what kind of thing this is. The category shapes which relation types and tests are most likely to matter.
| Category |
Examples |
| System |
Auth pipeline, reconciliation engine, webhook chain |
| Feature |
Order detail page, onboarding flow, CSV export |
| Module |
Calculation engine, access-control layer, skill injector |
| Page / Screen |
Dashboard, orders list, settings page |
| Workflow |
Deploy pipeline, PR review cycle, task protocol |
| Concept |
Data provenance, margin calculation, multi-tenancy |
| Data model |
Order → line items → costs |
| Decision |
Build vs buy, monolith vs microservice |
| Problem |
Race condition, data inconsistency, bottleneck |
Rule: say explicitly, "This is a [category]." If you cannot pick a category, the unit of analysis is too vague — narrow it before continuing.
Step 2 — Find the Primary Part
Use these tests, in priority order. The first test that produces a clear winner is the test you cite.
| Test |
Question |
What it reveals |
| Removal test |
If removed, what breaks first? |
Load-bearing dependency |
| Governance test |
What constrains or governs the rest? |
Authority source |
| Purpose test |
What best explains the point of the whole? |
Semantic anchor |
| Weight test |
What carries the most semantic load? |
Core concept |
| Decision test |
What anchors downstream choices? |
Decision root |
Rules:
- Prefer one primary part. If the removal test is genuinely tied between two, name the tie explicitly rather than hiding it behind a list.
- Distinguish importance from visibility — the loudest element is not necessarily the most load-bearing.
- Distinguish importance from recency — the most recently changed part is rarely the semantic center.
- Distinguish importance from stakeholder emphasis — the part people talk about most may be a symptom, surface, or reporting layer rather than the governing structure.
- Cite the test that selected the primary part. A center without a named test is a preference, not an analysis.
Tie Handling
True ties are allowed, but they must be explicit. Use this sequence:
- Try the removal test first. If removing either part breaks the whole in different ways, continue.
- Try the governance test. The part that constrains or authorizes the other usually wins.
- If still tied, name the tension and choose a temporary center for the purpose of the explanation.
- Mark the other tied part as a secondary part with
contrast/tradeoff or constraint/enabler, not as a hidden second primary.
Step 3 — Map Secondary Parts
List secondary parts only in relation to the primary part. Every secondary part must have an explicit relation type from the taxonomy below.
| Relation Type |
Meaning |
| dependency |
Secondary depends on the primary |
| input/output |
Primary consumes or produces the secondary |
| parent/child |
Structural containment |
| source/consumer |
Data or event flow direction |
| cause/effect |
Causal chain |
| owner/owned |
Authority relationship |
| trigger/result |
Event-driven relationship |
| semantic grouping |
Family of concepts around the center |
| constraint/enabler |
What limits or unlocks the primary |
| sequence/timeline |
Temporal ordering only when no stronger structural relation exists |
| contrast/tradeoff |
Competing alternative or tension |
Rules:
- Every secondary part must have an explicit relation type from this list.
- Proximity is not a relation. Two parts being "near each other" in the codebase is not a structural relationship — name the actual relation or drop the part.
- Chronology is not enough when a stronger structural relation exists. Use sequence/timeline only as a last resort.
- Symmetric "A and B both explain each other" is not allowed — choose the dominant direction.
- If the relation type itself is the hard part, pause and apply
semantic-relations before completing the map.
Relation Strength Order
When more than one relation label seems plausible, prefer the strongest truthful relation in this order:
- governing / constraint — one part authorizes, limits, or defines the allowed shape of another
- dependency / input-output / source-consumer — one part cannot function or be understood without the other
- cause-effect / trigger-result — one part produces a state change in the other
- parent-child / owner-owned — one part structurally contains or governs lifecycle of another
- contrast / tradeoff — parts compete or represent alternatives
- sequence / timeline — temporal order only when no stronger structural relation is true
- semantic grouping — same-family grouping only when the relation is genuinely loose
Step 4 — Structured Output
Use this output skeleton verbatim. Each H2: label below becomes a real ## heading in the produced analysis document.
H2: Unit of Analysis
[Category]: [Name]
H2: Primary Part
[Name of the single most important part]
H2: Why This Is the Primary Part
[Which test(s) it passes and why]
H2: Secondary Parts
- [Part A] — [role]
- [Part B] — [role]
H2: Relation Map
- Primary → Part A: [relation type] — [explanation]
- Part B → Primary: [relation type] — [explanation]
H2: Simplest Explanation
[2-3 sentences]
H2: Important Distinction
[What people most often confuse]
H2: Common Misunderstanding
[What goes wrong and why]
H2: Naming Recommendation
[If naming is misleading, suggest better names]
Step 5 — Final Reduction
End with exactly one sentence in this form:
The core is [X], and everything else matters because it [supports / depends on / constrains / expresses / feeds / consumes] X.
If you cannot write this sentence in one line, the analysis is not yet finished — return to Step 2.
Codebase Analysis Mode (Overlay)
When the unit of analysis is a real repo surface rather than a pure concept, add these steps before Step 2:
- Grep for the entity or surface name across the codebase.
- Read the primary implementation file.
- Follow the data or event path one hop in each direction.
- Read tests if they exist.
Then add to the structured output:
## Key Files — list the files that participate in the analyzed unit
## Verified Against — list the artifacts that confirmed the analysis (grep results, test names, log lines)
Do not claim a file, route, function, or dependency exists unless it was found through search or read during the analysis. If the codebase surface is unavailable, say the analysis is conceptual-only and omit code-specific claims.
Anti-Patterns
| Anti-Pattern |
Problem |
Fix |
| "Everything is important" |
No real reduction happened |
Apply the removal test rigorously |
| Visibility = importance |
The loudest element gets mistaken for the most load-bearing |
Ask what breaks if it disappears |
| Relation = proximity |
Nearby parts get treated as semantically connected |
Name the actual relation type or drop the part |
| Chronology instead of structure |
Timeline replaces architecture |
Map dependencies and constraints first; use timeline only as last resort |
| Symmetric relation blur |
"A and B both explain each other" |
Choose the dominant direction |
| Drift into prioritization |
Analysis turns into a what-to-do-next list |
Stop at Step 5; prioritization is a different skill |
Verification
After delivering a semantic-center analysis, verify:
Do NOT Use When
| Instead, use |
Why |
task-analysis |
The unit of analysis is a route or flow and the question is "what is the user's top task?" Task-analysis owns goal-driven UX decomposition; semantic-center owns structural-importance reduction. |
conceptual-modeling |
You need a full concept model (all entities, attributes, relationships, invariants), not a single load-bearing reduction. Conceptual-modeling owns the full model; semantic-center owns the reduction. |
pattern-recognition |
The unit of analysis is many instances and the question is "what recurring pattern is this?" Pattern-recognition owns cross-instance pattern classes; semantic-center owns within-instance one-primary reduction. |
intent-recognition |
The task is parsing an ambiguous user prompt to recover the intent, not analyzing a system. Intent-recognition is upstream of any system analysis. |
documentation |
You are writing or restructuring a doc artifact, not analyzing a system. Documentation owns the artifact; semantic-center may produce content that goes into the artifact. |
| (a prioritization skill) |
The question is "what should we work on next?" Prioritization is operational ranking; semantic-center is conceptual load-bearing. |
| (a domain-modeling skill) |
The task is formal architecture: bounded contexts, aggregates, ownership boundaries. Domain-modeling owns formal model design; semantic-center is a quick structural explanation. |
| (the relevant domain skill) |
The task is implementation, debugging, or shipping code. Semantic-center explains structure; it does not build. |
Skill Graph context
Classification
- Subject:
knowledge-organization
- Public:
true
- Domain:
foundations/semantics
- Scope: Use when you need to explain how parts of a system, feature, concept, page, workflow, or problem connect; identify the single most important part of something; untangle dense dependencies into a core plus typed relations; or answer 'what is the load-bearing part?' without drifting into implementation or task prioritization. Provides a five-step workflow — classify the unit of analysis, find the single primary part using removal/governance/purpose/weight/decision tests, map secondary parts via typed relations (dependency, input/output, parent/child, owner/owned, cause/effect, constraint/enabler, and others), produce a structured output, and reduce the whole to one final sentence — that forces explanation through one-primary reduction rather than flat lists or chronology. Do NOT use for implementation work (use the relevant domain skill), choosing what to do next (use a prioritization skill), or formal architectural-ownership design (use a domain-modeling skill).
When to use
- what is the most important part of this dashboard, and how do the surrounding widgets relate to it?
- explain how the order, fulfillment, and payment systems relate -- what is the semantic center of that flow?
- break down the access-control layer; what is the governing policy and how do the other parts depend on it?
- we need to understand the onboarding flow, not implement it -- what is the primary part and how do the steps relate around it?
- a skill system has frontmatter, body, and references -- which part is the semantic center, and what roles do the others play?
- untangle these dense module dependencies into one core plus typed relations
- explain at a high level how this system hangs together
- what is the load-bearing part of this proposal, and what is merely supporting evidence?
Not for
- implement the new chart component for the reports page
- which task should I work on next from the board?
- design bounded contexts and aggregate ownership for the domain
- review this PR for code quality and missing tests
- decide kebab-case vs camelCase for new database columns
- rewrite this UI button label to be specific and action-oriented
Related skills
- Verify with:
code-review, semantic-relations
- Related:
intent-recognition, diagnosis, knowledge-modeling, semantic-relations, semantics, task-analysis, conceptual-modeling, pattern-recognition
Concept
- Mental model: |
- Purpose: |
- Boundary: |
- Analogy: Semantic-center analysis is like finding the load-bearing column in a room: furniture, paint, wiring, and fixtures all matter, but the explanation becomes useful only after the column that everything else depends on is named.
- Common misconception: The common mistake is believing the semantic center is whatever is most visible or most recently discussed. Visibility is a UI fact, recency is a conversation fact, sequence is a timeline fact, and none of them alone proves structural importance.
Grounding
- Mode:
universal
- Truth sources:
https://networkx.org/documentation/stable/reference/algorithms/centrality.html, https://www.w3.org/TR/skos-reference/, https://www.barbaraminto.com/
Keywords
semantic center, one-primary-part reduction, removal test, governance test, load-bearing part, typed relation map, center-finding method, structural importance, figure-ground reduction, relation typing rules
1---2name: semantic-center3description: Use when you need to explain how parts of a system, feature, concept, page, workflow, or problem connect; identify the single most important part of something; untangle dense dependencies into a core plus typed relations; or answer 'what is the load-bearing part?' without drifting into implementation or task prioritization. Provides a five-step workflow — classify the unit of analysis, find the single primary part using removal/governance/purpose/weight/decision tests, map secondary parts via typed relations (dependency, input/output, parent/child, owner/owned, cause/effect, constraint/enabler, and others), produce a structured output, and reduce the whole to one final sentence — that forces explanation through one-primary reduction rather than flat lists or chronology. Do NOT use for implementation work (use the relevant domain skill), choosing what to do next (use a prioritization skill), or formal architectural-ownership design (use a domain-modeling skill).4license: MIT5---6# Semantic Center78## Concept of the skill910Semantic-center analysis is a figure-ground reduction method. Treat the unit of analysis as a graph of parts, then name the one part that carries the most structural load and place every other part in relation to it. The center is not automatically the most visible, newest, largest, or first-in-sequence part; it is the part whose removal, governing role, purpose explanation, semantic weight, or decision leverage best explains the whole.1112This skill prevents flat explanations. It turns "here are all the parts" into "this is the primary part, these are the supporting parts, and this is how each support, constrains, feeds, or depends on the primary." That makes dense systems, pages, workflows, and concepts easier to understand without turning the answer into a prioritized task list or a formal domain model.1314This skill owns explanatory reduction for one system, feature, workflow, concept, decision, problem, or page. It does not own user-goal decomposition and friction scoring, full conceptual modeling, precise edge semantics for a single relation, cross-instance pattern detection, implementation, code review, model routing, or project prioritization. Use the specialist skill once the work changes from explanation to those activities. Semantic-center analysis is like finding the load-bearing column in a room: furniture, paint, wiring, and fixtures all matter, but the explanation becomes useful only after the column that everything else depends on is named. The common mistake is believing the semantic center is whatever is most visible or most recently discussed. Visibility is a UI fact, recency is a conversation fact, sequence is a timeline fact, and none of them alone proves structural importance.1516## Coverage1718A structured explanatory workflow for identifying the *semantic center* of any system, feature, concept, page, workflow, decision, or problem and mapping how surrounding parts relate to it. Covers (1) **unit-of-analysis classification** (system / feature / module / page / workflow / concept / data model / decision / problem); (2) **primary-part identification** via the five tests (removal, governance, purpose, weight, decision) ranked by priority; (3) **typed secondary-part relation mapping** using a fixed taxonomy of relation types (dependency, input/output, parent/child, source/consumer, cause/effect, owner/owned, trigger/result, semantic grouping, constraint/enabler, sequence/timeline, contrast/tradeoff); (4) **structured-output production** following a fixed skeleton; and (5) **final one-sentence reduction** in a fixed grammatical form. Includes a "codebase analysis mode" overlay for analyzing a real implementation surface (grep, read primary file, follow data path, read tests) and an anti-pattern catalog (everything-is-important flattening, visibility-as-importance, proximity-as-relation, chronology-instead-of-structure, symmetric-relation blur).1920## Philosophy of the skill21Most explanations fail because they present everything at the same weight. A user asks "how does this work?" and receives a chronological walkthrough or a laundry list, neither of which tells them what the system *depends on*. Until one part is named as load-bearing, the explanation is not structurally useful — the reader still has to do the reduction work themselves.2223The core rule is: **prefer one primary part and typed supporting relations over multiple co-equal "important" parts.** When more than one thing seems important, the removal test or the governance test usually breaks the tie. If it doesn't, state the tension explicitly rather than hiding it behind a list. The five-step workflow exists to force that reduction every time, not as an aesthetic preference but as a structural one.2425This skill is for *explanation*, not for execution. It tells you which part of a system carries the most semantic load. It does not tell you which task to start next (a prioritization concern), how to design the bounded contexts and aggregates of the system (a domain-modeling concern), or how to implement any of it (a domain skill concern).2627## Grounding2829This skill combines three public ideas into an agent workflow:3031- Graph centrality names a family of methods for asking which node is structurally important in a network; this skill uses the same intuition qualitatively, without pretending to compute a formal centrality metric.32- SKOS distinguishes hierarchical and associative semantic relations; this skill uses a practical relation vocabulary so supporting parts are not left as vague "related" items.33- The Pyramid Principle frames communication around one governing point with supporting ideas underneath it; this skill applies that one-point discipline to system explanation.3435The workflow is heuristic, not mathematical. Use `semantic-relations` when one edge needs precise relation semantics, and use a graph-analysis tool when the question requires computed centrality rather than explanatory judgment.3637## Workflow3839The skill is the five-step workflow below. Each step produces explicit output. Steps run in order; a missing step downstream usually means the analysis short-circuited at the previous step.4041```text42Step 1: Classify the unit of analysis43Step 2: Find the single most important part44Step 3: Map secondary parts in relation to the primary part45Step 4: Produce the structured output46Step 5: Reduce to one sentence47```4849### Step 1 — Classify the Unit of Analysis5051Before analyzing, explicitly state what kind of thing this is. The category shapes which relation types and tests are most likely to matter.5253| Category | Examples |54|----------|---------|55| **System** | Auth pipeline, reconciliation engine, webhook chain |56| **Feature** | Order detail page, onboarding flow, CSV export |57| **Module** | Calculation engine, access-control layer, skill injector |58| **Page / Screen** | Dashboard, orders list, settings page |59| **Workflow** | Deploy pipeline, PR review cycle, task protocol |60| **Concept** | Data provenance, margin calculation, multi-tenancy |61| **Data model** | Order → line items → costs |62| **Decision** | Build vs buy, monolith vs microservice |63| **Problem** | Race condition, data inconsistency, bottleneck |6465**Rule:** say explicitly, "This is a [category]." If you cannot pick a category, the unit of analysis is too vague — narrow it before continuing.6667### Step 2 — Find the Primary Part6869Use these tests, in priority order. The first test that produces a clear winner is the test you cite.7071| Test | Question | What it reveals |72|------|----------|----------------|73| **Removal test** | If removed, what breaks first? | Load-bearing dependency |74| **Governance test** | What constrains or governs the rest? | Authority source |75| **Purpose test** | What best explains the point of the whole? | Semantic anchor |76| **Weight test** | What carries the most semantic load? | Core concept |77| **Decision test** | What anchors downstream choices? | Decision root |7879**Rules:**8081- Prefer one primary part. If the removal test is genuinely tied between two, name the tie explicitly rather than hiding it behind a list.82- Distinguish importance from visibility — the loudest element is not necessarily the most load-bearing.83- Distinguish importance from recency — the most recently changed part is rarely the semantic center.84- Distinguish importance from stakeholder emphasis — the part people talk about most may be a symptom, surface, or reporting layer rather than the governing structure.85- Cite the test that selected the primary part. A center without a named test is a preference, not an analysis.8687### Tie Handling8889True ties are allowed, but they must be explicit. Use this sequence:90911. Try the removal test first. If removing either part breaks the whole in different ways, continue.922. Try the governance test. The part that constrains or authorizes the other usually wins.933. If still tied, name the tension and choose a temporary center for the purpose of the explanation.944. Mark the other tied part as a secondary part with `contrast/tradeoff` or `constraint/enabler`, not as a hidden second primary.9596### Step 3 — Map Secondary Parts9798List secondary parts only in relation to the primary part. Every secondary part must have an explicit relation type from the taxonomy below.99100| Relation Type | Meaning |101|--------------|---------|102| **dependency** | Secondary depends on the primary |103| **input/output** | Primary consumes or produces the secondary |104| **parent/child** | Structural containment |105| **source/consumer** | Data or event flow direction |106| **cause/effect** | Causal chain |107| **owner/owned** | Authority relationship |108| **trigger/result** | Event-driven relationship |109| **semantic grouping** | Family of concepts around the center |110| **constraint/enabler** | What limits or unlocks the primary |111| **sequence/timeline** | Temporal ordering only when no stronger structural relation exists |112| **contrast/tradeoff** | Competing alternative or tension |113114**Rules:**115116- Every secondary part must have an explicit relation type from this list.117- Proximity is not a relation. Two parts being "near each other" in the codebase is not a structural relationship — name the actual relation or drop the part.118- Chronology is not enough when a stronger structural relation exists. Use sequence/timeline only as a last resort.119- Symmetric "A and B both explain each other" is not allowed — choose the dominant direction.120- If the relation type itself is the hard part, pause and apply `semantic-relations` before completing the map.121122### Relation Strength Order123124When more than one relation label seems plausible, prefer the strongest truthful relation in this order:1251261. **governing / constraint** — one part authorizes, limits, or defines the allowed shape of another1272. **dependency / input-output / source-consumer** — one part cannot function or be understood without the other1283. **cause-effect / trigger-result** — one part produces a state change in the other1294. **parent-child / owner-owned** — one part structurally contains or governs lifecycle of another1305. **contrast / tradeoff** — parts compete or represent alternatives1316. **sequence / timeline** — temporal order only when no stronger structural relation is true1327. **semantic grouping** — same-family grouping only when the relation is genuinely loose133134### Step 4 — Structured Output135136Use this output skeleton verbatim. Each `H2:` label below becomes a real `##` heading in the produced analysis document.137138```text139H2: Unit of Analysis140 [Category]: [Name]141142H2: Primary Part143 [Name of the single most important part]144145H2: Why This Is the Primary Part146 [Which test(s) it passes and why]147148H2: Secondary Parts149 - [Part A] — [role]150 - [Part B] — [role]151152H2: Relation Map153 - Primary → Part A: [relation type] — [explanation]154 - Part B → Primary: [relation type] — [explanation]155156H2: Simplest Explanation157 [2-3 sentences]158159H2: Important Distinction160 [What people most often confuse]161162H2: Common Misunderstanding163 [What goes wrong and why]164165H2: Naming Recommendation166 [If naming is misleading, suggest better names]167```168169### Step 5 — Final Reduction170171End with exactly one sentence in this form:172173> The core is **[X]**, and everything else matters because it [supports / depends on / constrains / expresses / feeds / consumes] **X**.174175If you cannot write this sentence in one line, the analysis is not yet finished — return to Step 2.176177### Codebase Analysis Mode (Overlay)178179When the unit of analysis is a real repo surface rather than a pure concept, add these steps before Step 2:1801811. Grep for the entity or surface name across the codebase.1822. Read the primary implementation file.1833. Follow the data or event path one hop in each direction.1844. Read tests if they exist.185186Then add to the structured output:187188- `## Key Files` — list the files that participate in the analyzed unit189- `## Verified Against` — list the artifacts that confirmed the analysis (grep results, test names, log lines)190191Do not claim a file, route, function, or dependency exists unless it was found through search or read during the analysis. If the codebase surface is unavailable, say the analysis is conceptual-only and omit code-specific claims.192193### Anti-Patterns194195| Anti-Pattern | Problem | Fix |196|--------------|---------|-----|197| **"Everything is important"** | No real reduction happened | Apply the removal test rigorously |198| **Visibility = importance** | The loudest element gets mistaken for the most load-bearing | Ask what breaks if it disappears |199| **Relation = proximity** | Nearby parts get treated as semantically connected | Name the actual relation type or drop the part |200| **Chronology instead of structure** | Timeline replaces architecture | Map dependencies and constraints first; use timeline only as last resort |201| **Symmetric relation blur** | "A and B both explain each other" | Choose the dominant direction |202| **Drift into prioritization** | Analysis turns into a what-to-do-next list | Stop at Step 5; prioritization is a different skill |203204## Verification205206After delivering a semantic-center analysis, verify:207208- [ ] Exactly one primary part was identified (a stated tie counts as one, not two)209- [ ] Every secondary part has an explicit relation type from the taxonomy210- [ ] No relation is just proximity dressed up as structure211- [ ] No symmetric "A and B both explain each other" relations remain212- [ ] The "Important Distinction" is non-obvious rather than a restatement of the primary part213- [ ] The final reduction is exactly one sentence in the prescribed form214- [ ] The output stays in explanation mode rather than drifting into implementation or prioritization215- [ ] If codebase analysis mode was used, `## Key Files` and `## Verified Against` are present and grounded in actual reads216217## Do NOT Use When218219| Instead, use | Why |220|---|---|221| `task-analysis` | The unit of analysis is a route or flow and the question is "what is the user's top task?" Task-analysis owns goal-driven UX decomposition; semantic-center owns structural-importance reduction. |222| `conceptual-modeling` | You need a *full* concept model (all entities, attributes, relationships, invariants), not a single load-bearing reduction. Conceptual-modeling owns the full model; semantic-center owns the reduction. |223| `pattern-recognition` | The unit of analysis is *many instances* and the question is "what recurring pattern is this?" Pattern-recognition owns cross-instance pattern classes; semantic-center owns within-instance one-primary reduction. |224| `intent-recognition` | The task is parsing an ambiguous user prompt to recover the intent, not analyzing a system. Intent-recognition is upstream of any system analysis. |225| `documentation` | You are writing or restructuring a doc artifact, not analyzing a system. Documentation owns the artifact; semantic-center may produce content that goes into the artifact. |226| (a prioritization skill) | The question is "what should we work on next?" Prioritization is operational ranking; semantic-center is conceptual load-bearing. |227| (a domain-modeling skill) | The task is formal architecture: bounded contexts, aggregates, ownership boundaries. Domain-modeling owns formal model design; semantic-center is a quick structural explanation. |228| (the relevant domain skill) | The task is implementation, debugging, or shipping code. Semantic-center explains structure; it does not build. |229230## Skill Graph context231232<!-- skill-graph-context:start (generated — do not edit by hand) -->233234**Classification**235- Subject: `knowledge-organization`236- Public: `true`237- Domain: `foundations/semantics`238- Scope: Use when you need to explain how parts of a system, feature, concept, page, workflow, or problem connect; identify the single most important part of something; untangle dense dependencies into a core plus typed relations; or answer 'what is the load-bearing part?' without drifting into implementation or task prioritization. Provides a five-step workflow — classify the unit of analysis, find the single primary part using removal/governance/purpose/weight/decision tests, map secondary parts via typed relations (dependency, input/output, parent/child, owner/owned, cause/effect, constraint/enabler, and others), produce a structured output, and reduce the whole to one final sentence — that forces explanation through one-primary reduction rather than flat lists or chronology. Do NOT use for implementation work (use the relevant domain skill), choosing what to do next (use a prioritization skill), or formal architectural-ownership design (use a domain-modeling skill).239240**When to use**241- what is the most important part of this dashboard, and how do the surrounding widgets relate to it?242- explain how the order, fulfillment, and payment systems relate -- what is the semantic center of that flow?243- break down the access-control layer; what is the governing policy and how do the other parts depend on it?244- we need to understand the onboarding flow, not implement it -- what is the primary part and how do the steps relate around it?245- a skill system has frontmatter, body, and references -- which part is the semantic center, and what roles do the others play?246- untangle these dense module dependencies into one core plus typed relations247- explain at a high level how this system hangs together248- what is the load-bearing part of this proposal, and what is merely supporting evidence?249250**Not for**251- implement the new chart component for the reports page252- which task should I work on next from the board?253- design bounded contexts and aggregate ownership for the domain254- review this PR for code quality and missing tests255- decide kebab-case vs camelCase for new database columns256- rewrite this UI button label to be specific and action-oriented257258**Related skills**259- Verify with: `code-review`, `semantic-relations`260- Related: `intent-recognition`, `diagnosis`, `knowledge-modeling`, `semantic-relations`, `semantics`, `task-analysis`, `conceptual-modeling`, `pattern-recognition`261262**Concept**263- Mental model: |264- Purpose: |265- Boundary: |266- Analogy: Semantic-center analysis is like finding the load-bearing column in a room: furniture, paint, wiring, and fixtures all matter, but the explanation becomes useful only after the column that everything else depends on is named.267- Common misconception: The common mistake is believing the semantic center is whatever is most visible or most recently discussed. Visibility is a UI fact, recency is a conversation fact, sequence is a timeline fact, and none of them alone proves structural importance.268269**Grounding**270- Mode: `universal`271- Truth sources: `https://networkx.org/documentation/stable/reference/algorithms/centrality.html`, `https://www.w3.org/TR/skos-reference/`, `https://www.barbaraminto.com/`272273**Keywords**274- `semantic center`, `one-primary-part reduction`, `removal test`, `governance test`, `load-bearing part`, `typed relation map`, `center-finding method`, `structural importance`, `figure-ground reduction`, `relation typing rules`275276<!-- skill-graph-context:end -->