review-self
Performs autonomous code review and quality improvements for Locanara.
Install
mkdir -p .claude/skills/review-self-hyodotdev && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18315" && unzip -o skill.zip -d .claude/skills/review-self-hyodotdev && rm skill.zipInstalls to .claude/skills/review-self-hyodotdev
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Independently review and improve Codex's current Locanara implementation, working-tree changes, or pull request; fix actionable in-scope gaps; rerun relevant verification; and recheck at five-minute intervals until the work is stable or genuinely blocked. Use when the user says "review-self", asks Codex to review its own changes, requests a self-review loop, or wants current work monitored for new issues after implementation.Key capabilities
- →Inspect the current working tree, including staged, unstaged, and untracked changes.
- →Fix actionable in-scope gaps in the current implementation.
- →Rerun relevant verification checks after making fixes.
- →Monitor for new issues at five-minute intervals until work is stable.
- →Reconstruct the requested outcome and its acceptance criteria from the conversation.
- →Validate findings against current code and applicable instructions.
How it works
The skill inspects the current work, identifies actionable gaps, applies fixes, and then re-verifies the changes. It repeats this process at five-minute intervals until the work is stable.
Inputs & outputs
When to use review-self
- →Refining implementation code
- →Self-auditing project changes
- →Improving code quality
About this skill
Review Self
Review the current work immediately, fix validated gaps, and use five-minute confirmation rounds until the result is stable.
Preserve Authority And Scope
- Treat invocation as authorization to inspect the current work, make local in-scope fixes, and run relevant verification.
- Preserve the authority of the original request. Do not commit, push, create or edit a PR, post comments, merge, publish, deploy, release, or change live external state unless the user already authorized that action. Locanara's repository-wide publishing and deployment prohibitions still apply.
- Keep fixes tied to the original goal. Do not turn self-review into a broad audit, speculative refactor, dependency upgrade, or unrelated cleanup.
- Preserve pre-existing user changes. Record the initial working-tree state and never sweep-stage or discard files that are outside the current fix batch.
- Stop and ask for direction when a valid fix requires a material product choice, new authority, an irreversible action, or a meaningful expansion of scope.
Establish The Review Target
- Reconstruct the requested outcome and its acceptance criteria from the active conversation and repository evidence.
- Use an explicitly supplied PR, branch, commit range, or path as the target. Otherwise, review the current branch plus its staged, unstaged, and untracked changes.
- For a PR, derive the actual base and head from PR metadata. Without a PR, use the configured upstream and merge base; do not assume a base branch when it is ambiguous.
- Read
AGENTS.md, the nearest package guides, and every knowledge or convention file that applies to the changed paths before editing them. - Stop immediately with a concise report only when there is no reviewable diff, no explicitly named implementation, issue, or project-health scope, and no asynchronous PR state to monitor.
Run One Review Round
- Resnapshot the target from disk. Include the full base-to-head diff, staged and unstaged overlays, and an inventory of relevant untracked files. Respect ignore rules; screen untracked paths for secrets, binary data, and excessive size before reading; and prefer metadata or hashes when contents are not necessary. Read only relevant text sources. Do not review only the latest commit or trust a snapshot from a previous round.
- Read surrounding implementation, tests, documentation, issue or PR requirements, and current CI or review feedback needed to understand the change.
- Review for evidence-backed, actionable gaps:
- requirement completeness and end-to-end wiring;
- correctness, error paths, edge cases, state transitions, concurrency, idempotency, data safety, privacy, and security;
- public contracts, naming, compatibility, generated-file rules, and Apple, Android, Web, or wrapper parity;
- missing or weak tests, documentation, examples, regeneration, and operational safeguards required by the change.
- Use independent read-only subagents for separate review lenses when the diff is large or cross-cutting. Give them the raw target and request, not suspected findings or an expected answer.
- Validate every finding against the current code and applicable instructions. Reject pure taste, cosmetic churn, duplicate findings, and unrelated nice-to-have work.
- Fix all validated in-scope findings in one coherent batch. Regenerate generated files only through their documented generator and preserve unrelated edits.
- Re-read the resulting diff, then run the changed-path lint, typecheck, tests,
builds, generator checks, audits, and
git diff --checkrequired by the repository. Do not rerun an expensive unchanged check fingerprint unless new state can affect it. - If the target has a PR, inspect new failed checks and unresolved feedback as
additional evidence. Reuse
.claude/commands/review-pr.mdfor one thread-handling pass only when the corresponding code and GitHub writes are authorized. Keepreview-selfas the only polling-loop owner and never retrigger review bots on a no-op poll. - Commit or push only when already authorized. Stage only files owned by the
current round, follow
.claude/commands/commit.md, and prepare one verified fix batch rather than one commit per finding.
Use Related Locanara Workflows
Load only the command needed by the current finding; do not run every workflow by
default. The repository-local command catalog is in .claude/commands/:
- Use
locanara.mdas the source-of-truth router andskills-index.mdonly to present or confirm the command catalog. - Use
gql.mdfor shared schemas and generated types; useapple.mdorandroid.mdfor their platform SDKs. Route Web and Expo, React Native, or Flutter wrapper work throughlocanara.mdand the affected checks intest.md. - Use
docs.mdfor the site, documentation, and examples; useknowledge-compile.mdfor official upstream technology research and compiled knowledge updates. - Use
test.mdfor affected test selection,verify-all.mdfor a requested full health check or risky cross-platform change, andaudit-code.mdonly for a requested broad rules or API audit. - Use
resolve-issue.mdfor a GitHub issue target andreview-pr.mdfor one pass of PR feedback. Preserve their edit and external-write authorization gates. - Use
commit.mdonly for an authorized local commit, push, or PR. It does not permit direct pushes tomain, publishing, deployment, tagging, or release actions.
Recheck Every Five Minutes
- Run the first round immediately; never wait before the initial review.
- If the user explicitly requests one pass, finish after that round and do not schedule a confirmation.
- Use the product's real recurring-monitor or wake-up mechanism to schedule the
next round for 300 seconds after the current round. Make the scheduled prompt
explicitly invoke
$review-self; re-enter this skill rather than trying to perform semantic review inside a shell loop. - Prefer a heartbeat attached to the current thread for this sub-hour review cycle so every wake-up retains the active conversation and authority. Do not replace it with a standalone cron job unless the user explicitly requests one.
- Keep at most one outstanding wake-up for the same target. Cancel or supersede stale duplicate wake-ups when the mechanism supports it.
- Carry a compact state capsule in the scheduled prompt or monitor state. Include the original goal and acceptance criteria, target and base, head or tree and working-tree fingerprints, seen feedback and check IDs, poll count, clean count, start time, finding fingerprints with fix attempts, and the existing commit, push, and external-write authority.
- Keep loop state out of tracked repository files. Revalidate it against disk and remote state on every wake-up.
- Increment the clean count only after a complete round has no actionable findings, all requested verification passes, required checks are terminal and successful or explicitly allowed to skip, no actionable feedback remains, and the final diff has been reread. Reset it when any material state or finding changes, then allow the fully clean post-change result to start a new count.
- Finish successfully after two consecutive clean snapshots separated by a five-minute interval. Continue without a fixed round cap while new findings or state changes lead to meaningful progress.
- Treat pending CI or review automation as neither clean nor failed. Poll it every five minutes without repeating expensive local checks on an unchanged fingerprint.
- If no recurring mechanism is available, complete the current round and report
that automatic re-entry could not be scheduled. Do not emulate it with
sleep 300,while true,nohup, or an abandoned background process, and never claim a future pass was scheduled unless the mechanism actually accepted it.
Stop Safely
Stop the loop and report the exact state when any of these conditions holds:
- two clean confirmation snapshots establish stability;
- the user stops, replaces, or materially redirects the task;
- the target PR is merged or closed, the target branch disappears, or the target changes incompatibly with the active worktree;
- a finding needs authority or a decision that is not already available;
- the same root finding remains after two fix attempts;
- the same authentication, rate-limit, tool, or environment failure blocks three consecutive rounds;
- only unchanged pending external state remains after 12 polls (about one hour).
Do not call a blocked or interrupted result clean. Do not stop merely because one poll is a no-op while asynchronous state is still pending.
On every terminal condition, cancel, disable, or delete the outstanding heartbeat and verify that the recurring mechanism accepted the change. If cleanup fails, report the still-active monitor and its identifier instead of implying that the loop stopped.
Communicate Each Round
- At startup, state the target, base, review scope, and whether commit, push, or external writes are authorized.
- Report material findings, fixes, validation failures, pushes, and external-state transitions promptly. Keep no-op updates brief.
- On success or stop, provide a self-contained summary of findings fixed, files changed, checks run, commits or pushes made, clean-count evidence, and any unresolved blocker.
When not to use it
- →When a valid fix requires a material product choice or new authority.
- →When a valid fix requires an irreversible action or a meaningful expansion of scope.
- →When there is no reviewable diff, no explicitly named implementation, or no asynchronous PR state to monitor.
Limitations
- →It does not commit, push, create or edit a PR, post comments, merge, publish, deploy, release, or change live external state unless authorized.
- →It does not turn self-review into a broad audit, speculative refactor, dependency upgrade, or unrelated cleanup.
- →It does not sweep-stage or discard files outside the current fix batch.
How it compares
This workflow automates the iterative review and correction process, unlike a manual review that typically involves a single pass and requires manual re-verification.
Compared to similar skills
review-self side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| review-self (this skill) | 0 | 15d | No flags | Intermediate |
| python-testing-patterns | 77 | 2mo | Review | Intermediate |
| dependency-upgrade | 26 | 4mo | Review | Intermediate |
| test-cases | 57 | 6mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by hyodotdev
View all by hyodotdev →You might also like
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
dependency-upgrade
wshobson
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.
test-cases
cexll
This skill should be used when generating comprehensive test cases from PRD documents or user requirements. Triggers when users request test case generation, QA planning, test scenario creation, or need structured test documentation. Produces detailed test cases covering functional, edge case, error handling, and state transition scenarios.
reviewing-code
CaptainCrouton89
Systematically evaluate code changes for security, correctness, performance, and spec alignment. Use when reviewing PRs, assessing code quality, or verifying implementation against requirements.
wcag-audit-patterns
wshobson
Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing accessible design patterns.
code-coverage-with-gcov
gadievron
Add gcov code coverage instrumentation to C/C++ projects