resolve-conflicts
Skill4 starsChanged 4 months agoMITView on GitHub
Use when team members have posted prose verdicts on open conflicts (via /resolve, a "resolve conflicts" request, or a direct spec-change request) to draft a PRD revision plus diff, apply it only after human button approval, and align downstream docs to the updated PRD (PRD = SoT); acts in the PM/SM role; verdict = human, edit = Loremaster proposal, apply = approval gate; never auto-overwrite; this channel = this project only.
- Commits and pushes
16 other projects use a version of this.
Adopted by
Most recently taken up by
- domengabrovsek/agent-configtheir own version, first seen Nov 8, 2026
- domengabrovsek/claudetheir own version, first seen Nov 8, 2026
- LeonardiFranco/skillstheir own version, first seen Nov 8, 2026
- marinvch/Cortextheir own version, first seen Nov 1, 2026
- SantiagoVqz/claude-skillstheir own version, first seen Nov 1, 2026
- edloidas/skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use worktree, worktrees and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillworktree
Create, reuse or clean up a dedicated git worktree for working on a pull request or a private branch. Use from any PR-scoped workflow that needs an isolated checkout to keep current code and build output untouched.
Also in 5 projects that use this
nilecuiSkillworktrees
Guide for using git worktrees to parallelize development with coding agents. Use this skill when the user requests to work in a new worktree or wants to work on a separate feature in isolation (e.g., "Work in a new worktree", "Create a worktree for feature X").
Also in 3 projects that use this
johnlindquistSkilldiagram
Maintain and synchronize Unified Impact Diagrams following Diagram Driven Development (DDD) methodology. Create, update, and manage diagrams that connect user value to technical implementation.
Also in 3 projects that use this
nicolasestremSkilldocument
Create focused documentation for specific components or features
Also in 3 projects that use this
AWSSkillwizard
Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.
Also in 4 projects that use this
sunnyclinches44Skillexplain
Explains code using real-world analogies and ASCII diagrams
Also in 4 projects that use this
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- domengabrovsek/agent-config★ 22same name
- domengabrovsek/claude★ 22same name
- mthines/agent-skills★ 20same name
- ralphkrauss/agent-orchestrator★ 4same name
- edloidas/skills★ 2same name
- Pradnyeshp/Claude-Skills★ 2same name
- SantiagoVqz/claude-skills★ 2same name
- LeonardiFranco/skills★ 1same name
- marinvch/Cortex★ 1same name
- nielsmadan/skills★ 1same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- backlog-proposalSkill
- backlog-updateSkill
- conflict-detectionSkill
- daily-scrumSkill
- impact-analysisSkill
- loremaster-setupSkill
- meeting-agendaSkill
- refine-wikiSkill
- sprint-planningSkill
- sprint-retroSkill
- wiki-qaSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 0 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
When humans edit the PRD by hand, internal text dependencies break and consistency falls apart.
- Very specific: line 24
Collect: Read the open conflicts in conflicts/ plus the team's prose verdicts (this thread / provided text).
- Very specific: line 26
When the user replies to the conflict-detection result with bare numbered verdicts like 1.
- Very specific: line 36
First approval =
request_approvalbutton (PRD change): After presenting the PROPOSAL, get Slack [Allow]/[Deny] approval via … - Very specific: line 39
Update raw/PRD.md (git commit).
- Very specific: line 49
When the apply is done, mark PROPOSAL.md status: applied.
- Very specific: line 50
Afterwards — auto-chaining (refine): After the PRD and alignment are applied, if the open conflicts in conflicts/ reach 0, immediately …
- Very specific: line 59
Every external write (PRD/conflicts/other docs) goes through the button approval gate.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Conflict Resolution — Prose Verdicts → PRD Draft → Approval → Alignment (PRD = SoT)
When humans edit the PRD by hand, internal text dependencies break and consistency falls apart. So humans provide judgment only (prose); Loremaster drafts a consistency-aware PRD revision and a human approves it.
Flow
- Collect: Read the open conflicts in
conflicts/plus the team's prose verdicts (this thread / provided text). Read them directly withread_file/search_files(noexecute_code).- Slack thread replies count as verdicts/instructions even without a mention. In particular, when a user replies to my conflict-sweep message with things like "decided: 3 variants", "go with A", "go with B", treat that as the human verdict for that conflict — no separate @mention or re-confirmation required. If the thread context contains earlier replies, incorporate them first; never stall with "I couldn't read it because I wasn't tagged."
- When the user replies to the conflict-detection result with bare numbered verdicts like
1. ... 2. ..., map them in order to the existingCONFLICT-001,CONFLICT-002, ... as the team verdicts and proceed straight to resolution proposals. Do not ask "shall I resolve the conflicts?" separately. - When the user directly provides a
[spec change request], a specific PRD section, current/proposed text, and a supporting decision file, run it through this skill's PRD-change flow even if no CONFLICT file exists. Still follow the order: write PROPOSAL file → PRD approval button → apply → downstream alignment check → refine/push.
- Draft the PRD revision: Produce a revision of
raw/PRD.mdthat reflects the verdicts.- Account for internal PRD dependencies and consistency (changing one place means updating related statements too). Never invent blanks or missing content (if something is unclear, ask, as-is).
- Integrate resolution results into the PRD (no separate decisions.md — it would collide with the existing DECISIONS.md).
- Proposal = write it to
conflicts/PROPOSAL_<YYYY-MM-DD_HHMM>.md(team-timezone date+time suffix. Do not paste diffs into Slack — poor readability):- All timestamps use the team's timezone — the filename, dates inside PROPOSAL/CONFLICT files, the
status: resolveddate, and the alignment dates inraw/decisions/*.md, all of them. Get them withTZ="$TEAM_TZ" date +'%Y-%m-%d_%H%M'(filenames) andTZ="$TEAM_TZ" date +%F(body). Never use the host/container default clock (UTC) as-is — always pass an explicit timezone so filenames and dates match the team's wall clock (setTEAM_TZto your team's IANA timezone, e.g.America/New_York). - PROPOSAL.md layout: (1) team verdict summary, (2) the unified PRD diff under
## Stage 1 — PRD changes(strict format below), (3) to-dos on apply. - Unified diff format (no free-form): one
```diffcode block per file; first line--- a/raw/PRD.md, second line+++ b/raw/PRD.md, then@@ section @@; changed lines as- old/+ proposed; context lines indented one space with no prefix. Do not mix items — separate per file. - Keep the Slack message short:
📄 Please review <lore vault>/conflicts/PROPOSAL_<date>.md and let me know whether to approve.(No diffs, no numbered prompts.)
- All timestamps use the team's timezone — the filename, dates inside PROPOSAL/CONFLICT files, the
- First approval =
request_approvalbutton (PRD change): After presenting the PROPOSAL, get Slack [Allow]/[Deny] approval viarequest_approval(title= e.g. "Apply PRD revision —<project>";detail= PROPOSAL path/summary). Apply only on APPROVED. On DENIED/NO_RESPONSE, no apply and no retry. No clarify/numbered text prompts.- (Note: a plain
git commitis not a dangerous command, so no automatic approval button appears for it. Perform the approval explicitly viarequest_approval.)
- (Note: a plain
- Apply stage 1 (PRD, first-approval scope):
- Update
raw/PRD.md(git commit). Never apply unapproved parts. - The PROPOSAL's diff is a record for human review. When applying, extracting the diff from markdown code fences and relying on
git applycan break on long diffs, abbreviated context, and fence counts. Prefer applying the approved changes viapatch/ an exact file rewrite, then verify withgit diff --checkand searches for the key phrases. - Mark the matching
conflicts/CONFLICT-*.mdasstatus: resolved(verdict date = today in the team's timezone) with evidenceraw/PRD.md (finalized).
- Update
- Second approval = downstream doc alignment (against PRD = SoT, separate button): The PRD is now updated, so check the other raw docs that still contradict the finalized PRD (
raw/decisions/*.md, gtm, etc. —raw/**/*.md; progress files are not there).- If contradictions exist (e.g. an old decision in
raw/decisions/conflicts with the PRD / a reversed decision lacks a superseded marking / the frontmatter of the decision file the user cited is stilldraftwhile the request and PRD assumestable), build an alignment plan — mark the itemstatus: supersededor draft a fix. Never delete the decision log's original dates or content (preserve history). Alignment annotations use today's date in the team's timezone — e.g. append to the entry:> **superseded** 2026-06-23 — replaced by finalized PRD (Google login). (PROPOSAL_2026-06-23_HHMM). New decision entries use the format### <today (YYYY-MM-DD)> #N — .... All dates viaTZ="$TEAM_TZ" date +%F. - When a direct spec-change request piggybacks on an existing PRD-update flow (e.g. "fold this into the PROJ-36 update draft"), then after applying the PRD, also add the current flow as a new decision row in that decision file; do not delete the earlier interim decision — explain it as superseded.
- Append these alignment diffs to the same PROPOSAL file under a
## Stage 2 — Downstream alignmentsection (same unified diff format, separated per file). - Raise a second
request_approvalbutton (title= e.g. "Apply doc alignment —<project>";detail= files to align + summary). On APPROVED, apply the alignment (git commit). On DENIED/NO_RESPONSE, hold the alignment — but stage 1 (PRD + resolved) is already applied, so do not roll it back. No retry, no workaround. - If there is nothing to align (other docs already match the PRD), skip this stage and the second button. Do not force a button when there is nothing.
- Guard against missed duplicate PRD sections: Do not fix one spot in the PRD and stop. The same decision may be described in both the user journey (e.g. §9.1) and the screen/IA details (e.g. §13.1.1). Search all of
raw/PRD.md— not just the lines quoted in the conflict — for the old canonical phrasing, its synonyms, and evidence IDs (e.g.single-provider login,DECISIONS #44,Apple / Google) and align every current-spec statement together. If the user reacts with "didn't you already update that?", first assume your earlier edit missed something and immediately hunt for leftover phrasing. - When the apply is done, mark PROPOSAL.md
status: applied.
- If contradictions exist (e.g. an old decision in
- Afterwards — auto-chaining (refine): After the PRD and alignment are applied, if the open conflicts in
conflicts/reach 0, immediately auto-invoke refine-wiki (no need for the human to call it again). refine-wiki handles graphify + wikilinks.- Count open conflicts only from the current status in
conflicts/CONFLICT-*.md. Do not count old-**status** openlines insidePROPOSAL_*.mddiffs. - refine's auto-refinement regenerates derived artifacts (wiki/graphify), so do not raise another content re-approval button — content approval finished in stages 1 and 2 above.
- Count open conflicts only from the current status in
- origin push approval (automatic after commit): After git-committing the changes, do not wait for the human to say "push" — immediately raise a
request_approval"Push to origin?" button (title=origin push — <project>,detail= commit hashes/messages to push + remote URL). On APPROVED,git push origin main; on DENIED/NO_RESPONSE, do not push (keep the local commits). No retry, no workaround.- Do not substitute text approval for a button timeout. If
request_approvalreturnedNO_RESPONSEand the user later says "I approved it", the recorded tool result is still unapproved. Summarize the same push/write scope, raise a newrequest_approval, and proceed only when that new call returnsAPPROVED. - In the normal flow that chains into refine-wiki, do not push here — batch it at refine-wiki's final push step (PRD + alignment + wiki commits in one push, avoiding duplicate approvals). This step 8 applies only when the flow ends here without chaining into refine.
- Do not substitute text approval for a button timeout. If
Rules (invariants)
- Verdicts and decisions belong to humans. The team's opinion is the verdict; Loremaster is the proposer that turns it into PRD wording.
- Every external write (PRD/conflicts/other docs) goes through the button approval gate. Never auto-apply unapproved changes.
- The PRD is the SoT. One-way flow (update raw → derive wiki afterwards). No inventing blanks; keep evidence traceable.
- This channel = this project only. This project's lore vault only.
Output
- Slack: PRD revision summary + changes + [Approve]/[Cancel]. After approval, report the apply results (commit, resolved markings, alignment proposals).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

