Agent skill

Uikit UI Common Setup

by drawthingsai in drawthingsai/draw-things-community

A skill your agent uses when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state…

GPL-3.0Auto-check passedMobile

Install Uikit UI Common Setup

skills CLI
$ npx skills add drawthingsai/draw-things-community --skill uikit-ui-common-setup -a claude-code

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

GitHub CLI
$ gh skill install drawthingsai/draw-things-community uikit-ui-common-setup --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/drawthingsai/draw-things-community.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/uikit-ui-common-setup .claude/skills/uikit-ui-common-setup && 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
uikit-ui-common-setup
GitHub stars
580
Token cost
~953 tokens
SKILL.md length
468 words
Files
2
Skills in repo
8
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state…

  • Refactoring UIKit UI in this repo
  • SKILL.md covers First Pass, Workflow And ViewController, Controller And View and Layout And View Setup, plus 3 more sections
  • Calls rg
  • Especially Workflow/ViewController wiring

What it does

Uikit UI Common Setup is an agent skill from drawthingsai/draw-things-community. Use when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state, Objective-C adapter responders, or app threading boundaries.

Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Mobile, covering iOS development. It works with Objective-C. The repository describes itself as: The community repository for the Draw Things app. The licence is GPL-3.0.

When your agent uses it

  • Refactoring UIKit UI in this repo
  • Especially Workflow/ViewController wiring
  • Controller/View components
  • Workspace/Dflat-driven UI state

Example prompts

  • “/uikit-ui-common-setup”

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • rg

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

  • Network

    No URLs in SKILL.md.

    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

Uikit UI Common Setup loads about 953 tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 468 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~953

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 passed

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.

SKILL.md

The full file from drawthingsai/draw-things-community at commit 3cac075, republished under its GPL-3.0 licence (© drawthingsai). 468 words, ~953 tokens.

Download SKILL.mdSave it as .claude/skills/uikit-ui-common-setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
uikit-ui-common-setup
description
Use when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state, Objective-C adapter responders, or app threading boundaries.

UIKit UI Common Setup

First Pass

  • Read nearby app code before introducing a new shape.
  • Prefer existing Draw Things / Local Code UIKit patterns over new abstractions.
  • Use rg / rg --files to find matching Workflow, ViewController, and Controller examples.

Workflow And ViewController

  • UI screens are managed by Workflow objects.
  • A Workflow owns the concrete UIViewController.
  • Expose viewController when the workflow needs the concrete type, and viewControllable as the generic UIKit-facing UIViewController.
  • UIViewController subclasses are views plus UIKit event handling only.
  • Do not put business logic, persistence policy, generation logic, networking, model work, or off-main-thread work in a UIViewController.
  • UIViewController sends events out through delegates. The Workflow handles them and sets properties back on the view controller.

Controller And View

  • For shared business logic outside a workflow, use Controller & View.
  • A controller is a plain Swift class, not NSObject and not a UIKit subclass.
  • It owns one root UIView property, usually let view: UIView.
  • Controllers are usually owned by workflows. Letting a view controller own one is only for lightweight, mostly animation-focused cases.

Layout And View Setup

  • Use lazy vars for referenced views. Each lazy var configures that view and self-contained subviews.
  • Put hierarchy assembly and cross-view SnapKit constraints inline in viewDidLoad or the controller initializer.
  • In viewDidLoad or the controller initializer, do layout first, then action/delegate hookups.
  • Do not create one-off configureXXX / setupXXX methods for view setup, layout, or action wiring.
  • Domain helpers are fine when they express behavior or reusable construction, such as makeProjectMenu, updateSettingsSections, or didTapCollapseOrExpand.
Show full SKILL.md (221 more words)Show less

One-Way Dataflow

  • Persisted UI state should flow from Dflat / Workspace / workspace.dictionary observations into UI properties.
  • Delegate callbacks should write source-of-truth state or call workflow/controller behavior, not directly mutate unrelated UI state.
  • Even didSet-driven UI updates should be reached through the owning Workflow or real Controller when the state is not purely local view presentation.
  • Keep view controllers as render targets: set properties on them; let them update UIKit controls.

