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

Hippo Video

Hippo Video integration. Manage Persons, Organizations, Deals, Leads, Activities, Notes and more. Use when the user wants to interact with Hippo Video data.

Registry SourceRecently Updated
General

币安资金费率监控

币安资金费率套利监控工具 - 查看账户、持仓、盈亏统计,SkillPay收费版

Registry SourceRecently Updated
General

apix

Use `apix` to search, browse, and execute API endpoints from local markdown vaults. Use this skill to discover REST API endpoints, inspect request/response s...

Registry SourceRecently Updated
0160
dngpng