Interview user about a beloved emergent behavior and register it in the Canon of Flaws for protection against "optimization". Captures the difference between intended design and cherished reality.
This skill interviews the user about an emergent behavior that has become beloved or expected, and registers it in the Canon of Flaws for protection against "optimization."
> "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.
1. **Sigil Setup**: Verify `.sigil-setup-complete` exists in the workspace
- If missing, inform user to run the setup skill first
2. **Canon File**: Check if `sigil-mark/soul-binder/canon-of-flaws.yaml` exists
- If missing, create it with structure: `{ flaws: [], last_updated: <ISO_DATE> }`
3. **Strictness Level**: Load from `.sigilrc.yaml` to determine enforcement behavior
If not provided in initial request, ask the user:
Explain what qualifies as a canonizable flaw:
Provide examples:
Gather detailed information through these questions:
**Question 2.1**: "What was the INTENDED behavior? What should have happened according to the original design?"
**Question 2.2**: "What ACTUALLY happens (that became beloved)? Describe the behavior users have come to expect."
**Question 2.3**: "How did you discover this behavior was valued?"
- User complaints when it changed
- Community discussion or documentation
- Usage analytics showing reliance
- Internal team discovery
**Question 3.1 - Usage**: "Approximately what percentage of users rely on this behavior?"
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'?"
**Question 3.3 - Skill Expression (Optional)**: "Does this behavior reward skill or expertise?"
**Question 4.1 - Affected Code**: "What code patterns might accidentally 'fix' this behavior?"
**Question 4.2 - Protection Rule**: "Complete this sentence: 'Any change that __________ must be BLOCKED.'"
Generate the next flaw ID by reading existing entries in the Canon file and incrementing.
Create a YAML entry with this structure:
```yaml
name: "{behavior_name}"
status: "PROTECTED" # or UNDER_REVIEW if < 5% usage
canonized_date: "{ISO_DATE}"
canonized_by: "{user_name or 'Taste Owner'}"
description: |
{Brief summary of the flaw}
intended_behavior: |
{From Question 2.1}
emergent_behavior: |
{From Question 2.2}
why_protected: |
- Discovery: {From Q2.3}
- Usage: {From Q3.1}
- Attachment: {From Q3.2}
- {Additional context from Q3.3 if applicable}
affected_code_patterns:
- "{pattern_1}"
- "{pattern_2}"
protection_rule: |
{From Question 4.2}
de_canonization:
requires_threshold: 70 # percent approval
cooldown_days: 180
```
Present the generated entry to the user in formatted YAML and ask:
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 to current ISO date
4. Write the file back
Provide a summary report:
```
✓ 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 skill will respect this flaw during implementation
- Changes to affected patterns will be {blocked | flagged}
```
Enforcement level depends on `.sigilrc.yaml` strictness setting:
| Strictness | Protected Flaw Violation |
|------------|--------------------------|
| discovery | "Consider" - informational only |
| guiding | Warning with explanation |
| enforcing | BLOCK with override option |
| strict | BLOCK with override option |
**DO:**
**DO NOT:**
| Error | Cause | Resolution |
|-------|-------|------------|
| "Setup not complete" | Missing `.sigil-setup-complete` | Run setup skill 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 proper structure |
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/canonize-flaw/raw