Objective-C And UIKit Adapters

  • A UIViewController already inherits from NSObject; using it for UIKit lifecycle/delegates is fine.
  • Plain controllers must stay plain Swift classes.
  • When a plain controller needs Objective-C delegation, target/action, or UIKit delegate conformance, create a nested responder such as Controller.ObjCResponder: NSObject.
  • The responder forwards callbacks back to the controller; it does not own business logic.

Threads And Queues

  • Do not use async / await in app UI code.
  • UIViewController subclasses and views should only touch main-thread UIKit state.
  • Workflow and Controller objects are the right places for off-main-thread behavior.
  • Avoid creating private queues per workflow/controller. Reuse existing shared queues when behavior fits.
  • Prefer one or two shared queues for broad work classes, like Draw Things' edit queue handling generation, tokenization, and related work.
  • Create a new queue only when the behavior truly needs a separate serialization or QoS boundary. For rare fire-and-forget work, a global concurrent queue can be acceptable.

© drawthingsai, GPL-3.0. 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 1 other file in .agents/skills/uikit-ui-common-setup of drawthingsai/draw-things-community.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 3cac075

Compare with similar skills

Uikit UI Common Setup 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.

Uikit UI Common Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uikit UI Common Setup this skilldrawthingsai/draw-things-community580—~953Automated safety check: PassGPL-3.0
Audit Xcode Security Settingssuperagents-lab/xcode27-skills338—~4.6kAutomated safety check: PassNone
Objc iOS Maintenancesun6762/objc-ios-maintenance181—~6.3kAutomated safety check: PassMIT
AppsFlyer Unity Plugin API ChangeAppsFlyerSDK/appsflyer-unity-plugin178—~514Automated safety check: PassMIT
Debug Rn Native CrashLedgerHQ/ledger-live622—~1.2kAutomated safety check: PassMIT
Analyzing iOS Binariestrilwu/secskills156—~2kAutomated safety check: PassMIT

Similar skills

  • Audit Xcode Security Settings

    superagents-lab/xcode27-skills

    Audit and enable security-oriented Xcode build settings. An agent skill from superagents-lab/xcode27-skills.

    338 GitHub stars~4.6k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Objc iOS Maintenance

    sun6762/objc-ios-maintenance

    维护、审查、重构、现代化或调试 Objective-C iOS 项目。用于 .h/.m/.mm、UIKit/Auto Layout/滚动/渲染/启动、ARC/block/线程/CF bridge、KVC/KVO/runtime/swizzling、Swift 混编、Xcode 构建依赖、废弃…

    181 GitHub stars~6.3k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • AppsFlyer Unity Plugin API Change

    AppsFlyerSDK/appsflyer-unity-plugin

    Guides API changes in the AppsFlyer Unity plugin across the C# layer and the Android Java and iOS Objective-C bridges, ending with a compatibility-risk report.

    178 GitHub stars~514 tokensUpdated 4 days ago
    MobileAuto-check passed
  • Debug Rn Native Crash

    LedgerHQ/ledger-live

    Investigate native React Native crashes (Fabric/Hermes/iOS) in ledger-live-mobile when JS error logs are missing or unhelpful.

    622 GitHub stars~1.2k tokensUpdated today
    MobileAuto-check passed
  • Analyzing iOS Binaries

    trilwu/secskills

    Analyze iOS applications at the binary level — decrypting FairPlay-protected IPAs with frida-ios-dump or bagbak, inspecting Mach-O load commands, recovering Objective-C headers with class-dump, and…

    156 GitHub stars~2k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Migration Patterns

    gustavscirulis/snapgrid

    Migration guides for CoreData to SwiftData, UIKit to SwiftUI, ObservableObject to @Observable, XCTest to Swift Testing, Objective-C to Swift, and StoreKit 1 to StoreKit 2.

    117 GitHub starsUsed in 1 repo~1.7k tokens
    MobileAuto-check passed

More from drawthingsai/draw-things-community

