PR Design Doc
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
Requires an externalised rationale for high-risk changes - new public exports, new endpoints, auth edits, migrations, removed guards - recorded as an Intent commit trailer, an ADR reference, or a…
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intent --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/recording-change-intent .claude/skills/recording-change-intent && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .claude/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intent --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/recording-change-intent .agents/skills/recording-change-intent && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .agents/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intent --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/recording-change-intent .cursor/skills/recording-change-intent && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .cursor/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jaktestowac/awesome-copilot-for-testers.git --path skills/recording-change-intent--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intent --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/recording-change-intent .gemini/skills/recording-change-intent && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .gemini/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/recording-change-intent .github/skills/recording-change-intent && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .github/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jaktestowac/awesome-copilot-for-testers recording-change-intent --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaktestowac/awesome-copilot-for-testers.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/recording-change-intent .opencode/skills/recording-change-intent && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "recording-change-intent" agent skill from https://github.com/jaktestowac/awesome-copilot-for-testers/tree/main/skills/recording-change-intent into .opencode/skills/recording-change-intent/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "recording-change-intent", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
recording-change-intentRequires an externalised rationale for high-risk changes - new public exports, new endpoints, auth edits, migrations, removed guards - recorded as an Intent commit trailer, an ADR reference, or a…
Recording Change Intent is an agent skill from jaktestowac/awesome-copilot-for-testers. Requires an externalised rationale for high-risk changes - new public exports, new endpoints, auth edits, migrations, removed guards - recorded as an Intent commit trailer, an ADR reference, or a module intent register, and reports high-risk changes that carry none. Use when agent-generated or AI-assisted changes ship without a recorded why, when reviewers cannot tell what a diff was for, when a codebase is losing its decision history, or when setting up an intent gate alongside test and coverage gates.
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `resources/high-risk-surface-rules.md` and `resources/intent-trailer-spec.md`).
It sits in Development, covering Architecture decision records. The repository describes itself as: 👨💻 Instructions, prompts, and chat modes to help You with test automation for GitHub Copilot 🤖. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8910672. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Recording Change Intent loads about 2.8k tokens when it runs. Until then it costs about 133 tokens; SKILL.md has 1,384 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jaktestowac/awesome-copilot-for-testers at commit 8910672, republished under its MIT licence (© jaktestowac). 1,384 words, ~2,759 tokens.
.claude/skills/recording-change-intent/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use this skill when a change carries risk and the reason for it exists only in someone's head, a chat thread, or a ticket nobody will find again.
Tests prove a change works. Coverage proves it was executed. Neither records why it was made, which constraint forced the odd shape, or what was considered and rejected. That is intent debt, and it is the one debt an agent structurally cannot pay down: a coding agent can write the implementation, the tests, and the docs, but it cannot supply the human reason the work was commissioned. As AI-assisted output grows, intent debt grows with it while every other quality signal keeps looking healthy.
The fix is small and unfashionable: on high-risk changes, require the rationale to be written down somewhere durable and linked to the change.
refactor: extract computeRefund is a restated diff, not a rationale.Take the tags from scoping-change-relevance, or apply the rules in ./resources/high-risk-surface-rules.md directly. High-risk surface is:
critical-pathEverything else: no rationale required. Say so explicitly, so the gate is visibly proportionate rather than universally nagging.
Any one of these covers the change:
| Mechanism | Looks like | Best for |
|---|---|---|
Intent: trailer | free-text rationale in the commit message trailer block | the normal case |
Intent-Ref: trailer | ADR-0042, QA-431, or a URL | a decision already written down elsewhere |
| ADR | a document in docs/adr/ that this change implements | architectural decisions with alternatives |
| Module intent register | an entry in .qa/intent.md covering these paths | stable module-level "why this exists" |
| Intent waiver | a path-scoped register entry | genuinely mechanical high-risk changes (bulk renames, codegen) |
git log <base>..HEAD --format='%H%n%B' # read the whole message, trailers included
git log <base>..HEAD --format='%(trailers:key=Intent,valueonly)'
git log <base>..HEAD --format='%(trailers:key=Intent-Ref,valueonly)'Trailers are the standard Key: value block at the end of a commit message - the same mechanism as Signed-off-by:. No tooling, no external service, and they survive rebase and squash if written into the final message. See ./resources/intent-trailer-spec.md.
| Status | Meaning | Action |
|---|---|---|
| Covered | a valid rationale covers this surface | nothing |
| Undeclared | high-risk surface, no rationale anywhere | write one |
| Malformed | a trailer exists but fails its rule - too short, unresolvable ref, wrong key | fix it, and quote the exact problem |
| Restated diff | a rationale that only says what the diff says | rewrite it; this is the most common failure |
| Waived | covered by a path-scoped intent waiver | cite the waiver and its expiry |
"Restated diff" deserves the separate row. Intent: added the refund endpoint passes any mechanical check and carries no information. A human reviewing intent records should reject it as they would reject an assertion-free test.
Where a rationale is missing, draft one from the evidence available - the diff, the linked ticket, the branch name, the surrounding code, the conversation. Then hand it to the author with the draft clearly marked as a draft, because a rationale the author has not confirmed is not a rationale.
A good record answers three questions in a few lines:
feat(billing): allow partial refunds on settled orders
Support desk cannot resolve disputes on settled orders without a full
reversal, which breaks the monthly reconciliation report.
Intent: Partial refunds must be idempotent because the provider retries
webhooks up to 5 times; we key on (orderId, providerRefundId) rather
than generating our own id, so a retry cannot double-refund. Rejected
a queue-based approach - it would have needed a new consumer and the
reconciliation window is 15 minutes, not seconds.
Intent-Ref: ADR-0042More examples, including bad ones and why they fail, in ./resources/intent-trailer-spec.md.
critical-regulated: undeclared MUST surface is a blocker. standard: a warning. prototype-internal: informational.Layer 1 - commit-msg hook (advisory, bypassable). Warns when an Intent: trailer is too short or an Intent-Ref: looks malformed. Never blocks. Its job is to catch the typo while the author still has context.
Layer 2 - pre-push or CI (enforcing). Parses trailers on the commits in the range, resolves high-risk surface from the diff, and fails when MUST-level surface has no valid rationale. Wired into required checks. Hook snippets and a CI job are in ./resources/intent-trailer-spec.md.
Roll it out warn-first, like any gate: report for one iteration, then warn, then block on the escalated surface only (auth, migrations, endpoints), then everywhere the contract says MUST.
Intent: fix within a week.Intent-Ref: JIRA-1234 with no accessible ticket is a dead link with extra steps. Reference something durable, or write the reason inline.--no-verify'd - see governing-quality-waivers../resources/intent-trailer-spec.md - the trailer grammar, validation rules, good and bad examples, the commit-msg hook and the CI job./resources/high-risk-surface-rules.md - what counts as high-risk surface, per-profile severity, and the module intent register formatscoping-change-relevance - supplies the tags that identify high-risk surface in a diffgoverning-quality-waivers - the sibling record: why a check is off, versus why a change was madeassessing-comprehension-debt - an Intent: record is an input to the comprehension risk bandcode-review-advanced - where a human judges whether a rationale is real or restatedderiving-a-quality-contract - where intent-rationale is set to MUST, SHOULD, or COULD for this projectreporting-bugs - the same discipline applied to defects: evidence and reasoning, written down once, findable laterThis skill is complete when:
© jaktestowac, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in skills/recording-change-intent of jaktestowac/awesome-copilot-for-testers.
Open the folder on GitHubat commit 8910672
Recording Change Intent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Recording Change Intent this skilljaktestowac/awesome-copilot-for-testers | 116 | — | ~2.8k | Automated safety check: Pass | MIT | |
| PR Design DocOpenHands/OpenHands | 90k | — | ~2.4k | Automated safety check: Pass | MIT | |
| Cto AdvisorIbrahim-3d/orchestrator-supaconductor | 381 | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Architecture DecisionDonchitos/Claude-Code-Game-Studios | 26k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Improve Codebase Architectureywwynm/EverythingDone | 144 | 15 repos | ~1.3k | Automated safety check: Pass | GPL-3.0 | |
| Domain Modelingbrim-borium/spotify_sdk | 166 | 5 repos | ~806 | Automated safety check: Pass | Apache-2.0 |
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
Ibrahim-3d/orchestrator-supaconductor
Technical leadership guidance for engineering teams, architecture decisions, and technology strategy.
Donchitos/Claude-Code-Game-Studios
Create an ADR documenting a technical decision: context, alternatives considered, consequences.
ywwynm/EverythingDone
Find deepening opportunities in a codebase, informed by the domain language in CONTEXT.md and the decisions in docs/adr/.
brim-borium/spotify_sdk
Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.
SpillwaveSolutions/design-doc-mermaid
Create Mermaid diagrams (flowchart, sequence, class, ER, state, C4, architecture) from text or source code.
jaktestowac/awesome-copilot-for-testers
Writes and reviews API automation tests with Playwright Test, covering setup/teardown, assertions, data management, and hybrid API+UI flows.
jaktestowac/awesome-copilot-for-testers
Measures the risk that code shipped without anyone understanding it: a teach-back attestation on high-risk changes, a risk band from changed-code complexity, diff size and whether a human…
jaktestowac/awesome-copilot-for-testers
Creates agent orchestration packs: cooperating .agent.md files with an orchestrator, subagents, matched handoffs, minimal tool grants, and a shared handoff packet contract.
jaktestowac/awesome-copilot-for-testers
Packages repository skills as installable Copilot plugins: marketplace registration, plugin.json manifests, generated skill copies, and the sync check CI enforces.
jaktestowac/awesome-copilot-for-testers
Turns "we will skip this check for now" into a dated, attributed, expiring waiver with a stated reason and owner, inventories the silent skips already hiding in a repo - skipped tests, disabled lint…
jaktestowac/awesome-copilot-for-testers
Sets up and maintains visual regression testing: what to snapshot, baseline strategy, masking dynamic regions, threshold tuning, containerized baselines, and the review-and-update workflow.
Categories
Requires an externalised rationale for high-risk changes - new public exports, new endpoints, auth edits, migrations, removed guards - recorded as an Intent commit trailer, an ADR reference, or a…. Recording Change Intent is an agent skill from jaktestowac/awesome-copilot-for-testers. Requires an externalised rationale for high-risk changes - new public exports, new endpoints, auth edits, migrations, removed guards - recorded as an Intent commit trailer, an ADR reference, or a module intent register, and reports high-risk changes that carry none.
Recording Change Intent fits situations like: agent-generated; AI-assisted changes ship without a recorded why; reviewers cannot tell what a diff was for; A codebase is losing its decision history.
Run `npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a claude-code`. Or copy the skill folder (skills/recording-change-intent in jaktestowac/awesome-copilot-for-testers) into .claude/skills/recording-change-intent in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a codex`. Or copy the skill folder (skills/recording-change-intent in jaktestowac/awesome-copilot-for-testers) into .agents/skills/recording-change-intent in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jaktestowac/awesome-copilot-for-testers --skill recording-change-intent -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/recording-change-intent, .gemini/skills/recording-change-intent, .github/skills/recording-change-intent and .opencode/skills/recording-change-intent in your project.
Going by SKILL.md and its folder, Recording Change Intent needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Recording Change Intent is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Recording Change Intent: PR Design Doc (OpenHands/OpenHands, 90k stars), Cto Advisor (Ibrahim-3d/orchestrator-supaconductor, 381 stars), Architecture Decision (Donchitos/Claude-Code-Game-Studios, 26k stars) and Improve Codebase Architecture (ywwynm/EverythingDone, 144 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jaktestowac (a GitHub user) maintains it in jaktestowac/awesome-copilot-for-testers, which has 116 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on August 26, 2026.
Source: jaktestowac/awesome-copilot-for-testers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.