Agent skill

Programming

by notque in notque/vexjoy-agent

Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript.

MITAuto-check: notesMobile

Install Programming

skills CLI
$ npx skills add notque/vexjoy-agent --skill programming -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install notque/vexjoy-agent programming --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/programming/programming .claude/skills/programming && rm -rf skills-src

Use ~/.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/

Facts

Skill name
programming
GitHub stars
435
Token cost
~3k tokens
SKILL.md length
1,157 words
Files
82 (incl. scripts, references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript.

  • Works in 5 steps: Target repository's explicit rules and… → Google Go Style Guide canonical rules. → Google Go Style Decisions normative… → …
  • Tasks that involve Android development
  • SKILL.md covers Language Routing, Go, Kotlin and PHP, plus 3 more sections
  • Calls go, swift and npm

What it does

Programming is an agent skill from notque/vexjoy-agent. Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 88 other files, including scripts and reference files (for example `references/go/code-review.md`, `references/go/code-review/common-review-comments.md` and `references/go/concurrency.md`).

It sits in Mobile, covering Android development and iOS development. It works with Kotlin, PHP and TypeScript. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.

When your agent uses it

  • Tasks that involve Android development
  • Tasks that involve iOS development

Example prompts

  • “/programming”

Requirements

  • Python 3
  • Node.js
  • Pre-approved tools (allowed-tools): Read, Write, Bash, Grep, Glob, Edit, Task, Skill

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Target repository's explicit rules and compatibility constraints.
  2. Google Go Style Guide canonical rules.
  3. Google Go Style Decisions normative guidance.
  4. Google Go Style Best Practices non-canonical recommendations.
  5. Task-specific deep references below.

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Grep
    • Glob
    • Edit
    • Task
    • Skill

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • go
    • swift
    • npm
    • make
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Programming loads about 3k tokens when it runs, and up to ~179k if it reads all its reference files. Until then it costs about 22 tokens; SKILL.md has 1,157 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~22
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~179k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Grep, Glob, Edit, Task, Skill

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); the scripts in this folder are not scanned.

SKILL.md

The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 1,157 words, ~2,979 tokens.

