Translation
doxygen/doxygen
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…
Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification.
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cpp-to-dafny-translator .claude/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .claude/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/cpp-to-dafny-translator .agents/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .agents/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/cpp-to-dafny-translator .cursor/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .cursor/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ArabelaTso/Skills-4-SE.git --path skills/cpp-to-dafny-translator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/cpp-to-dafny-translator .gemini/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .gemini/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/cpp-to-dafny-translator .github/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .github/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ArabelaTso/Skills-4-SE cpp-to-dafny-translator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/cpp-to-dafny-translator .opencode/skills/cpp-to-dafny-translator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cpp-to-dafny-translator" agent skill from https://github.com/ArabelaTso/Skills-4-SE/tree/main/skills/cpp-to-dafny-translator into .opencode/skills/cpp-to-dafny-translator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cpp-to-dafny-translator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cpp-to-dafny-translatorTranslate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification.
Cpp To Dafny Translator is an agent skill from ArabelaTso/Skills-4-SE. Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification. Use when users ask to convert, translate, or port C/C++ code to Dafny, or when they need to formally verify C/C++ algorithms using Dafny's verification capabilities. Handles functions, structs, pointers, arrays, memory management, and ensures the generated Dafny code is well-typed, executable, verifiable, and can successfully run.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/memory_patterns.md`, `references/type_mappings.md` and `references/verification_guide.md`).
It sits in Writing & Content, covering Translation. It works with C++. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are dafny and c).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cpp To Dafny Translator loads about 2.9k tokens when it runs, and up to ~9.4k if it reads all its reference files. Until then it costs about 115 tokens; SKILL.md has 675 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 675 words, ~2,857 tokens.
.claude/skills/cpp-to-dafny-translator/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Translate C/C++ programs into equivalent, verifiable Dafny code while preserving program semantics and ensuring memory safety.
This skill provides systematic guidance for translating C/C++ code to Dafny, handling memory management, pointer semantics, type conversions, and ensuring well-typed, verifiable output with appropriate specifications.
C/C++ Input → Analyze Structure → Map Types & Memory → Translate → Add Specifications → Verify
├─ Identify types, pointers, memory patterns
├─ Map C/C++ constructs to Dafny equivalents
├─ Handle memory safety and ownership
├─ Add preconditions, postconditions, invariants
└─ Validate executability and verificationDafny enforces memory safety. Every translation must:
The translated code must maintain the same computational behavior, preserve function contracts, keep algorithmic complexity, and handle all edge cases including error conditions.
Generated Dafny code must include specifications (preconditions, postconditions, invariants), be verifiable by Dafny's verifier, compile and execute correctly, and follow Dafny idioms.
| C/C++ Type | Dafny Type | Notes |
|---|---|---|
int, long | int | Unbounded integers in Dafny |
unsigned int | nat | Natural numbers (≥ 0) |
char | char | Single character |
bool | bool | Direct mapping |
float, double | real | Exact rationals in Dafny |
void | () | Unit type |
NULL | Use Option or bounds checks | No null pointers |
| C/C++ Type | Dafny Type | Notes |
|---|---|---|
int arr[] | array<int> | Fixed-size arrays |
int* ptr | array<int> or seq<int> | Depends on usage |
struct | class or datatype | Mutable vs immutable |
enum | datatype | Algebraic data types |
union | datatype with variants | Tagged unions |
For detailed mappings, see references/type_mappings.md.
Simple C function:
int add(int a, int b) {
return a + b;
}Dafny:
function add(a: int, b: int): int
{
a + b
}Function with side effects:
void increment(int* x) {
(*x)++;
}Dafny (using method):
method increment(x: array<int>, index: nat)
requires index < x.Length
modifies x
ensures x[index] == old(x[index]) + 1
{
x[index] := x[index] + 1;
}C array access:
int sum_array(int* arr, int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
}
return sum;
}Dafny:
method sumArray(arr: array<int>) returns (sum: int)
ensures sum == arraySum(arr[..])
{
sum := 0;
var i := 0;
while i < arr.Length
invariant 0 <= i <= arr.Length
invariant sum == arraySum(arr[..i])
{
sum := sum + arr[i];
i := i + 1;
}
}
function arraySum(s: seq<int>): int
{
if |s| == 0 then 0 else s[0] + arraySum(s[1..])
}C struct:
struct Point {
int x;
int y;
};
int distance_squared(struct Point* p) {
return p->x * p->x + p->y * p->y;
}Dafny:
class Point {
var x: int
var y: int
constructor(x0: int, y0: int)
ensures x == x0 && y == y0
{
x := x0;
y := y0;
}
}
function distanceSquared(p: Point): int
reads p
{
p.x * p.x + p.y * p.y
}If-else:
int max(int a, int b) {
if (a > b) return a;
else return b;
}Dafny:
function max(a: int, b: int): int
{
if a > b then a else b
}Loops with invariants:
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}Dafny:
method factorial(n: nat) returns (result: nat)
ensures result == fact(n)
{
result := 1;
var i := 1;
while i <= n
invariant 1 <= i <= n + 1
invariant result == fact(i - 1)
{
result := result * i;
i := i + 1;
}
}
function fact(n: nat): nat
{
if n == 0 then 1 else n * fact(n - 1)
}Challenge: C allows pointer arithmetic; Dafny doesn't.
Solution: Use array indices instead:
// C
int* ptr = arr + 5;
*ptr = 10;// Dafny
arr[5] := 10;Challenge: C uses malloc/free; Dafny has automatic memory management.
Solution: Use arrays or sequences:
// C
int* arr = (int*)malloc(n * sizeof(int));
// ... use arr ...
free(arr);// Dafny
var arr := new int[n];
// ... use arr ...
// No explicit free neededChallenge: C allows NULL; Dafny doesn't have null references.
Solution: Use Option types or ensure non-null:
// C
int* find(int* arr, int n, int target) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) return &arr[i];
}
return NULL;
}// Dafny
method find(arr: array<int>, target: int) returns (index: int)
ensures index == -1 || (0 <= index < arr.Length && arr[index] == target)
{
var i := 0;
while i < arr.Length
invariant 0 <= i <= arr.Length
{
if arr[i] == target {
return i;
}
i := i + 1;
}
return -1;
}Challenge: C has mutable everything; Dafny distinguishes functions (pure) from methods (with side effects).
Solution:
function for pure computationsmethod for operations with side effectsreads clauses for functions that read object fieldsmodifies clauses for methods that modify stateChallenge: Dafny requires specifications for verification.
Solution: Add preconditions, postconditions, and loop invariants:
method binarySearch(arr: array<int>, target: int) returns (index: int)
requires forall i, j :: 0 <= i < j < arr.Length ==> arr[i] <= arr[j] // sorted
ensures index == -1 || (0 <= index < arr.Length && arr[index] == target)
{
var low := 0;
var high := arr.Length;
while low < high
invariant 0 <= low <= high <= arr.Length
invariant forall i :: 0 <= i < low ==> arr[i] < target
invariant forall i :: high <= i < arr.Length ==> arr[i] > target
{
var mid := (low + high) / 2;
if arr[mid] < target {
low := mid + 1;
} else if arr[mid] > target {
high := mid;
} else {
return mid;
}
}
return -1;
}Identify all functions, structs, and global variables. Analyze pointer usage and memory patterns. Identify side effects and state modifications. Note any unsafe operations.
Map C/C++ types to Dafny types. Decide how to handle pointers (arrays, sequences, or references). Plan struct translations (class vs datatype). Identify what needs specifications.
Start with data structures (structs → classes/datatypes). Translate pure functions first. Convert functions with side effects to methods. Add memory safety checks. Include necessary specifications.
Add preconditions (requires). Add postconditions (ensures). Add loop invariants. Add frame conditions (reads, modifies). Add termination measures (decreases).
Run Dafny verifier. Fix verification errors. Test with concrete examples. Ensure executability.
C code:
int is_sorted(int* arr, int n) {
for (int i = 0; i < n - 1; i++) {
if (arr[i] > arr[i + 1]) {
return 0;
}
}
return 1;
}
void bubble_sort(int* arr, int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}Dafny:
predicate isSorted(arr: array<int>)
reads arr
{
forall i, j :: 0 <= i < j < arr.Length ==> arr[i] <= arr[j]
}
method bubbleSort(arr: array<int>)
modifies arr
ensures isSorted(arr)
ensures multiset(arr[..]) == multiset(old(arr[..]))
{
var i := 0;
while i < arr.Length - 1
invariant 0 <= i <= arr.Length
invariant forall k, l :: 0 <= k < i <= l < arr.Length ==> arr[k] <= arr[l]
invariant multiset(arr[..]) == multiset(old(arr[..]))
{
var j := 0;
while j < arr.Length - i - 1
invariant 0 <= j <= arr.Length - i - 1
invariant forall k :: 0 <= k < j ==> arr[k] <= arr[j]
invariant multiset(arr[..]) == multiset(old(arr[..]))
{
if arr[j] > arr[j + 1] {
arr[j], arr[j + 1] := arr[j + 1], arr[j];
}
j := j + 1;
}
i := i + 1;
}
}Main methods to test concrete examplesBefore finalizing translation:
For complex translations, refer to:
© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in skills/cpp-to-dafny-translator of ArabelaTso/Skills-4-SE.
Open the folder on GitHubat commit 4f38503
Cpp To Dafny Translator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Cpp To Dafny Translator this skillArabelaTso/Skills-4-SE | 253 | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Translationdoxygen/doxygen | 6.6k | — | ~5.2k | Automated safety check: Pass | GPL-2.0 | |
| Smooth Translationopenforecast-org/smooth | 107 | — | ~2.2k | Automated safety check: Pass | LGPL-2.1 | |
| Msvc Clmohitmishra786/low-level-dev-skills | 253 | — | ~1.3k | Automated safety check: Pass | MIT | |
| D2mcpp Authoringmcpp-community/d2mcpp | 1.8k | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Mcpp Docs Stylemcpp-community/mcpp | 156 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 |
doxygen/doxygen
Keeps all Doxygen and Doxywizard translations up to date across three mechanisms: translator C++ classes (src/translatorxx.h), Qt .ts locale files for the Doxywizard GUI (addon/doxywizard/i18n/)…
openforecast-org/smooth
Port a feature from the R smooth package to the Python port, or check how an R name maps to Python.
mohitmishra786/low-level-dev-skills
MSVC cl.exe and clang-cl skill for Windows C/C++ projects. An agent skill from mohitmishra786/low-level-dev-skills.
mcpp-community/d2mcpp
Authoring conventions, design principles, and file formats for the d2mcpp (D2X) Modern C++ tutorial project.
mcpp-community/mcpp
A skill your agent uses when writing or editing anything under docs/ (English or 简体中文), docs/specs/, README files, or the design records under .agents/docs/ — states which tree a document belongs…
Devolutions/UniGetUI
Compares UniGetUI JSON locale files against English, identifies untranslated or source-changed keys, and generates patch, reference, and handoff files for a target language.
ArabelaTso/Skills-4-SE
Generate prioritized CVE watchlists and actionable security recommendations for repositories.
ArabelaTso/Skills-4-SE
Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).
ArabelaTso/Skills-4-SE
Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.
ArabelaTso/Skills-4-SE
Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.
ArabelaTso/Skills-4-SE
Automatically migrate Spring MVC applications to Spring Boot.
ArabelaTso/Skills-4-SE
Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.
Works with
Categories
Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification. Cpp To Dafny Translator is an agent skill from ArabelaTso/Skills-4-SE. Translate C/C++ programs to equivalent Dafny code while preserving semantics and ensuring verification.
Cpp To Dafny Translator fits situations like: users ask to convert; port C/C++ code to Dafny; they need to formally verify C/C++ algorithms using Dafnys verification capabilities.
Run `npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a claude-code`. Or copy the skill folder (skills/cpp-to-dafny-translator in ArabelaTso/Skills-4-SE) into .claude/skills/cpp-to-dafny-translator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a codex`. Or copy the skill folder (skills/cpp-to-dafny-translator in ArabelaTso/Skills-4-SE) into .agents/skills/cpp-to-dafny-translator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill cpp-to-dafny-translator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cpp-to-dafny-translator, .gemini/skills/cpp-to-dafny-translator, .github/skills/cpp-to-dafny-translator and .opencode/skills/cpp-to-dafny-translator in your project.
SKILL.md names no scripts, command-line tools or credentials: Cpp To Dafny Translator is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Cpp To Dafny Translator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Cpp To Dafny Translator: Translation (doxygen/doxygen, 6.6k stars), Smooth Translation (openforecast-org/smooth, 107 stars), Msvc Cl (mohitmishra786/low-level-dev-skills, 253 stars) and D2mcpp Authoring (mcpp-community/d2mcpp, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 150 skills in this directory. The repository was last updated on August 21, 2026.
Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.