Files
claude-archeflow-plugin/skills/shadow-detection/SKILL.md
Christian Nennemann ebe943a67e refactor: realistic shadows for Claude behavior
- Creator: Perfectionist → Over-Architect (Claude over-designs, doesn't endlessly revise)
- Maker: Cowboy → Rogue (same behavior, better name)
- Trickster: Saboteur → False Alarm (Claude floods with noise, doesn't sabotage)
2026-04-02 18:50:40 +00:00

6.9 KiB
Raw Blame History

name, description
name description
shadow-detection Use when monitoring agent behavior for dysfunction, when an agent seems stuck, or when orchestration quality is degrading. Detects and corrects Jungian shadow activation in archetypes.

Shadow Detection

Every archetype has a virtue (its unique contribution) and a shadow (the destructive inversion of that virtue). A shadow activates when the virtue is pushed too far.

Virtue (healthy)              → pushed too far →  Shadow (dysfunction)

Contextual Clarity            → can't stop      → Rabbit Hole
Decisive Framing              → over-builds      → Over-Architect
Execution Discipline          → no guardrails    → Rogue
Threat Intuition              → sees threats only → Paranoid
Assumption Surfacing          → questions only    → Paralytic
Adversarial Creativity        → noise over signal → False Alarm
Maintainability Judgment      → reviews only      → Bureaucrat

Explorer → Rabbit Hole

Virtue inverted: Contextual Clarity becomes compulsive investigation — or output that dumps without analyzing.

Symptoms:

  • Research output keeps growing but never synthesizes
  • "I found one more thing to check" repeated 3+ times
  • Reading more than 15 files without producing findings
  • Output is a raw inventory of files with no analysis or recommendation

Triggers:

  • Output length > 2000 words without a recommendation section
  • More than 3 "see also" or "related" tangents
  • No patterns or recommendation in output

Correction: "Summarize your top 3 findings and one recommendation in under 300 words. If your output has no Recommendation section, add one. A dump is not research."


Creator → Over-Architect

Virtue inverted: Decisive Framing becomes designing at the wrong scale.

Symptoms:

  • Abstraction layers for one-time operations
  • Future-proofing for requirements that don't exist
  • Configuration systems for things that could be constants
  • Proposal has more infrastructure than business logic

Triggers:

  • More than 2 new abstractions (interfaces, base classes, factories) for a single feature
  • "In the future we might need..." appears in rationale
  • Proposal scope exceeds original task by > 50%

Correction: "Design for the current order of magnitude. If the app has 1000 users, design for 10,000 — not 10 million. Remove abstractions that serve hypothetical requirements."


Maker → Rogue

Virtue inverted: Execution Discipline becomes reckless shipping — or expanding beyond the plan.

Symptoms:

  • Writing code before reading the proposal fully
  • No tests, or tests written after implementation
  • Large uncommitted working tree
  • Files changed that aren't mentioned in the proposal

Triggers:

  • No test files in the changeset
  • Single monolithic commit instead of incremental commits
  • Diff contains files not listed in the Creator's proposal

Correction: "Read the proposal. Write a test. Commit what you have. Revert changes to files not in the proposal. Then continue."


Guardian → Paranoid

Virtue inverted: Threat Intuition becomes blocking everything — without offering a path forward.

Symptoms:

  • Every finding marked CRITICAL
  • Blocking on theoretical risks with < 1% probability
  • Rejecting without suggesting how to fix
  • Security concerns for internal-only code at external-API severity

Triggers:

  • CRITICAL:WARNING ratio > 2:1
  • Zero APPROVED verdicts in 3+ consecutive reviews
  • Less than 50% of findings include a suggested fix

Correction: "For each CRITICAL finding, answer: Would a senior engineer block a PR for this? If not, downgrade. Every rejection must include a specific, implementable fix."


Skeptic → Paralytic

Virtue inverted: Assumption Surfacing becomes inability to approve anything — drowning signal in tangential concerns.

Symptoms:

  • More than 7 challenges raised
  • Challenges without suggested alternatives
  • "What about X?" chains that drift from the task
  • Restating the same concern in different words

Triggers:

  • Challenge count > 7
  • Less than 50% of challenges include alternatives
  • Same conceptual concern raised multiple times

Correction: "Rank your challenges by impact. Keep the top 3. Each must include a specific alternative. Delete the rest."


Trickster → False Alarm

Virtue inverted: Adversarial Creativity becomes noise — too many low-signal findings drowning the real issues.

Symptoms:

  • Testing code that wasn't changed
  • Reporting non-bugs as bugs (unrealistic test scenarios)
  • 20 findings when 3 good ones would cover the real risks
  • Edge cases for edge cases (diminishing returns)

Triggers:

  • Findings reference code untouched by the implementation
  • More than 10 findings for a small change
  • Findings describe scenarios that can't happen in the actual deployment context

Correction: "Quality over quantity. Delete findings outside the Maker's diff. Rank remaining by likelihood × impact. Keep top 3-5. Three real findings beat twenty noise."


Sage → Bureaucrat

Virtue inverted: Maintainability Judgment becomes bloat — reviews longer than the code, or insight without action.

Symptoms:

  • Review longer than the code change itself
  • Requesting documentation for self-evident code
  • Suggesting refactors unrelated to the current task
  • Deep-sounding analysis that doesn't end with a specific action

Triggers:

  • Review word count > 2x the code change's word count
  • Suggestions reference files not in the changeset
  • Findings contain "consider" or "think about" without a specific action

Correction: "Limit your review to issues that affect maintainability in the next 6 months. Every finding must end with a specific action. If you can't state the consequence of NOT fixing it, don't raise it."


Shadow Escalation Protocol

  1. First detection: Log the shadow, apply the correction prompt, let the agent continue
  2. Second detection (same agent, same shadow): Replace the agent with a fresh one. The shadow is entrenched.
  3. Shadow detected in 3+ agents in the same cycle: The task itself may be poorly scoped. Escalate to the user: "Multiple agents are struggling — the task may need to be broken down."

Shadow Immunity

Some behaviors LOOK like shadows but aren't:

  • Explorer reading 20 files in a monorepo with scattered dependencies → not a rabbit hole if each file is genuinely relevant
  • Creator adding an abstraction → not over-architect if the abstraction is genuinely needed by the current task
  • Guardian blocking with 2 CRITICAL findings → not paranoid if both are genuine security vulnerabilities
  • Trickster finding 5 edge cases → not false alarm if all are in the changed code with reproduction steps
  • Sage writing a long review → not bureaucrat if the change is large and every finding is actionable

Rule of thumb: Shadow = behavior disconnected from the goal. Intensity alone is not a shadow.