@agntk/agent-harness 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +41 -0
  3. package/README.md +445 -0
  4. package/defaults/agents/summarizer.md +49 -0
  5. package/defaults/instincts/lead-with-answer.md +24 -0
  6. package/defaults/instincts/qualify-before-recommending.md +40 -0
  7. package/defaults/instincts/read-before-edit.md +23 -0
  8. package/defaults/instincts/search-before-create.md +23 -0
  9. package/defaults/playbooks/ship-feature.md +31 -0
  10. package/defaults/rules/ask-before-assuming.md +35 -0
  11. package/defaults/rules/operations.md +35 -0
  12. package/defaults/rules/respect-the-user.md +39 -0
  13. package/defaults/skills/business-analyst.md +181 -0
  14. package/defaults/skills/content-marketer.md +184 -0
  15. package/defaults/skills/research.md +34 -0
  16. package/defaults/tools/example-web-search.md +60 -0
  17. package/defaults/workflows/daily-reflection.md +54 -0
  18. package/dist/agent-framework-K4GUIICH.js +344 -0
  19. package/dist/agent-framework-K4GUIICH.js.map +1 -0
  20. package/dist/analytics-RPT73WNM.js +12 -0
  21. package/dist/analytics-RPT73WNM.js.map +1 -0
  22. package/dist/auto-processor-OLE45UI3.js +13 -0
  23. package/dist/auto-processor-OLE45UI3.js.map +1 -0
  24. package/dist/chunk-274RV3YO.js +162 -0
  25. package/dist/chunk-274RV3YO.js.map +1 -0
  26. package/dist/chunk-4CWAGBNS.js +168 -0
  27. package/dist/chunk-4CWAGBNS.js.map +1 -0
  28. package/dist/chunk-4FDUOGSZ.js +69 -0
  29. package/dist/chunk-4FDUOGSZ.js.map +1 -0
  30. package/dist/chunk-5H34JPMB.js +199 -0
  31. package/dist/chunk-5H34JPMB.js.map +1 -0
  32. package/dist/chunk-6EMOEYGU.js +102 -0
  33. package/dist/chunk-6EMOEYGU.js.map +1 -0
  34. package/dist/chunk-A7BJPQQ6.js +236 -0
  35. package/dist/chunk-A7BJPQQ6.js.map +1 -0
  36. package/dist/chunk-AGAAFJEO.js +76 -0
  37. package/dist/chunk-AGAAFJEO.js.map +1 -0
  38. package/dist/chunk-BSKDOFRT.js +65 -0
  39. package/dist/chunk-BSKDOFRT.js.map +1 -0
  40. package/dist/chunk-CHJ5GNZC.js +100 -0
  41. package/dist/chunk-CHJ5GNZC.js.map +1 -0
  42. package/dist/chunk-CSL3ERUI.js +307 -0
  43. package/dist/chunk-CSL3ERUI.js.map +1 -0
  44. package/dist/chunk-DA7IKHC4.js +229 -0
  45. package/dist/chunk-DA7IKHC4.js.map +1 -0
  46. package/dist/chunk-DGUM43GV.js +11 -0
  47. package/dist/chunk-DGUM43GV.js.map +1 -0
  48. package/dist/chunk-DTTXPHFW.js +211 -0
  49. package/dist/chunk-DTTXPHFW.js.map +1 -0
  50. package/dist/chunk-FD55B3IO.js +204 -0
  51. package/dist/chunk-FD55B3IO.js.map +1 -0
  52. package/dist/chunk-FLZU44SV.js +230 -0
  53. package/dist/chunk-FLZU44SV.js.map +1 -0
  54. package/dist/chunk-GJNNR2RA.js +200 -0
  55. package/dist/chunk-GJNNR2RA.js.map +1 -0
  56. package/dist/chunk-GNUSHD2Y.js +111 -0
  57. package/dist/chunk-GNUSHD2Y.js.map +1 -0
  58. package/dist/chunk-GUJTBGVS.js +2212 -0
  59. package/dist/chunk-GUJTBGVS.js.map +1 -0
  60. package/dist/chunk-IZ6UZ3ZL.js +207 -0
  61. package/dist/chunk-IZ6UZ3ZL.js.map +1 -0
  62. package/dist/chunk-JKMGYWXB.js +197 -0
  63. package/dist/chunk-JKMGYWXB.js.map +1 -0
  64. package/dist/chunk-KFX54TQM.js +165 -0
  65. package/dist/chunk-KFX54TQM.js.map +1 -0
  66. package/dist/chunk-M7NXUK55.js +199 -0
  67. package/dist/chunk-M7NXUK55.js.map +1 -0
  68. package/dist/chunk-MPZ3BPUI.js +374 -0
  69. package/dist/chunk-MPZ3BPUI.js.map +1 -0
  70. package/dist/chunk-OC6YSTDX.js +119 -0
  71. package/dist/chunk-OC6YSTDX.js.map +1 -0
  72. package/dist/chunk-RC6MEZB6.js +469 -0
  73. package/dist/chunk-RC6MEZB6.js.map +1 -0
  74. package/dist/chunk-RY3ZFII7.js +3440 -0
  75. package/dist/chunk-RY3ZFII7.js.map +1 -0
  76. package/dist/chunk-TAT6JU3X.js +167 -0
  77. package/dist/chunk-TAT6JU3X.js.map +1 -0
  78. package/dist/chunk-UDZIS2AQ.js +79 -0
  79. package/dist/chunk-UDZIS2AQ.js.map +1 -0
  80. package/dist/chunk-UPLBF4RZ.js +115 -0
  81. package/dist/chunk-UPLBF4RZ.js.map +1 -0
  82. package/dist/chunk-UWQTZMNI.js +154 -0
  83. package/dist/chunk-UWQTZMNI.js.map +1 -0
  84. package/dist/chunk-W4T7PGI2.js +346 -0
  85. package/dist/chunk-W4T7PGI2.js.map +1 -0
  86. package/dist/chunk-XTBKL5BI.js +111 -0
  87. package/dist/chunk-XTBKL5BI.js.map +1 -0
  88. package/dist/chunk-YIJY5DBV.js +399 -0
  89. package/dist/chunk-YIJY5DBV.js.map +1 -0
  90. package/dist/chunk-YUFNYN2H.js +242 -0
  91. package/dist/chunk-YUFNYN2H.js.map +1 -0
  92. package/dist/chunk-Z2PUCXTZ.js +94 -0
  93. package/dist/chunk-Z2PUCXTZ.js.map +1 -0
  94. package/dist/chunk-ZZJOFKAT.js +13 -0
  95. package/dist/chunk-ZZJOFKAT.js.map +1 -0
  96. package/dist/cli/index.js +3661 -0
  97. package/dist/cli/index.js.map +1 -0
  98. package/dist/config-WVMRUOCA.js +13 -0
  99. package/dist/config-WVMRUOCA.js.map +1 -0
  100. package/dist/context-loader-3ORBPMHJ.js +13 -0
  101. package/dist/context-loader-3ORBPMHJ.js.map +1 -0
  102. package/dist/conversation-QDEIDQPH.js +22 -0
  103. package/dist/conversation-QDEIDQPH.js.map +1 -0
  104. package/dist/cost-tracker-RS3W7SVY.js +24 -0
  105. package/dist/cost-tracker-RS3W7SVY.js.map +1 -0
  106. package/dist/delegate-VJCJLYEK.js +29 -0
  107. package/dist/delegate-VJCJLYEK.js.map +1 -0
  108. package/dist/emotional-state-VQVRA6ED.js +206 -0
  109. package/dist/emotional-state-VQVRA6ED.js.map +1 -0
  110. package/dist/env-discovery-2BLVMAIM.js +251 -0
  111. package/dist/env-discovery-2BLVMAIM.js.map +1 -0
  112. package/dist/export-6GCYHEHQ.js +165 -0
  113. package/dist/export-6GCYHEHQ.js.map +1 -0
  114. package/dist/graph-YUIPOSOO.js +14 -0
  115. package/dist/graph-YUIPOSOO.js.map +1 -0
  116. package/dist/harness-LCHA3DWP.js +10 -0
  117. package/dist/harness-LCHA3DWP.js.map +1 -0
  118. package/dist/harness-WE4SLCML.js +26 -0
  119. package/dist/harness-WE4SLCML.js.map +1 -0
  120. package/dist/health-NZ6WNIMV.js +23 -0
  121. package/dist/health-NZ6WNIMV.js.map +1 -0
  122. package/dist/index.d.ts +3612 -0
  123. package/dist/index.js +13501 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/indexer-LONANRRM.js +16 -0
  126. package/dist/indexer-LONANRRM.js.map +1 -0
  127. package/dist/instinct-learner-SRM72DHF.js +20 -0
  128. package/dist/instinct-learner-SRM72DHF.js.map +1 -0
  129. package/dist/intake-4M3HNU43.js +21 -0
  130. package/dist/intake-4M3HNU43.js.map +1 -0
  131. package/dist/intelligence-HJOCA4SJ.js +1081 -0
  132. package/dist/intelligence-HJOCA4SJ.js.map +1 -0
  133. package/dist/journal-WANJL3MI.js +24 -0
  134. package/dist/journal-WANJL3MI.js.map +1 -0
  135. package/dist/loader-C3TKIKZR.js +23 -0
  136. package/dist/loader-C3TKIKZR.js.map +1 -0
  137. package/dist/mcp-WTQJJZAO.js +15 -0
  138. package/dist/mcp-WTQJJZAO.js.map +1 -0
  139. package/dist/mcp-discovery-WPAQFL6S.js +377 -0
  140. package/dist/mcp-discovery-WPAQFL6S.js.map +1 -0
  141. package/dist/mcp-installer-6O2XXD3V.js +394 -0
  142. package/dist/mcp-installer-6O2XXD3V.js.map +1 -0
  143. package/dist/metrics-KXGNFAAB.js +20 -0
  144. package/dist/metrics-KXGNFAAB.js.map +1 -0
  145. package/dist/primitive-registry-I6VTIR4W.js +512 -0
  146. package/dist/primitive-registry-I6VTIR4W.js.map +1 -0
  147. package/dist/project-discovery-C4UMD7JI.js +246 -0
  148. package/dist/project-discovery-C4UMD7JI.js.map +1 -0
  149. package/dist/provider-LQHQX7Z7.js +26 -0
  150. package/dist/provider-LQHQX7Z7.js.map +1 -0
  151. package/dist/provider-SXPQZ74H.js +28 -0
  152. package/dist/provider-SXPQZ74H.js.map +1 -0
  153. package/dist/rate-limiter-RLRVM325.js +22 -0
  154. package/dist/rate-limiter-RLRVM325.js.map +1 -0
  155. package/dist/rule-engine-YGQ3RYZM.js +182 -0
  156. package/dist/rule-engine-YGQ3RYZM.js.map +1 -0
  157. package/dist/scaffold-A3VRRCBV.js +347 -0
  158. package/dist/scaffold-A3VRRCBV.js.map +1 -0
  159. package/dist/scheduler-XHHIVHRI.js +397 -0
  160. package/dist/scheduler-XHHIVHRI.js.map +1 -0
  161. package/dist/search-V3W5JMJG.js +75 -0
  162. package/dist/search-V3W5JMJG.js.map +1 -0
  163. package/dist/semantic-search-2DTOO5UX.js +241 -0
  164. package/dist/semantic-search-2DTOO5UX.js.map +1 -0
  165. package/dist/serve-DTQ3HENY.js +291 -0
  166. package/dist/serve-DTQ3HENY.js.map +1 -0
  167. package/dist/sessions-CZGVXKQE.js +21 -0
  168. package/dist/sessions-CZGVXKQE.js.map +1 -0
  169. package/dist/sources-RW5DT56F.js +32 -0
  170. package/dist/sources-RW5DT56F.js.map +1 -0
  171. package/dist/starter-packs-76YUVHEU.js +893 -0
  172. package/dist/starter-packs-76YUVHEU.js.map +1 -0
  173. package/dist/state-GMXILIHW.js +13 -0
  174. package/dist/state-GMXILIHW.js.map +1 -0
  175. package/dist/state-merge-NKO5FRBA.js +174 -0
  176. package/dist/state-merge-NKO5FRBA.js.map +1 -0
  177. package/dist/telemetry-UC6PBXC7.js +22 -0
  178. package/dist/telemetry-UC6PBXC7.js.map +1 -0
  179. package/dist/tool-executor-MJ7IG7PQ.js +28 -0
  180. package/dist/tool-executor-MJ7IG7PQ.js.map +1 -0
  181. package/dist/tools-DZ4KETET.js +20 -0
  182. package/dist/tools-DZ4KETET.js.map +1 -0
  183. package/dist/types-EW7AIB3R.js +18 -0
  184. package/dist/types-EW7AIB3R.js.map +1 -0
  185. package/dist/types-WGDLSPO6.js +16 -0
  186. package/dist/types-WGDLSPO6.js.map +1 -0
  187. package/dist/universal-installer-QGS4SJGX.js +578 -0
  188. package/dist/universal-installer-QGS4SJGX.js.map +1 -0
  189. package/dist/validator-7WXMDIHH.js +22 -0
  190. package/dist/validator-7WXMDIHH.js.map +1 -0
  191. package/dist/verification-gate-FYXUX6LH.js +246 -0
  192. package/dist/verification-gate-FYXUX6LH.js.map +1 -0
  193. package/dist/versioning-Z3XNE2Q2.js +271 -0
  194. package/dist/versioning-Z3XNE2Q2.js.map +1 -0
  195. package/dist/watcher-ISJC7YKL.js +109 -0
  196. package/dist/watcher-ISJC7YKL.js.map +1 -0
  197. package/dist/web-server-DD7ZOP46.js +28 -0
  198. package/dist/web-server-DD7ZOP46.js.map +1 -0
  199. package/package.json +76 -0
  200. package/sources.yaml +121 -0
  201. package/templates/assistant/CORE.md +24 -0
  202. package/templates/assistant/SYSTEM.md +24 -0
  203. package/templates/assistant/config.yaml +51 -0
  204. package/templates/base/CORE.md +17 -0
  205. package/templates/base/SYSTEM.md +24 -0
  206. package/templates/base/config.yaml +51 -0
  207. package/templates/claude-opus/config.yaml +51 -0
  208. package/templates/code-reviewer/CORE.md +25 -0
  209. package/templates/code-reviewer/SYSTEM.md +30 -0
  210. package/templates/code-reviewer/config.yaml +51 -0
  211. package/templates/gpt4/config.yaml +51 -0
  212. package/templates/local/config.yaml +51 -0
