Custom setup for Opencode: agents (system prompts defining a role), skills (instruction files loaded on demand) and a configuration snippet. It encodes my own workflow. Published as is.
How to install
Ask Opencode to install it:
Install https://coulon-jm.fr/opencode/agents.md
The agent downloads the files into ~/.config/opencode/, merges the configuration snippet, and reloads the configuration.
How to update
Ask Opencode to update it:
Update https://coulon-jm.fr/opencode/agents.md
If you ask opencode to "update its agents and skills", it should do the proper thing autonomously, but providing the URL is always clearer.
General behavior
Agents will behave for less autonomous operations, they will behave more like a peer that you work with. Agents will use local files in your current directory to keep track of tasks: that will improve efficiency of low complexity LLMs.
If you need a plain, straightforward agent: use Actions. Actions mode executes prompts in a straightforward way with no hidden mechanics, but it's limited to 12 rounds to avoid long unattended operations.
If you built a clean TODO list, you can ask the Code agent to work autonomously: it will execute tasks one by one and stop if anything looks wrong. All agents are made extra careful and cautious, they won't iterate wildly.
Agents
Seven agent files replace the two built-in agents. Primary agents are selected by the user. Subagents are launched by another agent to offload work.
| Agent | Mode | Role |
|---|---|---|
| Project | primary | Writing plans and specifications, managing todo lists, writing documentation. |
| Code | primary | Writing code from specs and plan files. Reports the issues found while implementing. |
| Actions | primary | Doing isolated actions on this computer or on the web, through the FoxPilot Firefox extension. |
| Research | primary | Autonomous research on a topic. Searches online and writes a report. |
| Brainstorm | primary | Interactive discussion to design things step by step, one topic at a time. Records pending topics in a file. |
| Subresearch | subagent | Does the actual research work for the Research agent. |
| Subagent | subagent | Executes simple but tedious tasks, such as searching a codebase or a documentation site. |
Skills
Skills are loaded on demand instead of sitting in every prompt.
| Skill | Purpose |
|---|---|
| speccing | Writing and editing specification files. |
| spec-implementation | Implementing a project from its specifications. |
| planning | Writing and editing plan files. |
| plan-implementation | Starting the implementation of a plan file. |
| item-list | Handling a file that holds a single tracked list: todo, issues, workarounds, steps. |
| session-history | Reading or searching a past session transcript to recover lost context. |
Impacting choices
These choices suit my own preferences and will not suit everybody.
- Question tool is disabled: it breaks the flow and pollutes the user's mind.
- Built-in agents are disabled: this discards the model-specific system prompts.
- Expression style is enforced: simpler language, pushback instead of compliance, efficiency over language quality.
- Subagents run on the free "Big Pickle" model (opencode/big-pickle).
- Permissions are restricted per agent: Project writes markdown only, Brainstorm keeps its notes in two files, Research can only dispatch to Subresearch, Subresearch cannot edit files.