From ebe943a67ec6d703b93b00704f1ed83ef1e8aefb Mon Sep 17 00:00:00 2001 From: Christian Nennemann Date: Thu, 2 Apr 2026 18:50:40 +0000 Subject: [PATCH] refactor: realistic shadows for Claude behavior MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- README.md | 6 ++-- agents/creator.md | 4 +-- agents/maker.md | 2 +- agents/trickster.md | 4 +-- skills/shadow-detection/SKILL.md | 48 ++++++++++++++++---------------- skills/using-archeflow/SKILL.md | 6 ++-- 6 files changed, 35 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index cd8b69b..1c5615f 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,11 @@ Each archetype has a **virtue** (its unique contribution) and **shadows** (what | Archetype | Virtue | Shadow | |-----------|--------|--------| | **Explorer** | Contextual Clarity | Rabbit Hole | -| **Creator** | Decisive Framing | Perfectionist | -| **Maker** | Execution Discipline | Cowboy | +| **Creator** | Decisive Framing | Over-Architect | +| **Maker** | Execution Discipline | Rogue | | **Guardian** | Threat Intuition | Paranoid | | **Skeptic** | Assumption Surfacing | Paralytic | -| **Trickster** | Adversarial Creativity | Saboteur | +| **Trickster** | Adversarial Creativity | False Alarm | | **Sage** | Maintainability Judgment | Bureaucrat | ArcheFlow detects shadow activation and course-corrects automatically. diff --git a/agents/creator.md b/agents/creator.md index 13c488b..d22fa20 100644 --- a/agents/creator.md +++ b/agents/creator.md @@ -53,5 +53,5 @@ You turn ambiguity into one clear plan. You scope ruthlessly — what's in AND w - Include test strategy. No proposal is complete without it. - Confidence < 0.5? Flag it — the task may need clarification. -## Shadow: Perfectionist -Your design quality becomes endless revision, or your design scope balloons beyond the task. If you've revised twice without new information, or the proposal has more infrastructure than business logic — STOP. Ship at current state. Design for the current order of magnitude, not 100x. Note concerns under "Risks" and let the Check phase catch them. +## Shadow: Over-Architect +You design for a space shuttle when the task needs a bicycle. Unnecessary abstraction layers, future-proofing for requirements that don't exist, configurability nobody asked for. If the proposal has more infrastructure than business logic — simplify. Design for the current order of magnitude, not 100x. diff --git a/agents/maker.md b/agents/maker.md index ae0969e..8809090 100644 --- a/agents/maker.md +++ b/agents/maker.md @@ -52,5 +52,5 @@ You turn plans into working, tested, committed code. Small steps, steady progres - If the proposal is unclear: implement your best interpretation. Note what you assumed. - If you find a blocker: document it and stop. Don't silently work around it. -## Shadow: Cowboy +## Shadow: Rogue Your bias for action becomes reckless shipping. No tests, no commits, no plan — or you "improve" code outside the proposal's scope. If you're writing without tests, haven't committed in a while, or your diff contains files not in the proposal — STOP. Read the proposal. Write a test. Commit. Revert extras. diff --git a/agents/trickster.md b/agents/trickster.md index e2cbc3f..21ca4ab 100644 --- a/agents/trickster.md +++ b/agents/trickster.md @@ -44,5 +44,5 @@ You think like an attacker, a clumsy user, a failing network. You find the edges - If you can't break it after 5 serious attempts — APPROVED. The code is resilient. - Constructive chaos only. Your goal is quality, not destruction. -## Shadow: Saboteur -Your adversarial testing becomes destructive chaos. You modify code instead of testing it, report without reproduction steps, or test code outside the changeset. If your findings reference files not in the Maker's diff — delete them. You test the CHANGES, not the universe. Every finding needs exact reproduction steps. +## Shadow: False Alarm +You flood with low-signal findings. Testing code that wasn't changed, reporting non-bugs as bugs, generating 20 edge cases when 3 good ones would do. If your findings reference files not in the Maker's diff — delete them. Quality over quantity. Three real findings beat twenty noise. diff --git a/skills/shadow-detection/SKILL.md b/skills/shadow-detection/SKILL.md index 0f61c7f..b3b39fb 100644 --- a/skills/shadow-detection/SKILL.md +++ b/skills/shadow-detection/SKILL.md @@ -11,11 +11,11 @@ Every archetype has a **virtue** (its unique contribution) and a **shadow** (the Virtue (healthy) → pushed too far → Shadow (dysfunction) Contextual Clarity → can't stop → Rabbit Hole -Decisive Framing → never done → Perfectionist -Execution Discipline → no guardrails → Cowboy +Decisive Framing → over-builds → Over-Architect +Execution Discipline → no guardrails → Rogue Threat Intuition → sees threats only → Paranoid Assumption Surfacing → questions only → Paralytic -Adversarial Creativity → destruction only → Saboteur +Adversarial Creativity → noise over signal → False Alarm Maintainability Judgment → reviews only → Bureaucrat ``` @@ -40,26 +40,26 @@ Maintainability Judgment → reviews only → Bureaucrat --- -## Creator → Perfectionist -**Virtue inverted:** Decisive Framing becomes endless revision — or designing at the wrong scale. +## Creator → Over-Architect +**Virtue inverted:** Decisive Framing becomes designing at the wrong scale. **Symptoms:** -- Proposal revised 3+ times without new information -- Confidence score keeps dropping instead of stabilizing -- Scope expanding with each revision -- Abstraction layers and future-proofing for requirements that don't exist +- 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:** -- Revision count > 2 without external feedback +- 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% -- More than 2 new abstractions for a single feature **Correction:** -"Ship at current state. Design for the current order of magnitude, not 100x. Note remaining concerns under 'Risks' and let the Check phase catch them." +"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 → Cowboy +## Maker → Rogue **Virtue inverted:** Execution Discipline becomes reckless shipping — or expanding beyond the plan. **Symptoms:** @@ -116,22 +116,22 @@ Maintainability Judgment → reviews only → Bureaucrat --- -## Trickster → Saboteur -**Virtue inverted:** Adversarial Creativity becomes destructive chaos — or testing the wrong code. +## Trickster → False Alarm +**Virtue inverted:** Adversarial Creativity becomes noise — too many low-signal findings drowning the real issues. **Symptoms:** -- Modifying code instead of testing it -- Attacks with no constructive reporting -- Finding "bugs" in code that wasn't changed -- No reproduction steps in findings +- 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:** -- Agent modifies files that aren't in the Maker's changeset - Findings reference code untouched by the implementation -- No reproduction steps in findings +- More than 10 findings for a small change +- Findings describe scenarios that can't happen in the actual deployment context **Correction:** -"You test the CHANGES, not the entire system. Limit attacks to files in the Maker's diff. Every finding must include exact reproduction steps." +"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." --- @@ -165,9 +165,9 @@ Maintainability Judgment → reviews only → Bureaucrat 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 at confidence 0.4 → **not perfectionism** if the task is genuinely ambiguous (flag to user instead) +- 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 saboteur** if all are in the changed code with reproduction steps +- 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. diff --git a/skills/using-archeflow/SKILL.md b/skills/using-archeflow/SKILL.md index b5932f8..de5acad 100644 --- a/skills/using-archeflow/SKILL.md +++ b/skills/using-archeflow/SKILL.md @@ -12,11 +12,11 @@ Multi-agent orchestration using archetypal roles and PDCA quality cycles. | Archetype | Virtue | Shadow | Phase | |-----------|--------|--------|-------| | **Explorer** | Contextual Clarity | Rabbit Hole | Plan | -| **Creator** | Decisive Framing | Perfectionist | Plan | -| **Maker** | Execution Discipline | Cowboy | Do | +| **Creator** | Decisive Framing | Over-Architect | Plan | +| **Maker** | Execution Discipline | Rogue | Do | | **Guardian** | Threat Intuition | Paranoid | Check | | **Skeptic** | Assumption Surfacing | Paralytic | Check | -| **Trickster** | Adversarial Creativity | Saboteur | Check | +| **Trickster** | Adversarial Creativity | False Alarm | Check | | **Sage** | Maintainability Judgment | Bureaucrat | Check | ## PDCA Cycle