Swiftui Pro
twostraws/SwiftUI-Agent-Skill
Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance.
Procedure for writing and updating Matft's documentation (the Docusaurus site in website/ and the doc comments on the public API that become the Swift-DocC API reference).
$ npx skills add jjjkkkjjj/Matft --skill docs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jjjkkkjjj/Matft docs --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/jjjkkkjjj/Matft.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/docs .claude/skills/docs && 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 "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .claude/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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/jjjkkkjjj/Matft/tree/main/.claude/skills/docsType 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 jjjkkkjjj/Matft --skill docs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jjjkkkjjj/Matft docs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jjjkkkjjj/Matft.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/docs .agents/skills/docs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .agents/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 jjjkkkjjj/Matft --skill docs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jjjkkkjjj/Matft docs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jjjkkkjjj/Matft.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/docs .cursor/skills/docs && 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 "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .cursor/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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/jjjkkkjjj/Matft.git --path .claude/skills/docs--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 jjjkkkjjj/Matft --skill docs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jjjkkkjjj/Matft docs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jjjkkkjjj/Matft.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/docs .gemini/skills/docs && 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 "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .gemini/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 jjjkkkjjj/Matft docsInstalls 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 jjjkkkjjj/Matft --skill docs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jjjkkkjjj/Matft.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/docs .github/skills/docs && 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 "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .github/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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 jjjkkkjjj/Matft --skill docs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jjjkkkjjj/Matft docs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jjjkkkjjj/Matft.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/docs .opencode/skills/docs && 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 "docs" agent skill from https://github.com/jjjkkkjjj/Matft/tree/main/.claude/skills/docs into .opencode/skills/docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "docs", 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.
docsProcedure for writing and updating Matft's documentation (the Docusaurus site in website/ and the doc comments on the public API that become the Swift-DocC API reference).
Docs is an agent skill from jjjkkkjjj/Matft. Procedure for writing and updating Matft's documentation (the Docusaurus site in website/ and the doc comments on the public API that become the Swift-DocC API reference). Use it to keep docs in sync when adding or changing functions or types, to add or fix guide pages and the NumPy mapping tables, to rewrite /// or / / comments, to fix DocC warnings, and to check that the site builds. Use this skill whenever the conversation is about Matft's documentation or comments — e.g. "write docs", "update the docs", "fix…
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `evals/evals.json` and `scripts/undocumented_symbols.py`).
It sits in Mobile, covering iOS development. It works with NumPy. The repository describes itself as: Numpy-like library in swift. (Multi-dimensional Array, ndarray, matrix and vector library). The licence is BSD-3-Clause.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 618dcfc. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
swiftnpmpython3npxFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
jjjkkkjjj.github.ioFrom 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.
Docs loads about 2.7k tokens when it runs. Until then it costs about 219 tokens; SKILL.md has 1,049 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); the scripts in this folder are not scanned.
The full file from jjjkkkjjj/Matft at commit 618dcfc, republished under its BSD-3-Clause licence (© jjjkkkjjj). 1,049 words, ~2,718 tokens.
.claude/skills/docs/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Matft's documentation has two layers.
| Layer | Location | Role |
|---|---|---|
| Site (Docusaurus) | website/docs/ | Prose: guides, NumPy mapping tables, performance, contributing |
| API reference (Swift-DocC) | Doc comments in Sources/Matft/**/*.swift + Sources/Matft/Matft.docc/Matft.md | Spec of every public symbol |
Both are built by .github/workflows/docs.yml and published to GitHub Pages (https://jjjkkkjjj.github.io/Matft/, API at /Matft/api/documentation/matft). CI treats DocC warnings as errors and broken site links as errors, so pass the same checks locally before opening a PR.
The README is only an entry point (overview, examples, installation, links). Do not add details to the README; write them on the site and link to them.
Where each kind of change needs to be reflected. The NumPy mapping tables and the Topics in Matft.md are the ones most often missed.
| Change | Update |
|---|---|
| Public function/method added or signature changed | That symbol's doc comment (2.), one row in the table in website/docs/numpy-mapping/<category>.md |
| Behavior changed (types, return value, difference from Numpy) | The comment, code examples and output on the relevant guide page, Method / Complex columns of the mapping table |
| Public type (enum / struct / class) added | Comments (the type and every case), the right group under ## Topics in Sources/Matft/Matft.docc/Matft.md |
| Headline feature added | A guide page or section (3.); if needed, the Features in website/docs/intro.md and one Features line in the README |
| Image processing case added | Create comparison images with the image-visual-check skill and put them in website/docs/guide/image.md |
| Benchmark table | The benchmark skill (--update-docs). Never edit by hand |
Comments describe how the implementation actually behaves. Guessing from the signature or old comments publishes a false spec on DocC. In particular, check these in the implementation:
mftype of the result (e.g. integer input becomes Float)unsupport_complex(...), it is not → write it in - Precondition:axis / keepDims, and the behavior when axis is omittedthrows, which MfError cases it throws (only cases actually thrown)When the implementation and the comment disagree and you cannot tell which is intended (i.e. a suspected bug), do not fix the code: make the comment match the actual behavior and report the suspicion to the user. The fix goes in a separate PR following the TDD rule in CLAUDE.md. Fixing code on the side during documentation work sneaks in untested behavior changes.
Match the existing format of each file (/** ... */ or ///). Do not mix them.
/**
Return the indices of the elements that are non-zero.
Equivalent to `numpy.nonzero`. NaN counts as non-zero. The indices are listed in row-major order.
- Parameters:
- mfarray: The input array.
- Returns: One 1-d `.Int` array per dimension of `mfarray`, holding the indices of the non-zero elements along that dimension.
- Precondition: Complex arrays are not supported.
*/
public static func nonzero(_ mfarray: MfArray) -> [MfArray]{Equivalent to \numpy.xxx`.` (likewise for cv2 / PIL / transformers / librosa / scipy).- Parameters: (capital P). Names must match the internal names in the signature (a mismatch causes a DocC warning → CI failure). Do not write meaningless descriptions like mfarray: mfarray.- Returns: / - Throws: / - Precondition: / - Note: (differences from Numpy and caveats).Method version of \Matft.transpose(_:axes:)`.` and repeat only the key points.*& is @, === is element-wise ==, == is numpy.array_equal).- Note: This is an implementation detail of Matft and may change. Do not change the access level.Int / Float etc. (DocC inherits the requirement's description).``Symbol`` double-backquote links only when you are sure they resolve. Unresolved links become warnings, so normally write code.Add short ```swift examples only to major entry points (creation functions, commonly used operations, image/audio preprocessing, etc.). If you include output, copy values straight from a test or use only results actually run as in 4. Never guess output.
website/
docs/intro.md, performance.md, contributing.md
docs/getting-started/ installation, quick-start
docs/guide/ mfarray, indexing, views, manipulation, arithmetic, math-and-stats, linalg, complex, image, audio, mlx
docs/numpy-mapping/ index (legend) + mapping tables by category
sidebars.ts ← always register new pages here (docsSidebar / mappingSidebar)
docusaurus.config.ts navbar, footer, baseUrl=/Matft/
src/pages/index.tsx top page (Numpy vs Matft code comparison and feature cards)
scripts/copy-assets.mjs Tests/MatftTests/files/images/compare → static/img/compare (copied at build time, not tracked by git).md is parsed as CommonMark (markdown.format: 'detect'). JSX / MDX syntax is not available (use .mdx for that). In exchange, <, { in tables and HTML comments (the BENCHMARK markers) can be written as-is.:::note / :::caution / :::warning / :::info Beta … :::..md paths (e.g. ../numpy-mapping/math.md, ./views.md#copy). Use file paths rather than URLs so broken links are detected at build time.. Do not copy images into website and commit them.pathname:///api/documentation/matft (no trailing slash, because of trailingSlash: false).title: in the front matter and add them to sidebars.ts.The tables in website/docs/numpy-mapping/*.md have these four columns.
| Matft | Numpy | Method | Complex |
| --- | --- | :---: | :---: |
| `Matft.stats.median` | `numpy.median` | | |
| `Matft.transpose` | `numpy.transpose` | ✓ | ✓ |
| `MfArray.toArray` | `numpy.ndarray.tolist` | only | |✓ = a method version also exists (a.transpose()), only = method version only.✓ if complex arrays are supported.cv2.GaussianBlur, librosa.stft, etc.). n/a if there is none.<br /> (e.g. `Matft.matmul`<br />`*&`).Output shown in guides or the Quick Start must be verified by actually running it. Print it from a temporary test and copy it.
cat > Tests/MatftTests/TmpDocsSnippetTest.swift <<'EOF'
import XCTest
@testable import Matft
final class TmpDocsSnippetTest: XCTestCase {
func testSnippets() {
print("SNIP")
let a = Matft.arange(start: 0, to: 6, by: 1, shape: [2, 3])
print(a.sum(axis: 0))
}
}
EOF
swift test --filter MatftTests.TmpDocsSnippetTest 2>&1 | sed -n '/^SNIP/,/^◇/p'
rm Tests/MatftTests/TmpDocsSnippetTest.swift # always delete it when done (never commit it)DOCC_WARNINGS_AS_ERRORS=1 ./scripts/build-docs.sh # API reference → website/static/api
python3 .claude/skills/docs/scripts/undocumented_symbols.py # public symbols without comments (must be 0)
cd website
npm ci # first time only
npm run build # fails on broken links
npx docusaurus serve --port 3210 --no-open # for visual checks (http://localhost:3210/Matft/)build-docs.sh does not use swift-docc-plugin; it feeds the symbol graph from swift build to docc convert. Do not add DocC dependencies to Package.swift (it would add dependencies for users). For the API only, use ./scripts/build-docs.sh --preview.undocumented_symbols.py reads the symbol graph produced by build-docs.sh, so run build-docs.sh first.warning: Parameter 'x' is missing documentation / not found in ... declaration. Making the comment's parameter list match the signature removes them./api/documentation/matft/ because of trailingSlash: false; this is not a problem in production (GitHub Pages).Documentation-only changes are exempt from TDD. However, when changing scripts such as scripts/benchmark.py, write the tests first (scripts/test_benchmark.py).
© jjjkkkjjj, BSD-3-Clause. 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 2 other files (scripts) in .claude/skills/docs of jjjkkkjjj/Matft.
Open the folder on GitHubat commit 618dcfc
Docs 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 |
|---|---|---|---|---|---|---|
| Docs this skilljjjkkkjjj/Matft | 147 | — | ~2.7k | Automated safety check: Pass | BSD-3-Clause | |
| Swiftui Protwostraws/SwiftUI-Agent-Skill | 5.2k | 2 repos | ~1.5k | Automated safety check: Pass | MIT | |
| Swiftui UI PatternsAFK-surf/OpenBridge | 430 | 4 repos | ~887 | Automated safety check: Pass | MIT | |
| Swiftui Performance Auditharperreed/dotfiles | 334 | 8 repos | ~1.4k | Automated safety check: Pass | None | |
| Hig Project Contextraintree-technology/hig-doctor | 143 | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Hig Components Contentraintree-technology/hig-doctor | 143 | 5 repos | ~1.3k | Automated safety check: Pass | MIT |
twostraws/SwiftUI-Agent-Skill
Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance.
AFK-surf/OpenBridge
Best practices and example-driven guidance for building SwiftUI views and components.
harperreed/dotfiles
Audit and improve SwiftUI runtime performance from code review and architecture.
raintree-technology/hig-doctor
Create or update a shared Apple design context document that other HIG skills use to tailor guidance.
raintree-technology/hig-doctor
Apple Human Interface Guidelines for content display components.
fayazara/macos-app-skills
Add Sparkle auto-update support to a native macOS app. An agent skill from fayazara/macos-app-skills.
jjjkkkjjj/Matft
Procedure for designing and writing Matft's XCTest cases with high coverage — boundary values, dtypes, memory layouts, NaN/inf, empty arrays, broadcasting, platform differences, performance and…
jjjkkkjjj/Matft
Procedure for benchmarking Matft's PerformanceTests against Numpy and reporting the results (and, when asked, updating the speed comparison table on the docs site, website/docs/performance.md).
jjjkkkjjj/Matft
Procedure for adding tests for Matft's image processing (Matft.image., indexing or channel swapping on images, etc.), generating comparison images that put the result next to an OpenCV reference…
jjjkkkjjj/Matft
Procedure for releasing a new version of Matft (decide the version → check tests → write release notes → create and push an annotated tag → publish a GitHub Release).
Works with
Categories
Procedure for writing and updating Matft's documentation (the Docusaurus site in website/ and the doc comments on the public API that become the Swift-DocC API reference). Docs is an agent skill from jjjkkkjjj/Matft. Procedure for writing and updating Matft's documentation (the Docusaurus site in website/ and the doc comments on the public API that become the Swift-DocC API reference).
Docs fits situations like: keep docs in sync when adding; changing functions; fix guide pages and the NumPy mapping tables; fix DocC warnings.
Run `npx skills add jjjkkkjjj/Matft --skill docs -a claude-code`. Or copy the skill folder (.claude/skills/docs in jjjkkkjjj/Matft) into .claude/skills/docs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jjjkkkjjj/Matft --skill docs -a codex`. Or copy the skill folder (.claude/skills/docs in jjjkkkjjj/Matft) into .agents/skills/docs 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 jjjkkkjjj/Matft --skill docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs, .gemini/skills/docs, .github/skills/docs and .opencode/skills/docs in your project.
Going by SKILL.md and its folder, Docs needs Python for the scripts in its folder and the command-line tools its instructions call (swift, npm, python3 and npx). Our summary lists: Python 3; Node.js.
SKILL.md names 1 domain. As links in the text: jjjkkkjjj.github.io. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Docs is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k 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.
Skills that share tags, products or a category with Docs: Swiftui Pro (twostraws/SwiftUI-Agent-Skill, 5.2k stars), Swiftui UI Patterns (AFK-surf/OpenBridge, 430 stars), Swiftui Performance Audit (harperreed/dotfiles, 334 stars) and Hig Project Context (raintree-technology/hig-doctor, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jjjkkkjjj (a GitHub user) maintains it in jjjkkkjjj/Matft, which has 147 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 27, 2026.
Source: jjjkkkjjj/Matft on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.