Skip to main content
在 Manus 中运行任何 Skill
一键导入
GitHub 仓库

ditto

ditto 收录了来自 soapbox-pub 的 21 个 skills,并提供仓库级职业覆盖和站内 skill 详情页。

已收集 skills
21
Stars
61
更新
2026-05-11
Forks
14
职业覆盖
6 个职业分类 · 已分类 100%
仓库浏览

这个仓库中的 skills

ci-cd-publishing
软件开发工程师

Ditto's release and publishing pipeline — cutting a version tag, Zapstore APK publishing with NIP-46 bunker auth, nsite web deploys via nsyte, and Google Play AAB uploads via fastlane supply. Includes GitLab CI variable setup and credential rotation.

2026-05-11
mac-runner
网络与计算机系统管理员

Operate the self-hosted GitLab Runner on the Mac that builds Ditto's iOS IPA. Covers SSH access, restarting the runner, viewing logs, updating Xcode, debugging fastlane locally, and rotating match certificates.

2026-05-11
release
软件开发工程师

Publish a new app release with versioning, changelog, native build files, and git tagging. Triggered by "publish a new release" or similar requests.

2026-05-11
nostr-kind-design
软件开发工程师

Decide whether to reuse an existing NIP or mint a new kind, design tag structures that relays can index, choose what goes in content vs. tags, and document new kinds or extensions in NIP.md. Load when authoring a new schema — not when wiring up rendering for a kind that already exists (use nostr-kind-rendering for that).

2026-05-05
nostr-kind-rendering
软件开发工程师

Add UI rendering for an event kind Ditto doesn't yet display — feed cards, detail pages, embedded previews, notifications, routes, feed-toggle registration, and the several kind-label maps (KIND_LABELS, KIND_HEADER_MAP, NOTIFICATION_KIND_NOUNS, CommentContext) that must stay in sync. Load when asked to "support / display / render" a NIP or kind number, when a kind renders blank or as "Kind 12345", or when quote embeds of a kind show "This event kind is not supported".

2026-05-05
capacitor-compat
软件开发工程师

Browser-API gotchas inside Capacitor's WKWebView (iOS) and Android WebView — which common web APIs silently fail, the downloadTextFile/openUrl helpers that bridge web and native, platform detection, and the installed Capacitor plugins. Load when writing code that interacts with file downloads, external URLs, or platform-specific behavior.

2026-04-27
file-uploads
软件开发工程师

Upload files (images, media, attachments) from the browser to a Blossom server via the useUploadFile hook, and attach them to Nostr events with NIP-94 imeta tags.

2026-04-27
git-workflow
软件开发工程师

Ditto's git conventions — validating changes before committing, writing commit messages that match project style, and attributing regressions with a Regression-of trailer so the release changelog skill can filter them from the "Fixed" section.

2026-04-27
nip19-routing
网页开发工程师

Implement or populate the root-level NIP-19 router (/:nip19) that handles npub, nprofile, note, nevent, and naddr identifiers. Covers decoding, secure filter construction, and type-specific rendering for profiles, notes, events, and addressable events.

2026-04-27
nostr-encryption
软件开发工程师

Encrypt and decrypt content for Nostr direct messages, gift wraps, or any feature that needs NIP-44 (or legacy NIP-04) ciphertext, using the logged-in user's signer.

2026-04-27
nostr-publishing
软件开发工程师

Publish Nostr events with useNostrPublish. Covers the basic publishing pattern, safely mutating replaceable and addressable events (read-modify-write via fetchFreshEvent + prev), published_at preservation, and d-tag collision prevention for new addressable content.

2026-04-27
nostr-queries
软件开发工程师

Query Nostr events efficiently with useNostr + TanStack Query. Covers the standard useQuery pattern, combining related kinds into a single request to avoid rate limiting, and validating events with required tags or strict schemas.

2026-04-27
nostr-relay-pools
软件开发工程师

Query or publish to specific Nostr relays or curated relay groups using nostr.relay() and nostr.group(), instead of the default connection pool. Useful for debugging, testing, specialized relays, or geographically-targeted publishing.

2026-04-27
theming
网页与数字界面设计师

Customize Ditto's visual design — install Google Fonts via @fontsource, change the color scheme, configure light/dark themes, and apply consistent component styling patterns with Tailwind and CSS variables.

2026-04-27
nip85-stats
软件开发工程师

Fetch pre-computed engagement stats (follower count, post count, reply count, reaction count, zap amounts, etc.) for users, events, and addressable events via a NIP-85 Trusted Assertion provider. Provides useNip85UserStats, useNip85EventStats, and useNip85AddrStats hooks backed by a configurable provider pubkey in AppConfig.

2026-04-27
nostr-security
信息安全分析师

Threat model and defenses for Ditto as a web Nostr client — why XSS is catastrophic when nsec keys live in localStorage, CSP as defense-in-depth, URL and CSS sanitization for untrusted event data, and author filtering for trust-sensitive queries (admin actions, moderators, addressable events, NIP-72 communities). Load when building trust-boundary features, rendering user-controlled URLs or markup, interpolating event data into CSS, or reviewing the app's security posture.

2026-04-27
testing
软件质量保证分析师与测试员

Write Vitest unit tests for React components and hooks using the project's `TestApp` wrapper, jsdom environment, and pre-mocked browser APIs (localStorage, matchMedia, scrollTo, IntersectionObserver, ResizeObserver). Also covers the project policy on when to create new test files.

2026-04-27
lockdown-mode
软件开发工程师

Apple Lockdown Mode restrictions and their impact on web APIs inside WKWebView/Safari/WebView. Reference when debugging or building features for lockdown-enabled devices.

2026-04-06
ai-chat
软件开发工程师

Build AI-powered chat interfaces, implement streaming responses, or integrate with Shakespeare AI.

2026-03-27
nostr-comments
软件开发工程师

Implement Nostr comment systems, add discussion features to posts/articles, build community interaction features, or attach comments to any external content identifier including URLs, hashtags, and NIP-73 identifiers (ISBN, podcast GUIDs, geohashes, movie ISANs, blockchain transactions, and more).

2026-03-27
nostr-infinite-scroll
网页开发工程师

Build feed interfaces, implement pagination for Nostr events, or create social media-style infinite scroll experiences.

2026-03-27