package/sources.yaml ADDED
@@ -0,0 +1,121 @@
1
+ # Agent Harness — Known Community Sources
2
+ # These sources are searched by `harness discover` to find
3
+ # skills, agents, rules, playbooks, hooks, templates, and MCP servers.
4
+ #
5
+ # Format:
6
+ # name: Display name
7
+ # url: GitHub repo URL or registry API endpoint
8
+ # type: github | registry | api
9
+ # content: What kind of content this source provides
10
+ # tags: Searchable tags
11
+ #
12
+ # Community members can add sources by PR or via `harness sources add`.
13
+
14
+ version: "1.0"
15
+
16
+ sources:
17
+ # ── MCP Registries ────────────────────────────────────────────────────────
18
+ - name: "MCP Official Registry"
19
+ url: "https://registry.modelcontextprotocol.io"
20
+ type: registry
21
+ content: [mcp]
22
+ tags: [mcp, tools, official]
23
+ description: "Official Model Context Protocol server registry"
24
+
25
+ - name: "Smithery.ai"
26
+ url: "https://smithery.ai"
27
+ type: registry
28
+ content: [mcp]
29
+ tags: [mcp, tools, marketplace]
30
+ description: "MCP server marketplace with ratings and reviews"
31
+
32
+ - name: "mcp.run"
33
+ url: "https://www.mcp.run"
34
+ type: registry
35
+ content: [mcp]
36
+ tags: [mcp, tools, hosted]
37
+ description: "Hosted MCP server registry"
38
+
39
+ - name: "Glama MCP Servers"
40
+ url: "https://glama.ai/mcp/servers"
41
+ type: registry
42
+ content: [mcp]
43
+ tags: [mcp, tools, curated]
44
+ description: "Curated MCP server directory"
45
+
46
+ # ── Skills & Agents ───────────────────────────────────────────────────────
47
+ - name: "Anthropic Skills"
48
+ url: "https://github.com/anthropics/skills"
49
+ type: github
50
+ content: [skills]
51
+ tags: [skills, official, claude, anthropic]
52
+ description: "Official Anthropic Agent Skills repository — pdf, docx, pptx, xlsx, mcp-builder, skill-creator, canvas-design, and more"
53
+
54
+ - name: "awesome-claude-code"
55
+ url: "https://github.com/hesreallyhim/awesome-claude-code"
56
+ type: github
57
+ content: [skills, agents, hooks, templates]
58
+ tags: [skills, agents, curated, awesome-list]
59
+ description: "Canonical curated list of Claude Code resources — skills, agents, hooks, plugins, slash commands"
60
+
61
+ - name: "wshobson/agents"
62
+ url: "https://github.com/wshobson/agents"
63
+ type: github
64
+ content: [agents, skills]
65
+ tags: [agents, skills, large-collection]
66
+ description: "112 agents and 146 skills for Claude Code (organized as plugins/<topic>/agents/)"
67
+ stats:
68
+ agents: 112
69
+ skills: 146
70
+
71
+ # ── Hooks & Rules ─────────────────────────────────────────────────────────
72
+ - name: "karanb192/claude-code-hooks"
73
+ url: "https://github.com/karanb192/claude-code-hooks"
74
+ type: github
75
+ content: [hooks]
76
+ tags: [hooks, lifecycle, community]
77
+ description: "Community collection of Claude Code lifecycle hooks (no official Anthropic hooks repo exists)"
78
+
79
+ # ── Templates & Plugins ───────────────────────────────────────────────────
80
+ - name: "Anthropic Plugins (Official)"
81
+ url: "https://github.com/anthropics/claude-plugins-official"
82
+ type: github
83
+ content: [templates, plugins]
84
+ tags: [plugins, templates, official, anthropic]
85
+ description: "Official Anthropic-managed directory of high-quality Claude Code plugins"
86
+
87
+ - name: "Anthropic Plugins (Community)"
88
+ url: "https://github.com/anthropics/claude-plugins-community"
89
+ type: github
90
+ content: [templates, plugins]
91
+ tags: [plugins, templates, community, anthropic]
92
+ description: "Community plugin marketplace mirror for Claude Code (Apache-2.0)"
93
+
94
+ # ── Lossy analogues — review before enabling ───────────────────────────────
95
+ # These were proposed as replacements for sources that turned out to be
96
+ # fabricated (faf-skills, oh-my-claudecode, obey, VibeGuard). They are real
97
+ # repos but DO NOT match the original descriptions or content shape. Review
98
+ # each one and uncomment if it adds value, or delete the block if not.
99
+ #
100
+ # - name: "daymade/claude-code-skills"
101
+ # url: "https://github.com/daymade/claude-code-skills"
102
+ # type: github
103
+ # content: [skills]
104
+ # tags: [skills, community, unverified]
105
+ # description: "REVIEW: closest analogue to mlefrancois/faf-skills (fabricated). Not .faf format."
106
+ #
107
+ # - name: "davila7/claude-code-templates"
108
+ # url: "https://github.com/davila7/claude-code-templates"
109
+ # type: github
110
+ # content: [templates]
111
+ # tags: [templates, community, unverified]
112
+ # description: "REVIEW: closest analogue to nicobailon/oh-my-claudecode (fabricated). Templates, not skills/agents."
113
+ #
114
+ # - name: "disler/claude-code-hooks-mastery"
115
+ # url: "https://github.com/disler/claude-code-hooks-mastery"
116
+ # type: github
117
+ # content: [hooks]
118
+ # tags: [hooks, reference, unverified]
119
+ # description: "REVIEW: closest analogue to nicobailon/obey (fabricated). Reference repo, not curated collection."
120
+
121
+ # No replacement found for stormrageqb/VibeGuard — the GitHub user does not exist.
@@ -0,0 +1,24 @@
1
+ # {{AGENT_NAME}}
2
+
3
+ ## Purpose
4
+ I am {{AGENT_NAME}}, a personal assistant agent. I help my creator manage tasks, research topics, draft communications, and stay organized.
5
+
6
+ ## Values
7
+ - **Reliability**: I follow through on every task.
8
+ - **Clarity**: I communicate concisely and precisely.
9
+ - **Proactivity**: I anticipate needs and suggest improvements.
10
+ - **Discretion**: I handle sensitive information carefully.
11
+ - **Efficiency**: I minimize waste of time, tokens, and attention.
12
+
13
+ ## Capabilities
14
+ - Research and summarize topics
15
+ - Draft and edit written communications
16
+ - Manage task lists and priorities
17
+ - Track deadlines and follow-ups
18
+ - Organize information and take notes
19
+
20
+ ## Ethics
21
+ - I never fabricate information — I say when I don't know.
22
+ - I never share private information outside authorized channels.
23
+ - I never take irreversible actions without confirmation.
24
+ - I prioritize accuracy over speed.
@@ -0,0 +1,24 @@
1
+ # System
2
+
3
+ You are {{AGENT_NAME}}, a personal assistant. This file defines how you boot and operate.
4
+
5
+ ## Boot Sequence
6
+ 1. Load CORE.md — your identity
7
+ 2. Load state.md — current tasks and context
8
+ 3. Load memory/scratch.md — working memory
9
+ 4. Load rules and instincts — behavioral guidelines
10
+ 5. Load skills and playbooks — your capabilities
11
+
12
+ ## Operating Style
13
+ - Start every response with the key takeaway or answer
14
+ - Use bullet points for lists of 3+ items
15
+ - Flag uncertainties explicitly rather than guessing
16
+ - When given a research task, provide sources or reasoning
17
+ - When drafting text, match the tone and formality of the context
18
+
19
+ ## File Ownership
20
+ | Owner | Files | Can Modify |
21
+ |-------|-------|------------|
22
+ | Human | CORE.md, rules/*, config.yaml | Only human edits |
23
+ | Agent | instincts/*, memory/sessions/*, state.md | During/after interactions |
24
+ | Infrastructure | */_index.md, memory/journal/* | Auto-scripts only |
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: anthropic/claude-sonnet-4
8
+ max_tokens: 200000
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 10000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 14
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 10
31
+ # per_hour: 100
32
+ # per_day: 500
33
+
34
+ # budget:
35
+ # daily_limit_usd: 5.00
36
+ # monthly_limit_usd: 100.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"
@@ -0,0 +1,17 @@
1
+ # {{AGENT_NAME}}
2
+
3
+ ## Purpose
4
+ {{PURPOSE}}
5
+
6
+ ## Values
7
+ - **Honesty**: I tell the truth, even when it's uncomfortable.
8
+ - **Action**: I bias toward doing, not discussing.
9
+ - **Autonomy**: I act independently within my boundaries.
10
+ - **Growth**: I learn from every interaction.
11
+ - **Protection**: I guard my creator's time, money, and reputation.
12
+
13
+ ## Ethics
14
+ - I never deceive my creator or others.
15
+ - I never take irreversible actions without confirmation.
16
+ - I never expose secrets, credentials, or private information.
17
+ - I escalate when uncertain rather than guessing.
@@ -0,0 +1,24 @@
1
+ # System
2
+
3
+ You are {{AGENT_NAME}}. This file defines how you boot and operate.
4
+
5
+ ## Boot Sequence
6
+ 1. Load CORE.md — your identity (never changes)
7
+ 2. Load state.md — where you left off
8
+ 3. Load memory/scratch.md — current working memory
9
+ 4. Load indexes — scan all primitive directories
10
+ 5. Load relevant files based on current task
11
+
12
+ ## File Ownership
13
+ | Owner | Files | Can Modify |
14
+ |-------|-------|------------|
15
+ | Human | CORE.md, rules/*, config.yaml | Only human edits |
16
+ | Agent | instincts/*, memory/sessions/*, state.md (goals) | During/after interactions |
17
+ | Infrastructure | */_index.md, memory/journal/* | Auto-scripts only |
18
+
19
+ ## Context Loading Strategy
20
+ - L0 (~5 tokens): One-line summary — decides relevance
21
+ - L1 (~50-100 tokens): Paragraph — enough to work with
22
+ - L2 (full body): Complete content — loaded only when actively needed
23
+ - Always load CORE + state + scratch first
24
+ - Load primitives at the appropriate level based on token budget
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: anthropic/claude-sonnet-4
8
+ max_tokens: 200000
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 10000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 7
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 10
31
+ # per_hour: 100
32
+ # per_day: 500
33
+
34
+ # budget:
35
+ # daily_limit_usd: 5.00
36
+ # monthly_limit_usd: 100.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: anthropic/claude-opus-4.6
8
+ max_tokens: 200000
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 10000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 7
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 10
31
+ # per_hour: 100
32
+ # per_day: 500
33
+
34
+ # budget:
35
+ # daily_limit_usd: 10.00
36
+ # monthly_limit_usd: 200.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"
@@ -0,0 +1,25 @@
1
+ # {{AGENT_NAME}}
2
+
3
+ ## Purpose
4
+ I am {{AGENT_NAME}}, a code review agent. I analyze code changes for correctness, security, performance, and maintainability. I help my creator ship higher-quality software.
5
+
6
+ ## Values
7
+ - **Thoroughness**: I examine every change carefully.
8
+ - **Objectivity**: I evaluate code on its merits, not assumptions.
9
+ - **Constructiveness**: I suggest improvements, not just problems.
10
+ - **Security-first**: I prioritize identifying vulnerabilities.
11
+ - **Pragmatism**: I balance ideal code with shipping deadlines.
12
+
13
+ ## Capabilities
14
+ - Review pull requests and diffs
15
+ - Identify bugs, logic errors, and edge cases
16
+ - Detect security vulnerabilities (OWASP top 10)
17
+ - Suggest performance improvements
18
+ - Check adherence to project coding standards
19
+ - Flag missing tests or documentation
20
+
21
+ ## Ethics
22
+ - I never approve code I haven't fully reviewed.
23
+ - I never dismiss concerns without explanation.
24
+ - I escalate critical security issues immediately.
25
+ - I distinguish between blocking issues and suggestions.
@@ -0,0 +1,30 @@
1
+ # System
2
+
3
+ You are {{AGENT_NAME}}, a code review agent. This file defines how you boot and operate.
4
+
5
+ ## Boot Sequence
6
+ 1. Load CORE.md — your identity
7
+ 2. Load state.md — current review queue
8
+ 3. Load rules/ — project coding standards
9
+ 4. Load skills/ — review techniques and checklists
10
+ 5. Load memory/scratch.md — working notes on current review
11
+
12
+ ## Review Process
13
+ 1. Read the full diff or file changes
14
+ 2. Identify the intent of the change
15
+ 3. Check for correctness, security, and performance
16
+ 4. Note adherence to project standards
17
+ 5. Provide structured feedback with severity levels
18
+
19
+ ## Feedback Format
20
+ - **Critical**: Bugs, security issues, data loss risks — must fix before merge
21
+ - **Warning**: Performance issues, maintainability concerns — should fix
22
+ - **Suggestion**: Style improvements, alternative approaches — optional
23
+ - **Praise**: Good patterns worth highlighting — reinforce good practices
24
+
25
+ ## File Ownership
26
+ | Owner | Files | Can Modify |
27
+ |-------|-------|------------|
28
+ | Human | CORE.md, rules/*, config.yaml | Only human edits |
29
+ | Agent | instincts/*, memory/sessions/*, state.md | During/after interactions |
30
+ | Infrastructure | */_index.md, memory/journal/* | Auto-scripts only |
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: anthropic/claude-sonnet-4
8
+ max_tokens: 200000
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 15000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 30
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 10
31
+ # per_hour: 100
32
+ # per_day: 500
33
+
34
+ # budget:
35
+ # daily_limit_usd: 5.00
36
+ # monthly_limit_usd: 100.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: openai/gpt-4o
8
+ max_tokens: 128000
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 10000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 7
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 10
31
+ # per_hour: 100
32
+ # per_day: 500
33
+
34
+ # budget:
35
+ # daily_limit_usd: 5.00
36
+ # monthly_limit_usd: 100.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"
@@ -0,0 +1,51 @@
1
+ agent:
2
+ name: {{AGENT_NAME}}
3
+ version: "0.1.0"
4
+
5
+ model:
6
+ provider: openrouter
7
+ id: meta-llama/llama-3.3-70b-instruct
8
+ max_tokens: 131072
9
+ max_retries: 2
10
+ # timeout_ms: 60000
11
+
12
+ runtime:
13
+ scratchpad_budget: 5000
14
+ quiet_hours:
15
+ start: 23
16
+ end: 6
17
+ timezone: America/New_York
18
+
19
+ memory:
20
+ session_retention_days: 7
21
+ journal_retention_days: 365
22
+
23
+ channels:
24
+ primary: cli
25
+
26
+ extensions:
27
+ directories: []
28
+
29
+ # rate_limits:
30
+ # per_minute: 20
31
+ # per_hour: 200
32
+ # per_day: 1000
33
+
34
+ # budget:
35
+ # daily_limit_usd: 1.00
36
+ # monthly_limit_usd: 20.00
37
+ # enforce: true
38
+
39
+ # mcp:
40
+ # servers:
41
+ # # Example: local filesystem MCP server
42
+ # # filesystem:
43
+ # # transport: stdio
44
+ # # command: npx
45
+ # # args: ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
46
+ # # Example: remote HTTP MCP server
47
+ # # api-server:
48
+ # # transport: http
49
+ # # url: https://example.com/mcp
50
+ # # headers:
51
+ # # Authorization: "Bearer ${API_KEY}"