skills/assignment-compliance-check/SKILL.md
Use when checking that the pull request implementation actually fulfills the business requirements stated in the linked issue or task. Returns a plain-language markdown block listing only Critical functional gaps **only when at least one gap exists**; when the implementation satisfies every stated requirement the skill returns a skip status and the calling CR wrapper embeds nothing. The block (when present) carries actionable gaps only — never lists of satisfied requirements or open questions. No local file is created and the block is not embedded in the GitHub PR comment.
npx skillsauth add pekral/cursor-rules assignment-compliance-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
@rules/php/core-standards.mdc@rules/git/general.mdc@rules/jira/general.mdc@rules/reports/general.mdc — the Assignment Compliance markdown block this skill returns to the caller must be written in the language of the linked assignment (Czech issue / JIRA description → Czech block; English → English). Linked-task / PR URLs, author handles, and severity labels follow the rule's Scope clarifications.gh issue comment, no acli, no JIRA / GitHub MCP write call. The skill returns either the assembled markdown block (when at least one Critical gap exists) or a skip status (when no Critical gaps exist, or when no linked tracker is detected) to the calling CR wrapper. The wrapper embeds the block into the single consolidated linked-tracker comment authored by @skills/pr-summary/SKILL.md (one comment per linked issue / JIRA ticket per CR run — see issue #498) only when a block is returned; on a skip status the wrapper embeds nothing and surfaces the status only on the PR comment summary line.@skills/code-review/SKILL.md, @skills/code-review-github/SKILL.md, or @skills/code-review-jira/SKILL.md. The PR comment carries technical findings; the linked-tracker comment carries assignment compliance as part of the consolidated pr-summary output.Authors line — resolved exactly as @skills/pr-summary/SKILL.md resolves them (git history %an <%ae> + PR author.login + commits[].author.login, JIRA display name when the target is JIRA). Never list the agent / CR identity. When authorship cannot be determined, write unknown — git history did not yield a recognisable identity.Available behind line whenever the change is reachable only behind a test parameter (feature flag, ENV switch, query-string parameter, request header, A/B variant, admin toggle, allow-listed account). Detect the gating toggle the same way @skills/pr-summary/SKILL.md does (scan the diff for config('…') / env('…') checks, GrowthBook / Unleash / LaunchDarkly calls, query / header gates, allow-list middleware), name the toggle, and state the value required to reach the change. Omit the line entirely only when the change is reachable unconditionally.@skills/code-review/SKILL.md, @skills/code-review-github/SKILL.md, and @skills/code-review-jira/SKILL.md.skills/code-review-github/scripts/load-issue.sh <NUMBER|URL> against the linked issue. Read the full body, every entry in comments[] (including replies), and every referenced attachment URL.skills/code-review-jira/scripts/load-issue.sh <KEY|URL>. Read descriptionText, comments[], and any attachment metadata.gh, acli, or REST endpoints directly — always use the deterministic loaders.@skills/resolve-issue/SKILL.md). Keep only the current requirements as the source of truth.For the assignment + current comments, enumerate:
Skip generic developer hygiene wishes ("clean code", "tests please"). The check is strictly about business behavior described by the reporter.
skills/code-review-github/scripts/load-issue.sh <PR-NUMBER> for the PR and read files[], body, and commits[].For every requirement from step 2, decide one of:
Do not report stylistic / architectural / test-coverage concerns even if you notice them — those belong in @skills/code-review/SKILL.md and @skills/security-review/SKILL.md.
Quiet mode (loop iterations from
@skills/process-code-review/SKILL.md): the loop iterations call this skill with "do not publish; return findings as in-memory markdown for this loop iteration only" — which is now the only mode this skill ever operates in. The skill never publishes anywhere itself; every caller (loop iteration or final consolidating publish) receives the same in-memory return. The loop convergence math still counts Critical gaps from the returned block.
@rules/jira/general.mdc when the calling CR wrapper signals a JIRA tracker target (h2. / h3. headings, *bold*, _italic_, {{inline}}, {code:php}…{code}, * / # bullets, [label|url], {quote}).gh issue comment, acli, the GitHub MCP server's add_issue_comment, or any JIRA write endpoint. The skill is a pure markdown producer; the calling CR wrapper (@skills/code-review-github/SKILL.md / @skills/code-review-jira/SKILL.md) embeds the returned block into the single consolidated linked-tracker comment authored by @skills/pr-summary/SKILL.md (see issue #498 — one comment per linked issue per CR run) only when a block is returned.no critical gaps — assignment compliance block omitted so the CR wrapper embeds nothing on the consolidated comment and only mirrors the status into its PR comment summary line. The principle is: report only items that still need action; satisfied requirements never appear in the linked-tracker comment.closingIssues[] empty for GitHub PRs, or no JIRA ticket detected for JIRA-originated), return the status no linked issue — assignment compliance skipped instead of a block so the CR wrapper can include the status in its PR comment summary line without embedding an empty section.code-review, code-review-github, code-review-jira) must not embed the Assignment Compliance content into the GitHub PR comment — it belongs in the consolidated linked-tracker comment, never on the PR comment, which carries technical findings only.Render this block only when at least one Critical gap exists. When there are no Critical gaps, return the skip status described in step 5 instead — never emit an empty
## Assignment Complianceheading, a "Verdict: No critical gaps" line, a "What is satisfied" list, or an "Open questions" list. Satisfied requirements and reviewer questions are out of scope by design: this skill reports only items that still need action.
Assignment Compliance comment posted to the issue tracker (Markdown shown; convert to Wiki Markup for JIRA per @rules/jira/general.mdc):
## Assignment Compliance
- **Linked task:** <issue / JIRA / Bugsnag URL>
- **Pull request:** <PR URL>
- **Authors:** <@github-handle or JIRA display name of the real change author(s), comma-separated in commit order — resolved exactly as `@skills/pr-summary/SKILL.md` resolves them; never the agent / CR identity>
- **Available behind:** <optional — present only when the change is reachable only behind a test parameter (feature flag, ENV switch, query string, admin toggle, allow-listed account); name the toggle and the value required to reach it. Omit the line entirely when the change is reachable unconditionally.>
- **Verdict:** Critical gaps found: N
### Critical gaps
#### 1. <short title in everyday language>
- **What the task asked for:** <one sentence quoting or paraphrasing the requirement, with the source comment URL or "issue description">
- **What the pull request does instead:** <one sentence describing the actual behavior implied by the diff>
- **Example a tester would see:** <concrete input → expected output vs actual output, ideally taken from the example the reporter provided; when *Available behind* is set, the example must start by enabling the gating toggle>
(Repeat for every Critical gap.)
The block carries no file paths, line numbers, or code snippets — the linked-tracker audience is non-technical reviewers and product owners. Technical details belong on the PR. The block also carries no "satisfied" lists and no reviewer-question lists; only Critical gaps that still need action are reported here.
no critical gaps — assignment compliance block omitted (when the implementation satisfies every stated requirement);no linked issue — assignment compliance skipped (when no linked tracker exists).gh issue comment, no acli, no GitHub / JIRA MCP write call. Publishing is exclusively the responsibility of the CR wrapper through @skills/pr-summary/SKILL.md as the single consolidated linked-tracker comment, and the wrapper embeds nothing when a skip status was returned.development
Use when autonomously resolving the oldest open GitHub issue end-to-end. Picks the oldest open issue (optionally filtered by label, default `Resolve_by_AI`), delegates resolution to `resolve-issue`, then runs `code-review-github`, `process-code-review`, and `merge-github-pr` on the resulting pull request. Stops and reports any blocker (merge conflict, failing CI, unresolved Critical/Moderate findings) instead of force-merging.
testing
Use when analyzing a specific security threat from a referenced source (CVE, GHSA, security advisory, blog post, or write-up). Produces a human-readable remediation report with step-by-step instructions an AI agent can follow to eliminate the threat in the current project.
development
Use when preparing data and context before /resolve-issue, TDD, or CR runs. Loads the assignment, extracts every concrete user scenario from the task description and acceptance criteria, maps each scenario to the codebase, seeds the development database with the records needed to reproduce the bug or feature end-to-end, and reports any gap that would force the implementing agent to hallucinate.
development
Use when preparing a concise QA report for an internal tester from a JIRA task and its linked pull requests — focused on what the tester should report back to the dev team — and posting it as a JIRA comment.