[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fv2\u002Fecosystem\u002Fprompts":3},{"id":4,"title":5,"body":6,"description":16,"extension":457,"meta":458,"navigation":308,"path":459,"seo":460,"stem":461,"__hash__":462},"docs\u002Fdocs\u002Fv2\u002Fecosystem\u002Fprompts.md","Prompt Packages",{"type":7,"value":8,"toc":450},"minimark",[9,13,17,25,54,59,62,79,89,99,103,180,195,198,201,204,244,251,255,264,404,407,428,432,435,438,446],[10,11,5],"h1",{"id":12},"prompt-packages",[14,15,16],"p",{},"A prompt package is a unit of work you can hand to someone else's agent.",[14,18,19,20,24],{},"Modules bring capabilities — tools, integrations, things an agent can ",[21,22,23],"em",{},"do",". A\nprompt brings a task: the instruction itself, packaged so it can be installed,\nversioned, and shared. It is the smallest publishable thing in Axon, and the\nonly one with no build step.",[26,27,32],"pre",{"className":28,"code":29,"language":30,"meta":31,"style":31},"language-bash shiki shiki-themes dark-plus","axon prompt init eslint-scout\n","bash","",[33,34,35],"code",{"__ignoreMap":31},[36,37,40,44,48,51],"span",{"class":38,"line":39},"line",1,[36,41,43],{"class":42},"sCudf","axon",[36,45,47],{"class":46},"sKc5r"," prompt",[36,49,50],{"class":46}," init",[36,52,53],{"class":46}," eslint-scout\n",[55,56,58],"h2",{"id":57},"two-things-called-prompts","Two things called \"prompts\"",[14,60,61],{},"Worth separating up front, because the word does double duty:",[14,63,64,68,69,72,73,78],{},[65,66,67],"strong",{},"Prompts in your agent"," live in ",[33,70,71],{},"src\u002Fprompts\u002F"," and are context loaded at\ninvocation time — see ",[74,75,77],"a",{"href":76},"\u002Fdocs\u002Fv2\u002Fagent\u002Fsrc\u002Fprompts","prompts\u002F",". They belong to\nthat one agent.",[14,80,81,84,85,88],{},[65,82,83],{},"Prompt packages"," are registry artifacts. Same file formats, same authoring\nrules, but the folder ",[21,86,87],{},"is"," the package and it ships on its own.",[14,90,91,92,94,95,98],{},"The difference is scope, not substance. A prompt you wrote in ",[33,93,71],{},"\nbecomes a package by moving it into a folder with a ",[33,96,97],{},"prompt.config.ts"," beside\nit.",[55,100,102],{"id":101},"the-shape","The shape",[26,104,106],{"className":28,"code":105,"language":30,"meta":31,"style":31},"eslint-scout\u002F\n├── components\u002F          # fragments the prompts compose — never invokable\n│   └── rules.vue\n├── eslint-scout.vue     # a prompt\n├── reconcile.md         # another prompt\n├── prompt.config.ts     # identity\n└── package.json\n",[33,107,108,113,126,138,149,160,171],{"__ignoreMap":31},[36,109,110],{"class":38,"line":39},[36,111,112],{"class":42},"eslint-scout\u002F\n",[36,114,116,119,122],{"class":38,"line":115},2,[36,117,118],{"class":42},"├──",[36,120,121],{"class":46}," components\u002F",[36,123,125],{"class":124},"sOLPB","          # fragments the prompts compose — never invokable\n",[36,127,129,132,135],{"class":38,"line":128},3,[36,130,131],{"class":42},"│",[36,133,134],{"class":46},"   └──",[36,136,137],{"class":46}," rules.vue\n",[36,139,141,143,146],{"class":38,"line":140},4,[36,142,118],{"class":42},[36,144,145],{"class":46}," eslint-scout.vue",[36,147,148],{"class":124},"     # a prompt\n",[36,150,152,154,157],{"class":38,"line":151},5,[36,153,118],{"class":42},[36,155,156],{"class":46}," reconcile.md",[36,158,159],{"class":124},"         # another prompt\n",[36,161,163,165,168],{"class":38,"line":162},6,[36,164,118],{"class":42},[36,166,167],{"class":46}," prompt.config.ts",[36,169,170],{"class":124},"     # identity\n",[36,172,174,177],{"class":38,"line":173},7,[36,175,176],{"class":42},"└──",[36,178,179],{"class":46}," package.json\n",[14,181,182,183,186,187,190,191,194],{},"Every top-level ",[33,184,185],{},".vue","\u002F",[33,188,189],{},".md"," file is an invokable prompt. ",[33,192,193],{},"components\u002F"," holds\nthe fragments they compose and is never invokable itself — that one rule is the\nwhole layout.",[14,196,197],{},"A single-prompt package and a pack of them are the same shape. A pack is just\none with more files, not a different kind of thing.",[55,199,97],{"id":200},"promptconfigts",[14,202,203],{},"Identity only:",[26,205,209],{"className":206,"code":207,"language":208,"meta":31,"style":31},"language-ts shiki shiki-themes dark-plus","export default definePrompt({\n    description: \"Scouts a codebase and files proposals\",\n})\n","ts",[33,210,211,227,239],{"__ignoreMap":31},[36,212,213,217,220,223],{"class":38,"line":39},[36,214,216],{"class":215},"sYbnZ","export",[36,218,219],{"class":215}," default",[36,221,222],{"class":42}," definePrompt",[36,224,226],{"class":225},"sTNBD","({\n",[36,228,229,233,236],{"class":38,"line":115},[36,230,232],{"class":231},"s3F5K","    description:",[36,234,235],{"class":46}," \"Scouts a codebase and files proposals\"",[36,237,238],{"class":225},",\n",[36,240,241],{"class":38,"line":128},[36,242,243],{"class":225},"})\n",[14,245,246,247,250],{},"There is nothing else to configure. A prompt has no dependencies, no runtime\nsurface, and no options — so ",[33,248,249],{},"axon prepare"," on one has nothing to do, and\npublishing is the entire lifecycle.",[55,252,254],{"id":253},"static-and-dynamic","Static and dynamic",[14,256,257,258,260,261,263],{},"A ",[33,259,189],{}," prompt is static text. A ",[33,262,185],{}," prompt takes props, and the props are\nintrospected — callers get them typed without you declaring anything twice:",[26,265,269],{"className":266,"code":267,"language":268,"meta":31,"style":31},"language-vue shiki shiki-themes dark-plus","\u003Ctemplate>\n    \u003Ch1>Review {{ path }}\u003C\u002Fh1>\n\n    \u003Cp>\n        Read the file and list every rule violation you find. Report the line\n        number and the rule name. Do not fix anything.\n    \u003C\u002Fp>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup lang=\"ts\">\ndefineProps\u003C{ path: string }>()\n\u003C\u002Fscript>\n","vue",[33,270,271,284,304,310,318,323,328,337,346,351,373,395],{"__ignoreMap":31},[36,272,273,277,281],{"class":38,"line":39},[36,274,276],{"class":275},"srRes","\u003C",[36,278,280],{"class":279},"scz_3","template",[36,282,283],{"class":275},">\n",[36,285,286,289,291,294,297,300,302],{"class":38,"line":115},[36,287,288],{"class":275},"    \u003C",[36,290,10],{"class":279},[36,292,293],{"class":275},">",[36,295,296],{"class":225},"Review {{ path }}",[36,298,299],{"class":275},"\u003C\u002F",[36,301,10],{"class":279},[36,303,283],{"class":275},[36,305,306],{"class":38,"line":128},[36,307,309],{"emptyLinePlaceholder":308},true,"\n",[36,311,312,314,316],{"class":38,"line":140},[36,313,288],{"class":275},[36,315,14],{"class":279},[36,317,283],{"class":275},[36,319,320],{"class":38,"line":151},[36,321,322],{"class":225},"        Read the file and list every rule violation you find. Report the line\n",[36,324,325],{"class":38,"line":162},[36,326,327],{"class":225},"        number and the rule name. Do not fix anything.\n",[36,329,330,333,335],{"class":38,"line":173},[36,331,332],{"class":275},"    \u003C\u002F",[36,334,14],{"class":279},[36,336,283],{"class":275},[36,338,340,342,344],{"class":38,"line":339},8,[36,341,299],{"class":275},[36,343,280],{"class":279},[36,345,283],{"class":275},[36,347,349],{"class":38,"line":348},9,[36,350,309],{"emptyLinePlaceholder":308},[36,352,354,356,359,362,365,368,371],{"class":38,"line":353},10,[36,355,276],{"class":275},[36,357,358],{"class":279},"script",[36,360,361],{"class":231}," setup",[36,363,364],{"class":231}," lang",[36,366,367],{"class":225},"=",[36,369,370],{"class":46},"\"ts\"",[36,372,283],{"class":275},[36,374,376,379,382,385,388,392],{"class":38,"line":375},11,[36,377,378],{"class":42},"defineProps",[36,380,381],{"class":225},"\u003C{ ",[36,383,384],{"class":231},"path",[36,386,387],{"class":225},": ",[36,389,391],{"class":390},"sNl3T","string",[36,393,394],{"class":225}," }>()\n",[36,396,398,400,402],{"class":38,"line":397},12,[36,399,299],{"class":275},[36,401,358],{"class":279},[36,403,283],{"class":275},[14,405,406],{},"Invoked with those props:",[26,408,410],{"className":28,"code":409,"language":30,"meta":31,"style":31},"axon run @cody\u002Feslint-scout:eslint-scout --path src\u002Fauth.ts\n",[33,411,412],{"__ignoreMap":31},[36,413,414,416,419,422,425],{"class":38,"line":39},[36,415,43],{"class":42},[36,417,418],{"class":46}," run",[36,420,421],{"class":46}," @cody\u002Feslint-scout:eslint-scout",[36,423,424],{"class":279}," --path",[36,426,427],{"class":46}," src\u002Fauth.ts\n",[55,429,431],{"id":430},"why-this-is-its-own-kind","Why this is its own kind",[14,433,434],{},"For a long time, sharing an instruction meant wrapping it in a module — which\nmeant a build step, a config file with real surface area, and knowledge of how\nthe runtime loads things. That is a lot of machinery around what is, in the\nend, a string.",[14,436,437],{},"Most people who want to share something want to share a task, not a capability.\nPrompts exist so that is a one-command operation, and so the registry can carry\nwork as well as tooling.",[14,439,440,441,445],{},"Next: ",[74,442,444],{"href":443},"\u002Fdocs\u002Fv2\u002Fecosystem\u002Fpublishing-a-prompt","publish one",".",[447,448,449],"style",{},"html pre.shiki code .sCudf, html code.shiki .sCudf{--shiki-default:#DCDCAA}html pre.shiki code .sKc5r, html code.shiki .sKc5r{--shiki-default:#CE9178}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}html pre.shiki code .sYbnZ, html code.shiki .sYbnZ{--shiki-default:#C586C0}html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}html pre.shiki code .srRes, html code.shiki .srRes{--shiki-default:#808080}html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .sNl3T, html code.shiki .sNl3T{--shiki-default:#4EC9B0}",{"title":31,"searchDepth":115,"depth":115,"links":451},[452,453,454,455,456],{"id":57,"depth":115,"text":58},{"id":101,"depth":115,"text":102},{"id":200,"depth":115,"text":97},{"id":253,"depth":115,"text":254},{"id":430,"depth":115,"text":431},"md",{},"\u002Fdocs\u002Fv2\u002Fecosystem\u002Fprompts",{"title":5,"description":16},"docs\u002Fv2\u002Fecosystem\u002Fprompts","uVyXyw6CC07SyLJHDSBY7tKFomBeFZ9z6Rv628Pd8WE",1785368680008]