All 8 skills in this repo
  • Run Longcat Avatar Video

    drawthingsai/draw-things-community

    Generate, benchmark, validate, and troubleshoot LongCat-Video-Avatar 1.5 videos with draw-things-cli.

    580 GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed
  • Setup Cpu Proxy Server

    drawthingsai/draw-things-community

    Set up and verify a new Draw Things CPU proxy and Envoy server using the scripts in Scripts/ServerManagement/CPUScript.

    580 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check passed
  • Use Drawthings CLI

    drawthingsai/draw-things-community

    Use and troubleshoot an already installed Homebrew draw-things-cli for model discovery, authentication, local, cloud, or remote image generation, basic image-to-image and video generation, output…

    580 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed
  • Init GPU Server

    drawthingsai/draw-things-community

    Initialize a Draw Things GPU server with GPUScript, including script sync, Docker/CUDA/NVIDIA runtime setup, 7T data disk mounting, mergerfs, and end-to-end GPU verification.

    580 GitHub stars~2.2k tokensUpdated 2 days ago
    Auto-check passed
  • New Model Integration

    drawthingsai/draw-things-community

    Add a new image or video generative model to the Draw Things app / CLI with a compile-first, end-to-end workflow across SwiftDiffusion, tokenizer plumbing, text encoder, fixed encoder, UNet / DiT…

    580 GitHub stars~4.8k tokensUpdated 2 days ago
    Auto-check passed
  • Train Lora

    drawthingsai/draw-things-community

    Validate Draw Things LoRA training end to end with draw-things-cli, including tiny-dataset training, loss and scaler checks, checkpoint sanity, and base-versus-LoRA generation comparison.

    580 GitHub stars~2k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Uikit UI Common Setup

What does Uikit UI Common Setup do?

A skill your agent uses when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state…. Uikit UI Common Setup is an agent skill from drawthingsai/draw-things-community. Use when writing or refactoring UIKit UI in this repo, especially Workflow/ViewController wiring, Controller/View components, SnapKit layout, Workspace/Dflat-driven UI state, Objective-C adapter responders, or app threading boundaries.

When should I use Uikit UI Common Setup?

Uikit UI Common Setup fits situations like: refactoring UIKit UI in this repo; especially Workflow/ViewController wiring; controller/View components; workspace/Dflat-driven UI state.

How do I install Uikit UI Common Setup in Claude Code?

Run `npx skills add drawthingsai/draw-things-community --skill uikit-ui-common-setup -a claude-code`. Or copy the skill folder (.agents/skills/uikit-ui-common-setup in drawthingsai/draw-things-community) into .claude/skills/uikit-ui-common-setup in your project. Claude Code loads it when a task matches its description.

How do I install Uikit UI Common Setup in Codex?

Run `npx skills add drawthingsai/draw-things-community --skill uikit-ui-common-setup -a codex`. Or copy the skill folder (.agents/skills/uikit-ui-common-setup in drawthingsai/draw-things-community) into .agents/skills/uikit-ui-common-setup in your project. Codex loads it when a task matches its description.

Can I use Uikit UI Common Setup 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 drawthingsai/draw-things-community --skill uikit-ui-common-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uikit-ui-common-setup, .gemini/skills/uikit-ui-common-setup, .github/skills/uikit-ui-common-setup and .opencode/skills/uikit-ui-common-setup in your project.

What does Uikit UI Common Setup need to run?

Going by SKILL.md and its folder, Uikit UI Common Setup needs the command-line tools its instructions call (rg).

Does Uikit UI Common Setup access the network?

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.

Is Uikit UI Common Setup safe to install?

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.

What licence does Uikit UI Common Setup use?

Uikit UI Common Setup is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uikit UI Common Setup use?

About 953 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Uikit UI Common Setup?

Skills that share tags, products or a category with Uikit UI Common Setup: Audit Xcode Security Settings (superagents-lab/xcode27-skills, 338 stars), Objc iOS Maintenance (sun6762/objc-ios-maintenance, 181 stars), AppsFlyer Unity Plugin API Change (AppsFlyerSDK/appsflyer-unity-plugin, 178 stars) and Debug Rn Native Crash (LedgerHQ/ledger-live, 622 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uikit UI Common Setup?

drawthingsai (a GitHub organization) maintains it in drawthingsai/draw-things-community, which has 580 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.

Source: drawthingsai/draw-things-community on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.