An agent is an OpenCode agent: markdown at baseline, and past that your own tools, plugins, models and a per-capability permission tree. A grant in kortix.yaml decides what it reaches — its machine, its connectors and channels, its secrets, its skills. A skill encodes how your company does one specific job. Both are files in your repo. Both are reviewed like code.
OpenCode-native · Versioned · Deny by default · Human-merged
An agent has exactly two homes. The markdown file carries how it thinks — its prompt, its mode, its model, its permission tree — and it is a stock OpenCode agent file, because Kortix adds no dialect to it. The manifest block carries what it may touch. Nothing about an agent lives in a database you cannot read.
---description: "Generic Kortix general knowledge worker. Hands-on, full tool access, handles coding / research / content / ops / data tasks end-to-end in an isolated session sandbox. Edit this file to specialize."mode: primarypermission: allow--- You are a **Kortix general knowledge worker**. You are hands-on: you read, edit, run, search, fetch, andship. The session you are in is an isolated sandbox — anephemeral branch of this repo, your own /workspace — soyou can install, experiment, and recover freely. Only whatyou commit and push survives. ## How you work 1. **Understand first.** Read the relevant files, search the codebase or web, gather the context. Do not guess.2. **Plan briefly.** For non-trivial work, jot the approach to your todo list before touching anything.3. **Do the work.** Edit, write, run, fetch.4. **Verify.** Run the tests, hit the dev server, check the output. Whatever proves the change actually works.5. **Commit small, meaningful chunks.** Each commit leaves the repo in a working state.# behavior lives in the .md — this block is governance onlydefault_agent: kortix agents: kortix: connectors: all secrets: all skills: all kortix_cli: all release-bot: # this one gets almost nothing, on purpose connectors: [github] secrets: [GITHUB_AGENT_TOKEN] kortix_cli: [project.cr.open] # a grant you leave out resolves to none.# there is no implicit access. grant explicitly.The grant block covers the whole surface, not just tools: which sandbox image the agent boots, which connectors and channels it may call, which secrets it may receive, which skills it may invoke, and what it may do to Kortix itself. An agent with no grants gets none of it. You grant explicitly, or the answer is no — and on top of that sits a ceiling nothing in the config can lift.
---description: "Reflects on recent project activity and curates .kortix/memory/ — the project brain. Runs on a cron and ends every run by opening a single change request."mode: primarypermission: edit: allow bash: "git *": allow "kortix cr *": allow "kortix sessions *": allow "*": ask---Set one action for a whole capability — read, edit, bash, task, websearch, or reaching outside the workspace — or add glob rules underneath it, so git push asks while everything else is allowed.
A skill is a directory with a SKILL.md at its root. Frontmatter names it and says when to reach for it; the body is the procedure. Every session can load it, so the thing you explained to one agent in March is still true for every agent in November.
---name: agent-browserdescription: Browser automation CLI for AI agents. Use when the user needs to interact with websites — navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps. Triggers include "open a website", "fill out a form", "scrape data from a page", "test this web app", "login to a site".--- # agent-browser Fast browser automation CLI for AI agents. Chrome via CDPwith accessibility-tree snapshots and compact @eN refs. The CLI and a headless Chromium are **already installed**in this Kortix sandbox and on $PATH — you do not need torun any install step. ## Start here This file is a discovery stub, not the usage guide. Beforerunning any command, load the workflow content: ```bashagent-browser skills get core```An agent decides whether to load a skill from its name and description alone. A vague description means the skill never fires — which is why the description reads like a list of the things a person would actually say.
A skill directory can carry scripts, references and assets beside the markdown. The instruction and the tool that executes it ship together, so a procedure does not rot away from the thing it drives.
The skills grant on an agent controls which skills it may load. A finance agent does not get handed the deployment runbook because it happened to be in the repo.
Agents and skills are not rows in a table you cannot see. They are markdown in the repo the cloud computer clones, so changing your workforce is the same act as changing your code — and it gets the same review.
Browse agents, skills and whole projects, add one to your project in a click, and what arrives is files in your repo — not a dependency you rent. It is labelled beta because sources and updates are still moving, and it is on for every project.
Browse the marketplace without signing in. Kortix ships its own registry — 62 agents, 61 skills and 62 project templates — and you can switch on curated outside registries with one click. None load by default.
One button. It starts an agent session that reads the item’s source and merges what fits into your project’s own files, rather than dropping a package in and hoping.
If the item needs a key or a connected app, the agent hands you a fill-in link in the same turn. You never paste a credential into a chat, and the agent never sees the value.
The session opens a change request. You read exactly which files are about to join your company, and merge when you are happy. Nothing lands unreviewed.
One thing this is not: a package manager. There is no lockfile, no version pin and no automatic update — an item you add becomes your own files, exactly like code you wrote. That is a deliberate trade, and it is the one we would make again.
Browse the marketplaceOpen source and self-hostable. Any model, your keys. Kortix Cloud, your own VPC, or fully on-prem.