skills/acurioustractor/empathy-ledger-dev/SKILL.md
Invoke this skill when: - Starting work on any Empathy Ledger feature - Need quick reference to project patterns
npx skillsauth add aiskillstore/marketplace empathy-ledger-devInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill provides comprehensive context for developing the Empathy Ledger v2 platform - a multi-tenant storytelling platform for Indigenous communities with cultural safety protocols.
src/
├── app/ # Next.js 15 App Router
│ ├── api/ # API routes
│ ├── vault/ # Story Vault dashboard
│ └── stories/ # Story pages
├── components/ # React components
│ ├── ui/ # shadcn/ui base
│ ├── vault/ # Story Vault components
│ └── cultural/ # Cultural protocol UI
├── lib/ # Utilities and services
│ ├── services/ # Business logic services
│ ├── hooks/ # React hooks
│ └── ai/ # AI integration
└── types/ # TypeScript types
└── database/ # Supabase types by domain
OCAP Principles (Indigenous Data Sovereignty):
Multi-Tenant Architecture:
tenant_id for isolationCultural Sensitivity Levels:
standard - General sharing allowedmedium - Community context requiredhigh - Elder review recommendedsacred - Elder approval mandatory, no external sharingAPI Route Authentication:
const supabase = createRouteHandlerClient({ cookies })
const { data: { user }, error } = await supabase.auth.getUser()
if (error || !user) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
}
Story Ownership Check:
const isOwner = story.author_id === user.id || story.storyteller_id === user.id
Cultural Color Palette:
clay-* - Primary, storyteller elementssage-* - Community, elder approvalsky-* - Organization, trustember-* - Warnings, sensitivity| Domain | File | Contents |
|--------|------|----------|
| User/Profile | user-profile.ts | Profiles, preferences |
| Organization | organization-tenant.ts | Tenants, memberships |
| Projects | project-management.ts | Projects, milestones |
| Content | content-media.ts | Stories, media |
| Cultural | cultural-protocols.ts | Sensitivity, approvals |
| Legal | consent-legal.ts | Consent, GDPR |
| Story Ownership | story-ownership.ts | Distributions, embeds |
EmbedService - Manage story embeds with domain restrictionsDistributionService - Track external sharesRevocationService - Cascade revocationGDPRService - Anonymization, data exportAuditService - Action logging/design-component [description] - Create React component/database-migration [description] - Create Supabase migration/review-cultural [code/feature] - Cultural sensitivity review/review-security [code/endpoint] - Security audit/generate-e2e-test [feature] - Create Playwright test/api-endpoint [description] - Create API routefrontend-designer - UI/UX with cultural designdatabase-architect - Supabase/PostgreSQLcultural-reviewer - OCAP compliancesecurity-auditor - GDPR and securitytesting-automation - Playwright E2EInvoke this skill when:
The following files provide detailed context:
CLAUDE.md - Project instructions.claude/agents/*.md - Specialized agent prompts.claude/commands/*.md - Slash command definitionssrc/types/database/ - Database type definitionsdevelopment
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.