docs-update
Skill3.7k starsChanged 3 months agoMITView on GitHub
Update the Verona language documentation after adding a new feature. Use when the user asks to update docs, or after completing a feature implementation.
17 other projects use a version of this.
Trending
Quiet this year.about the whole repository
Most recently taken up by
- buildomator/buildomatortheir own version, first seen Nov 4, 2026
- aka-kika/akakika-skillstheir own version, first seen Nov 1, 2026
- davidanthonyn/claude-skillstheir own version, first seen Oct 20, 2026
- harukikuri/spotnotetheir own version, first seen Oct 20, 2026
- jellydn/my-ai-toolstheir own version, first seen Oct 18, 2026
- Atiqul-Islam/graphcrewtheir own version, first seen Oct 13, 2026
Who's talking about microsoft/verona
- A Hacker News story“Microsoft Project Verona: Research programming language for concurrent ownership”Hacker News · Jan 17, 2020 · 142 points
- A Hacker News story“Project Verona FAQ”Hacker News · Feb 10, 2020 · 29 points
- A Hacker News story“Project Verona: Research programming language for concurrent ownership”Hacker News · Jan 16, 2020 · 7 points
- A Hacker News story“Microsoft/Verona”Hacker News · Jan 18, 2020 · 3 points
- A Hacker News story“Concurrent Ownership in Verona”Hacker News · Dec 14, 2022 · 2 points
The biggest 5 of 18 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 18
Talked about on GitHub and Hacker News (18 times).
On GitHub · 12
- Dec 31, 2023Check ideas from Verona language for concurrency — lambdaclass/concrete0 reactions
- Jul 21, 2023Add Verona — ChessMax/awesome-programming-languages0 reactions
- Jul 13, 2023Move the Verona compiler to microsoft/verona — microsoft/Trieste0 reactions
- Oct 24, 2022Optimise for waking an empty queue — microsoft/verona-rt0 reactions
- Oct 24, 2022Token source — microsoft/verona-rt0 reactions
7 more on GitHub
- Oct 20, 2022Small optimisations and refactors around message send and receive — microsoft/verona-rt0 reactions
- Jul 29, 2022Don't run CI on doc-only changes — microsoft/CCF0 reactions · 4 comments
- Aug 26, 2021Enable passthrough to an underlying allocator — microsoft/snmalloc0 reactions · 1 comment
- Jan 25, 2021Meta: Some interesting pointers to borrow ideas — flix/flix0 reactions · 1 comment
- Jan 4, 2021Meta: Some interesting pointers to borrow ideas — HigherOrderCO/Kind0 reactions
- Jun 18, 2020Refactor Pal and LargeAlloc interaction. — microsoft/snmalloc0 reactions
- Jan 27, 2020Automating keeping snmalloc up to date. — SchrodingerZhu/snmalloc-rs0 reactions · 2 comments
On Hacker News · 6
- Jan 17, 2020Microsoft Project Verona: Research programming language for concurrent ownership142 points · 16 comments
- Feb 10, 2020Project Verona FAQ29 points · 8 comments
- Jan 16, 2020Project Verona: Research programming language for concurrent ownership7 points
- Jan 18, 2020Microsoft/Verona3 points
- Dec 14, 2022Concurrent Ownership in Verona2 points
1 more on Hacker News
- Sep 17, 2023Microsoft Project Verona, a research programming language1 point
Other versions17 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 17
- warpdotdev/oz-skills★ 825same name
- bagofwords1/bagofwords★ 463same name
- hiromaily/go-crypto-wallet★ 128same name
- jellydn/my-ai-tools★ 127same name
- TangleML/tangle-ui★ 104same name
- buildomator/buildomator★ 102same name
- harukikuri/spotnote★ 25same name
- aka-kika/akakika-skills★ 11same name
- Escoto/RustifyMyClaw★ 8same name
- mgiovani/cc-arsenal★ 8same name
7 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository19 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- add-testSkill
- debugSkill
- reviewSkill
- testsuiteSkill
- vbci-memorySkill
- verona-codingSkill
- verona-conventionsSkill
- verona-type-inferenceSkill
- add-testSkill
- docs-updateSkill
- reviewSkill
- testsuiteSkill
- vbci-memorySkill
- verona-codingSkill
- verona-conventionsSkill
- verona-type-inferenceSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
23 rules. 0 are common, 8 are distinctive, and 15 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
8
Distinctive
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 9
Update the documentation in vc/docs/ to reflect a new feature or change to the Verona compiler.
- Distinctive: line 54
Read the feature description and determine which documentation files are affected.
- Distinctive: line 88
Before writing documentation, read the actual implementation to ensure accuracy:
- Distinctive: line 103
When adding sections at the end, use the next available number
- Distinctive: line 104
When inserting sections, renumber subsequent sections and update all internal cross-references
- Very specific: line 112
Use `verona fenced blocks for Verona source code
- Very specific: line 113
Use `bash for shell commands
- Very specific: line 114
Use `cpp for C/C++ code (e.g., in FFI examples)
- Very specific: line 116
Follow idiomatic Verona style (see CLAUDE.md "Idiomatic Verona style")
- Distinctive: line 126
Use "See Chapter" for cross-references rather than repeating content
- Distinctive: line 131
After writing, check that:
- Distinctive: line 134
No dangling references to renamed/renumbered sections
- Very specific: line 144
If you renumber sections, search all docs for §old_number references to update
- Very specific: line 154
Add function to the table in 17-ffi.md §17.8 "Available Wrappers"
- Very specific: line 155
Add function signature to 22-builtin-types.md §22.13 "FFI Module Functions"
- Very specific: line 156
Add usage example in the relevant 17-ffi.md subsection
- Very specific: line 157
If it introduces a new concept, add a pattern to 27-common-patterns.md
- Very specific: line 161
Add row to the builtin categories table in 17-ffi.md §17.3
- Distinctive: line 162
Document the semantics in the relevant feature section
- Very specific: line 163
If user-facing (not just compiler-internal), add to 22-builtin-types.md
- Very specific: line 167
Add to 01-getting-started.md _builtin directory listing (alphabetical order)
- Very specific: line 168
Add full type section to 22-builtin-types.md with:
- Very specific: line 173
If it's a primitive numeric type, add to 03-types.md tables
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Update Verona Language Documentation
Update the documentation in vc/docs/ to reflect a new feature or change to the Verona compiler.
Arguments
$0— a description of the feature or change that needs documenting (e.g., "callback support", "new builtin type", "new syntax")
Documentation Structure
The docs live in vc/docs/ with 27 numbered chapters plus a README.md table of contents:
| File | Content | When to update |
README.md | Table of contents | Only when adding new chapters |
01-getting-started.md | First look, _builtin directory listing | New _builtin files or subdirectories |
02-program-structure.md | Top-level structure, _builtin overview | New top-level constructs |
03-types.md | Type system: primitives, unions, special | New primitive types or type syntax |
04-declarations.md | let, var, _, scoping | New declaration forms |
05-expressions.md | All expression forms, operators, precedence | New operators, expression syntax |
06-control-flow.md | if, while, for, match, raise, when | New control flow constructs |
07-functions.md | Functions, methods, operators, ref, overloading | New function features |
08-classes-and-objects.md | Class definitions, fields, constructors | New class features |
09-shapes.md | Structural types / interfaces | New shape features |
10-generics.md | Type parameters, monomorphization, inference | Generics changes |
11-tuples.md | Tuple construction, destructuring, splat | Tuple changes |
12-arrays.md | Array creation, indexing, iteration, literals | Array changes |
13-lambdas.md | Lambdas, closures, free variables | Lambda changes |
14-partial-application.md | _ placeholders, partial application | Partial application changes |
15-concurrency.md | Cowns, when blocks, FAQ | Concurrency features, external resources |
16-modules.md | use, imports, namespaces | New modules, namespaces, import forms |
17-ffi.md | FFI: use blocks, builtins, callbacks, init | Most FFI changes go here |
18-type-inference.md | Inference rules, refinement, backward refinement | Inference algorithm changes |
19-memory-model.md | Regions, ownership, ref[T], runtime errors | Memory model changes, new runtime errors |
20-compiler-pipeline.md | Pass descriptions, AST, WF, debugging | New passes or pass changes |
21-toolchain-usage.md | CLI flags, build commands | New CLI options |
22-builtin-types.md | All _builtin types with method tables | New builtin types go here |
23-grammar-summary.md | Formal grammar rules | Any syntax changes go here |
24-error-handling.md | Error patterns, raise, else | Error handling changes |
25-compile-time-execution.md | # operator (placeholder) | Compile-time execution features |
26-gotchas.md | Common surprises and pitfalls | New pitfalls for the feature |
27-common-patterns.md | Idiomatic patterns and recipes | New usage patterns go here |
Steps
1. Identify which docs need updating
Read the feature description and determine which documentation files are affected. Use this checklist organized by feature type:
New builtin type (e.g., callback, ptr):
22-builtin-types.md— Add type section with method table01-getting-started.md— Update_builtindirectory listing if new file added03-types.md— If it's a new primitive or special type- Relevant feature chapter (e.g.,
17-ffi.mdfor FFI-related types)
New _builtin file or subdirectory:
01-getting-started.md— Update_builtindirectory tree listing02-program-structure.md— If it changes the top-level structure16-modules.md— If it introduces a new namespace (e.g.,ffi::)
New syntax (keyword, operator, construct):
23-grammar-summary.md— Add or modify grammar production rules- Relevant feature chapter for usage documentation
05-expressions.md— If it's a new expression form06-control-flow.md— If it's a new control flow construct
New FFI feature:
17-ffi.md— Primary documentation (add new section)22-builtin-types.md— If new builtin types/functions are exposed17-ffi.mdtable of builtin categories — Add rows for new builtins15-concurrency.mdFAQ — If it affects scheduling/external resources27-common-patterns.md— Add usage pattern
New compiler pass or pass change:
20-compiler-pipeline.md— Update pass table or descriptions
New CLI option:
21-toolchain-usage.md— Add option documentation
2. Read the source of truth
Before writing documentation, read the actual implementation to ensure accuracy:
_builtinfiles:vc/_builtin/— Verona source defining types and methods- FFI builtins:
vc/_builtin/ffi/— FFI wrapper functions - Builtin categories table:
vc/passes/dot.cc— Thebuiltinsmap defines all:::builtins - Grammar:
vc/passes/parse.ccfor tokenization,vc/passes/structure.ccfor AST structure - WF definitions:
vc/lang.hfor frontend WF,include/vbcc.hfor backend WF - Interpreter behavior:
vbci/thread.ccfor runtime semantics
3. Write the documentation
Follow these conventions:
Section numbering:
- Sections use
## N.M Titleformat where N is the chapter number - When adding sections at the end, use the next available number
- When inserting sections, renumber subsequent sections and update all internal cross-references
Cross-references:
- Format:
[Title §N.M](filename.md)for section references - Format:
[Title](filename.md)for chapter references - Chapter headers have navigation links:
[← Table of Contents](README.md) | [Previous: Title](prev.md) | [Next: Title →](next.md)
Code examples:
- Use
```veronafenced blocks for Verona source code - Use
```bashfor shell commands - Use
```cppfor C/C++ code (e.g., in FFI examples) - Examples should be self-contained and runnable where possible
- Follow idiomatic Verona style (see CLAUDE.md "Idiomatic Verona style")
Method/API tables:
- Use
| Method | Signature | Description |format - Include all public methods for builtin types
- Group related methods logically
Tone and style:
- Direct and technical — written for programmers
- Explain "why" for non-obvious design decisions
- Use "See Chapter" for cross-references rather than repeating content
- Mark unimplemented/planned features with
> **Status:** Not yet implemented.
4. Verify cross-references
After writing, check that:
- All
[text](file.md)links point to files that exist - Section numbers referenced in cross-links (
§N.M) match actual section numbers - No dangling references to renamed/renumbered sections
- The README.md table of contents is still accurate
5. Check for ripple effects
A documentation change in one file often requires updates in others:
- Adding a section to
17-ffi.mdmay need a cross-reference from22-builtin-types.md - New syntax in
23-grammar-summary.mdshould be explained in the relevant feature chapter - New patterns in
27-common-patterns.mdshould cross-reference the feature chapter - New gotchas in
26-gotchas.mdshould cross-reference relevant chapters - If you renumber sections, search all docs for
§old_numberreferences to update
6. Report
State which files were updated, what sections were added/modified, and any cross-references that were created or updated.
Common Patterns for Specific Feature Types
Documenting a new _builtin/ffi/ wrapper
- Add function to the table in
17-ffi.md§17.8 "Available Wrappers" - Add function signature to
22-builtin-types.md§22.13 "FFI Module Functions" - Add usage example in the relevant
17-ffi.mdsubsection - If it introduces a new concept, add a pattern to
27-common-patterns.md
Documenting a new ::: builtin
- Add row to the builtin categories table in
17-ffi.md§17.3 - Document the semantics in the relevant feature section
- If user-facing (not just compiler-internal), add to
22-builtin-types.md
Documenting a new class in _builtin
- Add to
01-getting-started.md_builtindirectory listing (alphabetical order) - Add full type section to
22-builtin-types.mdwith:- Brief description
- Method table (Method | Signature | Description)
- Code example
- Cross-references to related chapters
- If it's a primitive numeric type, add to
03-types.mdtables
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.

