From asi
Evaluates messages, actions, and behavioral patterns against 23 relational norms from relationship science to assess alignment with caring behavior. Useful for communication drafts, self-checks, conflict analysis, and project interactions.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
> "Is this something one expects someone who cares about them to do?"
Improve relationships with communication tools, conflict resolution, and connection ideas
Analyzes interpersonal relationships via 5-layer structural diagnostics and psychoanalytic dialogue to reveal unconscious patterns and dynamics. Activates on relationship keywords or problems.
Enforces rigorous, evidence-based reasoning via checklists to prevent sycophancy and ensure honest analysis in contested discussions.
Share bugs, ideas, or general feedback.
"Is this something one expects someone who cares about them to do?"
Version: 1.0.0 Trit: -1 (Validator — checks actions against relational norms) Bundle: verify Source: Miller, R.S. Intimate Relationships, 9th ed. (McGraw-Hill, 2021)
Relational Filter evaluates messages, actions, and behavioral patterns against 23 empirically-grounded relational norms distilled from relationship science. It takes an action + social context and returns a relational assessment: does this action align with how someone who genuinely cares would behave?
This is NOT a morality judge. It's a pattern matcher against decades of research on what sustains vs. destroys intimate bonds.
/Users/alice/worlds/intimate_relationships.duckdb
| Table | Rows | Purpose |
|---|---|---|
relational_norms | 23 | Core filter rules with domain, norm, violation, severity |
satisfaction_suggestions | 32 | Miller's applied advice per chapter |
chapters | 14 | Full chapter text for deep lookup |
| Domain | Core Norms | Key Principle |
|---|---|---|
| responsiveness | 2 | Attend to bids; celebrate good news |
| trust | 2 | Be honest; follow through; deceiver's distrust |
| respect | 4 | No contempt (strongest divorce predictor); complain don't criticize; accept influence; balance power |
| care | 1 | Regular positive interaction satisfies need to belong |
| commitment | 2 | Think "us"; invest; derogate alternatives; accommodate |
| repair | 2 | Softened startup; 5:1 positive ratio; forgiveness |
| boundary | 2 | Distinguish reactive/suspicious jealousy; violence is never acceptable |
ACTION: What is being done/said?
CONTEXT: What is the relationship? What history exists? What was the bid?
-- Find applicable norms for a given situation
SELECT domain, norm, violation, severity, valence
FROM relational_norms
WHERE severity = 'core' -- start with core norms
ORDER BY domain;
For specific domains:
-- If the situation involves conflict
SELECT norm, violation FROM relational_norms
WHERE domain IN ('respect', 'repair') AND severity = 'core';
-- If the situation involves trust/honesty
SELECT norm, violation FROM relational_norms
WHERE domain = 'trust';
-- If the situation involves someone being distant/unresponsive
SELECT norm, violation FROM relational_norms
WHERE domain IN ('responsiveness', 'care', 'commitment');
For each relevant norm, evaluate:
| Score | Meaning |
|---|---|
| +1 | Action exemplifies the norm |
| 0 | Neutral / insufficient information |
| -1 | Action violates the norm |
Report format:
RELATIONAL FILTER: [action summary]
Context: [relationship + history]
Norms checked:
[+1] responsiveness: Attending to partner's bid ✓
[-1] respect: Criticism of character, not behavior ✗
[ 0] trust: Insufficient information
Assessment: [ALIGNED / MIXED / MISALIGNED]
Core violations: [list any severity='core' norms scored -1]
Note: [brief explanation grounded in Miller's research]
These are the relationship-defining ones. Chronic violation of ANY predicts relationship failure.
When filtering messages before sending or evaluating received messages:
# Pseudocode for message filter
def relational_check(message, relationship_context):
"""
Run before sending a message or when evaluating received behavior.
"""
norms = query_relevant_norms(message, relationship_context)
scores = []
for norm in norms:
score = assess_alignment(message, norm)
scores.append((norm.domain, score, norm))
core_violations = [s for s in scores if s[1] == -1 and s[2].severity == 'core']
if core_violations:
return f"⚠️ PAUSE — core norm violation: {core_violations[0][2].norm}"
avg = sum(s[1] for s in scores) / len(scores) if scores else 0
if avg > 0.3:
return "✓ aligned"
elif avg > -0.3:
return "~ mixed signals"
else:
return "✗ misaligned — reconsider"
The relational filter can be applied to interaction history:
-- Assess communication patterns over time
WITH message_norms AS (
SELECT
m.timestamp,
m.content,
n.domain,
n.norm,
CASE
WHEN m.content ILIKE '%you always%' OR m.content ILIKE '%you never%'
THEN -1 -- criticism pattern
WHEN m.content ILIKE '%I feel%' OR m.content ILIKE '%I need%'
THEN 1 -- healthy complaint pattern
ELSE 0
END as alignment
FROM messages m
CROSS JOIN relational_norms n
WHERE n.domain = 'respect'
)
SELECT
DATE_TRUNC('week', timestamp) as week,
AVG(alignment) as avg_respect_alignment,
COUNT(*) FILTER (WHERE alignment = -1) as violations
FROM message_norms
GROUP BY 1
ORDER BY 1;
This skill maps to ThSignedCategory in the intimate-relationships-catcolab distillation:
relational-filter (-1) ⊗ beeper-poly (0) ⊗ artifacts-builder (+1) = 0 ✓
intent-sink (-1) ⊗ relational-filter (-1) ⊗ scientific-visualization (+1) = needs +1 partner
relational-filter (-1) ⊗ statistical-analysis (0) ⊗ duckdb-ies (+1) = 0 ✓
Action: "You said you'd handle the cables three days ago and nothing happened." Context: barton, co-founder, physically manages GX10 hardware, often unresponsive
Filter:
respect: This is a complaint about behavior (good), not character attack ✓trust: References broken commitment — legitimate concern ✓responsiveness: Could add a bid — "can you update me on timing?" would be betterrepair: Startup is moderately hard — softening with "hey, checking in on..." would improveAssessment: MIXED → suggest softened version: "Hey, checking in — any update on the cables? Let me know if something's blocking you."
Action: Partner hasn't responded to 3 messages over 2 days Context: Usually responsive, no stated conflict
Filter:
responsiveness: Failing to turn toward bids [-1 if pattern, 0 if one-off]care: Not satisfying need to belong through regular contact [-1]boundary: Could be reactive jealousy on your end if you're catastrophizing [check]Assessment: Before escalating, check — are they overwhelmed? (invisible support norm). One message: "Hey, haven't heard from you — everything ok?" respects their autonomy while expressing care.
Skill Name: relational-filter
Type: Message/Action Validator
Trit: -1 (MINUS — VALIDATOR)
GF(3): Checks relational alignment before execution
Database: /Users/alice/worlds/intimate_relationships.duckdb
Source: Miller 9th ed., Gottman, Rusbult, Baumeister & Leary