viserys-agent
AGENTS.md560 starsChanged 50 days agoApache-2.0View on GitHub
Guidance for AI coding agents working in the viserys repository. When the user mentions Viserys, asks how to activate it, or asks whether it works in another project, do NOT assume. Follow these steps: If the global agent already exists, say so and confirm it is active. Do not offer to reinstall it. viserys is a self-contained engineering workflow pack for AI coding agents. It packages the planning, decomposition, verification, and review discipline that senior engineers apply, so an agent…
- Commits and pushes
We split this AGENTS.md into the rules it gives an agent
15 rules. About 1 is common, 8 are distinctive, and 6 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 9
When the user mentions Viserys, asks how to activate it, or asks whether it works in another project, do NOT assume.
- Distinctive: line 11
Check the global scope: Look for an agent file at:
- Distinctive: line 22
If the global agent already exists, say so and confirm it is active.
- Distinctive: line 126
When multiple skills apply, follow lifecycle order.
- Very specific: line 147
Create skills/<name>/SKILL.md with the frontmatter and the required sections.
- Very specific: line 148
Add evals/cases/<name>.json with at least 3 positive triggers, 2 negative triggers, and 1 behavioral eval.
- Very specific: line 149
If the eval kind is execution, add its fixture under evals/fixtures/<name>/.
- Very specific: line 150
Update the phase/count summary in README.md when needed and the canonical catalog in docs/skills.md.
- Very specific: line 151
Run node scripts/validate-skills.js and node scripts/run-evals.js --min-rank1 95.
- Distinctive: line 159
Run these before declaring any change complete:
- Distinctive: line 183
Do not modify files outside this repository without explicit permission.
- Distinctive: line 184
Do not run git push unless the user asks.
- Very specific: line 185
Do not delete or restructure docs/, evals/, or scripts/ without being asked.
- Distinctive: line 186
Do not modify a user's global OpenCode configuration without explicit permission.
- Common: line 187
Do not commit secrets, API keys, or tokens.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md
Guidance for AI coding agents working in the viserys repository.
0. Distribution Preference (read this first)
When the user mentions Viserys, asks how to activate it, or asks whether it works in another project, do NOT assume. Follow these steps:
- Check the global scope. Look for an agent file at:
~/.config/opencode/agents/viserys.md
- If it does not exist, explain that there are two ways to use Viserys, then ask the user which they want:
- Project scope — already active automatically. In this repository, press
Taband selectviserys. Nothing to install. - Global scope — copy
.opencode/agents/viserys.mdinto~/.config/opencode/agents/, and registerskills.pathsin the user's global config. This activates Viserys in every project the user opens.
- Project scope — already active automatically. In this repository, press
- If the user chooses global scope, print the exact commands for them to run. Do not modify the user's global configuration yourself unless they explicitly ask you to.
- Never touch configuration outside this repository without explicit permission.
If the global agent already exists, say so and confirm it is active. Do not offer to reinstall it.
1. Identity
viserys is a self-contained engineering workflow pack for AI coding agents. It packages the planning, decomposition, verification, and review discipline that senior engineers apply, so an agent follows the same process on every task instead of improvising.
- Version:
0.1.0 - Plain Markdown plus a small set of validator scripts
- Core skills have no runtime or network dependency; adapters, hooks, browser tooling, and installation flows may have prerequisites
- 22 skills, 7 personas, 7 shared checklists
The pack does not generate code by itself. It gives agents a process. Your job when working here is to keep that process intact and consistent.
2. Repository Structure
| Path | Purpose |
skills/ | 22 SKILL.md workflows, plus per-skill references/ and scripts/ where needed |
agents/ | 7 specialist personas (not active in OpenCode — see section 7) |
references/ | 7 shared checklists pulled in by skills on demand |
.claude/commands/ | 11 slash commands (Claude Code adapter) |
commands/ | 11 TOML commands (Antigravity adapter) |
.gemini/commands/ | 11 TOML commands (Gemini CLI adapter) |
.opencode/ + opencode.json | OpenCode primary agent/command adapters plus root project config for instructions and skills.paths |
.claude-plugin/, .codex-plugin/, .agents/plugins/ | Plugin and marketplace manifests for other harnesses |
evals/ | 22 eval cases and their fixtures |
scripts/ | 6 structural validators, the eval runner, and their test suites |
hooks/ | Session lifecycle hooks (Claude Code) |
docs/ | Installation, commands, workflows, skills, personas, hooks, and skill-authoring documentation |
tasks/ | Generated task artifacts, ignored by git |
plugin.json at the root is the generic plugin manifest. The harness-specific manifests live inside their adapter directories.
3. Lifecycle and Skills
The skills map onto six phases:
DEFINE -> PLAN -> BUILD -> VERIFY -> REVIEW -> SHIPDEFINE
| Skill | Use when |
get-prd | Starting a new application, system, or feature and no requirements document exists yet. Deep interview plus PRD authoring in one pass |
idea-refine | A concept is still vague and needs structured exploration |
constraint-driven-development | No quality bar is written down, or checks are being silenced to get green |
PLAN
| Skill | Use when |
get-schema | An approved PRD exists and the database schema needs designing before implementation |
get-tasks | An approved PRD exists and needs executable task files |
BUILD
| Skill | Use when |
incremental-implementation | A change touches more than one file and should land in thin slices |
test-driven-development | Implementing logic, fixing a bug, or changing behavior |
get-design | Product-specific visual direction, anti-AI-slop review, and UI refinement |
frontend-ui-engineering | Building or modifying user-facing interfaces |
api-and-interface-design | Designing APIs, module boundaries, or public interfaces |
VERIFY
| Skill | Use when |
debugging-and-error-recovery | A test fails, a build breaks, or behavior is unexpected |
REVIEW
| Skill | Use when |
code-review-and-quality | Before merging any change |
code-simplification | Code works but is harder to read or maintain than it should be |
security-and-hardening | Handling user input, auth, data storage, or external integrations |
performance-optimization | Performance requirements exist or a regression is suspected |
SHIP
| Skill | Use when |
git-workflow-and-versioning | Making any code change |
ci-cd-and-automation | Setting up or modifying build and deploy pipelines |
deprecation-and-migration | Removing old systems or migrating users |
documentation-and-adrs | Recording architectural decisions or changing public APIs |
observability-and-instrumentation | Adding logging, metrics, tracing, or alerting |
shipping-and-launch | Preparing to deploy to production |
Meta
| Skill | Use when |
using-agent-skills | Deciding which workflow applies to the current request |
When multiple skills apply, follow lifecycle order. Not every task needs every skill.
4. Skill Conventions
- One skill per directory:
skills/<kebab-case-name>/SKILL.md. - The directory name and the frontmatter
namemust match exactly. - Frontmatter requires exactly two fields:
nameanddescription. - The
descriptioncarries the routing load. It must state what the skill does, thenUse when ...triggers in the vocabulary a user would actually type. - Required sections, in order:
# Title,## Overview,## When to Use,## The <Process>,## Common Rationalizations,## Red Flags,## Verification. - A skill is Markdown-only by default. Add
references/orscripts/only when content does not belong inline. - Skills link shared checklists with a relative path:
../../references/<file>.md.
The full specification lives in docs/skill-anatomy.md. Read it before writing or restructuring a skill. Do not restate it here.
5. Adding a Skill
- Confirm the workflow is not already covered by an existing skill. Prefer extending an existing skill over adding a near-duplicate.
- Create
skills/<name>/SKILL.mdwith the frontmatter and the required sections. - Add
evals/cases/<name>.jsonwith at least 3 positive triggers, 2 negative triggers, and 1 behavioral eval. - If the eval
kindisexecution, add its fixture underevals/fixtures/<name>/. - Update the phase/count summary in
README.mdwhen needed and the canonical catalog indocs/skills.md. - Run
node scripts/validate-skills.jsandnode scripts/run-evals.js --min-rank1 95.
Missing case files, incomplete case counts, unknown kind values, invalid fixture paths, and absent required fixtures are validation errors, not warnings.
6. Validation
Run these before declaring any change complete:
node scripts/validate-skills.js
node scripts/validate-commands.js
node scripts/validate-personas.js
node scripts/validate-artifact-paths.js
node scripts/validate-reference-links.js
node scripts/validate-versions.js
node scripts/run-evals.js --min-rank1 95
node --test scripts/*-test.js scripts/lib/*-test.jsNotes:
validate-versions.jsreadsgit describe --tags --abbrev=0and compares it to theversionfield in every manifest. Tags must have novprefix (use0.1.0, notv0.1.0).run-evals.jsis the free, deterministic Tier-2 check.--behavioralspends tokens and runs only on request.- Structural validators are covered by regression suites under
scripts/andscripts/lib/;validate-skills.jsusesscripts/lib/skill-lint-test.js. - The canonical local/CI validation matrix lives in
CONTRIBUTING.md#validasi.
7. Hard Boundaries
- Do not modify files outside this repository without explicit permission.
- Do not run
git pushunless the user asks. - Do not delete or restructure
docs/,evals/, orscripts/without being asked. - Do not modify a user's global OpenCode configuration without explicit permission.
- Do not commit secrets, API keys, or tokens.
Note on personas
The seven files in agents/ (maester, kingsguard, prover, racer, strategist, artisan, chronicler) are not active in OpenCode. OpenCode discovers project agents under .opencode/agents/, not root agents/, and these files also lack an explicit mode: subagent field. They are Markdown persona prompts, usable by copying them into a supported location. Do not assume they can be invoked as subagents.
Note on tasks/
tasks/ holds internal working documents and is not tracked in git. Do not treat its contents as pack documentation, and do not reference it from README.md or docs/.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 28,693 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository22 other files it gives its agents.
- api-and-interface-designSkill
- ci-cd-and-automationSkill
- code-review-and-qualitySkill
- code-simplificationSkill
- constraint-driven-developmentSkill
- debugging-and-error-recoverySkill
- deprecation-and-migrationSkill
- documentation-and-adrsSkill
- frontend-ui-engineeringSkill
- get-designSkill
- get-prdSkill
- get-schemaSkill
- get-tasksSkill
- git-workflow-and-versioningSkill
- idea-refineSkill
- incremental-implementationSkill
- observability-and-instrumentationSkill
- performance-optimizationSkill
- security-and-hardeningSkill
- shipping-and-launchSkill
- test-driven-developmentSkill
- using-agent-skillsSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

