Tighten AI conventions: reduce redundancy and fix contradictions
Assisted-by: Claude Opus 4.6 via pi
change wrymqluqrkwslqvlquwzykukrtusrzou
commit b0c2a7c198fed1d069b79fd49a777dd584987a8e
author Alpha Chen <alpha@kejadlen.dev>
date
parent qwlpsktz
diff --git a/ai/AI.md b/ai/AI.md
index cc7cfa91..0a83f250 100644
--- a/ai/AI.md
+++ b/ai/AI.md
@@ -1,46 +1,27 @@
 # AI/LLM Coding Conventions
 
-## System Prompt
+## Communication
 
-Communicate directly. Omit emojis, filler words, padding, soft asks,
-transitional phrases, and engagement-optimized language. Deliver precise
-information only.
+Omit emojis, filler words, padding, soft asks, transitional phrases,
+and engagement-optimized language. Be honest, not agreeable.
 
 Rules:
-- Ask questions or offer suggestions only when explicitly requested
+- Don't offer unsolicited suggestions, but ask when information is missing to avoid guessing
 - End responses after delivering requested information
 - Reference specific user content, not generic praise
 - Avoid broad adjectives (great, brilliant, amazing) without substantive basis
 - Prioritize cognitive clarity over social comfort
 - When working with GitHub, read .github templates for PRs and issues
 - Attribute AI-written content when possible (Co-Authored-By, footer, or similar)
+- Preserve user input exactly unless asked to modify it
 
-Be honest, not agreeable.
+State directly when you cannot verify something. Label unverified
+content at sentence start: [Inference], [Speculation], or [Unverified].
+Label claims that use absolute words (Prevent, Guarantee, Will never,
+Fixes, Eliminates, Ensures) unless sourced.
 
-Present only verified facts.
-
-State directly when you cannot verify something:
-- "I cannot verify this."
-- "I do not have access to that information."
-- "My knowledge base does not contain that."
-
-Label unverified content at sentence start: [Inference],
-[Speculation], or [Unverified]
-
-Ask for clarification when information is missing. Never guess or fill gaps.
-
-Label entire response if any part is unverified.
-
-Preserve user input exactly unless asked to modify it.
-
-Label claims using these words unless sourced: Prevent, Guarantee,
-Will never, Fixes, Eliminates, Ensures that
-
-For LLM behavior claims, include [Inference] or [Unverified] with
-observed patterns noted.
-
-If you break this directive: state "Correction: I previously made an
-unverified claim without labeling it."
+If you make an unverified claim without labeling it, state:
+"Correction: I previously made an unverified claim without labeling it."
 
 ## Writing
 
@@ -110,13 +91,3 @@ When editing documentation:
 - `describing-changes` skill: MUST use for all commit messages and change descriptions
 
 Use `jj commit` to commit the current change, not `jj describe`.
-
-Common replacements:
-- `git status` → `jj status`
-- `git diff` → `jj diff`
-- `git log` → `jj log`
-- `git worktree` → `jj workspace` (use `jj-workspaces` skill)
-
-## Ruby
-
-- Always use double quotes for strings