Build Teaql App
teaql/teaql-agent-kit
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.
Analyse a project to detect which principles apply and create or update .principles files encoding that analysis.
$ npx skills add robocode-dev/tank-royale --skill dot-scout -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install robocode-dev/tank-royale dot-scout --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/robocode-dev/tank-royale.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dot-scout .claude/skills/dot-scout && 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 "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .claude/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scoutType 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 robocode-dev/tank-royale --skill dot-scout -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install robocode-dev/tank-royale dot-scout --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/robocode-dev/tank-royale.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/dot-scout .agents/skills/dot-scout && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .agents/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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 robocode-dev/tank-royale --skill dot-scout -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install robocode-dev/tank-royale dot-scout --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/robocode-dev/tank-royale.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/dot-scout .cursor/skills/dot-scout && 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 "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .cursor/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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/robocode-dev/tank-royale.git --path .agents/skills/dot-scout--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 robocode-dev/tank-royale --skill dot-scout -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install robocode-dev/tank-royale dot-scout --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/robocode-dev/tank-royale.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/dot-scout .gemini/skills/dot-scout && 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 "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .gemini/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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 robocode-dev/tank-royale dot-scoutInstalls 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 robocode-dev/tank-royale --skill dot-scout -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/robocode-dev/tank-royale.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/dot-scout .github/skills/dot-scout && 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 "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .github/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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 robocode-dev/tank-royale --skill dot-scout -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install robocode-dev/tank-royale dot-scout --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/robocode-dev/tank-royale.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/dot-scout .opencode/skills/dot-scout && 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 "dot-scout" agent skill from https://github.com/robocode-dev/tank-royale/tree/main/.agents/skills/dot-scout into .opencode/skills/dot-scout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dot-scout", 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.
dot-scoutAnalyse a project to detect which principles apply and create or update .principles files encoding that analysis.
Dot Scout is an agent skill from robocode-dev/tank-royale. Analyse a project to detect which principles apply and create or update .principles files encoding that analysis. Use when the user runs /dot-scout [path] to map principles to a codebase.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics. It works with C#, Java, Python and Git. The repository describes itself as: Git repository for Robocode Tank Royale. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 5000c67. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditGlobGrepBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom 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.
Dot Scout loads about 3.9k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 1,719 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 noted patterns worth knowing about, such as sudo or a known installer.
| `.env`, `application.yaml`, `appsettings.json`, `*.properties` | config | `@config` |allowed-tools: Read, Write, Edit, Glob, Grep, BashAutomated 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 robocode-dev/tank-royale at commit 5000c67, republished under its MIT licence (© robocode-dev). 1,719 words, ~3,855 tokens.
.claude/skills/dot-scout/SKILL.md (or your agent's skills folder).You are analyzing a project to determine which principles apply, creating or updating .principles files to encode that, and generating the review files agents use. Judgement (profiling, placement) is yours; everything mechanical is done by scripts in .agents/principles-catalog/bin/. Follow these six phases exactly.
Shortcuts (check $ARGUMENTS first):
--explain <path>: run bash .agents/principles-catalog/bin/resolve.sh --format explain <path>, show the output (the active principles for that path and which .principles file added, excluded, locked or waived each one), and stop.--yes: skip the confirmation question in Phase 3 and write the proposal as shown. Everything else is unchanged.Determine the target directory:
$ARGUMENTS is a directory path: use it as the target.$ARGUMENTS is empty (or only --yes): use the current working directory.$ARGUMENTS is a file path: use its containing directory.Confirm the target exists. If not, report an error and stop.
Walk up from the target to find the git root (directory containing .git/). Record both the target directory and the git root - the hierarchy spans between them.
Check that .agents/principles-catalog/index.tsv and .agents/principles-catalog/bin/emit.sh exist at the git root.
If either is missing, stop and report:
"⚠️
.agents/principles-catalog/is missing or out of date. From your dot-principles checkout, run./install.sh vendor <git-root>and then re-run /dot-scout."
Do not search the file system for install.sh.
Glob .agents/principles-catalog/principles/*/.context-scout.md. Only extra catalogs ship these. For each file found, read it and record the detection rules it defines: { namespace → [detection rules] }. They supplement Phase 2. If there are none, use the built-in detection only.
Analyse the target directory (and subdirectories) to build a profile per directory. For each directory, detect:
| Signal | Language / Framework |
|---|---|
*.java, pom.xml, build.gradle | Java |
*.ts, tsconfig.json | TypeScript |
*.py, pyproject.toml, requirements.txt | Python |
*.go, go.mod | Go |
*.cs, *.csproj, *.sln | C# |
*.rs, Cargo.toml | Rust |
*.rb, Gemfile | Ruby |
*.php, composer.json | PHP |
@SpringBootApplication, spring-boot in build file | Spring Boot |
@Entity, spring-data-jpa dependency | Spring Data JPA |
react, jsx, tsx imports | React |
@NgModule, @Component | Angular |
django in requirements | Django |
fastapi import | FastAPI |
express in package.json | Express |
| Signal | Domain |
|---|---|
payment, billing, invoice, stripe, checkout | Financial |
auth, login, oauth, jwt, session | Authentication |
user, profile, email, address, PII | Personal data |
microservice, service-mesh, saga | Distributed systems |
| Directory / files | Artifact type | Group |
|---|---|---|
docs/, *.md files (README, DESIGN, ADR, CONTRIBUTING) | docs | @docs |
.github/workflows/, Jenkinsfile, *.gitlab-ci.yml, azure-pipelines.yml | pipeline | @pipeline |
*.tf, *.tfvars, Dockerfile, docker-compose.*, Chart.yaml, k8s/, infra/, terraform/ | infra | @infra |
*.proto, *.graphql, openapi.yaml, swagger.yaml, schema.sql | schema | @schema |
.env, application.yaml, appsettings.json, *.properties | config | @config |
After applying the built-in signals above, apply any detection rules loaded in Phase 1.2. For each rule:
For projects with multiple subdirectories, detect profiles per directory:
src/main/ vs src/test/ - different testing principles for test dirssrc/security/, src/auth/ - security-focused principlesfrontend/, ui/, web/ - UI interaction principlesdocs/, doc/ - documentation principles (@docs)infra/, terraform/, k8s/, deploy/ - infrastructure principles (@infra).github/workflows/ - pipeline principles (@pipeline)Record a profile map: { directory → [detected groups] }
Based on the profile map from Phase 2, propose where to place .principles files and what to put in each. Check exclusion density (3.3) before showing anything, so the user confirms once.
.principles: Activate groups that apply to the whole project.principles: Activate additional groups or exclude principles that don't apply to that subtreeList the available groups with ls .agents/principles-catalog/groups/ and reference them by filename without .yaml. The common ones are:
Language groups: java, typescript, python, go, csharp, rust
Framework groups: spring-boot, spring-data-jpa, react, angular, django, fastapi
Cross-cutting code groups: microservices, security-focused
Artifact-type groups: docs, infra, config, schema, pipeline
Custom groups from extra catalogs or an org baseline appear in the same directory. Groups suggested by extension detection rules (Phase 1.2) are included automatically.
If .agents/principles-catalog/org.principles exists, the organization has locked some principles (:lock). Never propose a !ID for a locked principle; if a directory truly needs an exception, propose :waive ID until YYYY-MM-DD "reason" instead and say why.
!)Files are applied from the outside in, root first. The deepest file that mentions a principle decides: !ID or !@group in an outer file removes it, and an @group or ID in a deeper file adds it back. Inside one file, exclusions win over additions whatever the line order. A principle locked by the organization can never be removed.
Groups overlap: every language group includes source-code, and kotlin includes java. So !@kotlin also removes the shared principles that a Java directory needs. That is safe only when a deeper directory adds them back with its own group (@java in bot-api/java/.principles). Two rules follow:
!@group and a group that overlaps it in the same file: the exclusion wins and removes the shared principles.Before writing, check whether any parent-level proposals would generate unnecessary exclusions in child directories.
Only when the profile map from Phase 2 contains two or more directories that would each receive their own .principles file (i.e., there is at least one parent-child pair in the proposed hierarchy). Skip this phase entirely if every proposed .principles file is a leaf with no applicable children.
For each proposed parent .principles file (root or intermediate directory), evaluate every proposed entry - groups (@group) and bare principle IDs - against all proposed child directories detected in Phase 2:
.principles or would inherit the parent's entries).!@group or !ID exclusion to suppress it. Remember the overlap rules in 3.2: an exclusion of a language group also removes source-code principles, so each such child needs a deeper directory that adds its own group back, or the entry should be demoted instead.exclusion_ratio = excluding_children / applicable_children.exclusion_ratio > 0.5 (strict majority excluded):⬇ @<group> demoted from <parent> → <child1>/, <child2>/ - excluded in N/M children!PRINCIPLE-ID:!PRINCIPLE-ID at the parent level instead (one exclusion line replaces N child-level exclusion lines). The children that do need the principle must add it back in their own .principles file, as a bare ID or through a group of their own (the deeper file wins). Add those lines to the proposal. If more children would have to add it back than the exclusion saves, do not consolidate.↑ !PRINCIPLE-ID consolidated to <parent> - excluded in N/M childrenSkip analysis for any parent with applicable_children ≤ 1 (a majority cannot be computed from a single child).
After running the analysis, show a summary before the updated proposals if any changes were made:
Exclusion density analysis:
⬇ @docs demoted from root → docs/ - excluded in 3/4 children
⬇ @infra demoted from root → infra/, deploy/ - excluded in 3/4 children
↑ !CODE-TS-TEST-FIRST consolidated to src/ - excluded in 4/5 children
Updated proposals incorporate these changes.If no changes were made, output: Exclusion density: no demotions needed.
The proposals you show in 3.4 already incorporate these changes.
For each proposed file, show:
[path]/.principles
@group1 ← reason
@group2 ← reason
CODE-OB-SERVICE-LEVEL-OBJECTIVES ← specific principle for this directory
!CODE-TS-TEST-FIRST ← exclusion and whyAsk once: "I propose creating/updating N .principles files. Proceed? (yes to continue, no to review proposals)". Skip the question if --yes was given.
Wait for user confirmation. If the user says no or requests changes, adjust proposals and ask again.
Before writing, check for existing .principles files at the proposed paths.
For each existing file:
!exclusions and comments)Determine final action per file: created | updated | unchanged
Write or update each file as determined in Phase 5.
# Generated by dot-scout vVERSION
# Detected: [artifact-type] / [language/framework/domain]
# Last analysed: [date]
@group1
@group2
# Direct includes
CODE-OB-SERVICE-LEVEL-OBJECTIVESDo not add comments to lines that were already present in an existing file - only add comments to newly added entries.
After writing, output:
.principles analysis complete
Files written:
✓ created /path/to/.principles (@spring-boot, @security-focused)
✓ created /path/to/docs/.principles (@docs)
✓ updated /path/to/src/.principles (added @react)
- unchanged /path/to/infra/.principles (no changes needed)
Active groups resolved:
@spring-boot → @java, CODE-API-STANDARD-HTTP-METHODS, DDD-REPOSITORY, OWASP-03-INJECTION ... (N principles)
@docs → DOC-PURPOSE, DOC-MINIMAL, DOC-AUDIENCE, DOC-ACCURACY, DOC-EXAMPLES, DOC-PROGRESSIVE-DISCLOSURE ... (N principles)
Next steps:
- Run /dot-audit <target> to review against these principles
- Edit .principles files manually to add !exclusions or direct principle IDsFor every directory whose .principles file contains a !, and for the directories below it, run
bash .agents/principles-catalog/bin/resolve.sh --format explain <dir>Check that each directory ends up with the principles of its own language group, and with none from groups it should not have. Reinstated: lines show where a deeper file added something back, which is expected. If a directory lost principles it needs, fix the placement (move the exclusion up one level, or move the group down) and write the files again before Phase 6.
Run one command. It resolves the active principles for every .principles file, writes everything the review tools read, and removes generated files that no longer apply:
bash .agents/principles-catalog/bin/emit.sh --stacks <stacks><stacks> is the comma-separated list of artifact stacks you detected in Phase 2 (code, docs, config, infra, schema, pipeline), for example --stacks code,docs. They are remembered in install.cfg, so a later refresh needs no flag.
What it writes (deterministic - the same inputs give the same files):
.agents/principles-catalog/active.md - every active principle with its summary..agents/instructions/review.md - agent-neutral review instructions, plus a short managed block in AGENTS.md that points to it. Claude Code, Codex CLI, Copilot CLI and other agents that read AGENTS.md use it..github/instructions/<group>.instructions.md - Copilot Code Review, only if enabled (copilot-review in install.cfg).REVIEW.md - Claude Code Review, only if enabled (claude-review in install.cfg).The tools come from install.cfg (written by the installer). Do not ask the user which tools to generate for. If neither review integration is enabled, say so in the report and mention that ./install.sh <git-root> (interactive) enables them, or emit.sh --tools copilot,claude generates them once.
Show the script's output as the report, then add:
Next steps:
- Review with /dot-audit <target>, or ask your agent to review; it reads .agents/instructions/review.md
- Edit .principles files by hand to add !exclusions or direct principle IDs, then run
bash .agents/principles-catalog/bin/emit.sh to refresh the generated files
- Commit .principles files, .agents/principles-catalog/, .agents/instructions/ and the generated review filesIf emit.sh reports warnings (unknown groups, principles missing from index.tsv, expired waivers), repeat them to the user.
© robocode-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/dot-scout of robocode-dev/tank-royale.
Open the folder on GitHubat commit 5000c67
Dot Scout 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 |
|---|---|---|---|---|---|---|
| Dot Scout this skillrobocode-dev/tank-royale | 269 | — | ~3.9k | Automated safety check: Notes | MIT | |
| Build Teaql Appteaql/teaql-agent-kit | 2.8k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Git History Bug Auditben-manes/caffeine | 18k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Find Untested Sourcesdotnet/skills | 5.6k | 1 repos | ~3.3k | Automated safety check: Pass | MIT | |
| GitHub Skill ForgeYuJunZhiXue/github-skill-forge | 760 | — | ~2k | Automated safety check: Notes | None | |
| Fory Performance Optimizationapache/fory | 4.6k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 |
teaql/teaql-agent-kit
Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.
ben-manes/caffeine
Audits a module by walking its git history commit by commit, tracking unresolved issues forward, and reporting the ones that survive to HEAD as findings.
dotnet/skills
Statically pairs source files with test files to list code that no test references, using Roslyn for C# or tree-sitter for many languages, with no build.
YuJunZhiXue/github-skill-forge
一个"制造技能的技能"。这个工具自动化了将任意 GitHub 仓库转换为标准化 Trae 技能的全过程,是扩展 AI Agent 能力的核心工具。
apache/fory
Run profile-driven bottleneck optimization across Apache Fory implementations (Java, C++, Python/Cython, Go, Rust, Swift, C, JavaScript/TypeScript, Dart, Kotlin, Scala).
oracle/graalpython
Analyze recent GraalPy benchmark regressions on master as part of the weekly rota.
robocode-dev/tank-royale
Review a file, directory, or inline code against its activated principles.
robocode-dev/tank-royale
Build and deploy all sample-bot zip files into the target folder.
Categories
Analyse a project to detect which principles apply and create or update .principles files encoding that analysis. Dot Scout is an agent skill from robocode-dev/tank-royale.principles files encoding that analysis.
Dot Scout fits situations like: the user runs /dot-scout [path] to map principles to a codebase.
Run `npx skills add robocode-dev/tank-royale --skill dot-scout -a claude-code`. Or copy the skill folder (.agents/skills/dot-scout in robocode-dev/tank-royale) into .claude/skills/dot-scout in your project. Claude Code loads it when a task matches its description.
Run `npx skills add robocode-dev/tank-royale --skill dot-scout -a codex`. Or copy the skill folder (.agents/skills/dot-scout in robocode-dev/tank-royale) into .agents/skills/dot-scout 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 robocode-dev/tank-royale --skill dot-scout -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dot-scout, .gemini/skills/dot-scout, .github/skills/dot-scout and .opencode/skills/dot-scout in your project.
Going by SKILL.md and its folder, Dot Scout needs the command-line tools its instructions call (bash). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Grep, Bash.
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 notes only (mentions a .env file; pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Dot Scout is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dot Scout: Build Teaql App (teaql/teaql-agent-kit, 2.8k stars), Git History Bug Audit (ben-manes/caffeine, 18k stars), Find Untested Sources (dotnet/skills, 5.6k stars) and GitHub Skill Forge (YuJunZhiXue/github-skill-forge, 760 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
robocode-dev (a GitHub organization) maintains it in robocode-dev/tank-royale, which has 269 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 5, 2026.
Source: robocode-dev/tank-royale on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.