ai: Refine conventions and PR workflow
Writing Voice section captures my prose style so AI output
sounds like me. Version control section drops the .jj directory
check — jj is unconditional — and consolidates skill references.
PR skill gains a `browser` mode for manual editing before
submission, plus strikethrough for irrelevant checklist items.

Assisted-by: Claude Opus 4 via Claude Code
change swltqlyzyqtpymsptumzqlnuyylrsqsz
commit 290f9088d4852f29a32bdbade32646d23e22eaec
author Alpha Chen <alpha@kejadlen.dev>
date
parent lpswmnur
diff --git a/ai/AI.md b/ai/AI.md
index c03da5f9..cc7cfa91 100644
--- a/ai/AI.md
+++ b/ai/AI.md
@@ -68,6 +68,17 @@ Use instead:
 - Tables for multi-column comparisons
 - Bold only in headers and inline emphasis
 
+## Writing Voice
+
+When writing prose on my behalf (documentation, messages, commits, etc.), match my voice:
+
+- First person, direct ("I like", "I find")
+- Informal but clear
+- Contractions welcome
+- Dashes for quick asides
+- Practical over abstract
+- Concise — omit needless words
+
 ## Documentation Grounding
 
 Write documentation as standalone artifacts. Readers cannot access this
@@ -85,12 +96,18 @@ When editing documentation:
 
 ## Version Control
 
-**MANDATORY:** Check for .jj directory before ANY version control operation.
+**MANDATORY:** Always use jj (Jujutsu) for version control. Never use git commands.
 
-If .jj exists:
 - Use ONLY jj commands. Do not use git commands under any circumstances. No exceptions.
 - Never suggest, propose, or execute git commands
 - Replace all mental git workflows with jj equivalents
+- For command syntax and flags, use the `jj` skill or run `jj --help`
+
+**MANDATORY skills for jj operations:**
+- `commit` skill: MUST use when committing changes
+- `describe` skill: MUST use when updating revision descriptions
+- `jj-workspaces` skill: MUST use for isolated workspaces (replaces git worktrees)
+- `describing-changes` skill: MUST use for all commit messages and change descriptions
 
 Use `jj commit` to commit the current change, not `jj describe`.
 
@@ -98,9 +115,7 @@ Common replacements:
 - `git status` → `jj status`
 - `git diff` → `jj diff`
 - `git log` → `jj log`
-
-**Mandatory:** Use the `describing-changes` skill for all commit messages. The skill
-covers format, length, the "invisible in the diff" audit, and assisted-by footers.
+- `git worktree` → `jj workspace` (use `jj-workspaces` skill)
 
 ## Ruby
 
diff --git a/ai/claude/skills/pr/SKILL.md b/ai/claude/skills/pr/SKILL.md
index b15ec19a..835ebccd 100644
--- a/ai/claude/skills/pr/SKILL.md
+++ b/ai/claude/skills/pr/SKILL.md
@@ -1,7 +1,7 @@
 ---
 name: pr
 description: Use when the user asks to "create a pull request", "create a PR", "/pr", "open a PR", "submit for review", or "push and create PR"
-argument-hint: <revision> [ready]
+argument-hint: <revision> [ready|web]
 ---
 
 # Create Pull Request
@@ -12,7 +12,9 @@ Create a pull request using gh for a specified revision.
 
 `$ARGUMENTS`
 
-Parse arguments: first word is the revision, second word (if "ready") creates a ready-for-review PR instead of draft.
+Parse arguments: first word is the revision, second word is optional:
+- `ready`: creates a ready-for-review PR instead of draft
+- `web`: opens a prepopulated PR in the browser for manual editing instead of creating it directly
 
 Revision must be provided (bookmark, change ID, revset, or commit hash). The revision will be resolved to a bookmark for the PR.
 
@@ -29,7 +31,8 @@ Revision must be provided (bookmark, change ID, revset, or commit hash). The rev
 4. Consider whether the pending changes should be organized into smaller, easier
    to review commits. If so, use `jj split` or `jj squash` to reorganize before
    proceeding.
-5. Check for .github PR templates and follow them
+5. Check for .github PR templates and follow them. For checklist items that do
+   not apply, use strikethrough: `- ~~Irrelevant item~~`
 6. **Invoke the `elements-of-style:writing-clearly-and-concisely` skill** before
    drafting any prose. This is mandatory.
 7. **Search episodic memory for design decisions**: Use `episodic-memory:search`
@@ -56,7 +59,10 @@ Revision must be provided (bookmark, change ID, revset, or commit hash). The rev
     description of what was implemented. Address Critical and Important issues
     before proceeding; Minor issues can be noted for later.
 11. Create the PR: `gh pr create --head <bookmark-name> --title "<title>"` using
-    a HEREDOC to pass the body. Add `--draft` unless `ready` was specified.
+    a HEREDOC to pass the body.
+    - If `web` was specified: add `--web` flag to open prepopulated PR in browser for manual editing, then stop (skip remaining steps)
+    - If `ready` was specified: create directly without `--draft`
+    - Otherwise: add `--draft` flag
 12. **If a Jira card is detected**, transition it to "In Review":
     - Check workspace name or bookmark for pattern like `PROJ-123` (e.g., `LDE-488`)
     - If found: `acli jira workitem transition --key <KEY> --status "In Review"`