Download SKILL.mdSave it as .claude/skills/programming/SKILL.md (or your agent's skills folder). This skill also uses 81 other files; get the full folder from GitHub.
name
programming
description
Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript.
allowed-tools
Read, Write, Bash, Grep, Glob, Edit, Task, Skill
user-invocable
false
routing.force_route
true
routing.not_for
Python (agents handle directly), general debugging (use debugging). When a dedicated language skill exists (php, swift, kotlin), prefer it over this umbrella
routing.triggers
.go, go test, *_test.go, goroutine, sync.Mutex, context.Context, Go code review, Go lint, sapcc, make check, kotlin coroutines, kotlin Flow, suspend function…
routing.category
language
routing.pairs_with
golang-general-engineer, kotlin-general-engineer, php-general-engineer, swift-general-engineer, typescript-frontend-engineer

Programming

Language-specific patterns and tooling for Go, Kotlin, PHP, Swift, and TypeScript. Identify the language, load matching deep references, follow the language section.

Language Routing

LanguageAgentSection
Gogolang-general-engineerGo
Kotlinkotlin-general-engineerKotlin
PHPphp-general-engineerPHP
Swiftswift-general-engineerSwift
TypeScripttypescript-frontend-engineerTypeScript

If the request spans multiple languages, apply each relevant section.


Go

Style Precedence
  1. Target repository's explicit rules and compatibility constraints.
  2. Google Go Style Guide canonical rules.
  3. Google Go Style Decisions normative guidance.
  4. Google Go Style Best Practices non-canonical recommendations.
  5. Task-specific deep references below.

Prefer local consistency only where the Google guide allows judgment. Do not restyle existing code without cause.

Workflow
  1. Classify the task: testing, concurrency, error handling, code review, SAPCC conventions, or quality gate.
  2. Load the matching deep reference.
  3. Follow the reference's phases, gates, and completion criteria.

For testing: table-driven tests with subtests, test helpers, mock injection. Run go test ./.... Load references/go/testing.md. For concurrency: goroutine lifecycle, sync primitives, context propagation, race detection. Run go test -race. Load references/go/concurrency.md. For error handling: wrapping with %w, sentinel errors, errors.Is/errors.As, custom error types. Load references/go/error-handling.md. For code review: review checklist, common comments, interface compliance. Load references/go/code-review.md. For SAPCC repos: org conventions -- go-bits patterns, auth ordering, JSON strictness, endpoint identification. Load references/go/sapcc-conventions.md. For quality gate: run make check or equivalent. Load references/go/quality-gate.md.

Expert Review Patterns

Beyond linting -- patterns from real code reviews that automated tools miss:

  • Type export design: keep implementation types unexported; export only interfaces and constructors.
  • Batch+callback races: commit() should remove only the specific batch returned, not all items.
  • Function extraction: extract only if reused elsewhere or hides complex details.
  • Defer timing: place defer f.Close() after the error check, not before.
  • Go 1.22+ loop variables: remove i := i reassignment and closure parameter passing -- each iteration has its own variable since 1.22.
  • Prometheus metrics: pre-initialize counters with .Add(0) for all known label combinations.
  • Test dedup: use testWithEachBackingStore() pattern to share test bodies across interface implementations.
Scripts
TaskScript
Generate table testscripts/gen-table-test.sh
Benchmark comparescripts/bench-compare.sh
Check errorsscripts/check-errors.sh
Interface compliancescripts/check-interface-compliance.sh
SAPCC checksscripts/check-sapcc-*.sh
Quality checkerscripts/quality_checker.py, scripts/validate.py
Google style syncscripts/sync-google-style-guide.py

Kotlin

Core Rules
  1. Structured concurrency is non-negotiable. Every coroutine must have a parent scope that defines its lifetime.
  2. Inject dispatchers. Accept CoroutineDispatcher as a parameter so callers and tests control threading.
  3. Always rethrow CancellationException. Catch specific exception types, not broad Exception.
  4. Prefer Flow over Channel. Flow is cold, composable, handles backpressure. Use Channels only for producer-consumer and inter-coroutine communication.
  5. Use supervisorScope for partial failure tolerance. Independent tasks that should not cancel each other.
  6. No GlobalScope. Pass a scope from the application framework.
Stream Type Selection
TypeTemperatureReplayUse Case
FlowColdNoneAsync sequences, API pagination, transform chains
StateFlowHotLatest (1)UI state with current value; conflates duplicates
SharedFlowHotConfigurableOne-shot events: navigation, toasts, errors
ChannelHotNoneProducer-consumer, fan-in/fan-out inter-coroutine communication

Flow: cold -- each collector gets its own execution. Chain with filter, map, flatMapConcat. Terminate with collect. StateFlow: requires initial value, always replays latest to new collectors. Use for UI state. SharedFlow: configurable replay, emits all values (no conflation). Use for event streams. Channel: hot communication primitive. Use produce builder for producer-consumer. Fan-out: multiple coroutines consuming one channel. Fan-in: multiple producers writing to one channel.

Workflow
  1. Classify into concurrency, Flow, Channels, or testing.
  2. Load matching deep reference.
  3. Apply patterns from the reference as templates.

PHP

Core Rules
  • Every PHP file must begin with declare(strict_types=1).
  • Follow PSR-12: 4-space indentation, no trailing whitespace, one class per file, visibility on all members, opening braces same line for control structures, next line for classes and methods.
Framework Idioms

Laravel: Eloquent scopes for reusable query constraints (scopeActive). Collection methods over raw loops (collect()->filter()->map()->sort()). Service Container for interface-to-implementation binding. Contextual binding with when()->needs()->give().

Symfony: DI with #[Autowire] attributes for constructor injection. #[AsEventListener] for event dispatch. Rely on autowiring over XML config.

Workflow
  1. Assess. Classify: code review, type system, framework patterns, tooling setup, or test writing. Load matching deep reference.
  2. Execute. For quality reviews: check strict_types, PSR-12, modern features, framework idioms, tooling. For testing: PHPUnit TestCase with test prefix, @dataProvider for table-driven, createStub() for returns, createMock() for interactions, parent::setUp() first in every setUp.
  3. Verify. Run ./vendor/bin/phpunit. For coverage: XDEBUG_MODE=coverage ./vendor/bin/phpunit --coverage-text --coverage-min=80.

Show full SKILL.md (445 more words)Show less

Swift

Core Rules

Concurrency:

  • Prefer structured concurrency: TaskGroup over loose Task { }.
  • Mark types Sendable. Enable -strict-concurrency=complete.
  • Use actors for shared mutable state instead of manual locks. All access from outside is async.
  • @MainActor for UI layer only. Use nonisolated for methods that only read let properties.
  • Cancel what you create: every stored Task needs a cancellation path.

Testing:

  • One assertion per concept. Arrange-Act-Assert structure.
  • Name tests descriptively: testFetchUser_withExpiredToken_throwsAuthError.
  • Prefer Swift Testing (@Test, #expect) for Swift 5.9+. Fall back to XCTest for older targets or UI tests.
  • Parameterized tests with arguments:. Protocol-based mock injection.
Workflow
  1. Assess. Classify: concurrency patterns, concurrency mistakes, test writing, or full concurrency review. Load matching deep reference.
  2. Execute. For concurrency: verify structured concurrency, check Sendable conformance, validate actor isolation boundaries, confirm cancellation paths. For testing: Swift Testing for new code on 5.9+, XCTest for UI tests.
  3. Verify. Run swift test --enable-code-coverage and swift build. Confirm strict concurrency checking passes.

TypeScript

Read-only type validation. Do not fix code, change configuration, or install dependencies for a check-only request.

Run
  1. Locate tsconfig.json (check src/, app/, packages/). In a monorepo, use the affected package or the repo's aggregate check. If no config exists, report and stop.
  2. Confirm TypeScript is installed locally. Do not allow implicit npx download.
  3. Run npx tsc --noEmit 2>&1 (or --project path/to/tsconfig.json). Capture exit code. Zero = pass; nonzero = type errors or tool failure (report which).
  4. Report status and error count. Group diagnostics by file and line, retaining file:line:column, TS####, and the message.
Recovery
  • TypeScript missing: suggest npm install typescript --save-dev.
  • npx missing: use npm exec tsc -- --noEmit.
  • Multiple configs: list checked and omitted packages. A single-package pass is not a whole-repository pass.
  • --skipLibCheck: use only when configured or requested.
  • --strict: enable only when configured or requested.
  • --incremental: avoid for read-only checks (writes build-info cache).

For the full JS/TS check sequence: lint first, type-check next, then run tests.


Deep References

Load only the references matching the task. Multiple may apply (e.g., a concurrency PR review loads both code-review and concurrency references).

Go
SignalReference
Tests, table-driven, helpers, mocksreferences/go/testing.md + sub-refs in testing/
Goroutines, channels, sync, race conditionsreferences/go/concurrency.md + concurrency/concurrency-patterns.md
Error wrapping, sentinels, errors.Is/Asreferences/go/error-handling.md + error-handling/patterns.md
Code smells, bad patternsreferences/go/preferred-patterns.md + preferred-patterns/code-examples.md
Code review processreferences/go/code-review.md + code-review/common-review-comments.md
SAPCC repos, go-bitsreferences/go/sapcc-conventions.md + sub-refs in sapcc-conventions/
make check, lintingreferences/go/quality-gate.md + sub-refs in quality-gate/
Google style decisionsreferences/go/google-style-guide/ (pinned upstream)
Kotlin
SignalReference
Scopes, cancellation, dispatchers, exception handlingreferences/kotlin/concurrency-patterns.md
JUnit 5, Kotest, MockK, runTestreferences/kotlin/kotlin-testing.md
PHP
SignalReference
Union/intersection types, enums, readonly, matchreferences/php/modern-php-features.md
PHP-CS-Fixer, PHPStan, Psalm, Rectorreferences/php/quality-tools.md
PHPUnit, data providers, mocks, stubsreferences/php/testing-patterns.md
Swift
SignalReference
TaskGroup, AsyncSequence, AsyncStream, cancellationreferences/swift/task-patterns.md
XCTest, Swift Testing, async tests, UI testsreferences/swift/swift-testing.md

© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 81 other files (scripts, references) in skills/programming/programming of notque/vexjoy-agent.

  • SKILL.md
  • references/go/code-review.md
  • references/go/code-review/common-review-comments.md
  • references/go/concurrency.md
  • references/go/concurrency/concurrency-patterns.md
  • references/go/error-handling.md
  • references/go/error-handling/patterns.md
  • references/go/google-style-guide/SHA256SUMS
  • references/go/google-style-guide/UPSTREAM_REVISION
  • references/go/google-style-guide/best-practices/part-01.md
  • references/go/google-style-guide/best-practices/part-02.md
  • references/go/google-style-guide/best-practices/part-03.md
  • references/go/google-style-guide/best-practices/part-04.md
  • references/go/google-style-guide/best-practices/part-05.md
  • … and 68 more

Open the folder on GitHubat commit 5218674

Compare with similar skills

Programming 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.

Programming compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Programming this skillnotque/vexjoy-agent435—~3kAutomated safety check: NotesMIT
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Simulator Audio E2Ehyochan/react-native-nitro-sound961—~1.1kAutomated safety check: PassMIT
Build Nitro Modulesmargelo/react-native-skills175—~9.9kAutomated safety check: PassMIT
Trust Wallet SDKtrustwallet/tw-agent-skills104—~364Automated safety check: PassMIT
Expo Migrate Moduleexpo/skills2.7k—~2.6kAutomated safety check: PassMIT

Similar skills

  • 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.

    2.8k GitHub stars~4.6k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Simulator Audio E2E

    hyochan/react-native-nitro-sound

    Build and run repeatable react-native-nitro-sound recorder/player regression tests on an iOS Simulator or Android emulator, with explicit virtual-device selection, microphone permission, Maestro…

    961 GitHub stars~1.1k tokensUpdated 8 days ago
    MobileAuto-check passed
  • Build Nitro Modules

    margelo/react-native-skills

    Builds and designs React Native Nitro Modules with Nitrogen, HybridObject TypeScript specs, Nitro View components, generated native implementations, zero-copy and native-state APIs, Swift/Kotlin/C++…

    175 GitHub stars~9.9k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Trust Wallet SDK

    trustwallet/tw-agent-skills

    Trust Wallet open-source libraries — Wallet Core (HD wallets, address derivation, tx signing in Swift/Kotlin/TypeScript/Go for 140+ chains), Web3 Provider (dApp connection for…

    104 GitHub stars~364 tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Official

    Migrate an existing Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2) while preserving its JavaScript and TypeScript contract.

    2.7k GitHub stars~2.6k tokensUpdated today
    MobileAuto-check passed
  • Code Reviewer

    alirezarezvani/claude-skills

    Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.

    28k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2.3k tokensUpdated 4 days ago
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    435 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    435 GitHub stars~3.3k tokensUpdated 4 days ago
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2k tokensUpdated 4 days ago
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2k tokensUpdated 4 days ago
    Auto-check: notes

Categories

Questions about Programming

What does Programming do?

Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript. Programming is an agent skill from notque/vexjoy-agent. Language-specific patterns and tooling: Go, Kotlin, PHP, Swift, TypeScript.

When should I use Programming?

Programming fits situations like: tasks that involve Android development; tasks that involve iOS development.

How do I install Programming in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill programming -a claude-code`. Or copy the skill folder (skills/programming/programming in notque/vexjoy-agent) into .claude/skills/programming in your project. Claude Code loads it when a task matches its description.

How do I install Programming in Codex?

Run `npx skills add notque/vexjoy-agent --skill programming -a codex`. Or copy the skill folder (skills/programming/programming in notque/vexjoy-agent) into .agents/skills/programming in your project. Codex loads it when a task matches its description.

Can I use Programming in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill programming -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/programming, .gemini/skills/programming, .github/skills/programming and .opencode/skills/programming in your project.

What does Programming need to run?

Going by SKILL.md and its folder, Programming needs the command-line tools its instructions call (go, swift, npm, make and npx). Our summary lists: Python 3; Node.js. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob, Edit, Task, Skill.

Does Programming access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Programming safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Programming use?

Programming is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Programming use?

About 3k tokens (SKILL.md is roughly 12k 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 176k tokens, read only when the agent opens those files.

What are the alternatives to Programming?

Skills that share tags, products or a category with Programming: Build Teaql App (teaql/teaql-agent-kit, 2.8k stars), Simulator Audio E2E (hyochan/react-native-nitro-sound, 961 stars), Build Nitro Modules (margelo/react-native-skills, 175 stars) and Trust Wallet SDK (trustwallet/tw-agent-skills, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Programming?

notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 435 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.

Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.