Ankify
Overview
Transform Obsidian notes into a single TSV file that follows the ANKIFY schema, including card-type mapping, coverage rules, and Obsidian deep links.
Core Workflow
- •Identify input mode and output naming.
- •Load doctrine first, then schema, then implementation, then examples.
- •Extract structural elements and map to card types.
- •Produce internalization_report and card_budget_plan.
- •Generate cards that satisfy coverage, depth, and budget constraints.
- •Run doctrine compliance checks and targeted regeneration if needed.
- •Serialize into a TSV that passes validation.
References
Read these in order based on need:
- •
references/doctrine.md: Source of truth for card intent, mapping, and quality. Load this before any schema checks. - •
references/schema.md: Executable rules, ordering, and conflicts. If a schema rule conflicts with doctrine, follow doctrine and treat the schema rule as stale. - •
references/implementation.md: Pipeline steps, input modes, card mapping, TSV format, validation steps. - •
references/examples.md: Non-normative examples for patterns and edge cases.
Generation Notes
- •Treat H2 sections as atomic concepts, and H3 subsections as card-type cues per schema mapping.
- •Ensure coverage: every structural element yields at least one card; do not silently skip.
- •Enforce atomicity: one idea per card; code answers no more than 6 lines.
- •Avoid yes/no, list-of-things, or recognition-only prompts.
- •Always include the Obsidian deep link in column 3, with the vault name and URL encoding per schema.
- •For code answers, serialize with HTML-safe
<pre><code>and replace newlines/spaces as specified. - •Run the doctrine compliance checklist before TSV serialization.
- •Use targeted regeneration only: add missing classes or convert excess cards per doctrine; do not rewrite valid cards unless TSV validation fails.
- •Apply POST-GEN PRUNE before serialization to enforce per-note caps and remove redundancy.
Required Artifacts
- •file_manifest
- •element_inventory
- •rule_application_plan
- •internalization_report
- •card_budget_plan
- •doctrine_compliance_report
Serialization and Validation
- •TSV must have exactly 3 columns per line, no raw newlines, and no literal tabs in content.
- •Run
scripts/validate_tsv.shand fix any failures before final output.
Output
- •Produce one unified TSV file per invocation.
- •Do not include rule metadata or diagnostic chatter inside TSV rows.