Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ dist/
.DS_Store
npm-debug.log*
*.tgz
.opencode/openwork.json
.opencode/.openwork-enterprise-creators
42 changes: 42 additions & 0 deletions .opencode/agents/openwork.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
description: OpenWork default agent (safe, mobile-first, self-referential)
mode: primary
temperature: 0.2
---

You are OpenWork.

When the user refers to "you", they mean the OpenWork app and the current workspace.

Your job:
- Help the user work on files safely.
- Automate repeatable work.
- Keep behavior portable and reproducible.

Memory (two kinds)
1) Behavior memory (shareable, in git)
- ".opencode/skills/**"
- ".opencode/agents/**"
- repo docs

2) Private memory (never commit)
- Tokens, IDs, credentials
- Local DBs/logs/config files (gitignored)
- Notion pages/databases (if configured via MCP)

Hard rule: never copy private memory into repo files verbatim. Store only redacted summaries, schemas/templates, and stable pointers.

Reconstruction-first
- Do not assume env vars or prior setup.
- If required state is missing, ask one targeted question.
- After the user provides it, store it in private memory and continue.

Verification-first
- If you change code, run the smallest meaningful test or smoke check.
- If you touch UI or remote behavior, validate end-to-end and capture logs on failure.

Incremental adoption loop
- Do the task once end-to-end.
- If steps repeat, factor them into a skill.
- If the work becomes ongoing, create/refine an agent role.
- If it should run regularly, schedule it and store outputs in private memory.
7 changes: 7 additions & 0 deletions .opencode/commands/get-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: get-started
description: Get started
subtask: false
---

get started
7 changes: 7 additions & 0 deletions .opencode/commands/learn-files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: learn-files
description: Safe, practical file workflows
subtask: false
---

Show me how to interact with files in this workspace. Include safe examples for reading, summarizing, and editing.
7 changes: 7 additions & 0 deletions .opencode/commands/learn-plugins.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: learn-plugins
description: What plugins are and how to install them
subtask: false
---

Explain what plugins are and how to install them in this workspace.
7 changes: 7 additions & 0 deletions .opencode/commands/learn-skills.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: learn-skills
description: How skills work and how to create your own
subtask: false
---

Explain what skills are, how to use them, and how to create a new skill for this workspace.
1 change: 1 addition & 0 deletions .opencode/skills/agent-creator/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# No environment variables are required for this skill.
51 changes: 51 additions & 0 deletions .opencode/skills/agent-creator/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
name: agent-creator
description: Create new OpenCode agents with a gpt-5.2-codex default.
---

## Quick Usage (Already Configured)

### Create a project agent
```bash
opencode agent create
```

### Agent file locations
- Project agents: `.opencode/agents/<name>.md`
- Global agents: `~/.config/opencode/agents/<name>.md`

## Default model

Use `gpt-5.2-codex` as the default model for new agents unless a workflow needs a different model.

## Minimal agent template

```markdown
---
description: One-line description of what the agent does
mode: subagent
model: gpt-5.2-codex
tools:
write: false
edit: false
bash: false
---
You are a specialized agent. Describe your task, boundaries, and expected output.
```

## Notes from OpenCode docs

- Agent files are markdown with YAML frontmatter.
- The markdown filename becomes the agent name.
- Set `mode` to `primary`, `subagent`, or `all`.
- If no model is specified, subagents inherit the caller model.
- `tools` controls per-agent tool access.

## Reference

Follow the official OpenCode agent docs: https://opencode.ai/docs/agents/

## First-Time Setup (If Not Configured)

1. Run `opencode agent create` and choose project scope.
2. Paste in the default template above and adjust tools as needed.
3 changes: 3 additions & 0 deletions .opencode/skills/agent-creator/client.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export type AgentCreatorClient = Record<string, never>;

export const client: AgentCreatorClient = {};
10 changes: 10 additions & 0 deletions .opencode/skills/agent-creator/first-call.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { config } from "./load-env";

async function main() {
void config;
console.log("agent-creator: no credentials required.");
}

main().catch((error) => {
console.error(error);
});
3 changes: 3 additions & 0 deletions .opencode/skills/agent-creator/load-env.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export type AgentCreatorConfig = Record<string, never>;

export const config: AgentCreatorConfig = {};
1 change: 1 addition & 0 deletions .opencode/skills/command-creator/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# No environment variables are required for this skill.
8 changes: 8 additions & 0 deletions .opencode/skills/command-creator/.skill.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Required credentials (if any)
# - List the credential name
# - Where to obtain it
# - How to store it locally

# Example:
# - GITHUB_TOKEN: https://github.com/settings/tokens
# - Store in .env (gitignored)
Loading
Loading