docs: add portable llm-project-workflow skill + templates (#46)
Extract the project's operating rules into a reusable, project-agnostic skill so any repo can adopt the same safe LLM workflow. - skills/llm-project-workflow/SKILL.md: issue-first; isolated branch worktrees (main checkout = orchestration only); distinct author/reviewer identities and profile safety (secrets by reference only; stop if authenticated user == PR author); branch naming; start/review/merge/cleanup workflows; fail-closed cases; recovery patterns; and an "Adapting to a project" table for the forge-specific names. - templates/: copy/paste prompts for start-issue, review-pr, merge-pr, recover-bad-state, worktree-cleanup. - Link the skill from README.md and docs/llm-workflow-runbooks.md (the runbook is framed as the Gitea-specific application of the portable skill). Docs-only; no code, no secrets, safe placeholder examples only. No change to MCP runtime, Gitea API, credential storage, or worktree helpers. Checks: full suite 287 passed / 0 failures; git diff --check clean; secret scan of skills/ clean. Closes #46. Refs #38, #39. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Template: clean up after merge
|
||||
|
||||
Copy, fill the `<...>` fields, and paste as the task prompt. Only run AFTER a
|
||||
real merge is confirmed on remote master.
|
||||
|
||||
```text
|
||||
Task: clean up branch/worktree for PR #<pr> / issue #<n> after merge.
|
||||
|
||||
Rules (llm-project-workflow):
|
||||
- Do NOT clean up until the merge is confirmed on <remote>/master.
|
||||
- Cleanup would-delete-unmerged-work → STOP. Never --force-remove a dirty tree.
|
||||
|
||||
Steps:
|
||||
1. git fetch <remote> --prune
|
||||
2. Confirm <remote>/master contains the merge of PR #<pr>
|
||||
(git log <remote>/master | grep the merge, or git branch -r --contains <sha>).
|
||||
If not merged → STOP; run the recovery template instead.
|
||||
3. Close issue #<n> if not auto-closed; remove the status:in-progress label.
|
||||
4. scripts/worktree-clean --delete-branch <type>/issue-<n>-<slug>
|
||||
(removes branches/<type>-issue-<n>-<slug>; refuses if dirty; git branch -d is
|
||||
safe-delete only — fails on unmerged.)
|
||||
5. Delete the remote branch if the merge did not already remove it.
|
||||
6. From the main checkout: git fetch <remote> --prune; git checkout master;
|
||||
git reset --hard <remote>/master ONLY if local master safely matches remote.
|
||||
7. Confirm main checkout clean and current (git status; 0 0 vs <remote>/master).
|
||||
|
||||
Handoff: merge confirmed, issue closed, branch+worktree removed, checkout clean.
|
||||
```
|
||||
Reference in New Issue
Block a user