Interview users about beloved emergent behaviors and register them in the Canon of Flaws for protection against optimization. Captures the gap between intended and actual behavior that users have come to love.
Interview the user about an emergent behavior that has become beloved or expected, and register it in the Canon of Flaws for protection against "optimization."
**Philosophy:** "Beloved 'bugs' are registered and protected from optimization"
The key insight is that a "perfect" implementation of the original design would often be worse than the imperfect reality users have come to love. This skill protects the emergent soul of products.
Before starting, verify:
1. **Sigil Setup**: Verify `.sigil-setup-complete` exists in the project root
2. **Canon File**: Check if `sigil-mark/soul-binder/canon-of-flaws.yaml` exists
- If missing, create it with an empty flaws array
3. **Strictness Level**: Load from `.sigilrc.yaml` to determine enforcement behavior
If the user hasn't specified what behavior to canonize, ask:
"What emergent behavior would you like to protect?"
Explain what qualifies as a canonizable flaw:
**Examples:**
Ask the following questions to capture the gap between design and reality:
**Question 2.1: Intended Behavior**
"What was the INTENDED behavior? What should have happened according to the original design?"
**Question 2.2: Emergent Behavior**
"What ACTUALLY happens (that became beloved)? Describe the behavior users have come to expect."
**Question 2.3: Discovery**
"How did you discover this behavior was valued?"
Options:
**Question 3.1: Usage**
"Approximately what percentage of users rely on this behavior?"
Options:
If < 5%, warn the user but allow proceeding with UNDER_REVIEW status.
**Question 3.2: Community Attachment**
"How would users react if this behavior was 'fixed'?"
Options:
**Question 3.3: Skill Expression (Optional)**
"Does this behavior reward skill or expertise?"
Options:
**Question 4.1: Affected Code**
"What code patterns might accidentally 'fix' this behavior?"
Provide examples of glob patterns:
Accept glob patterns that should trigger protection checks.
**Question 4.2: Protection Rule**
"Complete this sentence: 'Any change that __________ must be BLOCKED.'"
Example: "Any change that prevents the double-click animation must be BLOCKED."
Generate the next flaw ID by reading existing entries from `canon-of-flaws.yaml`, then create:
```yaml
name: "{behavior_name}"
status: "PROTECTED" # or UNDER_REVIEW if < 5% usage
canonized_date: "{today_date}"
canonized_by: "{user_name or 'Taste Owner'}"
description: |
{Brief description of the flaw}
intended_behavior: |
{Answer from Q2.1}
emergent_behavior: |
{Answer from Q2.2}
why_protected: |
- Discovery: {Answer from Q2.3}
- Usage: {Answer from Q3.1}
- Attachment: {Answer from Q3.2}
- {Additional context from Q3.3 if provided}
affected_code_patterns:
- "{pattern_1}"
- "{pattern_2}"
protection_rule: |
{Answer from Q4.2}
de_canonization:
requires_threshold: 70 # percent approval
cooldown_days: 180
```
Show the user the generated entry in formatted YAML and ask:
"Does this accurately capture the behavior to protect?"
Options:
On confirmation:
1. Load existing `sigil-mark/soul-binder/canon-of-flaws.yaml`
2. Append new flaw to the flaws array
3. Update `last_updated` timestamp
4. Save file
Display a summary:
```
[status_emoji] FLAW-{id} "{name}" has been added to the Canon of Flaws.
Status: {PROTECTED | UNDER_REVIEW}
The agent will now {BLOCK | WARN on} any change that matches:
{affected_patterns}
Protection Rule:
"{protection_rule}"
De-canonization process:
- Requires 70% community approval via /consult
- Requires Taste Owner sign-off via /approve
- Update canon-of-flaws.yaml status to DE_CANONIZED
Next steps:
- /craft will respect this flaw during implementation
- Changes to affected patterns will be {blocked | flagged}
```
Enforcement depends on the strictness level configured in `.sigilrc.yaml`:
| Strictness | Protected Flaw Violation |
|------------|--------------------------|
| discovery | "Consider" - informational only |
| guiding | Warning with explanation |
| enforcing | BLOCK with override option |
| strict | BLOCK with override option |
| Error | Cause | Resolution |
|-------|-------|------------|
| "Setup not complete" | Missing .sigil-setup-complete | Run sigil setup first |
| "Usage below threshold" | < 5% usage reported | Allow with UNDER_REVIEW status |
| "Similar flaw exists" | Duplicate pattern detected | Suggest updating existing flaw |
| "Canon file missing" | No canon-of-flaws.yaml | Create empty file with structure |
**Do NOT:**
**DO:**
```
User: I want to canonize the double-click submit behavior
Agent: [Runs through interview questions]
Agent: [Generates FLAW-003 entry]
Agent: [Saves to canon-of-flaws.yaml]
Agent: ✓ FLAW-003 "Double-click submit animation" has been PROTECTED
```
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/canonize-flaws/raw