{"id":"d6ad49b6-e369-48b7-beca-f5091238b631","shortId":"NjpHmD","kind":"skill","title":"verification","tagline":"Full agent verification suite. Runs security, patterns, quality, and language-specific checks. Use when asked to \"verify agent\", \"verify my agent\", \"audit agent\", or \"full verification\".","description":"# Agent Verifier\n\n## Purpose\n\nRun comprehensive verification on AI agent code. This orchestrator invokes focused verification skills and consolidates results into a unified report. All analysis happens locally—code never leaves your machine.\n\n## When to Use\n\nTrigger this skill when the user asks to:\n- **\"verify agent\"** (primary invocation)\n- \"verify my agent\"\n- \"audit agent\"\n- \"full verification\"\n- \"verify my code\" (when agent patterns are detected)\n- \"check compliance\"\n\n## Available Verification Modes\n\n| Command | Skill | What it checks |\n|---------|-------|----------------|\n| **\"verify agent\"** | This skill | Full suite (all below) |\n| \"verify agent security\" | verify-security | Secrets, dependencies, input validation |\n| \"verify agent patterns\" | verify-patterns | Loops, retries, tools, context size |\n| \"verify agent quality\" | verify-quality | Naming, organization, documentation |\n| \"verify agent language\" | verify-language | Type hints, idioms, language best practices |\n\n## Process\n\n### Step 1: Context Discovery\n\nScan the project to identify:\n\n1. **Primary language:**\n   - Check for `pyproject.toml`, `package.json`, `go.mod`\n   - Look at file extensions in `src/` or project root\n\n2. **Agent framework (if any):**\n   - `langgraph` in imports → LangGraph\n   - `crewai` in imports → CrewAI\n   - `autogen` in imports → AutoGen\n   - `langchain` in imports → LangChain\n   - Direct SDK usage → Custom agent\n\n3. **Kahuna integration:**\n   - Check if `.kahuna/` directory exists\n   - If yes, read `.kahuna/context-guide.md` for organizational rules\n\nRecord the detected context for reporting.\n\n### Step 2: Run Security Checks\n\nLoad the **verify-security** skill and execute its process.\n\nThis checks for:\n- Hardcoded secrets and API keys\n- Dependency version pinning\n- Input validation patterns\n- Error message exposure\n- Secure defaults\n\nRecord all findings.\n\n### Step 3: Run Pattern Checks\n\nLoad the **verify-patterns** skill and execute its process.\n\nThis checks for:\n- Loop safety (termination conditions)\n- Retry limit enforcement\n- Tool registry consistency\n- Context size awareness\n- LangGraph cycle analysis (if applicable)\n\nRecord all findings.\n\n### Step 4: Run Quality Checks\n\nLoad the **verify-quality** skill and execute its process.\n\nThis checks for:\n- Naming conventions\n- Code organization\n- Magic numbers/strings\n- Documentation\n- Error handling patterns\n\nRecord all findings.\n\n### Step 5: Run Language-Specific Checks\n\nBased on detected language, load the **verify-language** skill and execute its process.\n\n**Python checks:**\n- Type hints on public functions\n- Docstrings\n- Requirements pinning\n- Python idioms\n\n**TypeScript/JavaScript checks:**\n- Strict mode enabled\n- No `any` types\n- Async/await error handling\n- Promise handling\n\n**Go checks:**\n- No ignored errors\n- Context propagation\n- Package structure\n- Go idioms\n\nRecord all findings.\n\n### Step 6: Consolidate Report\n\nCombine all findings from Steps 2-5 into a unified verification report.\n\n#### Report Format\n\n```markdown\n# Agent Verification Report\n\n**Project:** [project name or path]\n**Date:** [current date]\n**Mode:** [Kahuna-enhanced | Standalone]\n**Language:** [Python | TypeScript | JavaScript | Go]\n**Agent framework:** [LangGraph | CrewAI | AutoGen | LangChain | Custom | None]\n**Files analyzed:** [count]\n\n## Summary\n\n✅ X checks passed | ⚠️ Y warnings | ❌ Z issues\n\n### By Category\n| Category | Pass | Warn | Issue |\n|----------|------|------|-------|\n| Security | X | X | X |\n| Patterns | X | X | X |\n| Quality | X | X | X |\n| Language | X | X | X |\n\n## Security\n\n*(Summary from verify-security)*\n\n- [x] No hardcoded secrets\n- [x] Dependencies pinned\n- [ ] ⚠️ [finding]\n- [ ] ❌ [finding]\n\n## Agent Patterns\n\n*(Summary from verify-patterns — include only if agent detected)*\n\n### Loop Safety\n- [x] All loops have termination conditions\n- [ ] ⚠️ Potential unbounded loop at `[file:line]`\n\n### Retry Limits\n- [x] All retry mechanisms have explicit limits\n- [ ] ❌ Missing retry limit at `[file:line]`\n\n### Tool Consistency\n- [x] Tool registry found: X tools defined\n- [ ] ❌ Hallucinated tool reference at `[file:line]`\n- [ ] ⚠️ Undocumented tool: `[name]`\n\n### Context Size\n- [x] System prompt within limits (~X tokens)\n- [ ] ⚠️ System prompt exceeds recommended size\n\n## Quality\n\n*(Summary from verify-quality)*\n\n- [x] Naming conventions consistent\n- [x] Code well-organized\n- [ ] ⚠️ [finding]\n\n## Language ([Python/TypeScript/Go])\n\n*(Summary from verify-language)*\n\n- [x] Type safety enforced\n- [ ] ⚠️ [finding]\n- [ ] ❌ [finding]\n\n## Detailed Findings\n\n> `[P]` = pattern-matched (structurally reliable) · `[H]` = heuristic (best-effort judgment)\n\n### ✅ Passing\n- `[P]` No hardcoded secrets or API keys\n- `[P]` All retry decorators have stop conditions\n- `[H]` Code organization follows best practices\n\n### ⚠️ Warnings\n- `[P|H]` [Check name]: [Description]\n  - **Location:** [file:line]\n  - **Category:** [Security | Patterns | Quality | Language]\n  - **Suggestion:** [How to address]\n\n### ❌ Issues\n- `[P|H]` [Check name]: [Description]\n  - **Location:** [file:line]\n  - **Category:** [Security | Patterns | Quality | Language]\n  - **Rule:** [Which rule this violates]\n  - **Fix:** [Specific remediation steps]\n\n## Recommendations\n\n1. **[Highest priority]** - [Specific action]\n2. **[Second priority]** - [Specific action]\n3. [Additional improvements]\n\n---\n\n*Report generated by Agent Verifier v1.0.0*\n```\n\n### Step 7: Export Report (Optional)\n\nAfter presenting the report, ask the user:\n\n> Would you like to save this verification report to a file?\n\nIf confirmed:\n\n1. Create the reports directory if it doesn't exist:\n   ```bash\n   mkdir -p reports/verification\n   ```\n\n2. Generate filename using the **current date and time** (NOT placeholders):\n   - Get the actual current timestamp from your environment context\n   - Format: `reports/verification/{date}_{time}.md`\n   - Date format: `YYYY-MM-DD` (e.g., `2026-03-17`)\n   - Time format: `HH-MM-SS` (e.g., `08-15-42` for 8:15:42 AM)\n   \n   **IMPORTANT:** Use the real current time, not zeros or placeholders. Check your system context for \"Current Time\" information.\n   \n   **Example:** If the current time is March 17, 2026 at 1:05:30 AM PST, the filename should be:\n   `reports/verification/2026-03-17_01-05-30.md`\n\n3. Save the complete report to that file.\n\n## Check Tier Discipline\n\nThroughout all verification steps, maintain tier discipline:\n\n- **`[PATTERN]` checks** — Apply exactly as written. A rule says \"flag X\" → flag X. No judgment.\n- **`[HEURISTIC]` checks** — Apply with judgment. Mark findings clearly with `[H]`.\n\nTag every finding in the report with `[P]` or `[H]` so readers understand confidence level.\n\n## Notes\n\n- **Privacy first:** All code analysis happens locally. Nothing is sent to external services.\n- **Kahuna enhances, not requires:** The skill works standalone with built-in rules. Kahuna adds organization-specific knowledge.\n- **Be specific:** Include file names and line numbers when reporting issues.\n- **Explain the \"why\":** Help developers understand why each rule matters.\n- **Honor existing configs:** Respect project's existing lint rules, `.editorconfig`, etc.","tags":["verification","agent","verifier","aurite-ai","agent-skills","agent-testing","agent-verification","ai-agent","ai-coding-assistant","claude-code","cline","code-quality"],"capabilities":["skill","source-aurite-ai","skill-verification","topic-agent-skills","topic-agent-testing","topic-agent-verification","topic-ai-agent","topic-ai-coding-assistant","topic-claude-code","topic-cline","topic-code-quality","topic-code-review","topic-code-verification","topic-coding-agent","topic-cursor"],"categories":["agent-verifier"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Aurite-ai/agent-verifier/verification","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Aurite-ai/agent-verifier","source_repo":"https://github.com/Aurite-ai/agent-verifier","install_from":"skills.sh"}},"qualityScore":"0.469","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 38 github stars · SKILL.md body (7,155 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:29.670Z","embedding":null,"createdAt":"2026-04-29T01:03:26.887Z","updatedAt":"2026-05-18T18:58:29.670Z","lastSeenAt":"2026-05-18T18:58:29.670Z","tsv":"'-03':758 '-15':768 '-17':759 '-42':769 '-5':402 '05':804 '08':767 '1':153,161,667,711,803 '15':772 '17':800 '2':178,226,401,672,725 '2026':757,801 '3':204,263,677,813 '30':805 '4':302 '42':773 '5':333 '6':393 '7':687 '8':771 'action':671,676 'actual':738 'add':899 'addit':678 'address':642 'agent':3,20,23,25,29,37,73,78,80,87,102,110,120,131,140,179,203,411,432,488,498,683 'ai':36 'analysi':53,295,876 'analyz':441 'api':246,610 'appli':833,848 'applic':297 'ask':17,70,695 'async/await':373 'audit':24,79 'autogen':191,194,436 'avail':93 'awar':292 'base':339 'bash':721 'best':149,601,623 'best-effort':600 'built':895 'built-in':894 'categori':452,453,634,652 'check':14,91,100,164,207,229,241,266,278,305,317,338,354,366,379,445,628,646,785,821,832,847 'clear':853 'code':38,56,85,321,572,620,875 'combin':396 'command':96 'complet':816 'complianc':92 'comprehens':33 'condit':283,507,618 'confid':869 'config':927 'confirm':710 'consist':289,530,570 'consolid':46,394 'context':128,154,222,290,383,547,744,788 'convent':320,569 'count':442 'creat':712 'crewai':187,190,435 'current':420,730,739,779,790,796 'custom':202,438 'cycl':294 'date':419,421,731,747,750 'dd':755 'decor':615 'default':258 'defin':537 'depend':116,248,484 'descript':630,648 'detail':590 'detect':90,221,341,499 'develop':919 'direct':199 'directori':210,715 'disciplin':823,830 'discoveri':155 'docstr':360 'document':138,325 'doesn':718 'e.g':756,766 'editorconfig':934 'effort':602 'enabl':369 'enforc':286,587 'enhanc':425,886 'environ':743 'error':254,326,374,382 'etc':935 'everi':857 'exact':834 'exampl':793 'exceed':558 'execut':237,274,313,350 'exist':211,720,926,931 'explain':915 'explicit':521 'export':688 'exposur':256 'extens':172 'extern':883 'file':171,440,512,527,542,632,650,708,820,907 'filenam':727,809 'find':261,300,331,391,398,486,487,576,588,589,591,852,858 'first':873 'fix':662 'flag':840,842 'focus':42 'follow':622 'format':409,745,751,761 'found':534 'framework':180,433 'full':2,27,81,105 'function':359 'generat':681,726 'get':736 'go':378,387,431 'go.mod':168 'h':598,619,627,645,855,865 'hallucin':538 'handl':327,375,377 'happen':54,877 'hardcod':243,481,607 'help':918 'heurist':599,846 'hh':763 'hh-mm-ss':762 'highest':668 'hint':146,356 'honor':925 'identifi':160 'idiom':147,364,388 'ignor':381 'import':185,189,193,197,775 'improv':679 'includ':495,906 'inform':792 'input':117,251 'integr':206 'invoc':75 'invok':41 'issu':450,456,643,914 'javascript':430 'judgment':603,845,850 'kahuna':205,209,424,885,898 'kahuna-enhanc':423 'kahuna/context-guide.md':215 'key':247,611 'knowledg':903 'langchain':195,198,437 'langgraph':183,186,293,434 'languag':12,141,144,148,163,336,342,347,427,469,577,583,638,656 'language-specif':11,335 'leav':58 'level':870 'like':700 'limit':285,515,522,525,553 'line':513,528,543,633,651,910 'lint':932 'load':230,267,306,343 'local':55,878 'locat':631,649 'look':169 'loop':125,280,500,504,510 'machin':60 'magic':323 'maintain':828 'march':799 'mark':851 'markdown':410 'match':595 'matter':924 'md':749 'mechan':519 'messag':255 'miss':523 'mkdir':722 'mm':754,764 'mode':95,368,422 'name':136,319,416,546,568,629,647,908 'never':57 'none':439 'note':871 'noth':879 'number':911 'numbers/strings':324 'option':690 'orchestr':40 'organ':137,322,575,621,901 'organiz':217 'organization-specif':900 'p':592,605,612,626,644,723,863 'packag':385 'package.json':167 'pass':446,454,604 'path':418 'pattern':8,88,121,124,253,265,271,328,461,489,494,594,636,654,831 'pattern-match':593 'pin':250,362,485 'placehold':735,784 'potenti':508 'practic':150,624 'present':692 'primari':74,162 'prioriti':669,674 'privaci':872 'process':151,239,276,315,352 'project':158,176,414,415,929 'promis':376 'prompt':551,557 'propag':384 'pst':807 'public':358 'purpos':31 'pyproject.toml':166 'python':353,363,428 'python/typescript/go':578 'qualiti':9,132,135,304,310,465,561,566,637,655 'read':214 'reader':867 'real':778 'recommend':559,666 'record':219,259,298,329,389 'refer':540 'registri':288,533 'reliabl':597 'remedi':664 'report':51,224,395,407,408,413,680,689,694,705,714,817,861,913 'reports/verification':724,746 'reports/verification/2026-03-17_01-05-30.md':812 'requir':361,888 'respect':928 'result':47 'retri':126,284,514,518,524,614 'root':177 'rule':218,657,659,838,897,923,933 'run':6,32,227,264,303,334 'safeti':281,501,586 'save':702,814 'say':839 'scan':156 'sdk':200 'second':673 'secret':115,244,482,608 'secur':7,111,114,228,234,257,457,473,478,635,653 'sent':881 'servic':884 'size':129,291,548,560 'skill':44,66,97,104,235,272,311,348,890 'skill-verification' 'source-aurite-ai' 'specif':13,337,663,670,675,902,905 'src':174 'ss':765 'standalon':426,892 'step':152,225,262,301,332,392,400,665,686,827 'stop':617 'strict':367 'structur':386,596 'suggest':639 'suit':5,106 'summari':443,474,490,562,579 'system':550,556,787 'tag':856 'termin':282,506 'throughout':824 'tier':822,829 'time':733,748,760,780,791,797 'timestamp':740 'token':555 'tool':127,287,529,532,536,539,545 'topic-agent-skills' 'topic-agent-testing' 'topic-agent-verification' 'topic-ai-agent' 'topic-ai-coding-assistant' 'topic-claude-code' 'topic-cline' 'topic-code-quality' 'topic-code-review' 'topic-code-verification' 'topic-coding-agent' 'topic-cursor' 'trigger':64 'type':145,355,372,585 'typescript':429 'typescript/javascript':365 'unbound':509 'understand':868,920 'undocu':544 'unifi':50,405 'usag':201 'use':15,63,728,776 'user':69,697 'v1.0.0':685 'valid':118,252 'verif':1,4,28,34,43,82,94,406,412,704,826 'verifi':19,21,30,72,76,83,101,109,113,119,123,130,134,139,143,233,270,309,346,477,493,565,582,684 'verify-languag':142,345,581 'verify-pattern':122,269,492 'verify-qu':133,308,564 'verify-secur':112,232,476 'version':249 'violat':661 'warn':448,455,625 'well':574 'well-organ':573 'within':552 'work':891 'would':698 'written':836 'x':444,458,459,460,462,463,464,466,467,468,470,471,472,479,483,502,516,531,535,549,554,567,571,584,841,843 'y':447 'yes':213 'yyyi':753 'yyyy-mm-dd':752 'z':449 'zero':782","prices":[{"id":"7e9f6f68-9a0c-4ad7-97c7-ee32cca4ce48","listingId":"d6ad49b6-e369-48b7-beca-f5091238b631","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Aurite-ai","category":"agent-verifier","install_from":"skills.sh"},"createdAt":"2026-04-29T01:03:26.887Z"}],"sources":[{"listingId":"d6ad49b6-e369-48b7-beca-f5091238b631","source":"github","sourceId":"Aurite-ai/agent-verifier/verification","sourceUrl":"https://github.com/Aurite-ai/agent-verifier/tree/main/skills/verification","isPrimary":false,"firstSeenAt":"2026-04-29T01:03:26.887Z","lastSeenAt":"2026-05-18T18:58:29.670Z"}],"details":{"listingId":"d6ad49b6-e369-48b7-beca-f5091238b631","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Aurite-ai","slug":"verification","github":{"repo":"Aurite-ai/agent-verifier","stars":38,"topics":["agent-skills","agent-testing","agent-verification","ai-agent","ai-coding-assistant","claude-code","cline","code-quality","code-review","code-verification","coding-agent","cursor","devtools","langgraph","security","skills","windsurf"],"license":"mit","html_url":"https://github.com/Aurite-ai/agent-verifier","pushed_at":"2026-05-01T10:31:12Z","description":"Agent Verifier is a coding agent skill that verifies code against organizational policies, code quality patterns, security requirements, and framework best practices — before code ships. Works with Claude Code, Cursor, Windsurf, and 30+ agents.","skill_md_sha":"c2394b53256162fad4c5a93d0b1fe06deeb43ee0","skill_md_path":"skills/verification/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Aurite-ai/agent-verifier/tree/main/skills/verification"},"layout":"multi","source":"github","category":"agent-verifier","frontmatter":{"name":"verification","description":"Full agent verification suite. Runs security, patterns, quality, and language-specific checks. Use when asked to \"verify agent\", \"verify my agent\", \"audit agent\", or \"full verification\"."},"skills_sh_url":"https://skills.sh/Aurite-ai/agent-verifier/verification"},"updatedAt":"2026-05-18T18:58:29.670Z"}}