feat(omo): track omo config, hooks and workspace slash commands

Adds /owt-done (close Linear issues after merge, then owt done) and
/linear-sync (progress comment and status, no cleanup), linked into omo
as ~/.omo/agent/prompts.
This commit is contained in:
David Ibia
2026-10-03 14:53:46 +01:00
parent b11d1adcc5
commit 54a4858ffc
4 changed files with 319 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
---
description: Post a progress update to this workspace's Linear issues and set their status, without cleaning up
argument-hint: "[notes for the Linear comment]"
requires-arguments: false
---
Sync this workspace's progress to Linear. Do not remove or change the workspace.
1. Run `owt done --check` to get the branch, PR state and PR link. If this is not an owt workspace, use `git branch --show-current` for the branch and continue.
2. Work out which Linear issues this work covers: the keys in the branch name (`feature/pra-107-108-...` means PRA-107 and PRA-108) plus any issues named earlier in this session. Read each with the Linear tools, including comments. If you find none, ask me which issues to update.
3. For each issue, post one comment covering: what is done so far, what is left, the branch name, and the PR link if there is one. Keep it short and factual, based on the actual commits and diff (`git log --oneline <base>..HEAD`, `git diff --stat <base>`), not on plans. Include these notes from me, if any: $ARGUMENTS
4. Set each issue's status from the PR state: no PR means In Progress, an open PR means In Review. Never move an issue to Done here; `/owt-done` does that after the merge. Leave an issue alone if it is already in a later status than this rule gives.
5. Tell me in a few lines which issues you updated and their status.
+21
View File
@@ -0,0 +1,21 @@
---
description: Finish this owt workspace - close its Linear issues, then remove the worktree and close the window
argument-hint: "[notes for the Linear comment]"
requires-arguments: false
---
Close out the owt workspace this session is running in. Do the steps in order.
1. Run `owt done --check`. It prints `key=value` lines: workspace, path, branch, base, uncommitted, merged, pr_state, pr_url, remote_branch. It exits 1 when finishing would lose work. If it says this is not an owt workspace, stop and tell me.
2. Work out which Linear issues this workspace covered: the keys in the branch name (`feature/pra-107-108-...` means PRA-107 and PRA-108) plus any issues named earlier in this session. Read each with the Linear tools. If you find none, ask me which issues, if any, to close.
3. If the check exited 1, list exactly what would be lost (uncommitted files with `git status --short`, commits not on the base branch with `git log --oneline <base>..HEAD`, and the PR state), then ask me whether to discard it. Do not continue without an explicit yes. If I say no, stop here and change nothing.
4. Update Linear for each issue:
- If `merged=yes`: comment with a short summary of what shipped, the PR link (`pr_url`), and the branch name, then move the issue to Done.
- If I approved discarding unmerged work: comment that the workspace was discarded without merging and why, and leave the status as it is unless I say otherwise.
Include these notes from me in the comment, if any: $ARGUMENTS
5. Give me a short final summary: issues updated and their new status, PR link, and what cleanup will remove.
6. As your very last action, run `owt done --detach`, adding `--force` only if I approved discarding work in step 3. About 5 seconds later it deletes the merged remote branch, removes the worktree and local branch, and closes this tmux window, which ends this session. Run nothing after it.