AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Architecture

skill-neha-rn-developer-skills-architecture · by Neha

Review and structure React Native features for correct folder layout, navigation, deep linking, error boundaries, rendering safety, and code quality. Use when designing a new feature, reviewing structure, or isolating crashes.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-neha-rn-developer-skills-architecture

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-neha-rn-developer-skills-architecture)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Architecture? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Architecture Skill

Applicability

  • Platforms: iOS and Android
  • React Native: 0.76+ (New Architecture interop assumed unless a checklist item says otherwise)

When to Use

  • Designing the folder and module structure for a new feature
  • Reviewing a pull request for structural or navigation issues
  • Adding deep links or wiring screens into navigation
  • Isolating crashes so one feature cannot take down the whole app
  • Checking general code quality before merge

Guidance

Feature Structure

  • [ ] Feature sits in its own folder (src/features/{name}/)
  • [ ] No cross-feature imports (share only through a shared/ module)
  • [ ] Barrel export (index.ts) only exposes the feature's public API
  • [ ] No business logic in components — extract to hooks and utilities
  • [ ] Clear separation: screen (layout) vs components (reusable UI) vs hooks (logic)

Navigation & Deep Linking

  • [ ] Screen registered in navigation with type-safe params
  • [ ] Deep link configured for every navigable screen
  • [ ] Deep link handles both cold start and background resume (different lifecycles)
  • [ ] Deep links to authenticated screens check auth state first
  • [ ] Expired or invalid deep link content handled gracefully
  • [ ] Navigation params treated as optional and validated
  • [ ] Back button goes to the expected screen
  • [ ] Navigation stack reset on sign-out (no deep-linking back into authenticated content)

Incorrect:

const { itemId } = route.params; // crashes if params undefined
const item = useItem(itemId);

Correct:

const itemId = route.params?.itemId;
if (!itemId) return ;
const item = useItem(itemId);

Rendering Safety

  • [ ] Conditional rendering handles falsy values correctly
  • [ ] Components return null, not undefined, for an empty render
  • [ ] List items have stable, unique keys (not array index)

Incorrect:

{count && {count} items}        // renders "0" when count is 0
Hello {user.name}               // crashes on Android if name is undefined

Correct:

{count > 0 && {count} items}
Hello {user?.name ?? 'Guest'}

Resilience & Error Boundaries

  • [ ] Error boundary at the app root and one per feature (crash isolated to feature)
  • [ ] Graceful degradation: disable a feature rather than crash the app
  • [ ] Errors are never swallowed silently
  • [ ] Fallback UI is simple enough to never crash itself (no API calls, no complex state)

Incorrect:

export default function App() {
  return ; // one crash anywhere kills the entire app
}

Correct:

export default function App() {
  return (
    }>
      
    
  );
}

function SearchScreen() {
  return (
    }>
      
    
  );
}

Code Quality

  • [ ] TypeScript: no any, no @ts-ignore without an explanation
  • [ ] No console.log left in (use a proper logging utility)
  • [ ] No commented-out code committed
  • [ ] No TODO without a linked ticket
  • [ ] Component props have a named TypeScript interface (not inline)
  • [ ] Files stay under ~300 lines; functions under ~50 lines (split when larger)

Anti-Patterns

| Anti-Pattern | Why It's Bad | Fix | |---|---|---| | Cross-feature imports | Tight coupling, hard to move or delete features | Share through shared/ only | | navigate called during render | Infinite loop | Move to useEffect or an event handler | | Components defined inside components | Re-mounts every render, loses state | Define at module scope | | Platform checks scattered everywhere | Hard to follow, easy to miss a case | Use .ios.ts / .android.ts files | | any type | Defeats TypeScript, hides bugs | Use proper types or unknown | | Missing error boundary | One crash takes down the whole app | Error boundary per feature |

Pitfalls

  • Error boundaries only catch render and lifecycle errors — not errors in event handlers or async code. Handle those explicitly.
  • Deep links fire on both cold start and background resume; the two paths have different lifecycles and both need testing.
  • undefined rendered inside `` crashes on Android but silently works on iOS, so iOS-only testing misses it.
  • Using array index as a list key causes the wrong items to re-render on reorder or delete.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.