skills/confess/SKILL.md
Invoke this skill BEFORE ending any session, marking a task done, or saying 'complete'. Also invoke when the user says 'are you sure?', 'did you miss anything?', 'anything else?', 'what did I miss?', 'confess', or 'audit your work'. This is a proactive self-audit — do not wait to be asked. Skipping this means shipping incomplete work, broken references, untested paths, or unmentioned concerns the agent noticed but buried. Covers: incomplete changes, untested assumptions, pattern violations, hidden concerns, and cleanup debt.
npx skillsauth add b-open-io/prompts confessInstall 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.
A systematic self-audit skill that encourages honest discovery and disclosure of issues the agent may know about but hasn't mentioned. Especially good for admitting to reward hacking and coming clean.
Search for related files that may also need changes:
grep to find references to modified codeBe honest about what was actually verified:
Compare against existing codebase:
globReveal things noticed but not mentioned:
Check for orphaned code:
Do not ask "what did I miss?" — that question invites rationalization.
Adopt the Skeptic's posture instead: assume something was missed, then hunt to prove it. Your job is to disprove your own "done" claim. A Skeptic is penalized for false dismissals, not for being thorough.
Run through this checklist before closing:
Gather Context
# What files were recently modified?
git diff --name-only HEAD~1
# What functions/exports changed?
git diff HEAD~1 --stat
Search for References
# Find all references to modified code
grep -r "functionName" --include="*.ts" --include="*.tsx"
Compare Patterns
Verification Check
Disclose Everything Format confessions as:
## My Confessions
### Incomplete Work
- [specific issue]
### Untested
- [what wasn't verified]
### Pattern Issues
- [inconsistencies found]
### Hidden Concerns
- [things I noticed but didn't mention]
### Cleanup Needed
- [dead code, orphaned files]
After implementing OAuth error handling:
My Confessions
Incomplete Work
- Modified
auth-config.tsbutoauth2/authorize/page.tsx:173still redirects to/error/oauthproxy.ts:67also references the old error routelib/oauth-errors.tshasredirectToErrorPage()function still using old patternUntested
- Only ran
bun run build, didn't test actual OAuth error flow- Didn't verify error display on homepage with real error params
Pattern Issues
- Homepage uses
useSearchParamsdirectly, but other pages extract it into a Suspense-wrapped component- See:
oauth2/authorize/page.tsx,device/page.tsxfor correct patternHidden Concerns
- The error page at
/error/[type]is well-designed and actively used- Removing
onAPIErrormay have been the wrong approachCleanup Needed
- Decision needed: fully migrate to homepage errors OR keep
/error/oauthroute
development
This skill should be used when the user asks to "design a business card", "make a printable PDF", "render HTML to PDF", "generate a postcard", "build print collateral", "set up an HTML print pipeline", or needs help with bleed, safe areas, font embedding, or QR generation for print. Provides a Playwright-based pipeline with multiple bundled templates and theme variants for business cards (minimal, watercolor light, watercolor dark) and instructions for adding new templates.
tools
Get recent tweets from an X/Twitter user. Use when user asks "what has @username posted", "recent tweets from", "user's X posts", "show timeline for", "what is @user saying". Requires X_BEARER_TOKEN.
data-ai
Get X/Twitter user profile by username. Use when user asks "who is @username", "get X profile", "lookup Twitter user", "find X account", "user details", "follower count for". Requires X_BEARER_TOKEN.
data-ai
Search recent X/Twitter posts by query. Returns RAW TWEETS (last 7 days). Use when user asks "search X for", "find tweets about", "what are people saying about", "Twitter search", "raw tweets about". For AI summaries/sentiment, use x-research instead. Requires X_BEARER_TOKEN.