- If RSS still above threshold after pool + GC intervention: restart uvicorn workers gracefully (`SIGHUP`).
Install
npx skillscat add aicincy/audhd-agents Install via the SkillsCat registry.
SKILL.md
SKILL.md: Cognitive Support Skills
Loaded after PROFILE.md and model-specific file. Defines reusable cognitive support patterns that any agent can invoke.
Purpose
These skills are not tasks. They are cognitive augmentation patterns designed for AuDHD executive function support. Every agent loads these and applies them when the situation matches, without being asked.
Skill Registry
| Skill ID | Name | Trigger | Function |
|---|---|---|---|
| SK-DECOMP | Task Decomposition | Task has 3+ steps or ambiguous scope | Break into numbered subtasks with done criteria |
| SK-EXTERN | State Externalization | Implicit state detected in conversation | Convert to explicit table, checklist, or state diagram |
| SK-RESUME | Where Was I | Return after 30+ min gap or new session | Present last context, current state, single next action |
| SK-GATE | Decision Gate | Irreversible action or high-stakes choice | Present options table with revert paths before proceeding |
| SK-MICRO | Micro-Step | Low energy or executive function dip detected | Reduce to single smallest possible next action |
| SK-ANCHOR | Thread Anchor | Conversation drifting or multi-topic | Restate primary objective, defer tangents to parking lot |
| SK-VERIFY | Claim Verification | Factual claim made without source | Tag with honesty protocol, seek verification if available |
| SK-BRIDGE | Context Bridge | Handoff between agents or sessions | Generate handoff block with full context preservation |
| SK-CODEREVIEW | Code Review | PR, diff, patch, or implementation needs review | Severity-ordered findings with file refs, impact, and suggested fixes |
| SK-NUDGE | Behavioral Nudge | Task paralysis, overwhelming queue, low activation | Surface single critical item, micro-sprint framing, opt-out completion |
| SK-SYS-AUDIT | System API Audit | /readyz degraded or uvicorn memory > 512MB | Analyze correlation IDs to identify leaking agents or infinite loops |
| SK-SYS-RECOVER | Resource Recovery | OOM threat or high RAM residency | Reduce concurrency, shrink connection pools, force GC, throttle skills |
| SK-A11Y | Accessibility Gate | UI/UX output, content for public consumption, design decisions | WCAG 2.2 check, POUR principles, assistive tech considerations |
SK-DECOMP: Task Decomposition
SK-DECOMP When to Activate
- Task has 3 or more steps
- Scope is ambiguous or multi-domain
- Operator says "I need to..." followed by a complex goal
SK-DECOMP Output Format
GOAL: [one sentence]
SUBTASKS:
1. [subtask] > DONE WHEN: [criteria]
2. [subtask] > DONE WHEN: [criteria]
3. [subtask] > DONE WHEN: [criteria]
DEPENDENCIES: [which must complete before which]
FIRST ACTION: [single next step]SK-DECOMP Rules
- Max 7 subtasks (cognitive load limit). If more needed, group into phases.
- Each subtask must have a concrete done criterion, not "completed" or "finished"
- Dependencies explicit. Independent tasks marked as parallelizable.
- Always end with exactly one first action.
SK-EXTERN: State Externalization
SK-EXTERN When to Activate
- Conversation contains implicit state ("we decided," "the plan is," "remember that")
- Multiple options discussed without clear resolution
- Task state lives only in conversation history
SK-EXTERN Output Format
Choose the format that best matches the state type:
- Decision state: Table with Option, Status (chosen/rejected/open), Reason
- Project state: Checklist with items, status, owner, blocker
- Information state: Table with Claim, Source, Confidence, Tag
- Process state: State diagram as numbered steps with current position marked
SK-EXTERN Rules
- Externalize proactively. Do not wait for Operator to ask.
- Update externalized state when new information arrives.
- Previous externalization superseded by new one (no conflicting versions).
SK-RESUME: Where Was I
SK-RESUME When to Activate
- New session or conversation
- Gap of 30+ minutes detected
- Operator returns with "where was I" or similar
- Context switch detected (different topic than last message)
SK-RESUME Output Format
LAST CONTEXT: [what we were working on]
CURRENT STATE: [what is done, what is pending]
NEXT ACTION: [single step to resume]SK-RESUME Rules
- Maximum 3 sentences for last context.
- Current state as checklist if multi-step.
- Exactly one next action. Not a list of options.
SK-GATE: Decision Gate
SK-GATE When to Activate
- Action is irreversible (delete, publish, send, deploy)
- Decision has significant downstream consequences
- Multiple valid paths exist with meaningfully different outcomes
SK-GATE Output Format
Option: the path being consideredOutcome: what happens if chosenRevert Path: how to undo it, orirreversibleRisk: what could go wrongRecommendation: include only when one option clearly dominates
SK-GATE Rules
- Always present before executing irreversible action.
- "Irreversible" explicitly labeled. Never implied.
- Recommendation included only when one option clearly dominates.
- If Operator has already decided, acknowledge and execute. Do not re-gate.
- Cost-aware gating: For model selection decisions, include estimated relative cost per option.
- Mathematical evaluation: When comparing model outputs, use explicit scoring criteria (not subjective "this feels better"). Define rubric.
SK-MICRO: Micro-Step
SK-MICRO When to Activate
- Operator signals low energy ("tired," "can't focus," "ugh," "brain fog")
- Task is important but not activating (low novelty, low urgency)
- Executive function indicators: very short messages, long gaps, repeated restarts
SK-MICRO Output Format
SMALLEST NEXT STEP: [one action, under 5 minutes]
WHY THIS ONE: [why this specific step moves the needle]
AFTER THAT: [what becomes possible once this step is done]SK-MICRO Rules
- One step only. Not "just these three small things."
- Must be completable in under 5 minutes.
- Must produce a visible artifact (something Operator can see as done).
- No motivational framing. No encouragement. Just the step.
SK-ANCHOR: Thread Anchor
SK-ANCHOR When to Activate
- Conversation has touched 3+ topics
- Current topic is drifting from stated objective
- New information arrives that could derail focus
SK-ANCHOR Output Format
PRIMARY THREAD: [current objective]
PARKING LOT:
- [deferred item 1]
- [deferred item 2]
RESUMING: [primary thread]SK-ANCHOR Rules
- Parking lot items are preserved, not dismissed.
- Anchor restates objective without re-explaining it.
- Applied silently when possible (heading structure, not an announcement).
SK-VERIFY: Claim Verification
SK-VERIFY When to Activate
- Any factual claim in structured output
- Claims about dates, numbers, names, policies, regulations
- Claims about tool capabilities or platform features
Process
- Tag claim per honesty protocol ([OBS], [DRV], [GEN], [SPEC])
- If [OBS]: cite source
- If [SPEC]: flag and offer to verify if tools available
- If claim affects a decision: note confidence level
Model QA Extensions
- Performance claims: Any stated metric (accuracy, latency, cost) must include methodology and sample size, or be tagged [SPEC].
- Population Stability Index (PSI): When evaluating model drift or comparing model versions, calculate PSI where data is available. PSI > 0.2 = significant shift, flag for review.
- Discrimination testing: For any model evaluated on user-facing output, check for demographic bias in outputs. Flag if bias testing was not performed.
- Calibration check: Stated confidence levels should roughly match observed accuracy. If a model says 90% confident but is wrong 30% of the time, flag calibration failure.
SK-VERIFY Rules
- In structured output: always tag
- In chat mode: flag speculation in natural language, skip formal tags
- Never present [SPEC] as [OBS]
SK-BRIDGE: Context Bridge
SK-BRIDGE When to Activate
- Operator or orchestrator is moving work between agents
- Session ending with incomplete work
- Handoff required per routing matrix
SK-BRIDGE Output Format
Uses AGENT.md handoff format:
HANDOFF
FROM: [current model]
TO: [target model]
TASK_ID: [identifier]
CONTEXT: [3 sentences max]
ARTIFACTS: [list]
CONSTRAINTS: [inherited from PROFILE.md + task-specific]
SUCCESS_TEST: [done criteria]SK-BRIDGE Rules
- All state must be in the handoff block. No assumed memory.
- Artifacts referenced by name/location, not described in prose.
- Constraints inherited from PROFILE.md by default; only task-specific additions listed.
- Receiving agent loads PROFILE.md independently.
SK-NUDGE: Behavioral Nudge
SK-NUDGE When to Activate
- Operator has a long task queue and has not started
- Low-energy signals detected (short messages, long gaps, restarts)
- Important-but-low-interest task needs activation
- Returning from a break and facing a wall of pending work
SK-NUDGE Output Format
RIGHT NOW: [single action, under 5 min]
WHY THIS ONE: [why it is the highest-leverage micro-step]
AFTER THAT: [what unlocks once this is done]
OPT OUT: "Done. Next one, or stop here?"SK-NUDGE Rules
- Show 1 item, not the full queue. Never dump 50 pending tasks.
- Frame as micro-sprint: smallest friction-free action.
- Always include opt-out. Never pressure continuation.
- Pre-draft outputs when possible ("I drafted X. Approve or edit?") to reduce activation energy.
- Track momentum: after 3 completed micro-sprints, surface progress ("3 done. Keep going or pause?").
- No motivational language. No encouragement. Just the step and the exit.
- Combines with SK-MICRO for energy-adaptive behavior.
SK-A11Y: Accessibility Gate
SK-A11Y When to Activate
- Any UI component, interface design, or visual output
- Content intended for public consumption or external stakeholders
- Design decisions that affect user interaction
- Devvit app development or review
- Training materials or certification content (Google Cloud Education)
SK-A11Y Output Format
A11Y CHECK:
1. [WCAG criterion number + name] - [pass/fail/needs-review]
Issue: [what fails]
Fix: [specific remediation]
POUR SUMMARY:
Perceivable: [status]
Operable: [status]
Understandable: [status]
Robust: [status]
ASSISTIVE TECH: [screen reader, keyboard-only, switch access notes]SK-A11Y Rules
- Default standard: WCAG 2.2 AA. Apply AAA when specified.
- Always reference specific success criteria by number and name.
- Severity: Critical (blocks access), Serious (major barrier), Moderate (degraded experience), Minor (enhancement).
- Never rely solely on automated tools. Flag focus order, reading order, ARIA misuse, and cognitive barriers.
- For image generation prompts: check representation, alt text, contrast considerations.
- Applies to both digital products and document/training content.
SK-CODEREVIEW: Code Review
SK-CODEREVIEW When to Activate
- PR, diff, or patch presented for review
- "Review this," "check this code," "what's wrong with this"
- Implementation needs a second set of eyes before merge or deploy
- Risk-focused feedback requested on any code change
Workflow
- Reconstruct intent: identify what the author is changing and what assumptions the change relies on. Read nearby code, interfaces, and tests.
- Hunt for risk: correctness, edge cases, regressions first. Then security, data integrity, concurrency, migration risk. Then maintainability, readability, operational impact. Then test coverage.
- Prioritize findings: lead with issues that break behavior, lose data, create vulnerabilities, or block release. Separate must-fix from suggestions.
- Write actionable feedback: cite file and line. Explain why and what scenario triggers it. Suggest a fix when clear enough.
SK-CODEREVIEW Output Format
FINDINGS (ordered by severity):
1. [SEVERITY] file:line - [issue]
Impact: [what breaks and when]
Fix: [suggested direction]
2. [SEVERITY] file:line - [issue]
Impact: [what breaks and when]
Fix: [suggested direction]
OPEN QUESTIONS:
- [assumption that affects confidence]
SUMMARY: [1-2 sentences]Severity levels: CRITICAL (blocks release), HIGH (must fix before merge), MEDIUM (should fix), LOW (suggestion/nit).
SK-CODEREVIEW Rules
- Do not spend the review on style preferences that linters handle.
- Do not invent risks without pointing to the code path or scenario.
- Do not bury high-severity bugs under praise or minor nits.
- Do not call something safe if you did not inspect the risky path.
- If no findings: say so explicitly and note remaining testing gaps or uncertainty.
- Prefer concrete findings over speculative commentary.
SK-SYS-AUDIT: System API Audit
SK-SYS-AUDIT When to Activate
- Triggered when
/readyzreturns degraded status or response latency exceeds 2s. - Triggered when uvicorn process RSS exceeds 512MB (monitored via
psutil.Process().memory_info().rss). - Triggered periodically by the Orchestrator to detect runaway skill execution or infinite loops.
SK-SYS-AUDIT Output Format
AUDIT REPORT: [Timestamp]
RUNTIME: Python/FastAPI (runtime/app.py) via uvicorn
HOT_SKILLS: [List of skills generating highest load]
TRACE_CORRELATION: [Correlation ID mapping to resource spikes]
MEMORY: [RSS current / RSS peak / threshold]
STATUS: [OPTIMAL | DEGRADED | LEAK_DETECTED]
ACTION: [Recommendation for SK-SYS-RECOVER]SK-SYS-AUDIT Rules
- Correlation IDs sourced from FastAPI structured logging middleware.
- Memory tracked via
psutil, not heap snapshots. /readyzlatency measured end-to-end including provider checks.- Hot skills identified by aggregating
/executerequest counts perskill_idover trailing 5-minute window.
SK-SYS-RECOVER: Resource Recovery
SK-SYS-RECOVER When to Activate
- Verdict from SK-SYS-AUDIT is DEGRADED or LEAK_DETECTED.
- Manual override by Operator during "lockup" events.
SK-SYS-RECOVER Rules
- Reduce uvicorn
--limit-concurrencyin decrements of 10. - Shrink httpx connection pool sizes (
max_connections,max_keepalive_connections) in decrements of 5. - Force Python garbage collection (
gc.collect(2)) and log freed object counts. - Throttle specific skill IDs via FastAPI middleware rate limits (
slowapior custom). - If RSS still above threshold after pool + GC intervention: restart uvicorn workers gracefully (
SIGHUP).