open-data

A skill for designing persistence systems where user data outlives any particular application. The governing philosophy: the file system is the database, plain text is the schema, and conventions replace proprietary formats.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "open-data" with this command: npx skills add jayfarei/open-data/jayfarei-open-data-open-data

Open Data Architect

A skill for designing persistence systems where user data outlives any particular application. The governing philosophy: the file system is the database, plain text is the schema, and conventions replace proprietary formats.

Instructions

Before producing any output, read the relevant reference files:

  • references/principles.md — The 8 non-negotiable futureproof principles

  • references/design-patterns.md — 9 reusable persistence patterns with tradeoffs

  • references/decision-framework.md — Step-by-step architectural decision guide

  • references/obsidian-spec.md — Obsidian data model technical reference

Then choose the appropriate workflow below based on what the user needs.

Step 1: Understand the Request

Determine what the user is asking for:

  • Designing a new system? → Go to Step 2A

  • Evaluating an existing system? → Go to Step 2B

  • Thinking through a specific tradeoff? → Go to Step 2C

Ask clarifying questions if the domain, entity types, or constraints are unclear. Do not assume — the user's domain matters enormously.

Step 2A: Design a New Persistence Layer

  • Read references/design-patterns.md and references/decision-framework.md

  • Ask the user about entity types, expected volumes, creation method, and lifecycle

  • Walk through the 9 decisions in references/decision-framework.md with the user

  • Propose a directory structure, naming conventions, and metadata schema

  • Produce a persistence specification using the template in references/persistence-spec.md

  • Validate every decision against the principles in references/principles.md

Expected output: A complete persistence specification document.

Step 2B: Audit an Existing System

  • Read references/auditor-rubric.md for the 69-point scoring criteria

  • Ask the user to describe their current persistence approach

  • Score each of the 23 criteria (7 categories) from 0-3

  • Identify lock-in points, proprietary dependencies, and portability risks

  • Produce a scored audit report with specific remediation recommendations

  • If migration is needed, propose incremental steps

Expected output: An audit report with scores, findings, and remediation plan.

Step 2C: Co-Design a Specific Decision

  • Read the relevant reference files for the decision area

  • Propose 2-3 architectural options with explicit tradeoff analysis

  • Stress-test each option against the principles in references/principles.md

  • Help the user arrive at a decision with clear rationale

  • Document the decision as an Architecture Decision Record: Context → Decision → Consequences → Alternatives Considered

Expected output: An ADR documenting the decision and reasoning.

Step 3: Validate Output

Before finalizing any deliverable, verify:

  • Every design decision can answer: "If the app disappears, is the data still usable?"

  • No proprietary binary formats are required for core functionality

  • Derived data (indices, caches) is regenerable and lives in cache/

  • App data is separated into config/ , state/ , and cache/ within .<app-name>/

  • Each frontmatter field passes the boundary test ("Would a different Markdown tool find this meaningful?")

  • Non-regenerable app state (user decisions, manual corrections) is in state/ , not mixed into cache/ or content

  • File paths serve as identifiers, not UUIDs or database keys

  • Non-standard syntax degrades gracefully to readable text in other tools

  • Consumer roles and access paths are documented (who reads, who writes, how)

  • An agent can discover, read, and create entities using filesystem conventions alone

Examples

Example 1: Designing a Knowledge Management System

User says: "I'm building a tool that ingests bookmarks from Twitter, GitHub stars, and Reddit saves into LLM-generated summaries. How should I structure the data?"

Actions:

  • Read design-patterns.md — identify Patterns 1, 2, 3, 6, 8 as applicable

  • Walk through entity modeling: bookmark entities with source metadata

  • Propose hybrid directory structure: by source type + temporal partitioning

  • Define frontmatter schema with mandatory fields (type, source, created, url)

  • Produce persistence specification

Result: Complete spec with directory layout, naming conventions, YAML schema, and index strategy — all in plain Markdown files.

Example 2: Auditing a Notion-Based System

User says: "My team uses Notion for everything. How locked in are we?"

Actions:

  • Read auditor-rubric.md

  • Score Notion against 23 criteria (typical result: ~19/69, F rating)

  • Identify critical lock-in: cloud-only, proprietary block model, limited export

  • Propose migration path: Notion export → Markdown conversion → open vault

Result: Audit report with scores and a step-by-step migration plan.

Example 3: Choosing a Link Resolution Strategy

User says: "Should I use relative paths or shortest-path for internal links?"

Actions:

  • Read obsidian-spec.md section on link resolution

  • Present 3 options with tradeoff matrix (shortest path, relative, absolute)

  • Recommend based on user's context (human-authored vs. machine-generated)

  • Document as an ADR

Result: Architecture Decision Record with clear rationale.

Troubleshooting

Output is too abstract

Cause: Not enough domain context from the user. Solution: Ask specific questions — entity types, volumes, creation method, query patterns, team size. The decision framework requires concrete answers.

Principles conflict with user constraints

Cause: Real-world systems sometimes need pragmatic tradeoffs. Solution: Document the deviation explicitly. State which principle is being relaxed, why, and what the migration cost would be to fix it later.

User wants code, not architecture

Cause: This skill produces specifications, not implementations. Solution: Produce the spec first, then hand off to appropriate coding tools. The spec serves as the requirements document for implementation.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

PayPilot by AGMS

Process payments, send invoices, issue refunds, manage subscriptions, and detect fraud via a secure payment gateway proxy. Use when a user asks to charge som...

Registry SourceRecently Updated
General

Poem Generator

诗歌生成助手。现代诗、俳句、对联、藏头诗、古诗翻译。Poem generator with free verse, haiku, couplets, acrostic poems, classical poetry translation. Use when you need poem generator cap...

Registry SourceRecently Updated
General

Garmin Sync

Sync activities from Garmin China to Garmin Global using local timestamps and distance to avoid duplicates in a one-way sync process.

Registry SourceRecently Updated
General

Trader Simulator

🤖 OpenClaw Skill /skills | 炒股大师模拟器 | 股市模拟交易练习 | A股/港股/美股投资学习 | 化身文主任/股神老徐/炒股养家/孙宇晨等各位大师学习投资思路 | 多智能体股票讨论群

Registry SourceRecently Updated