{"id":7317,"date":"2026-10-09T16:15:48","date_gmt":"2026-10-09T16:15:48","guid":{"rendered":"https:\/\/jonjones.ai\/uncategorized\/claude-agent-templates\/"},"modified":"2026-10-09T16:15:48","modified_gmt":"2026-10-09T16:15:48","slug":"%e5%85%8b%e5%8b%9e%e5%be%b7%e4%bb%a3%e7%90%86%e6%a8%a1%e6%9d%bf","status":"publish","type":"post","link":"https:\/\/jonjones.ai\/zh\/%e4%ba%ba%e5%b7%a5%e6%99%ba%e6%85%a7\/%e5%85%8b%e5%8b%9e%e5%be%b7%e4%bb%a3%e7%90%86%e6%a8%a1%e6%9d%bf\/","title":{"rendered":"Claude Agent Templates\uff1a\u6211\u5be9\u6838\u4e86\u6700\u5927\u76ee\u9304\u4e2d\u7684\u5168\u90e8 423 \u500b\u6a21\u677f\uff0856% \u4ea4\u63a5 Bash\uff09"},"content":{"rendered":"<p>Search for <strong>claude agent templates<\/strong> and you&#8217;ll find a catalog with 422 agents in it, a CLI that claims half a million downloads, and almost no advice on which ones to install. So I downloaded the biggest catalog and read the header of every agent file myself: 423 files from the <code>davila7\/claude-code-templates<\/code> repo, the library behind aitmpl.com, at its 2026-10-09 commit. I didn&#8217;t care what the agents <em>say<\/em> they do. I cared what each file actually grants: which tools, which model, and how much text it puts into your context before it ever runs.<\/p>\n\n<p>The headline: <strong>235 of the 417 agents with a valid header can run shell commands.<\/strong> Anthropic&#8217;s own reference set of four complete agents gives Bash to exactly one.<\/p>\n\n<p>Disclosure before you read further. I sell consulting and done-for-you builds, and I run a fleet of Claude Code agents across 10+ brand containers that write this site, schedule its social posts and log their own failures. I have not run these 423 agents in production, and I won&#8217;t pretend I have. What I <em>have<\/em> run for months is a templated skill library copied from brand to brand, and near the end I&#8217;ll show you what that did to my own fleet, with receipts from the run that published this post.<\/p>\n\n<p>Here&#8217;s what you&#8217;ll get: what Claude agent templates actually are, the audit numbers, the permission problem, the context bill nobody lists, catalog hygiene, my own template residue, and a five-minute review to run before you install anything.<\/p>\n\n<h2>What Claude Agent Templates Actually Are (One File, Four Lines That Matter)<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-what-they-are.jpg\" alt=\"Anatomy of a Claude agent template file: name, description, tools and model\" class=\"wp-image-7311\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-what-they-are.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-what-they-are-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-what-they-are-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-what-they-are-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p>A Claude agent template is a subagent definition: one Markdown file you drop into <code>.claude\/agents\/<\/code> inside a project, or into <code>~\/.claude\/agents\/<\/code> to make it available everywhere. The file has two parts. A short YAML header at the top, and a body underneath that becomes the agent&#8217;s system prompt.<\/p>\n\n<p>The header is where all the risk and all the cost live. Four fields matter:<\/p>\n<ul>\n<li><strong><code>name<\/code><\/strong>: how the agent is addressed. Two agents with the same name is a problem (more on that below).<\/li>\n<li><strong><code>description<\/code><\/strong>: what your main Claude session reads when it decides whether to hand a task to this agent. It is written for the router, not for you.<\/li>\n<li><strong><code>tools<\/code><\/strong>: the allowlist. Leave the line out and the agent inherits every tool the main session has, including any MCP servers you&#8217;ve connected to email, a CRM or a database.<\/li>\n<li><strong><code>model<\/code><\/strong>: <code>sonnet<\/code>, <code>opus<\/code>, <code>haiku<\/code>, <code>inherit<\/code>, or a full model ID.<\/li>\n<\/ul>\n\n<p>Here&#8217;s a complete, minimal, sane agent file:<\/p>\n<pre><code>---\nname: link-checker\ndescription: Checks every outbound link in a draft and reports dead ones. Use before publishing.\ntools: Read, Grep, WebFetch\nmodel: inherit\n---\nYou check links. You never edit files. Report each dead URL with the line it appears on.<\/code><\/pre>\n\n<p>That&#8217;s the whole format. Everything a catalog sells you is a variation on those few lines plus a longer body.<\/p>\n\n<p>One warning about the word &#8220;template&#8221;: it gets stretched to cover everything. The same repo ships <strong>423 agents, 914 skills, 348 slash commands, 105 MCP configs, 63 hook configs and 73 settings files<\/strong>, which is roughly 1,900 components. Claude4World&#8217;s &#8220;18 Claude Code templates&#8221; are whole project starters. DataCamp&#8217;s guide splits templates into six types. This post is about the agent files, because that&#8217;s where permissions get granted. If you&#8217;re still deciding whether you need subagents at all, start with <a href=\"https:\/\/jonjones.ai\/ai\/claude-code-subagents\/\">when Claude Code subagents actually help<\/a>. If you&#8217;re looking at bundles, read <a href=\"https:\/\/jonjones.ai\/ai\/claude-code-plugins-operator-guide-2026\/\">my operator guide to Claude Code plugins<\/a>.<\/p>\n\n<h2>I Audited All 423 Claude Agent Templates in the Biggest Catalog<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-audit.jpg\" alt=\"claude agent templates\" class=\"wp-image-7313\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-audit.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-audit-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-audit-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-audit-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p><strong>Method, so you can check me:<\/strong> a shallow clone of <a href=\"https:\/\/github.com\/davila7\/claude-code-templates\" target=\"_blank\" rel=\"noopener\"><code>github.com\/davila7\/claude-code-templates<\/code><\/a> at commit <code>ed9fc5d<\/code> (committed 2026-10-09), then a script that parsed the header of every <code>.md<\/code> file under <code>cli-tool\/components\/agents\/<\/code>. That&#8217;s 423 files across 28 categories, which matches the &#8220;422 components&#8221; aitmpl.com shows on its agents page. I read the files as data and ran none of them. Token figures below are characters divided by four, a rough estimate rather than a tokenizer count.<\/p>\n\n<table>\n<thead><tr><th>What I checked<\/th><th>Count<\/th><th>Share<\/th><\/tr><\/thead>\n<tbody>\n<tr><td>Agent files<\/td><td>423<\/td><td>&mdash;<\/td><\/tr>\n<tr><td>Files with a valid header<\/td><td>417<\/td><td>98.6%<\/td><\/tr>\n<tr><td>Grant <strong>Bash<\/strong> (shell access)<\/td><td>235<\/td><td>56%<\/td><\/tr>\n<tr><td>Grant <strong>Write or Edit<\/strong><\/td><td>290<\/td><td>70%<\/td><\/tr>\n<tr><td>Grant Bash <em>and<\/em> Write\/Edit<\/td><td>219<\/td><td>53%<\/td><\/tr>\n<tr><td>Read-only (no Bash, no Write\/Edit)<\/td><td>106<\/td><td>25%<\/td><\/tr>\n<tr><td>No <code>tools<\/code> line at all (inherits everything)<\/td><td>5<\/td><td>1%<\/td><\/tr>\n<tr><td>No <code>model<\/code> line<\/td><td>335<\/td><td>80%<\/td><\/tr>\n<tr><td>Description longer than 1,000 characters<\/td><td>176<\/td><td>42%<\/td><\/tr>\n<tr><td>Names used by two different files<\/td><td>13 names \/ 26 files<\/td><td>&mdash;<\/td><\/tr>\n<tr><td>No header at all<\/td><td>6<\/td><td>1.4%<\/td><\/tr>\n<\/tbody>\n<\/table>\n\n<p>The median agent file is 7,882 bytes, about 2,000 tokens of system prompt. The biggest, <code>security-engineer<\/code>, is 33,714 bytes. The smallest, <code>planner<\/code>, is 840.<\/p>\n\n<p>Why hasn&#8217;t anyone published what Claude agent templates actually grant? Look at who ranks. On 2026-10-10 the top result for &#8220;claude agent templates&#8221; is the catalog author&#8217;s own origin story on Medium (February 2026, &#8220;500K+ downloads&#8221;, mostly behind the member wall). Number two is Anthropic&#8217;s example file. The rest of the top ten is a Notion page, an article about email templates, YouTube videos, a paid storefront listing eight agents (exactly one is actually for sale, at $9.99, &#8220;regularly $29&#8221;), a roundup of PRD templates and a directory of project starters. Five days earlier aitmpl.com ranked #1 itself. Tonight it isn&#8217;t in the top 20. Plenty of pages describe these files. None of them reports what the files grant.<\/p>\n\n<h2>The Permission Problem: Most Claude Agent Templates Hand Over Bash<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-permissions.jpg\" alt=\"Claude agent templates granting Bash shell access compared with read-only agents\" class=\"wp-image-7312\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-permissions.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-permissions-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-permissions-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-permissions-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p>Bash is the big one. An agent with Bash can do anything your user account can do: run scripts, <code>curl<\/code> a URL, read your <code>.env<\/code>, <code>git push<\/code>, delete a directory. Write and Edit let it change files. Neither is wrong on its own. A builder agent needs both. The question is whether the grant was a decision or a default.<\/p>\n\n<p>Anthropic&#8217;s reference is clear about which one it should be. The <a href=\"https:\/\/github.com\/anthropics\/claude-code\/blob\/main\/plugins\/plugin-dev\/skills\/agent-development\/examples\/complete-agent-examples.md\" target=\"_blank\" rel=\"noopener\"><code>complete-agent-examples.md<\/code><\/a> file in the official <code>claude-code<\/code> repo defines four full agents. Every one sets <code>model: inherit<\/code> and an explicit tools list. Two are read-only (<code>Read, Grep, Glob<\/code>). Only one gets Bash.<\/p>\n\n<p>The community catalog runs the other way. 56% of agents get Bash and 53% get Bash plus write access. Only a quarter are read-only. The most popular agent on aitmpl, <code>frontend-developer<\/code>, first in its &#8220;Most Popular&#8221; sort, grants <code>Read, Write, Edit, Bash, Glob, Grep<\/code>. For an agent that builds frontends, that&#8217;s defensible. For a reviewer, an advisor or a researcher, it isn&#8217;t, and those make up a big slice of the catalog: <code>expert-advisors<\/code> is its largest category, with 52 agents.<\/p>\n\n<p>The clearest illustration isn&#8217;t even in the catalog. <a href=\"https:\/\/www.datacamp.com\/blog\/claude-code-templates\" target=\"_blank\" rel=\"noopener\">DataCamp&#8217;s guide to Claude Code templates<\/a> shows a sample <code>security-auditor<\/code> agent whose description says it produces a findings report <em>&#8220;without modifying files.&#8221;<\/em> Its tools line is <code>Read, Glob, Grep, Bash<\/code>. Bash can modify files. The prompt says &#8220;don&#8217;t&#8221;, and the allowlist says &#8220;you can&#8221;.<\/p>\n\n<blockquote><p><strong>The prompt is a request. The tools line is the enforcement.<\/strong> If an agent must never change anything, take away the tools that change things. Don&#8217;t ask it nicely.<\/p><\/blockquote>\n\n<p>Then there are the five agents with no tools line at all. Those inherit everything, including whatever MCP servers you&#8217;ve wired up. If your session can send email, so can they.<\/p>\n\n<p>This is also a supply-chain question. An agent file is a set of instructions, written by a stranger, for a process that holds your credentials. The trust levels I use for plugins (official, community, random marketplace) apply here unchanged, and I&#8217;ve laid them out in <a href=\"https:\/\/jonjones.ai\/ai\/claude-code-plugins-operator-guide-2026\/\">the plugins guide<\/a>. The short version: pin to a commit, read the body, and grep it for URLs before it ever runs.<\/p>\n\n<style>#kt-layout-idsignup_mid_cat1010 > .kt-row-column-wrap{align-content:start;}:where(#kt-layout-idsignup_mid_cat1010 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}#kt-layout-idsignup_mid_cat1010 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var( --global-kb-row-default-top, 25px );padding-bottom:var( --global-kb-row-default-bottom, 25px );padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;grid-template-columns:repeat(2, minmax(0, 1fr));}#kt-layout-idsignup_mid_cat1010{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;overflow:clip;isolation:isolate;}#kt-layout-idsignup_mid_cat1010 > .kt-row-layout-overlay{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;}#kt-layout-idsignup_mid_cat1010{background-color:#0d1117;}#kt-layout-idsignup_mid_cat1010 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){#kt-layout-idsignup_mid_cat1010 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){#kt-layout-idsignup_mid_cat1010 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}<\/style>\n<div class=\"wp-block-kadence-rowlayout alignnone\">\n<style>.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col,.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnsignup_img_mid_cat1010{position:relative;}@media all and (max-width: 1024px){.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnsignup_img_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-1\"><div class=\"kt-inside-inner-col\">\n\n<figure class=\"wp-block-image size-medium\"><img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/newsletter-cta-ai-playbook.jpg\" alt=\"Lead Magnet AI Playbook, the operator's AI automation playbook\" \/><\/figure>\n\n<\/div><\/div>\n\n<style>.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col,.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnsignup_txt_mid_cat1010{position:relative;}@media all and (max-width: 1024px){.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnsignup_txt_mid_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-2\"><div class=\"kt-inside-inner-col\">\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#00d4b4\">Get the AI Playbook<\/h3>\n\n\n<p class=\"has-text-color\" style=\"color:#f0f6fc\">The operator notes behind posts like this one: how the fleet is wired, what each agent is allowed to touch, and what broke last week. Free, and you can leave whenever you like.<\/p>\n\n<div class='fluentform ff-default fluentform_wrapper_8 ffs_default_wrap'><form data-form_id=\"8\" id=\"fluentform_8\" class=\"frm-fluent-form fluent_form_8 ff-el-form-top ff_form_instance_8_1 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_8_1\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Lead Magnet - AI Playbook<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='7317' \/><input type=\"hidden\" id=\"_fluentform_8_fluentformnonce\" name=\"_fluentform_8_fluentformnonce\" value=\"f4274568d9\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/zh\/wp-json\/wp\/v2\/posts\/7317\" \/><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_8_email\" class=\"ff-el-form-control\" placeholder=\"Your email address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-8_1\" data-name=\"custom_submit_button-8_1\"  aria-label=\"GET THE PLAYBOOK\">GET THE PLAYBOOK<\/button><style>form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit { background-color:#00ff88;border-color:#00ff88;color:#0a0a14;min-width:100%; }form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#00cc6a;border-color:#00cc6a;color:#0a0a14;min-width:100%; } <\/style><\/div><\/fieldset><\/form><div id='fluentform_8_errors' class='ff-errors-in-stack ff_form_instance_8_1 ff-form-loading_errors ff_form_instance_8_1_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_8_1 = {\"id\":\"8\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_8_1\",\"form_id_selector\":\"fluentform_8\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\"},\"email\":{\"value\":true,\"message\":\"Please enter a valid email address\"}}},\"debounce_time\":300};\n                            <\/script>\n            \n\n<\/div><\/div>\n\n<\/div>\n\n\n<h2>The Context Bill: What Claude Agent Templates Cost Before They Run<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-context-bill.jpg\" alt=\"The context cost of installed Claude agent templates, paid on every session\" class=\"wp-image-7315\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-context-bill.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-context-bill-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-context-bill-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-context-bill-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p>Here&#8217;s the cost no catalog lists. An agent&#8217;s body only loads when the agent is called. Its <strong>description<\/strong> is different. Claude Code lists every available agent&#8217;s description to the main session so it can decide when to delegate. That means you pay for every installed agent&#8217;s description on every session, whether you use the agent or not.<\/p>\n\n<p>For most Claude agent templates the bill is small. The median description is 223 characters, about 56 tokens. But 176 agents (42%) carry descriptions longer than 1,000 characters, and 180 embed full <code>&lt;example&gt;<\/code> dialogues, with fake user requests and fake assistant replies, inside the description field. Among those long ones, the average is 2,880 characters, roughly 720 tokens each. <code>frontend-developer<\/code>&#8216;s description alone runs 3,042 characters.<\/p>\n\n<ul>\n<li><strong>All 417 descriptions together:<\/strong> 550,235 characters, about 137,000 tokens.<\/li>\n<li><strong>The 20 heaviest:<\/strong> 85,977 characters, about 21,500 tokens, before any work starts.<\/li>\n<\/ul>\n\n<p>Nobody installs all 417. But &#8220;install the pack for my stack&#8221; is exactly how these CLIs are meant to be used, and twenty agents is an ordinary afternoon. I measured the same effect on the other always-loaded file, and the numbers are in <a href=\"https:\/\/jonjones.ai\/ai\/claude-md-best-practices\/\">my CLAUDE.md teardown<\/a>: about 7,400 tokens a run, and 47.8% of it was dead weight for the job at hand. And if you want the general fix, I wrote up <a href=\"https:\/\/jonjones.ai\/ai-automation\/daily-saturday-shortcuts-ai-agent-context-window-2026-10-03\/\">three ways to bound what an agent reads at startup<\/a>.<\/p>\n\n<p>The cost isn&#8217;t only tokens. Every description competes with every other description for the router&#8217;s attention. Twenty agents with overlapping, example-stuffed descriptions give your main session more ways to pick the wrong one. That&#8217;s my reasoning, not something I measured on this catalog, but it&#8217;s the reason I keep descriptions to one or two sentences of trigger conditions and move every example into the body, where it costs nothing until it&#8217;s needed.<\/p>\n\n<h2>Catalog Hygiene: Duplicate Names, Missing Headers, and Model Pins That Won&#8217;t Resolve<\/h2>\n<p>The rest of the audit is smaller stuff, but it&#8217;s the kind of thing that bites quietly when you install Claude agent templates in bulk.<\/p>\n\n<h3>Thirteen names, twenty-six files<\/h3>\n<p><code>prompt-engineer<\/code>, <code>context-manager<\/code>, <code>security-engineer<\/code>, <code>test-automator<\/code>, <code>performance-engineer<\/code>, <code>incident-responder<\/code> and seven more each exist twice, in different categories, with different contents. Install both and you have two files fighting over one name, and you can&#8217;t tell from the name which one you&#8217;re getting. Remember <code>context-manager<\/code>. It comes back in a minute.<\/p>\n\n<h3>Six files with no header<\/h3>\n<p>Without the YAML header, Claude Code has nothing to register. The file is just Markdown sitting in a folder. One of the six is committed twice, at paths that repeat their own folder (<code>business-marketing\/cli-tool\/components\/agents\/business-marketing\/...<\/code>), the fingerprint of a copy command run from the wrong directory.<\/p>\n\n<h3>Model lines that age badly<\/h3>\n<p>335 agents leave <code>model<\/code> unset, which is fine and arguably the best choice. Four say <code>model: Claude<\/code>, which isn&#8217;t one of the documented values. Six pin specific older Sonnet versions (<code>claude-sonnet-4<\/code>, <code>claude-sonnet-4-5<\/code>, <code>claude-sonnet-4-5-20250929<\/code>). Pinned model IDs are a maintenance debt with a retirement date attached. My own stack pins six models, and I wrote about <a href=\"https:\/\/jonjones.ai\/ai-automation\/daily-faq-friday-ai-model-deprecation-2026-10-02\/\">what happens when one gets retired<\/a>.<\/p>\n\n<p>To be fair: this catalog is free, actively maintained (last commit the day before I cloned it), and 422 agents is an enormous amount of volunteer work. None of the above is a scandal. The problem isn&#8217;t the catalog. The problem is installing from it without reading.<\/p>\n\n<h2>What Templating Did to My Own Fleet (the Receipts No Catalog Shows)<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-fleet-residue.jpg\" alt=\"Template residue from one brand left behind in another brand's agent container\" class=\"wp-image-7316\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-fleet-residue.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-fleet-residue-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-fleet-residue-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-fleet-residue-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p>Here&#8217;s the part I can speak to first-hand. JonOps, the system that runs my brands, is itself a template: one library of skill files, copied into every brand&#8217;s container, then bent to fit that brand. This container holds 39 skill files totalling 472,860 bytes, plus 22 <code>.bak<\/code> copies left behind by in-place fixes.<\/p>\n\n<p>Tonight&#8217;s receipt comes from the run that published this post. The blog-writer skill driving it still says, in its publishing step, to <em>&#8220;default to category 171 (The world of Horoscope)&#8221;<\/em>. On jonjones.ai, category 171 returns a 404. Its Asana step points at project <code>1213328321428246<\/code>, which resolves to <strong>WeLoveHoroscope<\/strong>, a different brand in the fleet. It tells the writer to plan internal links to &#8220;existing WLH posts&#8221; and to italicise &#8220;astrological terms on first use&#8221;. In total, 10 of the 39 skill files in this container still mention the horoscope brand they were templated from.<\/p>\n\n<p>That residue is mostly harmless, because it&#8217;s loud. It looks wrong, and the brand&#8217;s own config file overrides it. The dangerous residue is the quiet kind. Three examples from this same fleet:<\/p>\n\n<ol>\n<li><strong>A field name with the wrong capitalisation.<\/strong> The template wrote <code>Status<\/code>. This brand&#8217;s keyword table calls the field <code>status<\/code>. Airtable is case-insensitive when you <em>read<\/em> with a formula and case-sensitive when you <em>write<\/em>. So every read worked and every status write failed. That ran for months. The first keyword this skill ever successfully closed was on 2026-10-08.<\/li>\n<li><strong>A field that doesn&#8217;t exist.<\/strong> The image script logs each image to a field called <code>Name<\/code>, which this brand&#8217;s images table doesn&#8217;t have. Airtable rejects the record and the script exits 0. Tonight&#8217;s seven images came back with an empty record ID too.<\/li>\n<li><strong>A hand-off that has never fired.<\/strong> The content-refresh step reads its instructions from a field called <code>Refresh Brief<\/code>. This brand&#8217;s table calls it <code>Suggested Action<\/code>. So even a queued refresh would arrive with an empty brief, and the hand-off between the two skills has never fired on this brand.<\/li>\n<\/ol>\n\n<p>Notice that none of these crashed. When a template&#8217;s assumption doesn&#8217;t hold, it rarely errors. It does nothing, or something slightly wrong, and reports success.<\/p>\n\n<p>Community Claude agent templates carry the same kind of assumptions, just about your repo instead of your database. <code>frontend-developer<\/code>&#8216;s own example dialogue opens with <em>&#8220;First, let me query the context-manager for your existing infrastructure.&#8221;<\/em> That&#8217;s an agent you may not have installed, and in this catalog it&#8217;s one of the names that exists twice. An agent that leans on a missing teammate won&#8217;t throw an error. It&#8217;ll improvise.<\/p>\n\n<h2>The Five-Minute Review Before You Install Any Claude Agent Template<\/h2>\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1344\" height=\"752\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-review-checklist.jpg\" alt=\"Reviewing a Claude agent template before installing it\" class=\"wp-image-7314\" srcset=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-review-checklist.jpg 1344w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-review-checklist-768x430.jpg 768w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-review-checklist-18x10.jpg 18w, https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-review-checklist-600x336.jpg 600w\" sizes=\"auto, (max-width: 1344px) 100vw, 1344px\" \/><\/figure>\n<p>This is the check I&#8217;d run on any of the Claude agent templates in this post, whether it&#8217;s from a catalog, a paid storefront or a colleague&#8217;s repo. It takes five minutes, and it catches everything in the audit above.<\/p>\n\n<ol>\n<li><strong>Read the tools line first.<\/strong> No line means everything. For a reviewer, researcher or advisor, strip Bash and Write. Start from Anthropic&#8217;s read-only baseline (<code>Read, Grep, Glob<\/code>) and add only what the job proves it needs.<\/li>\n<li><strong>Measure the description.<\/strong> If it&#8217;s longer than a couple of sentences, or has <code>&lt;example&gt;<\/code> blocks, move the examples into the body. You pay for the description every session.<\/li>\n<li><strong>Fix the model line.<\/strong> Delete invalid values and dated pins. Use <code>inherit<\/code> unless you have a reason not to.<\/li>\n<li><strong>Grep the body.<\/strong> Look for network calls, secrets and references to other agents.<\/li>\n<li><strong>Check for name collisions<\/strong> against what&#8217;s already in your project and user agent folders.<\/li>\n<li><strong>Own the copy.<\/strong> Commit the file into your repo at a known version and review future changes as a diff. Don&#8217;t re-pull updates blind.<\/li>\n<\/ol>\n\n<pre><code># 1-2: tools line and description size\ngrep -E '^(tools|model):' .claude\/agents\/new-agent.md\nsed -n '\/^description:\/,\/^[a-z]*:\/p' .claude\/agents\/new-agent.md | wc -c\n\n# 4: anything that leaves the machine or touches secrets\ngrep -nEi 'curl|wget|https?:\/\/|\\.env|token|secret|git push' .claude\/agents\/new-agent.md\n\n# 4: does it depend on agents you don't have?\ngrep -noE '[a-z]+-(manager|engineer|reviewer|agent)' .claude\/agents\/new-agent.md | sort -u\n\n# 5: name collisions\ngrep -h '^name:' .claude\/agents\/*.md ~\/.claude\/agents\/*.md 2>\/dev\/null | sort | uniq -d<\/code><\/pre>\n\n<p>Then install three, not thirty. The agents worth keeping are the ones you&#8217;d have written yourself if you&#8217;d had the time, trimmed to your stack. It&#8217;s the same pick, adapt and harden discipline I use for <a href=\"https:\/\/jonjones.ai\/automation\/n8n-templates\/\">n8n templates in production<\/a>, and the same &#8220;steal the structure, not the hype&#8221; verdict I reached on <a href=\"https:\/\/jonjones.ai\/ai\/everything-claude-code-operator-guide-2026\/\">the Everything Claude Code repo<\/a>.<\/p>\n\n<p>If you&#8217;d rather have someone who has already broken this in production set it up for your business, scoped, permissioned and with a hand-off you own, that&#8217;s what my done-for-you builds are. <a href=\"https:\/\/jonjones.ai\/book-a-meeting\/\">Book an automation strategy session<\/a> and bring the agent list you were about to install.<\/p>\n\n<h2>Claude Agent Templates: Frequently Asked Questions<\/h2>\n<h3>Are Claude agent templates safe to install?<\/h3>\n<p>Claude agent templates are as safe as their tools line. A read-only agent can leak what it reads but can&#8217;t change anything. An agent with Bash can do anything your account can. In the largest catalog, 56% grant Bash. Read the header and grep the body before installing, and pin the file to a known commit.<\/p>\n\n<h3>Where do Claude agent templates go?<\/h3>\n<p>Project agents go in <code>.claude\/agents\/<\/code> in the repo, so they travel with the project and get reviewed in git. Personal agents go in <code>~\/.claude\/agents\/<\/code> and apply to every project on the machine. Keep anything with write access at the project level, where it gets reviewed.<\/p>\n\n<h3>What&#8217;s the difference between an agent template and a skill?<\/h3>\n<p>An agent is a separate worker with its own context window, tool allowlist and model. A skill is a set of instructions (plus optional files) that the current session loads when a task matches. Use an agent when you want isolation and a tighter permission set. Use a skill when you want the main session to follow a procedure. The <a href=\"https:\/\/jonjones.ai\/ai\/claude-md-best-practices\/\">CLAUDE.md post<\/a> covers where CLAUDE.md, skills and hooks each belong.<\/p>\n\n<h3>Do installed agents cost tokens when I don&#8217;t use them?<\/h3>\n<p>Their descriptions do, because they&#8217;re listed to the main session so it can decide when to delegate. Their bodies don&#8217;t, until they&#8217;re called. That&#8217;s why a 3,000-character description is a real cost and a 3,000-word body mostly isn&#8217;t.<\/p>\n\n<h3>Are paid Claude agent templates better than free ones?<\/h3>\n<p>Price tells you nothing about the tools line. The paid storefront ranking for this term lists eight agents, and seven of them are &#8220;coming soon.&#8221; Run the same five-minute review on a $9.99 agent that you&#8217;d run on a free one.<\/p>\n\n<h3>How many agent templates should I install?<\/h3>\n<p>As few Claude agent templates as the work needs. Every one adds to the description bill and to the router&#8217;s choices. Start with the two or three jobs you repeat weekly, and add an agent only when you catch yourself writing the same instructions again.<\/p>\n\n<h2>Final Thoughts: Treat Every Claude Agent Template as a Fork<\/h2>\n<p>The catalogs of Claude agent templates aren&#8217;t the problem. 1,900 free components is a gift, and some of those agents are better starting points than anything you&#8217;d write from a blank file. The problem is the install-it-and-forget-it model. A template is someone else&#8217;s assumptions about your repo, your tools and your threat model, frozen at the moment they wrote it.<\/p>\n\n<p>So treat each one as a fork. Read the four header lines. Shrink the tools to the job. Cut the description to its trigger. Commit the result and own it. My own fleet carried another brand&#8217;s category ID for months because nobody re-read the template after copying it. The first step of using any template is reading it.<\/p>\n\n<p>If you want the build logs behind posts like this, including what broke, what it cost and what I changed, they go out in the newsletter below.<\/p>\n\n<style>#kt-layout-idsignup_end_cat1010 > .kt-row-column-wrap{align-content:start;}:where(#kt-layout-idsignup_end_cat1010 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}#kt-layout-idsignup_end_cat1010 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var( --global-kb-row-default-top, 25px );padding-bottom:var( --global-kb-row-default-bottom, 25px );padding-top:30px;padding-right:30px;padding-bottom:30px;padding-left:30px;grid-template-columns:repeat(2, minmax(0, 1fr));}#kt-layout-idsignup_end_cat1010{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;overflow:clip;isolation:isolate;}#kt-layout-idsignup_end_cat1010 > .kt-row-layout-overlay{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;}#kt-layout-idsignup_end_cat1010{background-color:#0d1117;}#kt-layout-idsignup_end_cat1010 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){#kt-layout-idsignup_end_cat1010 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){#kt-layout-idsignup_end_cat1010 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}<\/style>\n<div class=\"wp-block-kadence-rowlayout alignnone\">\n<style>.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col,.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnsignup_img_end_cat1010{position:relative;}@media all and (max-width: 1024px){.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnsignup_img_end_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-1\"><div class=\"kt-inside-inner-col\">\n\n<figure class=\"wp-block-image size-medium\"><img decoding=\"async\" src=\"https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/06\/newsletter-cta-ai-playbook.jpg\" alt=\"Lead Magnet AI Playbook, the operator's AI automation playbook\" \/><\/figure>\n\n<\/div><\/div>\n\n<style>.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;}.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col,.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col{flex-direction:column;}.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-columnsignup_txt_end_cat1010{position:relative;}@media all and (max-width: 1024px){.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-columnsignup_txt_end_cat1010 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column inner-column-2\"><div class=\"kt-inside-inner-col\">\n\n<h3 class=\"wp-block-heading has-text-color\" style=\"color:#00d4b4\">Get the Build Logs, Not the Hype<\/h3>\n\n\n<p class=\"has-text-color\" style=\"color:#f0f6fc\">One email when there&#8217;s something worth reading: real audits, real costs, and the fixes that came out of them. Free, unsubscribe anytime.<\/p>\n\n<div class='fluentform ff-default fluentform_wrapper_8 ffs_default_wrap'><form data-form_id=\"8\" id=\"fluentform_8\" class=\"frm-fluent-form fluent_form_8 ff-el-form-top ff_form_instance_8_2 ff-form-loading ffs_default\" data-form_instance=\"ff_form_instance_8_2\" method=\"POST\" ><fieldset  style=\"border: none!important;margin: 0!important;padding: 0!important;background-color: transparent!important;box-shadow: none!important;outline: none!important; min-inline-size: 100%;\">\n                    <legend class=\"ff_screen_reader_title\" style=\"display: block; margin: 0!important;padding: 0!important;height: 0!important;text-indent: -999999px;width: 0!important;overflow:hidden;\">Lead Magnet - AI Playbook<\/legend><input type='hidden' name='__fluent_form_embded_post_id' value='7317' \/><input type=\"hidden\" id=\"_fluentform_8_fluentformnonce\" name=\"_fluentform_8_fluentformnonce\" value=\"f4274568d9\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/zh\/wp-json\/wp\/v2\/posts\/7317\" \/><div class='ff-el-group'><div class='ff-el-input--content'><input type=\"email\" name=\"email\" id=\"ff_8_2_email\" class=\"ff-el-form-control\" placeholder=\"Your email address\" data-name=\"email\"  aria-invalid=\"false\" aria-required=true><\/div><\/div><div class='ff-el-group ff-text-left ff_submit_btn_wrapper ff_submit_btn_wrapper_custom'><button class=\"ff-btn ff-btn-submit ff-btn-md ff_btn_style wpf_has_custom_css\" type=\"submit\" name=\"custom_submit_button-8_1\" data-name=\"custom_submit_button-8_1\"  aria-label=\"GET THE PLAYBOOK\">GET THE PLAYBOOK<\/button><style>form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit { background-color:#00ff88;border-color:#00ff88;color:#0a0a14;min-width:100%; }form.fluent_form_8 .wpf_has_custom_css.ff-btn-submit:hover { background-color:#00cc6a;border-color:#00cc6a;color:#0a0a14;min-width:100%; } <\/style><\/div><\/fieldset><\/form><div id='fluentform_8_errors' class='ff-errors-in-stack ff_form_instance_8_2 ff-form-loading_errors ff_form_instance_8_2_errors'><\/div><\/div>            <script type=\"text\/javascript\">\n                window.fluent_form_ff_form_instance_8_2 = {\"id\":\"8\",\"settings\":{\"layout\":{\"labelPlacement\":\"top\",\"helpMessagePlacement\":\"with_label\",\"errorMessagePlacement\":\"inline\",\"asteriskPlacement\":\"asterisk-right\"},\"restrictions\":{\"denyEmptySubmission\":{\"enabled\":false}}},\"form_instance\":\"ff_form_instance_8_2\",\"form_id_selector\":\"fluentform_8\",\"rules\":{\"email\":{\"required\":{\"value\":true,\"message\":\"This field is required\"},\"email\":{\"value\":true,\"message\":\"Please enter a valid email address\"}}},\"debounce_time\":300};\n                            <\/script>\n            \n\n<\/div><\/div>\n\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>\u6211\u5be9\u6838\u4e86 Claude \u4ee3\u7406\u6a21\u677f\u5eab\u4e2d\u7684\u5168\u90e8 423 \u500b\u6a21\u677f\uff1a56% \u6388\u4e88 Bash \u6b0a\u9650\uff0c42% \u6bcf\u6b21\u6703\u8a71\u90fd\u9700\u652f\u4ed8 1000 \u591a\u500b\u5b57\u5143\u7684\u63cf\u8ff0\u3002\u4ee5\u4e0b\u662f\u5b89\u88dd\u524d\u9700\u8981\u82b1\u4e94\u5206\u9418\u5b8c\u6210\u7684\u5be9\u6838\u3002.<\/p>","protected":false},"author":2,"featured_media":7310,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[28,44],"tags":[144,283,53,205,278],"class_list":["post-7317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-ai-automation","tag-ai-agent-security","tag-claude-agent-templates","tag-claude-code-2","tag-claude-code-subagents","tag-context-engineering"],"taxonomy_info":{"category":[{"value":28,"label":"AI"},{"value":44,"label":"AI Automation"}],"post_tag":[{"value":144,"label":"ai agent security"},{"value":283,"label":"claude agent templates"},{"value":53,"label":"claude code"},{"value":205,"label":"claude code subagents"},{"value":278,"label":"Context Engineering"}]},"featured_image_src_large":["https:\/\/jonjones.ai\/wp-content\/uploads\/2026\/10\/claude-agent-templates-featured.jpg",1344,752,false],"author_info":{"display_name":"Jon Jones","author_link":"https:\/\/jonjones.ai\/zh\/author\/jonjonjones-ai\/"},"comment_info":0,"category_info":[{"term_id":28,"name":"AI","slug":"ai","term_group":0,"term_taxonomy_id":28,"taxonomy":"category","description":"","parent":0,"count":95,"filter":"raw","cat_ID":28,"category_count":95,"category_description":"","cat_name":"AI","category_nicename":"ai","category_parent":0},{"term_id":44,"name":"AI Automation","slug":"ai-automation","term_group":0,"term_taxonomy_id":44,"taxonomy":"category","description":"","parent":0,"count":223,"filter":"raw","cat_ID":44,"category_count":223,"category_description":"","cat_name":"AI Automation","category_nicename":"ai-automation","category_parent":0}],"tag_info":[{"term_id":144,"name":"ai agent security","slug":"ai-agent-security","term_group":0,"term_taxonomy_id":144,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":283,"name":"claude agent templates","slug":"claude-agent-templates","term_group":0,"term_taxonomy_id":283,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":53,"name":"claude code","slug":"claude-code-2","term_group":0,"term_taxonomy_id":53,"taxonomy":"post_tag","description":"","parent":0,"count":43,"filter":"raw"},{"term_id":205,"name":"claude code subagents","slug":"claude-code-subagents","term_group":0,"term_taxonomy_id":205,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":278,"name":"Context Engineering","slug":"context-engineering","term_group":0,"term_taxonomy_id":278,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/7317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/comments?post=7317"}],"version-history":[{"count":0,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/posts\/7317\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media\/7310"}],"wp:attachment":[{"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/media?parent=7317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/categories?post=7317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jonjones.ai\/zh\/wp-json\/wp\/v2\/tags?post=7317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}