{"owner":"omnivore-app","repo":"omnivore","hasSkills":true,"totalSkillsCount":158,"totalTokensCount":49942,"categories":["anthropic-skill","plugin-manifest"],"hasMcp":false,"mcpConfig":null,"found":["packages/api/tsconfig.json","packages/db/README.md","packages/api/mocha-config.json","packages/api/package.json","packages/api/README.md","packages/db/package.json","packages/discover/README.md","packages/discover/tslint.json","packages/discover/tsconfig.json","packages/discover/package.json","packages/utils/mocha-config.json","packages/db/tsconfig.json","packages/utils/package.json","packages/utils/tsconfig.json","packages/web/README.md","packages/web/i18n.json","packages/web/package.json","packages/web/tsconfig.json","packages/content/content-fetch/README.md","packages/content/content-fetch/mocha-config.json","packages/content/content-fetch/package.json","packages/content/content-fetch/tsconfig.json","packages/content/content-handler/mocha-config.json","packages/content/content-handler/package.json","packages/content/content-handler/tsconfig.json","packages/content/imageproxy/imageproxy-service-demo.yaml","packages/content/imageproxy/imageproxy-service-production.yaml","packages/content/imageproxy/imageproxy-service-qa.yaml","packages/content/liqe/README.md","packages/content/liqe/package.json","packages/content/liqe/tsconfig.json","packages/content/puppeteer-parse/README.md","packages/content/puppeteer-parse/mocha-config.json","packages/content/puppeteer-parse/package.json","packages/content/puppeteer-parse/tsconfig.json","packages/content/readabilityjs/CODE_OF_CONDUCT.md","packages/content/readabilityjs/README.md","packages/content/readabilityjs/package.json","packages/content/text-to-speech/mocha-config.json","packages/content/text-to-speech/package.json","packages/content/text-to-speech/tsconfig.json","packages/db/elastic_migrations/index_settings.json","packages/mail/imap-mail-watcher/package.json","packages/mail/imap-mail-watcher/tsconfig.json","packages/mail/imap-mail-watcher/tslint.json","packages/mail/local-mail-watcher/package.json","packages/mail/local-mail-watcher/tsconfig.json","packages/mail/local-mail-watcher/tslint.json","packages/web/docs/articleScratchNotes.md","packages/api/src/routers/svc/README.md","packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json","packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json","packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json","packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json","packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json","packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json","packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json","packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json","packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json","packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json","packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json","packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json","packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json","packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json","packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json","packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json","packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json","packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json","packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json","packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json","packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json","packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json","packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json","packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json","packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json","packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json","packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json","packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json","packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json","packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json","packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json","packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json","packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json","packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json","packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json","packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json","packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json","packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json","packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json","packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json","packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json","packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json","packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json","packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json","packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json","packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json","packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json","packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json","packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json","packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json","packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json","packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json","packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/people/expected-metadata.json","packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json","packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json","packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json","packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json","packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json","packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json","packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json","packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json","packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json","packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json","packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json","packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json","packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json","packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json","packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json","packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json","packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json","packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json","packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json","packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json","packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json","packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json","packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json","packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json","packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json","packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json","packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json"],"skills":{"packages/api/tsconfig.json":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"ts-node\": {\n    \"files\": true\n  },\n  \"compilerOptions\": {\n    \"rootDirs\": [\".\"],\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"esModuleInterop\": true\n  },\n  \"include\": [\"src/**/*.ts\", \"test/**/*.ts\"],\n  \"exclude\": [\"./src/generated\"]\n}\n","packages/db/README.md":"# Database management\n\nThis workspace is used for database schema definitions and migrations.\n\nProject currently uses PostgreSQL 11. Make sure you use the correct version.\n\n## Migrations usage\n\n:exclamation: It is important to understand that migrations that had already been performed are _locked_ and are not a subject to change. Therefore for every alteration of schema you need to generate a new migration and perform alterations there.\n\nNever commit changed files for migrations that already had been performed elsewhere, - it will break the migrations. \n\nTo migrate to latest version: `yarn migrate`\n\nTo migrate up/down to specific version: `yarn migrate <version>`\n\nTo migrate down to empty state: `yarn migrate 0000`\n\nTo generate new migration: `yarn generate`\n\n_* At the moment, version numbers expect to be padded to 4 digits_\n\n\n## Policies and roles\n\nWe use Row Level Security when accessing the database from the application. In order to create a correct schema for new tables please study migration files for the schemas of previous tables (including possible later changes).\n\nIn order to use Row Level Security every transaction with the database must set the correct role via `omnivore.set_claims` function.\n\n### Current roles\n\n`omnivore_user` - a user role that is intended for a regular user to access the data. Currently, this is the primary user of the database. \n\n## Database users on GCP\n\n`postgres` - administrator of the database, used for migrations.\n\n`app_user` - a user that the app uses to login to database.\n   \n:exclamation: Do not issue any extra grants to `app_user` other than that are needed to assume a certain internal role, i.e. `GRANT omnivore_user TO app_user`\n\n## Installing and Using locally\n\n- Install and run the _postgresql_ service on your machine.\n\n### Configure access to the database\n\n_On some systems, Postgres will only allow the local postgres user to connect to the database. One way around this is to\nset the authentication method in your pg_hba.conf file_. The `trust` method allows any user who can connect to\ndatabase to make changes. The default is `peer` which means the user must be logged into the system as the `postgres`\nuser. Another option is `md5` or `password` which allows access to the postgres user with a password instead of\nneeding to be logged in locally as `postgres`. For simplicity, set the method to `trust`. **You\n  will need to restart the postgresql service after making this change.**\n\n- Verify you can connect to postgres `psql -U postgres`.\n\n- Quit psql (command is `\\q`)\n\n- Create database using handy CLI tool (which needs the `-U <user>` flag for now):\n  ```bash\n  $ createdb -U postgres omnivore\n  ```\n- Copy .env.example file to .env file: `cp .env.example .env`\n- Modify `.env` and set `PG_USER` to `postgres`\n\n- Run migration: `yarn migrate`\n\n## Accessing the database locally\n\nInstead of using the superuser to access, create a user with the `omnivore_user` role. You can choose your local\nusername instead of `app_user` here to avoid needing the `-U app_user` flag in the `psql` command below.\n\n- Create a user named `app_user` in Postgres\n- Allow `app_user` to assume the roles necessary for the application. **Do not manually grant any other role to\n`app_user`**\n\n`$ psql -U postgres`\n```sql\n# CREATE USER app_user WITH ENCRYPTED PASSWORD 'app_pass';\n# GRANT omnivore_user to app_user;\n```\n\n- Update the `PG_USER` and `PG_PASSWORD` values in `.env` files (packages/db, pkg/api) to `app_user` and `app_pass`,\nrespectively\n\n- You can now use psql to login to your database: `psql -U app_user -d omnivore`\n\n## Gotchas\nPostgres Row-Level Security can at times catch us off guard: there are policies limiting select/update operations on\ntables based on active user role/ID in a transaction block. So at times, when working on the local database, one must\nmake sure to login via `postgres` user to view all rows in the tables or perform updates.\n","packages/api/mocha-config.json":"{\n  \"extension\": [\"ts\"],\n  \"spec\": \"test/**/*.test.ts\",\n  \"reporter\": \"mocha-unfunk-reporter\",\n  \"require\": [\"test/global-setup.ts\", \"test/global-teardown.ts\", \"test/hooks.ts\"],\n  \"timeout\": 10000\n}\n","packages/api/package.json":"{\n  \"name\": \"@omnivore/api\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --respawn --transpile-only src/server.ts\",\n    \"dev_qp\": \"ts-node-dev --respawn --transpile-only src/queue-processor.ts\",\n    \"dev_ep\": \"ts-node-dev --respawn --transpile-only src/export-processor.ts\",\n    \"start\": \"node dist/src/server.js\",\n    \"start_queue_processor\": \"node dist/src/queue-processor.js\",\n    \"start_export_processor\": \"node dist/src/export-processor.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"test\": \"nyc mocha -r ts-node/register --config mocha-config.json\"\n  },\n  \"dependencies\": {\n    \"@aws-sdk/client-s3\": \"^3.679.0\",\n    \"@aws-sdk/lib-storage\": \"^3.679.0\",\n    \"@aws-sdk/s3-request-presigner\": \"^3.679.0\",\n    \"@bmatei/apollo-prometheus-exporter\": \"^3.0.0\",\n    \"@cospired/i18n-iso-languages\": \"^4.2.0\",\n    \"@google-cloud/logging-winston\": \"^6.0.0\",\n    \"@google-cloud/monitoring\": \"^4.0.0\",\n    \"@google-cloud/opentelemetry-cloud-trace-exporter\": \"^2.0.0\",\n    \"@google-cloud/pubsub\": \"^4.0.0\",\n    \"@google-cloud/storage\": \"^7.0.1\",\n    \"@google-cloud/tasks\": \"^6.2.0\",\n    \"@graphql-tools/utils\": \"^13.2.0\",\n    \"@langchain/anthropic\": \"^1.5.6\",\n    \"@langchain/openai\": \"^1.5.8\",\n    \"@langchain/core\": \"^1.2.8\",\n    \"@notionhq/client\": \"^2.2.14\",\n    \"@omnivore/content-handler\": \"1.0.0\",\n    \"@omnivore/liqe\": \"1.0.0\",\n    \"@omnivore/readability\": \"1.0.0\",\n    \"@omnivore/text-to-speech-handler\": \"1.0.0\",\n    \"@opentelemetry/api\": \"^1.0.1\",\n    \"@opentelemetry/core\": \"^2.10.0\",\n    \"@opentelemetry/exporter-jaeger\": \"^1.0.1\",\n    \"@opentelemetry/instrumentation-dns\": \"^0.31.2\",\n    \"@opentelemetry/instrumentation-express\": \"^0.28.0\",\n    \"@opentelemetry/instrumentation-graphql\": \"^0.29.0\",\n    \"@opentelemetry/instrumentation-grpc\": \"^0.37.0\",\n    \"@opentelemetry/instrumentation-http\": \"^0.27.0\",\n    \"@opentelemetry/instrumentation-pg\": \"^0.73.0\",\n    \"@opentelemetry/node\": \"^0.24.0\",\n    \"@opentelemetry/resources\": \"^1.17.0\",\n    \"@opentelemetry/semantic-conventions\": \"^1.0.1\",\n    \"@opentelemetry/tracing\": \"^0.24.0\",\n    \"@sendgrid/mail\": \"^7.6.0\",\n    \"@sentry/integrations\": \"^7.10.0\",\n    \"@sentry/node\": \"^5.26.0\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"addressparser\": \"^1.0.1\",\n    \"alfaaz\": \"^1.1.0\",\n    \"@apollo/server\": \"^5.5.1\",\n    \"@graphql-tools/schema\": \"^10.1.0\",\n    \"graphql\": \"^17.0.2\",\n    \"graphql-tag\": \"^2.12.7\",\n    \"@as-integrations/express5\": \"^1.1.2\",\n    \"archiver\": \"^7.0.1\",\n    \"axios\": \"^1.19.0\",\n    \"bcryptjs\": \"^2.4.3\",\n    \"bullmq\": \"6.3.15\",\n    \"compression\": \"^1.7.4\",\n    \"cookie\": \"^2.0.1\",\n    \"cookie-parser\": \"^1.4.5\",\n    \"csv-stringify\": \"^6.4.0\",\n    \"dataloader\": \"^2.2.2\",\n    \"diff-match-patch\": \"^1.0.5\",\n    \"dompurify\": \"^3.4.14\",\n    \"dot-case\": \"^3.0.4\",\n    \"dotenv\": \"^8.2.0\",\n    \"express\": \"^5.2.1\",\n    \"cors\": \"^2.8.6\",\n    \"express-http-context2\": \"^1.0.0\",\n    \"express-prom-bundle\": \"^8.0.0\",\n    \"express-rate-limit\": \"^8.6.2\",\n    \"fast-safe-stringify\": \"^2.1.1\",\n    \"fingerprint-generator\": \"^2.1.52\",\n    \"firebase-admin\": \"^14.2.0\",\n    \"googleapis\": \"^125.0.0\",\n    \"graphql-fields\": \"^2.0.3\",\n    \"graphql-middleware\": \"^6.1.35\",\n    \"graphql-shield\": \"^7.6.5\",\n    \"highlightjs\": \"^9.16.2\",\n    \"html-entities\": \"^2.3.2\",\n    \"image-size\": \"^2.0.3\",\n    \"intercom-client\": \"^7.0.3\",\n    \"ioredis\": \"^6.0.0\",\n    \"jsonwebtoken\": \"^9.0.3\",\n    \"jwks-rsa\": \"^2.0.3\",\n    \"@langchain/classic\": \"^1.0.43\",\n    \"linkedom\": \"^0.14.9\",\n    \"lodash\": \"^4.17.21\",\n    \"luxon\": \"^3.2.1\",\n    \"nanoid\": \"^6.0.1\",\n    \"node-html-markdown\": \"^1.3.0\",\n    \"node-mailjet\": \"^6.0.5\",\n    \"nodemailer\": \"^10.0.2\",\n    \"normalize-url\": \"^6.1.0\",\n    \"oauth\": \"^0.10.0\",\n    \"pg\": \"^8.3.3\",\n    \"postgrator\": \"^4.2.0\",\n    \"posthog-node\": \"^3.6.3\",\n    \"private-ip\": \"2.3.3\",\n    \"mailparser\":\"3.9.40\",\n    \"prom-client\": \"^15.1.0\",\n    \"rate-limit-redis\": \"^4.2.0\",\n    \"redis\": \"^4.6.13\",\n    \"reflect-metadata\": \"0.2.2\",\n    \"rss-parser\": \"^3.13.0\",\n    \"sanitize-html\": \"^2.3.2\",\n    \"sax\": \"^1.3.0\",\n    \"search-query-parser\": \"^1.6.0\",\n    \"showdown\": \"^2.1.0\",\n    \"snake-case\": \"^4.0.0\",\n    \"supertest\": \"^6.2.2\",\n    \"ts-loader\": \"^9.3.0\",\n    \"typeorm\": \"^0.3.4\",\n    \"typeorm-naming-strategies\": \"^4.1.0\",\n    \"underscore\": \"^1.13.6\",\n    \"url-pattern\": \"^1.0.3\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"uuid\": \"^8.3.1\",\n    \"voca\": \"^1.4.0\",\n    \"winston\": \"^3.3.3\",\n    \"yaml\": \"^2.4.1\",\n    \"youtubei\": \"^1.5.4\"\n  },\n  \"devDependencies\": {\n    \"@istanbuljs/nyc-config-typescript\": \"^1.0.2\",\n    \"@types/addressparser\": \"^1.0.1\",\n    \"@types/analytics-node\": \"^3.1.7\",\n    \"@types/archiver\": \"^6.0.2\",\n    \"@types/bcryptjs\": \"^2.4.2\",\n    \"@types/chai\": \"^4.2.18\",\n    \"@types/cors\": \"^2.8.19\",\n    \"@types/chai-as-promised\": \"^7.1.5\",\n    \"@types/chai-string\": \"^1.4.2\",\n    \"@types/compression\": \"^1.7.5\",\n    \"@types/cookie\": \"^0.4.0\",\n    \"@types/mailparser\": \"3.9.0\",\n    \"@types/cookie-parser\": \"^1.4.7\",\n    \"@types/csv-stringify\": \"^3.1.0\",\n    \"@types/diff-match-patch\": \"^1.0.32\",\n    \"@types/dompurify\": \"^2.0.4\",\n    \"@types/express\": \"^5.0.6\",\n    \"@types/graphql-fields\": \"^1.3.4\",\n    \"@types/highlightjs\": \"^9.12.2\",\n    \"@types/intercom-client\": \"^2.11.8\",\n    \"@types/jsonwebtoken\": \"^8.5.0\",\n    \"@types/lodash\": \"^4.17.14\",\n    \"@types/luxon\": \"^1.25.0\",\n    \"@types/mocha\": \"^8.2.2\",\n    \"@types/nanoid\": \"^3.0.0\",\n    \"@types/node\": \"24.1.0\",\n    \"@types/nodemailer\": \"^6.4.4\",\n    \"@types/oauth\": \"^0.9.1\",\n    \"@types/private-ip\": \"^1.0.0\",\n    \"@types/sanitize-html\": \"^1.27.1\",\n    \"@types/sax\": \"^1.2.7\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"@types/sinon\": \"^10.0.13\",\n    \"@types/sinon-chai\": \"^3.2.8\",\n    \"@types/supertest\": \"^2.0.11\",\n    \"@types/urlsafe-base64\": \"^1.0.28\",\n    \"@types/uuid\": \"^8.3.0\",\n    \"@types/voca\": \"^1.4.0\",\n    \"chai\": \"^4.3.4\",\n    \"chai-as-promised\": \"^7.1.1\",\n    \"chai-string\": \"^1.5.0\",\n    \"circular-dependency-plugin\": \"^5.2.0\",\n    \"mocha\": \"^9.0.1\",\n    \"mocha-unfunk-reporter\": \"^0.4.0\",\n    \"nock\": \"^13.2.4\",\n    \"nyc\": \"^15.1.0\",\n    \"postgrator\": \"^4.2.0\",\n    \"sinon\": \"^14.0.0\",\n    \"sinon-chai\": \"^3.7.0\",\n    \"ts-node-dev\": \"^1.1.8\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","packages/api/README.md":"# Backend\n\nThis workspace is dedicated to API server that uses Apollo GraphQL server and Knex query builder to provide the app with data operations.\n\n## GraphQL schema\n\nGraphQL schema is located in `schema.ts`. In order to use new types, queries or mutations you need to declare them there and then run `yarn gql-typegen` from the application root to create the necessary typings in order to write GQL queries from the app.\n\n## Apollo resolvers and data sources\n\nWe make use of Apollo resolvers and data sources. Resolvers typically contain business logic and handling of user domain errors, while data sources are ideally simple atomic database operations.\n\n## Interacting with the database\n\nAll operations on the database must be wrapped in Knex transaction on a resolver layer. This ensures data integrity and safety with no side effects on a failed operations.\n\nBecause we make use of Row Level Security in the database, - all operations typically begin with assuming the role for which policies exist via `omnivore.set_claims` database function.\n\n## ElasticSearch\n\nWe use ElasticSearch to store page data in a distributed manner. This is a great way to store data that is not easily searchable.\nAll the page data is stored in a single index `pages`. This index is then queried by the app to display the data.\nYou need to make sure you have an elasticsearch instance running locally (or just use docker compose).\nES url is specified by `ES_URL` environment variable (username `ES_USERNAME` and password `ES_PASSWORD` can be random strings in local environment).\n\nWhen you're running elastic for the very first time, you need to create indices and ingest existing data. This can be done by running `python elastic_migrate.py`.\nThis operation is idempotent, so you can always run `python elastic_migrate.py` again to re-ingest all the data.\n\nYou can run ElasticSearch separately by using `docker compose -f docker-compose.yml up -d elastic`.\n\n## Image Proxy (optional for local dev)\n\nBackend API server returns article image links using image proxy\n(/imageproxy). You will need to set the env with var IMAGE_PROXY_URL to point\nto a running instance of image proxy along with env var IMAGE_PROXY_SECRET. The\nsame secret env var ought to be passed as config to the running image proxy\nservice. You can also use the docker-compose-dev.yml file to bring up just the\nimage proxy service alone (w/ env var for secret specified in the compose file)\nby running: `docker compose -f docker-compose-dev.yml up -d imageproxy`.\n\nWhen running locally, use the .env.local file to set up the env variables in your environment.\n\n### Set up the database\n\nRefer the [using locally](../db/README.md#using-locally) section from db README.\n\n### Copy .env.example file to .env file:\n\n    cp .env.example .env\n\n### Run the app\n\n    yarn dev\n","packages/db/package.json":"{\n  \"name\": \"@omnivore/db\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"scripts\": {\n    \"migrate\": \"node ./build/migrate.js\",\n    \"build\": \"tsc\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"generate\": \"plop\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\",\n  \"dependencies\": {\n    \"dotenv\": \"^8.2.3\",\n    \"pg\": \"^8.3.0\",\n    \"postgrator\": \"^4.1.1\",\n    \"bullmq\": \"6.3.15\",\n    \"ts-node\": \"^10.9.2\"\n  },\n  \"devDependencies\": {\n    \"plop\": \"^2.7.1\",\n    \"@types/pg\": \"8.23.1\",\n    \"@types/dotenv\": \"^8.2.3\"\n  }\n}\n","packages/discover/README.md":"# omnivore-discover\n\n\n## What is this?  \n \nOne of my bi ggest problems is actually discoverability of articles. I have my five sites, and my link aggregators like Reddit. This is a bubble, and I miss a lot this way.\n\nSo I wanted to see if I could create something that would enable discoverability from Omnivore.\n\nI had a few goals when creating Omnivore Discover.\n\n![Example Screen](./docs/example.png)\n\n## Features\n\n### Automatic Categorisation\n\nA while ago I worked a proof of concept for automatically adding user tags to an article. I ultimately still need to work on that further, but the basics for it worked well.\n\nI wanted to take the learnings from this and use it to add automatic categorisation of stories.\n\nI created a few topics, and added some descriptions to them. I generate an Embedding from this using OpenAIs embedding. These can be seen below.\n\n![Topics](./docs/topic-tab.png)\n\nWhen ingesting articles (see Ingesting Articles) we use their title and small description to create an Embedding. We can then use Cosine Similarity to identify which category this story should be a part of.\n\nThis is of course not 100% accurate, but it does a good enough job at categorising articles.\n\n### Social Features\n#### Discord Integration.\n\nI created Omnivore Discover, and added it to the Omnivore WebApp.\n\nI wanted to also add some social features to this. We have a fantastic community within the Omnivore Discord. I have found a lot of interesting reads in the #recommendations channel.\n\nI wanted to be able to take these recommendations, and expose them to the Omnivore Community.\n\nWe do this using a Discord Bot. In order to moderate these recommendations a moderator must add an emoji (🦥) to the story.\n\nThis then gets ingested in the same way as the other stories. Meaning that it is also categorised. It also gets added to the Community Picks tab.\n\n![Tomnivore Slack](./docs/tomnivore.png)\n\n![community tab](./docs/community.png)\n\n#### Popularity\n\nThere is also a popularity feed. This provides a score based on recent saves, weighting more heavily for newer articles. This allows us to have a popular tab, which shows in order the most popular stories on Omnivore Right now according to the community\n\n![Popular Items](./docs/popular.png)\n\n### Ingesting Articles\n\nI ensured that articles could come from multiple locations. This is why I chose an RXJS Poller.\n\nThis project also started from the automatic labelling project. So that too was an important part of the decision to enable ingestion from multiple plages. Including a PubSub queue.\n\nI wanted one of the main sources of the articles to be RSS Feeds.\n\nI did this because I thought that some of this functionality might, in the future, be extendable to other RSS Feeds.\n\nI have chose 3 article sources for now, Wired, ArsTechnica, and The Atlantic.\n\n## Technologies\n\nBelow is a list of the technologies that were used to design this feature. This repository represents the RXJS side.\n\n* RxJS \n* Typescript \n* Axios \n* PGVector\n* Discord Bot\n* PubSub\n\n## Running\n\nCreation of the PubSub Topic and Subscription is external to this app.\n","packages/discover/tslint.json":"{\n  \"extends\": \"tslint:recommended\",\n  \"rulesDirectory\": [\"codelyzer\"],\n  \"rules\": {\n    \"array-type\": false,\n    \"arrow-parens\": false,\n    \"deprecation\": {\n      \"severity\": \"warn\"\n    },\n    \"import-blacklist\": [true, \"rxjs/Rx\"],\n    \"interface-name\": false,\n    \"max-classes-per-file\": false,\n    \"max-line-length\": [true, 140],\n    \"member-access\": false,\n    \"member-ordering\": [\n      true,\n      {\n        \"order\": [\n          \"static-field\",\n          \"instance-field\",\n          \"static-method\",\n          \"instance-method\"\n        ]\n      }\n    ],\n    \"no-consecutive-blank-lines\": false,\n    \"no-console\": [true, \"debug\", \"info\", \"time\", \"timeEnd\", \"trace\"],\n    \"no-empty\": false,\n    \"no-inferrable-types\": [true, \"ignore-params\"],\n    \"no-non-null-assertion\": true,\n    \"no-redundant-jsdoc\": true,\n    \"no-switch-case-fall-through\": true,\n    \"no-use-before-declare\": true,\n    \"no-var-requires\": false,\n    \"object-literal-key-quotes\": [true, \"as-needed\"],\n    \"object-literal-sort-keys\": false,\n    \"ordered-imports\": false,\n    \"quotemark\": [true, \"single\"],\n    \"trailing-comma\": false,\n    \"no-output-on-prefix\": true,\n    \"no-inputs-metadata-property\": true,\n    \"no-outputs-metadata-property\": true,\n    \"no-host-metadata-property\": true,\n    \"no-input-rename\": true,\n    \"no-output-rename\": true,\n    \"use-life-cycle-interface\": true,\n    \"use-pipe-transform-interface\": true,\n    \"component-class-suffix\": true,\n    \"directive-class-suffix\": true\n  }\n}\n","packages/discover/tsconfig.json":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"compileOnSave\": false,\n  \"include\": [\"./src/**/*\"],\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"../node_modules/@types\",\n      \"./../../node_modules/types\",\n      \"./../../node_modules/pgvector/types\",\n      \"./../../node_modules/pgvector/types/pg\",\n      \"./../../node_modules/pgvector/types/pg/index.d.ts\"\n    ]\n  }\n}\n","packages/discover/package.json":"{\n  \"name\": \"@omnivore/discover\",\n  \"version\": \"0.0.1\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --files src/index.ts\",\n    \"start\": \"node dist/src/index.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\"\n  },\n  \"dependencies\": {\n    \"aws4-axios\": \"^3.3.0\",\n    \"axios\": \"^1.19.0\",\n    \"dotenv\": \"^16.3.1\",\n    \"fast-xml-parser\": \"^4.3.2\",\n    \"html-to-text\": \"^9.0.5\",\n    \"linkedom\": \"^0.16.5\",\n    \"openai\": \"^4.11.1\",\n    \"pg\": \"^8.11.3\",\n    \"pg-format\": \"^1.0.4\",\n    \"pgvector\": \"^0.3.0\",\n    \"postgres\": \"^3.4.0\",\n    \"rxjs\": \"^7.8.1\",\n    \"uuid\": \"^9.0.1\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"bullmq\": \"6.3.15\",\n    \"mailparse\":\"2.2.2\",\n    \"ioredis\":\"6.0.0\",\n    \"lodash\": \"^4.17.21\",\n    \"jsdom\": \"^25.0.1\",\n    \"voca\": \"^1.4.1\"\n  },\n  \"devDependencies\": {\n    \"@types/jsdom\": \"^21.1.3\",\n    \"@types/pg-format\": \"^1.0.3\",\n    \"@types/html-to-text\": \"^9.0.2\",\n    \"@types/node\": \"^20.8.4\",\n    \"@types/lodash\": \"^4.17.13\",\n    \"@types/pg\": \"^8.10.5\",\n    \"@types/voca\": \"^1.4.3\",\n    \"ts-node\": \"^10.9.1\",\n    \"tslib\": \"^2.6.2\",\n    \"@types/uuid\": \"^9.0.1\",\n    \"@types/urlsafe-base64\": \"^1.0.28\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","packages/utils/mocha-config.json":"{\n    \"extension\": [\"ts\"],\n    \"spec\": \"test/**/*.test.ts\",\n    \"timeout\": 10000\n  }\n","packages/db/tsconfig.json":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"declaration\": true,\n    \"outDir\": \"build\"\n  }\n}\n","packages/utils/package.json":"# Utils Skill\n\nPath: `packages/utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/package.json)","packages/utils/tsconfig.json":"# Utils Skill\n\nPath: `packages/utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/tsconfig.json)","packages/web/README.md":"# web Documentation\n\nPath: `packages/web/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/README.md)","packages/web/i18n.json":"# Web Skill\n\nPath: `packages/web/i18n.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/i18n.json)","packages/web/package.json":"# Web Skill\n\nPath: `packages/web/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/package.json)","packages/web/tsconfig.json":"# Web Skill\n\nPath: `packages/web/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/tsconfig.json)","packages/content/content-fetch/README.md":"# content-fetch Documentation\n\nPath: `packages/content/content-fetch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/README.md)","packages/content/content-fetch/mocha-config.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/mocha-config.json)","packages/content/content-fetch/package.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/package.json)","packages/content/content-fetch/tsconfig.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/tsconfig.json)","packages/content/content-handler/mocha-config.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/mocha-config.json)","packages/content/content-handler/package.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/package.json)","packages/content/content-handler/tsconfig.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/tsconfig.json)","packages/content/imageproxy/imageproxy-service-demo.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-demo.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-demo.yaml)","packages/content/imageproxy/imageproxy-service-production.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-production.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-production.yaml)","packages/content/imageproxy/imageproxy-service-qa.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-qa.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-qa.yaml)","packages/content/liqe/README.md":"# liqe Documentation\n\nPath: `packages/content/liqe/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/README.md)","packages/content/liqe/package.json":"# Liqe Skill\n\nPath: `packages/content/liqe/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/package.json)","packages/content/liqe/tsconfig.json":"# Liqe Skill\n\nPath: `packages/content/liqe/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/tsconfig.json)","packages/content/puppeteer-parse/README.md":"# puppeteer-parse Documentation\n\nPath: `packages/content/puppeteer-parse/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/README.md)","packages/content/puppeteer-parse/mocha-config.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/mocha-config.json)","packages/content/puppeteer-parse/package.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/package.json)","packages/content/puppeteer-parse/tsconfig.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/tsconfig.json)","packages/content/readabilityjs/CODE_OF_CONDUCT.md":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/CODE_OF_CONDUCT.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/CODE_OF_CONDUCT.md)","packages/content/readabilityjs/README.md":"# readabilityjs Documentation\n\nPath: `packages/content/readabilityjs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/README.md)","packages/content/readabilityjs/package.json":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/package.json)","packages/content/text-to-speech/mocha-config.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/mocha-config.json)","packages/content/text-to-speech/package.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/package.json)","packages/content/text-to-speech/tsconfig.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/tsconfig.json)","packages/db/elastic_migrations/index_settings.json":"# Elastic_migrations Skill\n\nPath: `packages/db/elastic_migrations/index_settings.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/elastic_migrations/index_settings.json)","packages/mail/imap-mail-watcher/package.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/package.json)","packages/mail/imap-mail-watcher/tsconfig.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tsconfig.json)","packages/mail/imap-mail-watcher/tslint.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tslint.json)","packages/mail/local-mail-watcher/package.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/package.json)","packages/mail/local-mail-watcher/tsconfig.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tsconfig.json)","packages/mail/local-mail-watcher/tslint.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tslint.json)","packages/web/docs/articleScratchNotes.md":"# Docs Skill\n\nPath: `packages/web/docs/articleScratchNotes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/docs/articleScratchNotes.md)","packages/api/src/routers/svc/README.md":"# svc Documentation\n\nPath: `packages/api/src/routers/svc/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/src/routers/svc/README.md)","packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json":"# Aboveavalon Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json":"# Ahhhhfs.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json":"# Bbc-arabic Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json":"# Berthub-2 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json":"# Berthub Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json":"# Biospace Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json":"# Bitfieldconsulting Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json":"# Blog.jetbrains.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json":"# Bookofhook.blogspot.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json":"# Brookings.edu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json":"# Caixin Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json":"# Cavesocial Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json":"# Channelnewsasia Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json":"# Channelnewsasia02 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json":"# China.substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json":"# City-journal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json":"# Cnbc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json":"# Community.musictribe.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json":"# Computer.rip Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json":"# Computerenhance.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json":"# Dailymail Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json":"# Danluu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json":"# Danwang Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json":"# Debugger.medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json":"# Digital-garden-docs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json":"# Economist Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json":"# Electrek Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json":"# Elidourado Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json":"# Energias-renovables.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json":"# Erik-engheim Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json":"# Fast-company Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json":"# Fiercepharma Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json":"# Financialpost-fishing-for-chips Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json":"# Ft.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json":"# Garymarcus Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json":"# Gdcvault Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json":"# Getting_started_with_omnivore Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json":"# Gflownet Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json":"# Github-blog Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json":"# Guardian Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json":"# Habr.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json":"# Infoproc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json":"# Instyle Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json":"# Jacobbrazeal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json":"# Johnhcochrane.blogspot Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json":"# Jon.bo Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json":"# Josephg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json":"# Jsomers Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json":"# Kdnuggets Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json":"# Lesswrong Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json":"# Mathoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json":"# Medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json":"# Milkroad Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json":"# Moderndiplomacy Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json":"# Moxie.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json":"# News.utexas Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json":"# Nymag Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json":"# Nytimes-podcasts Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json":"# Nytimes.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json":"# Nytimes Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json":"# Omnivore_getting_started Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json":"# Ottawacitizen.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/people/expected-metadata.json":"# People Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/people/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/people/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json":"# Pontagedue Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json":"# Raw-story Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json":"# Realpython Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json":"# Robinwieruch.de Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json":"# Rootsofprogress Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json":"# Samcurry Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json":"# Sciencedirect Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json":"# Slowboring Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json":"# Spakhm Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json":"# Stackoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json":"# Stratechery Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json":"# Substack-email Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json":"# Substack-headings Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json":"# Substack-michaelshellenberger Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json":"# Substack-new Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json":"# Sydney.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json":"# Techcrunch Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json":"# Telegr.ph Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json":"# Thevaluable.dev Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json":"# Vanityfair Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json":"# Variety Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json":"# Wechat Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json":"# Www.musingmind.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json":"# Www.sahilbloom.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json":"# Youtube-embed Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json":"# Yuyue.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json":"# Zhihu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json)","packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json":"# Axios-am Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json":"# Axios-chicago Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json":"# Bloomberg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json":"# Forte-labs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json":"# Golang-weekly Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json":"# Milk-road Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json":"# Money-stuff Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json":"# Morning-brew Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json":"# Substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json":"# Tldr Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json)"},"files":{"packages/api/tsconfig.json":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"ts-node\": {\n    \"files\": true\n  },\n  \"compilerOptions\": {\n    \"rootDirs\": [\".\"],\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"esModuleInterop\": true\n  },\n  \"include\": [\"src/**/*.ts\", \"test/**/*.ts\"],\n  \"exclude\": [\"./src/generated\"]\n}\n","packages/db/README.md":"# Database management\n\nThis workspace is used for database schema definitions and migrations.\n\nProject currently uses PostgreSQL 11. Make sure you use the correct version.\n\n## Migrations usage\n\n:exclamation: It is important to understand that migrations that had already been performed are _locked_ and are not a subject to change. Therefore for every alteration of schema you need to generate a new migration and perform alterations there.\n\nNever commit changed files for migrations that already had been performed elsewhere, - it will break the migrations. \n\nTo migrate to latest version: `yarn migrate`\n\nTo migrate up/down to specific version: `yarn migrate <version>`\n\nTo migrate down to empty state: `yarn migrate 0000`\n\nTo generate new migration: `yarn generate`\n\n_* At the moment, version numbers expect to be padded to 4 digits_\n\n\n## Policies and roles\n\nWe use Row Level Security when accessing the database from the application. In order to create a correct schema for new tables please study migration files for the schemas of previous tables (including possible later changes).\n\nIn order to use Row Level Security every transaction with the database must set the correct role via `omnivore.set_claims` function.\n\n### Current roles\n\n`omnivore_user` - a user role that is intended for a regular user to access the data. Currently, this is the primary user of the database. \n\n## Database users on GCP\n\n`postgres` - administrator of the database, used for migrations.\n\n`app_user` - a user that the app uses to login to database.\n   \n:exclamation: Do not issue any extra grants to `app_user` other than that are needed to assume a certain internal role, i.e. `GRANT omnivore_user TO app_user`\n\n## Installing and Using locally\n\n- Install and run the _postgresql_ service on your machine.\n\n### Configure access to the database\n\n_On some systems, Postgres will only allow the local postgres user to connect to the database. One way around this is to\nset the authentication method in your pg_hba.conf file_. The `trust` method allows any user who can connect to\ndatabase to make changes. The default is `peer` which means the user must be logged into the system as the `postgres`\nuser. Another option is `md5` or `password` which allows access to the postgres user with a password instead of\nneeding to be logged in locally as `postgres`. For simplicity, set the method to `trust`. **You\n  will need to restart the postgresql service after making this change.**\n\n- Verify you can connect to postgres `psql -U postgres`.\n\n- Quit psql (command is `\\q`)\n\n- Create database using handy CLI tool (which needs the `-U <user>` flag for now):\n  ```bash\n  $ createdb -U postgres omnivore\n  ```\n- Copy .env.example file to .env file: `cp .env.example .env`\n- Modify `.env` and set `PG_USER` to `postgres`\n\n- Run migration: `yarn migrate`\n\n## Accessing the database locally\n\nInstead of using the superuser to access, create a user with the `omnivore_user` role. You can choose your local\nusername instead of `app_user` here to avoid needing the `-U app_user` flag in the `psql` command below.\n\n- Create a user named `app_user` in Postgres\n- Allow `app_user` to assume the roles necessary for the application. **Do not manually grant any other role to\n`app_user`**\n\n`$ psql -U postgres`\n```sql\n# CREATE USER app_user WITH ENCRYPTED PASSWORD 'app_pass';\n# GRANT omnivore_user to app_user;\n```\n\n- Update the `PG_USER` and `PG_PASSWORD` values in `.env` files (packages/db, pkg/api) to `app_user` and `app_pass`,\nrespectively\n\n- You can now use psql to login to your database: `psql -U app_user -d omnivore`\n\n## Gotchas\nPostgres Row-Level Security can at times catch us off guard: there are policies limiting select/update operations on\ntables based on active user role/ID in a transaction block. So at times, when working on the local database, one must\nmake sure to login via `postgres` user to view all rows in the tables or perform updates.\n","packages/api/mocha-config.json":"{\n  \"extension\": [\"ts\"],\n  \"spec\": \"test/**/*.test.ts\",\n  \"reporter\": \"mocha-unfunk-reporter\",\n  \"require\": [\"test/global-setup.ts\", \"test/global-teardown.ts\", \"test/hooks.ts\"],\n  \"timeout\": 10000\n}\n","packages/api/package.json":"{\n  \"name\": \"@omnivore/api\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --respawn --transpile-only src/server.ts\",\n    \"dev_qp\": \"ts-node-dev --respawn --transpile-only src/queue-processor.ts\",\n    \"dev_ep\": \"ts-node-dev --respawn --transpile-only src/export-processor.ts\",\n    \"start\": \"node dist/src/server.js\",\n    \"start_queue_processor\": \"node dist/src/queue-processor.js\",\n    \"start_export_processor\": \"node dist/src/export-processor.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"test\": \"nyc mocha -r ts-node/register --config mocha-config.json\"\n  },\n  \"dependencies\": {\n    \"@aws-sdk/client-s3\": \"^3.679.0\",\n    \"@aws-sdk/lib-storage\": \"^3.679.0\",\n    \"@aws-sdk/s3-request-presigner\": \"^3.679.0\",\n    \"@bmatei/apollo-prometheus-exporter\": \"^3.0.0\",\n    \"@cospired/i18n-iso-languages\": \"^4.2.0\",\n    \"@google-cloud/logging-winston\": \"^6.0.0\",\n    \"@google-cloud/monitoring\": \"^4.0.0\",\n    \"@google-cloud/opentelemetry-cloud-trace-exporter\": \"^2.0.0\",\n    \"@google-cloud/pubsub\": \"^4.0.0\",\n    \"@google-cloud/storage\": \"^7.0.1\",\n    \"@google-cloud/tasks\": \"^6.2.0\",\n    \"@graphql-tools/utils\": \"^13.2.0\",\n    \"@langchain/anthropic\": \"^1.5.6\",\n    \"@langchain/openai\": \"^1.5.8\",\n    \"@langchain/core\": \"^1.2.8\",\n    \"@notionhq/client\": \"^2.2.14\",\n    \"@omnivore/content-handler\": \"1.0.0\",\n    \"@omnivore/liqe\": \"1.0.0\",\n    \"@omnivore/readability\": \"1.0.0\",\n    \"@omnivore/text-to-speech-handler\": \"1.0.0\",\n    \"@opentelemetry/api\": \"^1.0.1\",\n    \"@opentelemetry/core\": \"^2.10.0\",\n    \"@opentelemetry/exporter-jaeger\": \"^1.0.1\",\n    \"@opentelemetry/instrumentation-dns\": \"^0.31.2\",\n    \"@opentelemetry/instrumentation-express\": \"^0.28.0\",\n    \"@opentelemetry/instrumentation-graphql\": \"^0.29.0\",\n    \"@opentelemetry/instrumentation-grpc\": \"^0.37.0\",\n    \"@opentelemetry/instrumentation-http\": \"^0.27.0\",\n    \"@opentelemetry/instrumentation-pg\": \"^0.73.0\",\n    \"@opentelemetry/node\": \"^0.24.0\",\n    \"@opentelemetry/resources\": \"^1.17.0\",\n    \"@opentelemetry/semantic-conventions\": \"^1.0.1\",\n    \"@opentelemetry/tracing\": \"^0.24.0\",\n    \"@sendgrid/mail\": \"^7.6.0\",\n    \"@sentry/integrations\": \"^7.10.0\",\n    \"@sentry/node\": \"^5.26.0\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"addressparser\": \"^1.0.1\",\n    \"alfaaz\": \"^1.1.0\",\n    \"@apollo/server\": \"^5.5.1\",\n    \"@graphql-tools/schema\": \"^10.1.0\",\n    \"graphql\": \"^17.0.2\",\n    \"graphql-tag\": \"^2.12.7\",\n    \"@as-integrations/express5\": \"^1.1.2\",\n    \"archiver\": \"^7.0.1\",\n    \"axios\": \"^1.19.0\",\n    \"bcryptjs\": \"^2.4.3\",\n    \"bullmq\": \"6.3.15\",\n    \"compression\": \"^1.7.4\",\n    \"cookie\": \"^2.0.1\",\n    \"cookie-parser\": \"^1.4.5\",\n    \"csv-stringify\": \"^6.4.0\",\n    \"dataloader\": \"^2.2.2\",\n    \"diff-match-patch\": \"^1.0.5\",\n    \"dompurify\": \"^3.4.14\",\n    \"dot-case\": \"^3.0.4\",\n    \"dotenv\": \"^8.2.0\",\n    \"express\": \"^5.2.1\",\n    \"cors\": \"^2.8.6\",\n    \"express-http-context2\": \"^1.0.0\",\n    \"express-prom-bundle\": \"^8.0.0\",\n    \"express-rate-limit\": \"^8.6.2\",\n    \"fast-safe-stringify\": \"^2.1.1\",\n    \"fingerprint-generator\": \"^2.1.52\",\n    \"firebase-admin\": \"^14.2.0\",\n    \"googleapis\": \"^125.0.0\",\n    \"graphql-fields\": \"^2.0.3\",\n    \"graphql-middleware\": \"^6.1.35\",\n    \"graphql-shield\": \"^7.6.5\",\n    \"highlightjs\": \"^9.16.2\",\n    \"html-entities\": \"^2.3.2\",\n    \"image-size\": \"^2.0.3\",\n    \"intercom-client\": \"^7.0.3\",\n    \"ioredis\": \"^6.0.0\",\n    \"jsonwebtoken\": \"^9.0.3\",\n    \"jwks-rsa\": \"^2.0.3\",\n    \"@langchain/classic\": \"^1.0.43\",\n    \"linkedom\": \"^0.14.9\",\n    \"lodash\": \"^4.17.21\",\n    \"luxon\": \"^3.2.1\",\n    \"nanoid\": \"^6.0.1\",\n    \"node-html-markdown\": \"^1.3.0\",\n    \"node-mailjet\": \"^6.0.5\",\n    \"nodemailer\": \"^10.0.2\",\n    \"normalize-url\": \"^6.1.0\",\n    \"oauth\": \"^0.10.0\",\n    \"pg\": \"^8.3.3\",\n    \"postgrator\": \"^4.2.0\",\n    \"posthog-node\": \"^3.6.3\",\n    \"private-ip\": \"2.3.3\",\n    \"mailparser\":\"3.9.40\",\n    \"prom-client\": \"^15.1.0\",\n    \"rate-limit-redis\": \"^4.2.0\",\n    \"redis\": \"^4.6.13\",\n    \"reflect-metadata\": \"0.2.2\",\n    \"rss-parser\": \"^3.13.0\",\n    \"sanitize-html\": \"^2.3.2\",\n    \"sax\": \"^1.3.0\",\n    \"search-query-parser\": \"^1.6.0\",\n    \"showdown\": \"^2.1.0\",\n    \"snake-case\": \"^4.0.0\",\n    \"supertest\": \"^6.2.2\",\n    \"ts-loader\": \"^9.3.0\",\n    \"typeorm\": \"^0.3.4\",\n    \"typeorm-naming-strategies\": \"^4.1.0\",\n    \"underscore\": \"^1.13.6\",\n    \"url-pattern\": \"^1.0.3\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"uuid\": \"^8.3.1\",\n    \"voca\": \"^1.4.0\",\n    \"winston\": \"^3.3.3\",\n    \"yaml\": \"^2.4.1\",\n    \"youtubei\": \"^1.5.4\"\n  },\n  \"devDependencies\": {\n    \"@istanbuljs/nyc-config-typescript\": \"^1.0.2\",\n    \"@types/addressparser\": \"^1.0.1\",\n    \"@types/analytics-node\": \"^3.1.7\",\n    \"@types/archiver\": \"^6.0.2\",\n    \"@types/bcryptjs\": \"^2.4.2\",\n    \"@types/chai\": \"^4.2.18\",\n    \"@types/cors\": \"^2.8.19\",\n    \"@types/chai-as-promised\": \"^7.1.5\",\n    \"@types/chai-string\": \"^1.4.2\",\n    \"@types/compression\": \"^1.7.5\",\n    \"@types/cookie\": \"^0.4.0\",\n    \"@types/mailparser\": \"3.9.0\",\n    \"@types/cookie-parser\": \"^1.4.7\",\n    \"@types/csv-stringify\": \"^3.1.0\",\n    \"@types/diff-match-patch\": \"^1.0.32\",\n    \"@types/dompurify\": \"^2.0.4\",\n    \"@types/express\": \"^5.0.6\",\n    \"@types/graphql-fields\": \"^1.3.4\",\n    \"@types/highlightjs\": \"^9.12.2\",\n    \"@types/intercom-client\": \"^2.11.8\",\n    \"@types/jsonwebtoken\": \"^8.5.0\",\n    \"@types/lodash\": \"^4.17.14\",\n    \"@types/luxon\": \"^1.25.0\",\n    \"@types/mocha\": \"^8.2.2\",\n    \"@types/nanoid\": \"^3.0.0\",\n    \"@types/node\": \"24.1.0\",\n    \"@types/nodemailer\": \"^6.4.4\",\n    \"@types/oauth\": \"^0.9.1\",\n    \"@types/private-ip\": \"^1.0.0\",\n    \"@types/sanitize-html\": \"^1.27.1\",\n    \"@types/sax\": \"^1.2.7\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"@types/sinon\": \"^10.0.13\",\n    \"@types/sinon-chai\": \"^3.2.8\",\n    \"@types/supertest\": \"^2.0.11\",\n    \"@types/urlsafe-base64\": \"^1.0.28\",\n    \"@types/uuid\": \"^8.3.0\",\n    \"@types/voca\": \"^1.4.0\",\n    \"chai\": \"^4.3.4\",\n    \"chai-as-promised\": \"^7.1.1\",\n    \"chai-string\": \"^1.5.0\",\n    \"circular-dependency-plugin\": \"^5.2.0\",\n    \"mocha\": \"^9.0.1\",\n    \"mocha-unfunk-reporter\": \"^0.4.0\",\n    \"nock\": \"^13.2.4\",\n    \"nyc\": \"^15.1.0\",\n    \"postgrator\": \"^4.2.0\",\n    \"sinon\": \"^14.0.0\",\n    \"sinon-chai\": \"^3.7.0\",\n    \"ts-node-dev\": \"^1.1.8\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","packages/api/README.md":"# Backend\n\nThis workspace is dedicated to API server that uses Apollo GraphQL server and Knex query builder to provide the app with data operations.\n\n## GraphQL schema\n\nGraphQL schema is located in `schema.ts`. In order to use new types, queries or mutations you need to declare them there and then run `yarn gql-typegen` from the application root to create the necessary typings in order to write GQL queries from the app.\n\n## Apollo resolvers and data sources\n\nWe make use of Apollo resolvers and data sources. Resolvers typically contain business logic and handling of user domain errors, while data sources are ideally simple atomic database operations.\n\n## Interacting with the database\n\nAll operations on the database must be wrapped in Knex transaction on a resolver layer. This ensures data integrity and safety with no side effects on a failed operations.\n\nBecause we make use of Row Level Security in the database, - all operations typically begin with assuming the role for which policies exist via `omnivore.set_claims` database function.\n\n## ElasticSearch\n\nWe use ElasticSearch to store page data in a distributed manner. This is a great way to store data that is not easily searchable.\nAll the page data is stored in a single index `pages`. This index is then queried by the app to display the data.\nYou need to make sure you have an elasticsearch instance running locally (or just use docker compose).\nES url is specified by `ES_URL` environment variable (username `ES_USERNAME` and password `ES_PASSWORD` can be random strings in local environment).\n\nWhen you're running elastic for the very first time, you need to create indices and ingest existing data. This can be done by running `python elastic_migrate.py`.\nThis operation is idempotent, so you can always run `python elastic_migrate.py` again to re-ingest all the data.\n\nYou can run ElasticSearch separately by using `docker compose -f docker-compose.yml up -d elastic`.\n\n## Image Proxy (optional for local dev)\n\nBackend API server returns article image links using image proxy\n(/imageproxy). You will need to set the env with var IMAGE_PROXY_URL to point\nto a running instance of image proxy along with env var IMAGE_PROXY_SECRET. The\nsame secret env var ought to be passed as config to the running image proxy\nservice. You can also use the docker-compose-dev.yml file to bring up just the\nimage proxy service alone (w/ env var for secret specified in the compose file)\nby running: `docker compose -f docker-compose-dev.yml up -d imageproxy`.\n\nWhen running locally, use the .env.local file to set up the env variables in your environment.\n\n### Set up the database\n\nRefer the [using locally](../db/README.md#using-locally) section from db README.\n\n### Copy .env.example file to .env file:\n\n    cp .env.example .env\n\n### Run the app\n\n    yarn dev\n","packages/db/package.json":"{\n  \"name\": \"@omnivore/db\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"scripts\": {\n    \"migrate\": \"node ./build/migrate.js\",\n    \"build\": \"tsc\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"generate\": \"plop\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\",\n  \"dependencies\": {\n    \"dotenv\": \"^8.2.3\",\n    \"pg\": \"^8.3.0\",\n    \"postgrator\": \"^4.1.1\",\n    \"bullmq\": \"6.3.15\",\n    \"ts-node\": \"^10.9.2\"\n  },\n  \"devDependencies\": {\n    \"plop\": \"^2.7.1\",\n    \"@types/pg\": \"8.23.1\",\n    \"@types/dotenv\": \"^8.2.3\"\n  }\n}\n","packages/discover/README.md":"# omnivore-discover\n\n\n## What is this?  \n \nOne of my bi ggest problems is actually discoverability of articles. I have my five sites, and my link aggregators like Reddit. This is a bubble, and I miss a lot this way.\n\nSo I wanted to see if I could create something that would enable discoverability from Omnivore.\n\nI had a few goals when creating Omnivore Discover.\n\n![Example Screen](./docs/example.png)\n\n## Features\n\n### Automatic Categorisation\n\nA while ago I worked a proof of concept for automatically adding user tags to an article. I ultimately still need to work on that further, but the basics for it worked well.\n\nI wanted to take the learnings from this and use it to add automatic categorisation of stories.\n\nI created a few topics, and added some descriptions to them. I generate an Embedding from this using OpenAIs embedding. These can be seen below.\n\n![Topics](./docs/topic-tab.png)\n\nWhen ingesting articles (see Ingesting Articles) we use their title and small description to create an Embedding. We can then use Cosine Similarity to identify which category this story should be a part of.\n\nThis is of course not 100% accurate, but it does a good enough job at categorising articles.\n\n### Social Features\n#### Discord Integration.\n\nI created Omnivore Discover, and added it to the Omnivore WebApp.\n\nI wanted to also add some social features to this. We have a fantastic community within the Omnivore Discord. I have found a lot of interesting reads in the #recommendations channel.\n\nI wanted to be able to take these recommendations, and expose them to the Omnivore Community.\n\nWe do this using a Discord Bot. In order to moderate these recommendations a moderator must add an emoji (🦥) to the story.\n\nThis then gets ingested in the same way as the other stories. Meaning that it is also categorised. It also gets added to the Community Picks tab.\n\n![Tomnivore Slack](./docs/tomnivore.png)\n\n![community tab](./docs/community.png)\n\n#### Popularity\n\nThere is also a popularity feed. This provides a score based on recent saves, weighting more heavily for newer articles. This allows us to have a popular tab, which shows in order the most popular stories on Omnivore Right now according to the community\n\n![Popular Items](./docs/popular.png)\n\n### Ingesting Articles\n\nI ensured that articles could come from multiple locations. This is why I chose an RXJS Poller.\n\nThis project also started from the automatic labelling project. So that too was an important part of the decision to enable ingestion from multiple plages. Including a PubSub queue.\n\nI wanted one of the main sources of the articles to be RSS Feeds.\n\nI did this because I thought that some of this functionality might, in the future, be extendable to other RSS Feeds.\n\nI have chose 3 article sources for now, Wired, ArsTechnica, and The Atlantic.\n\n## Technologies\n\nBelow is a list of the technologies that were used to design this feature. This repository represents the RXJS side.\n\n* RxJS \n* Typescript \n* Axios \n* PGVector\n* Discord Bot\n* PubSub\n\n## Running\n\nCreation of the PubSub Topic and Subscription is external to this app.\n","packages/discover/tslint.json":"{\n  \"extends\": \"tslint:recommended\",\n  \"rulesDirectory\": [\"codelyzer\"],\n  \"rules\": {\n    \"array-type\": false,\n    \"arrow-parens\": false,\n    \"deprecation\": {\n      \"severity\": \"warn\"\n    },\n    \"import-blacklist\": [true, \"rxjs/Rx\"],\n    \"interface-name\": false,\n    \"max-classes-per-file\": false,\n    \"max-line-length\": [true, 140],\n    \"member-access\": false,\n    \"member-ordering\": [\n      true,\n      {\n        \"order\": [\n          \"static-field\",\n          \"instance-field\",\n          \"static-method\",\n          \"instance-method\"\n        ]\n      }\n    ],\n    \"no-consecutive-blank-lines\": false,\n    \"no-console\": [true, \"debug\", \"info\", \"time\", \"timeEnd\", \"trace\"],\n    \"no-empty\": false,\n    \"no-inferrable-types\": [true, \"ignore-params\"],\n    \"no-non-null-assertion\": true,\n    \"no-redundant-jsdoc\": true,\n    \"no-switch-case-fall-through\": true,\n    \"no-use-before-declare\": true,\n    \"no-var-requires\": false,\n    \"object-literal-key-quotes\": [true, \"as-needed\"],\n    \"object-literal-sort-keys\": false,\n    \"ordered-imports\": false,\n    \"quotemark\": [true, \"single\"],\n    \"trailing-comma\": false,\n    \"no-output-on-prefix\": true,\n    \"no-inputs-metadata-property\": true,\n    \"no-outputs-metadata-property\": true,\n    \"no-host-metadata-property\": true,\n    \"no-input-rename\": true,\n    \"no-output-rename\": true,\n    \"use-life-cycle-interface\": true,\n    \"use-pipe-transform-interface\": true,\n    \"component-class-suffix\": true,\n    \"directive-class-suffix\": true\n  }\n}\n","packages/discover/tsconfig.json":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"compileOnSave\": false,\n  \"include\": [\"./src/**/*\"],\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"../node_modules/@types\",\n      \"./../../node_modules/types\",\n      \"./../../node_modules/pgvector/types\",\n      \"./../../node_modules/pgvector/types/pg\",\n      \"./../../node_modules/pgvector/types/pg/index.d.ts\"\n    ]\n  }\n}\n","packages/discover/package.json":"{\n  \"name\": \"@omnivore/discover\",\n  \"version\": \"0.0.1\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --files src/index.ts\",\n    \"start\": \"node dist/src/index.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\"\n  },\n  \"dependencies\": {\n    \"aws4-axios\": \"^3.3.0\",\n    \"axios\": \"^1.19.0\",\n    \"dotenv\": \"^16.3.1\",\n    \"fast-xml-parser\": \"^4.3.2\",\n    \"html-to-text\": \"^9.0.5\",\n    \"linkedom\": \"^0.16.5\",\n    \"openai\": \"^4.11.1\",\n    \"pg\": \"^8.11.3\",\n    \"pg-format\": \"^1.0.4\",\n    \"pgvector\": \"^0.3.0\",\n    \"postgres\": \"^3.4.0\",\n    \"rxjs\": \"^7.8.1\",\n    \"uuid\": \"^9.0.1\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"bullmq\": \"6.3.15\",\n    \"mailparse\":\"2.2.2\",\n    \"ioredis\":\"6.0.0\",\n    \"lodash\": \"^4.17.21\",\n    \"jsdom\": \"^25.0.1\",\n    \"voca\": \"^1.4.1\"\n  },\n  \"devDependencies\": {\n    \"@types/jsdom\": \"^21.1.3\",\n    \"@types/pg-format\": \"^1.0.3\",\n    \"@types/html-to-text\": \"^9.0.2\",\n    \"@types/node\": \"^20.8.4\",\n    \"@types/lodash\": \"^4.17.13\",\n    \"@types/pg\": \"^8.10.5\",\n    \"@types/voca\": \"^1.4.3\",\n    \"ts-node\": \"^10.9.1\",\n    \"tslib\": \"^2.6.2\",\n    \"@types/uuid\": \"^9.0.1\",\n    \"@types/urlsafe-base64\": \"^1.0.28\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","packages/utils/mocha-config.json":"{\n    \"extension\": [\"ts\"],\n    \"spec\": \"test/**/*.test.ts\",\n    \"timeout\": 10000\n  }\n","packages/db/tsconfig.json":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"declaration\": true,\n    \"outDir\": \"build\"\n  }\n}\n","packages/utils/package.json":"# Utils Skill\n\nPath: `packages/utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/package.json)","packages/utils/tsconfig.json":"# Utils Skill\n\nPath: `packages/utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/tsconfig.json)","packages/web/README.md":"# web Documentation\n\nPath: `packages/web/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/README.md)","packages/web/i18n.json":"# Web Skill\n\nPath: `packages/web/i18n.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/i18n.json)","packages/web/package.json":"# Web Skill\n\nPath: `packages/web/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/package.json)","packages/web/tsconfig.json":"# Web Skill\n\nPath: `packages/web/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/tsconfig.json)","packages/content/content-fetch/README.md":"# content-fetch Documentation\n\nPath: `packages/content/content-fetch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/README.md)","packages/content/content-fetch/mocha-config.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/mocha-config.json)","packages/content/content-fetch/package.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/package.json)","packages/content/content-fetch/tsconfig.json":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/tsconfig.json)","packages/content/content-handler/mocha-config.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/mocha-config.json)","packages/content/content-handler/package.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/package.json)","packages/content/content-handler/tsconfig.json":"# Content-handler Skill\n\nPath: `packages/content/content-handler/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/tsconfig.json)","packages/content/imageproxy/imageproxy-service-demo.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-demo.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-demo.yaml)","packages/content/imageproxy/imageproxy-service-production.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-production.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-production.yaml)","packages/content/imageproxy/imageproxy-service-qa.yaml":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-qa.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-qa.yaml)","packages/content/liqe/README.md":"# liqe Documentation\n\nPath: `packages/content/liqe/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/README.md)","packages/content/liqe/package.json":"# Liqe Skill\n\nPath: `packages/content/liqe/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/package.json)","packages/content/liqe/tsconfig.json":"# Liqe Skill\n\nPath: `packages/content/liqe/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/tsconfig.json)","packages/content/puppeteer-parse/README.md":"# puppeteer-parse Documentation\n\nPath: `packages/content/puppeteer-parse/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/README.md)","packages/content/puppeteer-parse/mocha-config.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/mocha-config.json)","packages/content/puppeteer-parse/package.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/package.json)","packages/content/puppeteer-parse/tsconfig.json":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/tsconfig.json)","packages/content/readabilityjs/CODE_OF_CONDUCT.md":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/CODE_OF_CONDUCT.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/CODE_OF_CONDUCT.md)","packages/content/readabilityjs/README.md":"# readabilityjs Documentation\n\nPath: `packages/content/readabilityjs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/README.md)","packages/content/readabilityjs/package.json":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/package.json)","packages/content/text-to-speech/mocha-config.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/mocha-config.json)","packages/content/text-to-speech/package.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/package.json)","packages/content/text-to-speech/tsconfig.json":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/tsconfig.json)","packages/db/elastic_migrations/index_settings.json":"# Elastic_migrations Skill\n\nPath: `packages/db/elastic_migrations/index_settings.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/elastic_migrations/index_settings.json)","packages/mail/imap-mail-watcher/package.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/package.json)","packages/mail/imap-mail-watcher/tsconfig.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tsconfig.json)","packages/mail/imap-mail-watcher/tslint.json":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tslint.json)","packages/mail/local-mail-watcher/package.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/package.json)","packages/mail/local-mail-watcher/tsconfig.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tsconfig.json)","packages/mail/local-mail-watcher/tslint.json":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tslint.json)","packages/web/docs/articleScratchNotes.md":"# Docs Skill\n\nPath: `packages/web/docs/articleScratchNotes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/docs/articleScratchNotes.md)","packages/api/src/routers/svc/README.md":"# svc Documentation\n\nPath: `packages/api/src/routers/svc/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/src/routers/svc/README.md)","packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json":"# Aboveavalon Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json":"# Ahhhhfs.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json":"# Bbc-arabic Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json":"# Berthub-2 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json":"# Berthub Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json":"# Biospace Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json":"# Bitfieldconsulting Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json":"# Blog.jetbrains.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json":"# Bookofhook.blogspot.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json":"# Brookings.edu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json":"# Caixin Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json":"# Cavesocial Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json":"# Channelnewsasia Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json":"# Channelnewsasia02 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json":"# China.substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json":"# City-journal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json":"# Cnbc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json":"# Community.musictribe.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json":"# Computer.rip Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json":"# Computerenhance.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json":"# Dailymail Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json":"# Danluu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json":"# Danwang Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json":"# Debugger.medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json":"# Digital-garden-docs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json":"# Economist Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json":"# Electrek Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json":"# Elidourado Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json":"# Energias-renovables.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json":"# Erik-engheim Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json":"# Fast-company Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json":"# Fiercepharma Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json":"# Financialpost-fishing-for-chips Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json":"# Ft.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json":"# Garymarcus Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json":"# Gdcvault Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json":"# Getting_started_with_omnivore Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json":"# Gflownet Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json":"# Github-blog Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json":"# Guardian Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json":"# Habr.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json":"# Infoproc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json":"# Instyle Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json":"# Jacobbrazeal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json":"# Johnhcochrane.blogspot Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json":"# Jon.bo Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json":"# Josephg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json":"# Jsomers Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json":"# Kdnuggets Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json":"# Lesswrong Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json":"# Mathoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json":"# Medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json":"# Milkroad Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json":"# Moderndiplomacy Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json":"# Moxie.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json":"# News.utexas Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json":"# Nymag Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json":"# Nytimes-podcasts Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json":"# Nytimes.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json":"# Nytimes Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json":"# Omnivore_getting_started Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json":"# Ottawacitizen.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/people/expected-metadata.json":"# People Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/people/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/people/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json":"# Pontagedue Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json":"# Raw-story Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json":"# Realpython Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json":"# Robinwieruch.de Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json":"# Rootsofprogress Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json":"# Samcurry Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json":"# Sciencedirect Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json":"# Slowboring Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json":"# Spakhm Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json":"# Stackoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json":"# Stratechery Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json":"# Substack-email Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json":"# Substack-headings Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json":"# Substack-michaelshellenberger Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json":"# Substack-new Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json":"# Sydney.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json":"# Techcrunch Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json":"# Telegr.ph Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json":"# Thevaluable.dev Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json":"# Vanityfair Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json":"# Variety Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json":"# Wechat Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json":"# Www.musingmind.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json":"# Www.sahilbloom.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json":"# Youtube-embed Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json":"# Yuyue.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json":"# Zhihu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json)","packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json":"# Axios-am Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json":"# Axios-chicago Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json":"# Bloomberg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json":"# Forte-labs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json":"# Golang-weekly Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json":"# Milk-road Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json":"# Money-stuff Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json":"# Morning-brew Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json":"# Substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json)","packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json":"# Tldr Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json)","packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json)"},"items":[{"name":"mocha-config.json","path":"packages/api/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/mocha-config.json","title":"Api Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extension\": [\"ts\"],\n  \"spec\": \"test/**/*.test.ts\",\n  \"reporter\": \"mocha-unfunk-reporter\",\n  \"require\": [\"test/global-setup.ts\", \"test/global-teardown.ts\", \"test/hooks.ts\"],\n  \"timeout\": 10000\n}\n","frontmatter":{"extension":["ts"],"spec":"test/**/*.test.ts","reporter":"mocha-unfunk-reporter","require":["test/global-setup.ts","test/global-teardown.ts","test/hooks.ts"],"timeout":10000},"isInternal":false,"tokens":63,"sizeBytes":199},{"name":"package.json","path":"packages/api/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/package.json","title":"@omnivore/api","category":"anthropic-skill","format":"json","content":"{\n  \"name\": \"@omnivore/api\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --respawn --transpile-only src/server.ts\",\n    \"dev_qp\": \"ts-node-dev --respawn --transpile-only src/queue-processor.ts\",\n    \"dev_ep\": \"ts-node-dev --respawn --transpile-only src/export-processor.ts\",\n    \"start\": \"node dist/src/server.js\",\n    \"start_queue_processor\": \"node dist/src/queue-processor.js\",\n    \"start_export_processor\": \"node dist/src/export-processor.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"test\": \"nyc mocha -r ts-node/register --config mocha-config.json\"\n  },\n  \"dependencies\": {\n    \"@aws-sdk/client-s3\": \"^3.679.0\",\n    \"@aws-sdk/lib-storage\": \"^3.679.0\",\n    \"@aws-sdk/s3-request-presigner\": \"^3.679.0\",\n    \"@bmatei/apollo-prometheus-exporter\": \"^3.0.0\",\n    \"@cospired/i18n-iso-languages\": \"^4.2.0\",\n    \"@google-cloud/logging-winston\": \"^6.0.0\",\n    \"@google-cloud/monitoring\": \"^4.0.0\",\n    \"@google-cloud/opentelemetry-cloud-trace-exporter\": \"^2.0.0\",\n    \"@google-cloud/pubsub\": \"^4.0.0\",\n    \"@google-cloud/storage\": \"^7.0.1\",\n    \"@google-cloud/tasks\": \"^6.2.0\",\n    \"@graphql-tools/utils\": \"^13.2.0\",\n    \"@langchain/anthropic\": \"^1.5.6\",\n    \"@langchain/openai\": \"^1.5.8\",\n    \"@langchain/core\": \"^1.2.8\",\n    \"@notionhq/client\": \"^2.2.14\",\n    \"@omnivore/content-handler\": \"1.0.0\",\n    \"@omnivore/liqe\": \"1.0.0\",\n    \"@omnivore/readability\": \"1.0.0\",\n    \"@omnivore/text-to-speech-handler\": \"1.0.0\",\n    \"@opentelemetry/api\": \"^1.0.1\",\n    \"@opentelemetry/core\": \"^2.10.0\",\n    \"@opentelemetry/exporter-jaeger\": \"^1.0.1\",\n    \"@opentelemetry/instrumentation-dns\": \"^0.31.2\",\n    \"@opentelemetry/instrumentation-express\": \"^0.28.0\",\n    \"@opentelemetry/instrumentation-graphql\": \"^0.29.0\",\n    \"@opentelemetry/instrumentation-grpc\": \"^0.37.0\",\n    \"@opentelemetry/instrumentation-http\": \"^0.27.0\",\n    \"@opentelemetry/instrumentation-pg\": \"^0.73.0\",\n    \"@opentelemetry/node\": \"^0.24.0\",\n    \"@opentelemetry/resources\": \"^1.17.0\",\n    \"@opentelemetry/semantic-conventions\": \"^1.0.1\",\n    \"@opentelemetry/tracing\": \"^0.24.0\",\n    \"@sendgrid/mail\": \"^7.6.0\",\n    \"@sentry/integrations\": \"^7.10.0\",\n    \"@sentry/node\": \"^5.26.0\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"addressparser\": \"^1.0.1\",\n    \"alfaaz\": \"^1.1.0\",\n    \"@apollo/server\": \"^5.5.1\",\n    \"@graphql-tools/schema\": \"^10.1.0\",\n    \"graphql\": \"^17.0.2\",\n    \"graphql-tag\": \"^2.12.7\",\n    \"@as-integrations/express5\": \"^1.1.2\",\n    \"archiver\": \"^7.0.1\",\n    \"axios\": \"^1.19.0\",\n    \"bcryptjs\": \"^2.4.3\",\n    \"bullmq\": \"6.3.15\",\n    \"compression\": \"^1.7.4\",\n    \"cookie\": \"^2.0.1\",\n    \"cookie-parser\": \"^1.4.5\",\n    \"csv-stringify\": \"^6.4.0\",\n    \"dataloader\": \"^2.2.2\",\n    \"diff-match-patch\": \"^1.0.5\",\n    \"dompurify\": \"^3.4.14\",\n    \"dot-case\": \"^3.0.4\",\n    \"dotenv\": \"^8.2.0\",\n    \"express\": \"^5.2.1\",\n    \"cors\": \"^2.8.6\",\n    \"express-http-context2\": \"^1.0.0\",\n    \"express-prom-bundle\": \"^8.0.0\",\n    \"express-rate-limit\": \"^8.6.2\",\n    \"fast-safe-stringify\": \"^2.1.1\",\n    \"fingerprint-generator\": \"^2.1.52\",\n    \"firebase-admin\": \"^14.2.0\",\n    \"googleapis\": \"^125.0.0\",\n    \"graphql-fields\": \"^2.0.3\",\n    \"graphql-middleware\": \"^6.1.35\",\n    \"graphql-shield\": \"^7.6.5\",\n    \"highlightjs\": \"^9.16.2\",\n    \"html-entities\": \"^2.3.2\",\n    \"image-size\": \"^2.0.3\",\n    \"intercom-client\": \"^7.0.3\",\n    \"ioredis\": \"^6.0.0\",\n    \"jsonwebtoken\": \"^9.0.3\",\n    \"jwks-rsa\": \"^2.0.3\",\n    \"@langchain/classic\": \"^1.0.43\",\n    \"linkedom\": \"^0.14.9\",\n    \"lodash\": \"^4.17.21\",\n    \"luxon\": \"^3.2.1\",\n    \"nanoid\": \"^6.0.1\",\n    \"node-html-markdown\": \"^1.3.0\",\n    \"node-mailjet\": \"^6.0.5\",\n    \"nodemailer\": \"^10.0.2\",\n    \"normalize-url\": \"^6.1.0\",\n    \"oauth\": \"^0.10.0\",\n    \"pg\": \"^8.3.3\",\n    \"postgrator\": \"^4.2.0\",\n    \"posthog-node\": \"^3.6.3\",\n    \"private-ip\": \"2.3.3\",\n    \"mailparser\":\"3.9.40\",\n    \"prom-client\": \"^15.1.0\",\n    \"rate-limit-redis\": \"^4.2.0\",\n    \"redis\": \"^4.6.13\",\n    \"reflect-metadata\": \"0.2.2\",\n    \"rss-parser\": \"^3.13.0\",\n    \"sanitize-html\": \"^2.3.2\",\n    \"sax\": \"^1.3.0\",\n    \"search-query-parser\": \"^1.6.0\",\n    \"showdown\": \"^2.1.0\",\n    \"snake-case\": \"^4.0.0\",\n    \"supertest\": \"^6.2.2\",\n    \"ts-loader\": \"^9.3.0\",\n    \"typeorm\": \"^0.3.4\",\n    \"typeorm-naming-strategies\": \"^4.1.0\",\n    \"underscore\": \"^1.13.6\",\n    \"url-pattern\": \"^1.0.3\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"uuid\": \"^8.3.1\",\n    \"voca\": \"^1.4.0\",\n    \"winston\": \"^3.3.3\",\n    \"yaml\": \"^2.4.1\",\n    \"youtubei\": \"^1.5.4\"\n  },\n  \"devDependencies\": {\n    \"@istanbuljs/nyc-config-typescript\": \"^1.0.2\",\n    \"@types/addressparser\": \"^1.0.1\",\n    \"@types/analytics-node\": \"^3.1.7\",\n    \"@types/archiver\": \"^6.0.2\",\n    \"@types/bcryptjs\": \"^2.4.2\",\n    \"@types/chai\": \"^4.2.18\",\n    \"@types/cors\": \"^2.8.19\",\n    \"@types/chai-as-promised\": \"^7.1.5\",\n    \"@types/chai-string\": \"^1.4.2\",\n    \"@types/compression\": \"^1.7.5\",\n    \"@types/cookie\": \"^0.4.0\",\n    \"@types/mailparser\": \"3.9.0\",\n    \"@types/cookie-parser\": \"^1.4.7\",\n    \"@types/csv-stringify\": \"^3.1.0\",\n    \"@types/diff-match-patch\": \"^1.0.32\",\n    \"@types/dompurify\": \"^2.0.4\",\n    \"@types/express\": \"^5.0.6\",\n    \"@types/graphql-fields\": \"^1.3.4\",\n    \"@types/highlightjs\": \"^9.12.2\",\n    \"@types/intercom-client\": \"^2.11.8\",\n    \"@types/jsonwebtoken\": \"^8.5.0\",\n    \"@types/lodash\": \"^4.17.14\",\n    \"@types/luxon\": \"^1.25.0\",\n    \"@types/mocha\": \"^8.2.2\",\n    \"@types/nanoid\": \"^3.0.0\",\n    \"@types/node\": \"24.1.0\",\n    \"@types/nodemailer\": \"^6.4.4\",\n    \"@types/oauth\": \"^0.9.1\",\n    \"@types/private-ip\": \"^1.0.0\",\n    \"@types/sanitize-html\": \"^1.27.1\",\n    \"@types/sax\": \"^1.2.7\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"@types/sinon\": \"^10.0.13\",\n    \"@types/sinon-chai\": \"^3.2.8\",\n    \"@types/supertest\": \"^2.0.11\",\n    \"@types/urlsafe-base64\": \"^1.0.28\",\n    \"@types/uuid\": \"^8.3.0\",\n    \"@types/voca\": \"^1.4.0\",\n    \"chai\": \"^4.3.4\",\n    \"chai-as-promised\": \"^7.1.1\",\n    \"chai-string\": \"^1.5.0\",\n    \"circular-dependency-plugin\": \"^5.2.0\",\n    \"mocha\": \"^9.0.1\",\n    \"mocha-unfunk-reporter\": \"^0.4.0\",\n    \"nock\": \"^13.2.4\",\n    \"nyc\": \"^15.1.0\",\n    \"postgrator\": \"^4.2.0\",\n    \"sinon\": \"^14.0.0\",\n    \"sinon-chai\": \"^3.7.0\",\n    \"ts-node-dev\": \"^1.1.8\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","frontmatter":{"name":"@omnivore/api","version":"1.0.0","license":"UNLICENSED","scripts":{"build":"tsc","dev":"ts-node-dev --respawn --transpile-only src/server.ts","dev_qp":"ts-node-dev --respawn --transpile-only src/queue-processor.ts","dev_ep":"ts-node-dev --respawn --transpile-only src/export-processor.ts","start":"node dist/src/server.js","start_queue_processor":"node dist/src/queue-processor.js","start_export_processor":"node dist/src/export-processor.js","lint":"eslint src --ext ts,js,tsx,jsx","lint:fix":"eslint src --fix --ext ts,js,tsx,jsx","test:typecheck":"tsc --noEmit","test":"nyc mocha -r ts-node/register --config mocha-config.json"},"dependencies":{"@aws-sdk/client-s3":"^3.679.0","@aws-sdk/lib-storage":"^3.679.0","@aws-sdk/s3-request-presigner":"^3.679.0","@bmatei/apollo-prometheus-exporter":"^3.0.0","@cospired/i18n-iso-languages":"^4.2.0","@google-cloud/logging-winston":"^6.0.0","@google-cloud/monitoring":"^4.0.0","@google-cloud/opentelemetry-cloud-trace-exporter":"^2.0.0","@google-cloud/pubsub":"^4.0.0","@google-cloud/storage":"^7.0.1","@google-cloud/tasks":"^6.2.0","@graphql-tools/utils":"^13.2.0","@langchain/anthropic":"^1.5.6","@langchain/openai":"^1.5.8","@langchain/core":"^1.2.8","@notionhq/client":"^2.2.14","@omnivore/content-handler":"1.0.0","@omnivore/liqe":"1.0.0","@omnivore/readability":"1.0.0","@omnivore/text-to-speech-handler":"1.0.0","@opentelemetry/api":"^1.0.1","@opentelemetry/core":"^2.10.0","@opentelemetry/exporter-jaeger":"^1.0.1","@opentelemetry/instrumentation-dns":"^0.31.2","@opentelemetry/instrumentation-express":"^0.28.0","@opentelemetry/instrumentation-graphql":"^0.29.0","@opentelemetry/instrumentation-grpc":"^0.37.0","@opentelemetry/instrumentation-http":"^0.27.0","@opentelemetry/instrumentation-pg":"^0.73.0","@opentelemetry/node":"^0.24.0","@opentelemetry/resources":"^1.17.0","@opentelemetry/semantic-conventions":"^1.0.1","@opentelemetry/tracing":"^0.24.0","@sendgrid/mail":"^7.6.0","@sentry/integrations":"^7.10.0","@sentry/node":"^5.26.0","@types/showdown":"^2.0.6","addressparser":"^1.0.1","alfaaz":"^1.1.0","@apollo/server":"^5.5.1","@graphql-tools/schema":"^10.1.0","graphql":"^17.0.2","graphql-tag":"^2.12.7","@as-integrations/express5":"^1.1.2","archiver":"^7.0.1","axios":"^1.19.0","bcryptjs":"^2.4.3","bullmq":"6.3.15","compression":"^1.7.4","cookie":"^2.0.1","cookie-parser":"^1.4.5","csv-stringify":"^6.4.0","dataloader":"^2.2.2","diff-match-patch":"^1.0.5","dompurify":"^3.4.14","dot-case":"^3.0.4","dotenv":"^8.2.0","express":"^5.2.1","cors":"^2.8.6","express-http-context2":"^1.0.0","express-prom-bundle":"^8.0.0","express-rate-limit":"^8.6.2","fast-safe-stringify":"^2.1.1","fingerprint-generator":"^2.1.52","firebase-admin":"^14.2.0","googleapis":"^125.0.0","graphql-fields":"^2.0.3","graphql-middleware":"^6.1.35","graphql-shield":"^7.6.5","highlightjs":"^9.16.2","html-entities":"^2.3.2","image-size":"^2.0.3","intercom-client":"^7.0.3","ioredis":"^6.0.0","jsonwebtoken":"^9.0.3","jwks-rsa":"^2.0.3","@langchain/classic":"^1.0.43","linkedom":"^0.14.9","lodash":"^4.17.21","luxon":"^3.2.1","nanoid":"^6.0.1","node-html-markdown":"^1.3.0","node-mailjet":"^6.0.5","nodemailer":"^10.0.2","normalize-url":"^6.1.0","oauth":"^0.10.0","pg":"^8.3.3","postgrator":"^4.2.0","posthog-node":"^3.6.3","private-ip":"2.3.3","mailparser":"3.9.40","prom-client":"^15.1.0","rate-limit-redis":"^4.2.0","redis":"^4.6.13","reflect-metadata":"0.2.2","rss-parser":"^3.13.0","sanitize-html":"^2.3.2","sax":"^1.3.0","search-query-parser":"^1.6.0","showdown":"^2.1.0","snake-case":"^4.0.0","supertest":"^6.2.2","ts-loader":"^9.3.0","typeorm":"^0.3.4","typeorm-naming-strategies":"^4.1.0","underscore":"^1.13.6","url-pattern":"^1.0.3","urlsafe-base64":"^1.0.0","uuid":"^8.3.1","voca":"^1.4.0","winston":"^3.3.3","yaml":"^2.4.1","youtubei":"^1.5.4"},"devDependencies":{"@istanbuljs/nyc-config-typescript":"^1.0.2","@types/addressparser":"^1.0.1","@types/analytics-node":"^3.1.7","@types/archiver":"^6.0.2","@types/bcryptjs":"^2.4.2","@types/chai":"^4.2.18","@types/cors":"^2.8.19","@types/chai-as-promised":"^7.1.5","@types/chai-string":"^1.4.2","@types/compression":"^1.7.5","@types/cookie":"^0.4.0","@types/mailparser":"3.9.0","@types/cookie-parser":"^1.4.7","@types/csv-stringify":"^3.1.0","@types/diff-match-patch":"^1.0.32","@types/dompurify":"^2.0.4","@types/express":"^5.0.6","@types/graphql-fields":"^1.3.4","@types/highlightjs":"^9.12.2","@types/intercom-client":"^2.11.8","@types/jsonwebtoken":"^8.5.0","@types/lodash":"^4.17.14","@types/luxon":"^1.25.0","@types/mocha":"^8.2.2","@types/nanoid":"^3.0.0","@types/node":"24.1.0","@types/nodemailer":"^6.4.4","@types/oauth":"^0.9.1","@types/private-ip":"^1.0.0","@types/sanitize-html":"^1.27.1","@types/sax":"^1.2.7","@types/showdown":"^2.0.6","@types/sinon":"^10.0.13","@types/sinon-chai":"^3.2.8","@types/supertest":"^2.0.11","@types/urlsafe-base64":"^1.0.28","@types/uuid":"^8.3.0","@types/voca":"^1.4.0","chai":"^4.3.4","chai-as-promised":"^7.1.1","chai-string":"^1.5.0","circular-dependency-plugin":"^5.2.0","mocha":"^9.0.1","mocha-unfunk-reporter":"^0.4.0","nock":"^13.2.4","nyc":"^15.1.0","postgrator":"^4.2.0","sinon":"^14.0.0","sinon-chai":"^3.7.0","ts-node-dev":"^1.1.8"},"volta":{"extends":"../../package.json"}},"isInternal":false,"tokens":2452,"sizeBytes":6320},{"name":"tsconfig.json","path":"packages/api/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/tsconfig.json","title":"Api Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"ts-node\": {\n    \"files\": true\n  },\n  \"compilerOptions\": {\n    \"rootDirs\": [\".\"],\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"esModuleInterop\": true\n  },\n  \"include\": [\"src/**/*.ts\", \"test/**/*.ts\"],\n  \"exclude\": [\"./src/generated\"]\n}\n","frontmatter":{"extends":"./../../tsconfig.json","ts-node":{"files":true},"compilerOptions":{"rootDirs":["."],"outDir":"dist","types":["node"],"esModuleInterop":true},"include":["src/**/*.ts","test/**/*.ts"],"exclude":["./src/generated"]},"isInternal":false,"tokens":87,"sizeBytes":283},{"name":"mocha-config.json","path":"packages/content/content-fetch/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/mocha-config.json","title":"Content-fetch Skill","category":"anthropic-skill","format":"json","content":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/mocha-config.json)","tokens":300,"sizeBytes":220},{"name":"package.json","path":"packages/content/content-fetch/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/package.json","title":"Content-fetch Skill","category":"anthropic-skill","format":"json","content":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/package.json)","tokens":300,"sizeBytes":210},{"name":"tsconfig.json","path":"packages/content/content-fetch/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/tsconfig.json","title":"Content-fetch Skill","category":"anthropic-skill","format":"json","content":"# Content-fetch Skill\n\nPath: `packages/content/content-fetch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/tsconfig.json)","tokens":300,"sizeBytes":212},{"name":"mocha-config.json","path":"packages/content/content-handler/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/mocha-config.json","title":"Content-handler Skill","category":"anthropic-skill","format":"json","content":"# Content-handler Skill\n\nPath: `packages/content/content-handler/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/mocha-config.json)","tokens":300,"sizeBytes":226},{"name":"package.json","path":"packages/content/content-handler/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/package.json","title":"Content-handler Skill","category":"anthropic-skill","format":"json","content":"# Content-handler Skill\n\nPath: `packages/content/content-handler/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/package.json)","tokens":300,"sizeBytes":216},{"name":"tsconfig.json","path":"packages/content/content-handler/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/tsconfig.json","title":"Content-handler Skill","category":"anthropic-skill","format":"json","content":"# Content-handler Skill\n\nPath: `packages/content/content-handler/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/tsconfig.json)","tokens":300,"sizeBytes":218},{"name":"imageproxy-service-demo.yaml","path":"packages/content/imageproxy/imageproxy-service-demo.yaml","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-demo.yaml","title":"Imageproxy Skill","category":"anthropic-skill","format":"yaml","content":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-demo.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-demo.yaml)","tokens":300,"sizeBytes":233},{"name":"imageproxy-service-production.yaml","path":"packages/content/imageproxy/imageproxy-service-production.yaml","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-production.yaml","title":"Imageproxy Skill","category":"anthropic-skill","format":"yaml","content":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-production.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-production.yaml)","tokens":300,"sizeBytes":245},{"name":"imageproxy-service-qa.yaml","path":"packages/content/imageproxy/imageproxy-service-qa.yaml","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-qa.yaml","title":"Imageproxy Skill","category":"anthropic-skill","format":"yaml","content":"# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-qa.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-qa.yaml)","tokens":300,"sizeBytes":229},{"name":"package.json","path":"packages/content/liqe/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/package.json","title":"Liqe Skill","category":"anthropic-skill","format":"json","content":"# Liqe Skill\n\nPath: `packages/content/liqe/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/package.json)","tokens":300,"sizeBytes":183},{"name":"tsconfig.json","path":"packages/content/liqe/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/tsconfig.json","title":"Liqe Skill","category":"anthropic-skill","format":"json","content":"# Liqe Skill\n\nPath: `packages/content/liqe/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/tsconfig.json)","tokens":300,"sizeBytes":185},{"name":"mocha-config.json","path":"packages/content/puppeteer-parse/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/mocha-config.json","title":"Puppeteer-parse Skill","category":"anthropic-skill","format":"json","content":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/mocha-config.json)","tokens":300,"sizeBytes":226},{"name":"package.json","path":"packages/content/puppeteer-parse/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/package.json","title":"Puppeteer-parse Skill","category":"anthropic-skill","format":"json","content":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/package.json)","tokens":300,"sizeBytes":216},{"name":"tsconfig.json","path":"packages/content/puppeteer-parse/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/tsconfig.json","title":"Puppeteer-parse Skill","category":"anthropic-skill","format":"json","content":"# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/tsconfig.json)","tokens":300,"sizeBytes":218},{"name":"CODE_OF_CONDUCT.md","path":"packages/content/readabilityjs/CODE_OF_CONDUCT.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/CODE_OF_CONDUCT.md","title":"Readabilityjs Skill","category":"anthropic-skill","format":"markdown","content":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/CODE_OF_CONDUCT.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/CODE_OF_CONDUCT.md)","tokens":300,"sizeBytes":222},{"name":"package.json","path":"packages/content/readabilityjs/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/package.json","title":"Readabilityjs Skill","category":"anthropic-skill","format":"json","content":"# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/package.json)","tokens":300,"sizeBytes":210},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json","title":"Aboveavalon Skill","category":"anthropic-skill","format":"json","content":"# Aboveavalon Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json","title":"Ahhhhfs.com Skill","category":"anthropic-skill","format":"json","content":"# Ahhhhfs.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json","title":"Bbc-arabic Skill","category":"anthropic-skill","format":"json","content":"# Bbc-arabic Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json","title":"Berthub-2 Skill","category":"anthropic-skill","format":"json","content":"# Berthub-2 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json","title":"Berthub Skill","category":"anthropic-skill","format":"json","content":"# Berthub Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json","title":"Biospace Skill","category":"anthropic-skill","format":"json","content":"# Biospace Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json","title":"Bitfieldconsulting Skill","category":"anthropic-skill","format":"json","content":"# Bitfieldconsulting Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json)","tokens":300,"sizeBytes":305},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json","title":"Blog.jetbrains.com Skill","category":"anthropic-skill","format":"json","content":"# Blog.jetbrains.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json)","tokens":300,"sizeBytes":305},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json","title":"Bookofhook.blogspot.com Skill","category":"anthropic-skill","format":"json","content":"# Bookofhook.blogspot.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json)","tokens":300,"sizeBytes":320},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json","title":"Brookings.edu Skill","category":"anthropic-skill","format":"json","content":"# Brookings.edu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json)","tokens":300,"sizeBytes":290},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json","title":"Caixin Skill","category":"anthropic-skill","format":"json","content":"# Caixin Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json","title":"Cavesocial Skill","category":"anthropic-skill","format":"json","content":"# Cavesocial Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cavesocial/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json","title":"Channelnewsasia Skill","category":"anthropic-skill","format":"json","content":"# Channelnewsasia Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json","title":"Channelnewsasia02 Skill","category":"anthropic-skill","format":"json","content":"# Channelnewsasia02 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/channelnewsasia02/expected-metadata.json)","tokens":300,"sizeBytes":302},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json","title":"China.substack Skill","category":"anthropic-skill","format":"json","content":"# China.substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/china.substack/expected-metadata.json)","tokens":300,"sizeBytes":293},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json","title":"City-journal Skill","category":"anthropic-skill","format":"json","content":"# City-journal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/city-journal/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json","title":"Cnbc Skill","category":"anthropic-skill","format":"json","content":"# Cnbc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/cnbc/expected-metadata.json)","tokens":300,"sizeBytes":263},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json","title":"Community.musictribe.com Skill","category":"anthropic-skill","format":"json","content":"# Community.musictribe.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/community.musictribe.com/expected-metadata.json)","tokens":300,"sizeBytes":323},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json","title":"Computer.rip Skill","category":"anthropic-skill","format":"json","content":"# Computer.rip Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computer.rip/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json","title":"Computerenhance.com Skill","category":"anthropic-skill","format":"json","content":"# Computerenhance.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/computerenhance.com/expected-metadata.json)","tokens":300,"sizeBytes":308},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json","title":"Dailymail Skill","category":"anthropic-skill","format":"json","content":"# Dailymail Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/dailymail/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json","title":"Danluu Skill","category":"anthropic-skill","format":"json","content":"# Danluu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danluu/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json","title":"Danwang Skill","category":"anthropic-skill","format":"json","content":"# Danwang Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/danwang/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json","title":"Debugger.medium Skill","category":"anthropic-skill","format":"json","content":"# Debugger.medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/debugger.medium/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json","title":"Digital-garden-docs Skill","category":"anthropic-skill","format":"json","content":"# Digital-garden-docs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/digital-garden-docs/expected-metadata.json)","tokens":300,"sizeBytes":308},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json","title":"Economist Skill","category":"anthropic-skill","format":"json","content":"# Economist Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/economist/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json","title":"Electrek Skill","category":"anthropic-skill","format":"json","content":"# Electrek Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/electrek/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json","title":"Elidourado Skill","category":"anthropic-skill","format":"json","content":"# Elidourado Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/elidourado/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json","title":"Energias-renovables.com Skill","category":"anthropic-skill","format":"json","content":"# Energias-renovables.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/energias-renovables.com/expected-metadata.json)","tokens":300,"sizeBytes":320},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json","title":"Erik-engheim Skill","category":"anthropic-skill","format":"json","content":"# Erik-engheim Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/erik-engheim/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json","title":"Fast-company Skill","category":"anthropic-skill","format":"json","content":"# Fast-company Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fast-company/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json","title":"Fiercepharma Skill","category":"anthropic-skill","format":"json","content":"# Fiercepharma Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/fiercepharma/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json","title":"Financialpost-fishing-for-chips Skill","category":"anthropic-skill","format":"json","content":"# Financialpost-fishing-for-chips Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/financialpost-fishing-for-chips/expected-metadata.json)","tokens":300,"sizeBytes":344},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json","title":"Ft.com Skill","category":"anthropic-skill","format":"json","content":"# Ft.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ft.com/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json","title":"Garymarcus Skill","category":"anthropic-skill","format":"json","content":"# Garymarcus Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/garymarcus/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json","title":"Gdcvault Skill","category":"anthropic-skill","format":"json","content":"# Gdcvault Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gdcvault/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json","title":"Getting_started_with_omnivore Skill","category":"anthropic-skill","format":"json","content":"# Getting_started_with_omnivore Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/getting_started_with_omnivore/expected-metadata.json)","tokens":300,"sizeBytes":338},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json","title":"Gflownet Skill","category":"anthropic-skill","format":"json","content":"# Gflownet Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/gflownet/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json","title":"Github-blog Skill","category":"anthropic-skill","format":"json","content":"# Github-blog Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/github-blog/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json","title":"Guardian Skill","category":"anthropic-skill","format":"json","content":"# Guardian Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/guardian/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json","title":"Habr.com Skill","category":"anthropic-skill","format":"json","content":"# Habr.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/habr.com/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json","title":"Infoproc Skill","category":"anthropic-skill","format":"json","content":"# Infoproc Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/infoproc/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json","title":"Instyle Skill","category":"anthropic-skill","format":"json","content":"# Instyle Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/instyle/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json","title":"Jacobbrazeal Skill","category":"anthropic-skill","format":"json","content":"# Jacobbrazeal Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jacobbrazeal/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json","title":"Johnhcochrane.blogspot Skill","category":"anthropic-skill","format":"json","content":"# Johnhcochrane.blogspot Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/johnhcochrane.blogspot/expected-metadata.json)","tokens":300,"sizeBytes":317},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json","title":"Jon.bo Skill","category":"anthropic-skill","format":"json","content":"# Jon.bo Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jon.bo/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json","title":"Josephg Skill","category":"anthropic-skill","format":"json","content":"# Josephg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/josephg/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json","title":"Jsomers Skill","category":"anthropic-skill","format":"json","content":"# Jsomers Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/jsomers/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json","title":"Kdnuggets Skill","category":"anthropic-skill","format":"json","content":"# Kdnuggets Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/kdnuggets/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json","title":"Lesswrong Skill","category":"anthropic-skill","format":"json","content":"# Lesswrong Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/lesswrong/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json","title":"Mathoverflow Skill","category":"anthropic-skill","format":"json","content":"# Mathoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/mathoverflow/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json","title":"Medium Skill","category":"anthropic-skill","format":"json","content":"# Medium Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/medium/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json","title":"Milkroad Skill","category":"anthropic-skill","format":"json","content":"# Milkroad Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/milkroad/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json","title":"Moderndiplomacy Skill","category":"anthropic-skill","format":"json","content":"# Moderndiplomacy Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moderndiplomacy/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json","title":"Moxie.org Skill","category":"anthropic-skill","format":"json","content":"# Moxie.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/moxie.org/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json","title":"News.utexas Skill","category":"anthropic-skill","format":"json","content":"# News.utexas Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/news.utexas/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json","title":"Axios-am Skill","category":"anthropic-skill","format":"json","content":"# Axios-am Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-am/expected-metadata.json)","tokens":300,"sizeBytes":299},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json","title":"Axios-chicago Skill","category":"anthropic-skill","format":"json","content":"# Axios-chicago Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/axios-chicago/expected-metadata.json)","tokens":300,"sizeBytes":314},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json","title":"Bloomberg Skill","category":"anthropic-skill","format":"json","content":"# Bloomberg Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/bloomberg/expected-metadata.json)","tokens":300,"sizeBytes":302},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json","title":"Forte-labs Skill","category":"anthropic-skill","format":"json","content":"# Forte-labs Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/forte-labs/expected-metadata.json)","tokens":300,"sizeBytes":305},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json","title":"Golang-weekly Skill","category":"anthropic-skill","format":"json","content":"# Golang-weekly Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/golang-weekly/expected-metadata.json)","tokens":300,"sizeBytes":314},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json","title":"Milk-road Skill","category":"anthropic-skill","format":"json","content":"# Milk-road Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/milk-road/expected-metadata.json)","tokens":300,"sizeBytes":302},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json","title":"Money-stuff Skill","category":"anthropic-skill","format":"json","content":"# Money-stuff Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/money-stuff/expected-metadata.json)","tokens":300,"sizeBytes":308},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json","title":"Morning-brew Skill","category":"anthropic-skill","format":"json","content":"# Morning-brew Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/morning-brew/expected-metadata.json)","tokens":300,"sizeBytes":311},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json","title":"Substack Skill","category":"anthropic-skill","format":"json","content":"# Substack Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/substack/expected-metadata.json)","tokens":300,"sizeBytes":299},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json","title":"Tldr Skill","category":"anthropic-skill","format":"json","content":"# Tldr Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/newsletters/tldr/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json","title":"Nymag Skill","category":"anthropic-skill","format":"json","content":"# Nymag Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nymag/expected-metadata.json)","tokens":300,"sizeBytes":266},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json","title":"Nytimes-podcasts Skill","category":"anthropic-skill","format":"json","content":"# Nytimes-podcasts Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes-podcasts/expected-metadata.json)","tokens":300,"sizeBytes":299},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json","title":"Nytimes.com Skill","category":"anthropic-skill","format":"json","content":"# Nytimes.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes.com/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json","title":"Nytimes Skill","category":"anthropic-skill","format":"json","content":"# Nytimes Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/nytimes/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json","title":"Omnivore_getting_started Skill","category":"anthropic-skill","format":"json","content":"# Omnivore_getting_started Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/omnivore_getting_started/expected-metadata.json)","tokens":300,"sizeBytes":323},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json","title":"Ottawacitizen.com Skill","category":"anthropic-skill","format":"json","content":"# Ottawacitizen.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ottawacitizen.com/expected-metadata.json)","tokens":300,"sizeBytes":302},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/people/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/people/expected-metadata.json","title":"People Skill","category":"anthropic-skill","format":"json","content":"# People Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/people/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/people/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json","title":"Pontagedue Skill","category":"anthropic-skill","format":"json","content":"# Pontagedue Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/pontagedue/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json","title":"Raw-story Skill","category":"anthropic-skill","format":"json","content":"# Raw-story Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/raw-story/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json","title":"Realpython Skill","category":"anthropic-skill","format":"json","content":"# Realpython Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/realpython/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json","title":"Robinwieruch.de Skill","category":"anthropic-skill","format":"json","content":"# Robinwieruch.de Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/robinwieruch.de/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json","title":"Rootsofprogress Skill","category":"anthropic-skill","format":"json","content":"# Rootsofprogress Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/rootsofprogress/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json","title":"Samcurry Skill","category":"anthropic-skill","format":"json","content":"# Samcurry Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/samcurry/expected-metadata.json)","tokens":300,"sizeBytes":275},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json","title":"Sciencedirect Skill","category":"anthropic-skill","format":"json","content":"# Sciencedirect Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sciencedirect/expected-metadata.json)","tokens":300,"sizeBytes":290},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json","title":"Slowboring Skill","category":"anthropic-skill","format":"json","content":"# Slowboring Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/slowboring/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json","title":"Spakhm Skill","category":"anthropic-skill","format":"json","content":"# Spakhm Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/spakhm/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json","title":"Stackoverflow Skill","category":"anthropic-skill","format":"json","content":"# Stackoverflow Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stackoverflow/expected-metadata.json)","tokens":300,"sizeBytes":290},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json","title":"Stratechery Skill","category":"anthropic-skill","format":"json","content":"# Stratechery Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/stratechery/expected-metadata.json)","tokens":300,"sizeBytes":284},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json","title":"Substack-email Skill","category":"anthropic-skill","format":"json","content":"# Substack-email Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-email/expected-metadata.json)","tokens":300,"sizeBytes":293},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json","title":"Substack-headings Skill","category":"anthropic-skill","format":"json","content":"# Substack-headings Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-headings/expected-metadata.json)","tokens":300,"sizeBytes":302},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json","title":"Substack-michaelshellenberger Skill","category":"anthropic-skill","format":"json","content":"# Substack-michaelshellenberger Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-michaelshellenberger/expected-metadata.json)","tokens":300,"sizeBytes":338},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json","title":"Substack-new Skill","category":"anthropic-skill","format":"json","content":"# Substack-new Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/substack-new/expected-metadata.json)","tokens":300,"sizeBytes":287},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json","title":"Sydney.com Skill","category":"anthropic-skill","format":"json","content":"# Sydney.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/sydney.com/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json","title":"Techcrunch Skill","category":"anthropic-skill","format":"json","content":"# Techcrunch Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/techcrunch/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json","title":"Telegr.ph Skill","category":"anthropic-skill","format":"json","content":"# Telegr.ph Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/telegr.ph/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json","title":"Thevaluable.dev Skill","category":"anthropic-skill","format":"json","content":"# Thevaluable.dev Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/thevaluable.dev/expected-metadata.json)","tokens":300,"sizeBytes":296},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json","title":"Vanityfair Skill","category":"anthropic-skill","format":"json","content":"# Vanityfair Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/vanityfair/expected-metadata.json)","tokens":300,"sizeBytes":281},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json","title":"Variety Skill","category":"anthropic-skill","format":"json","content":"# Variety Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/variety/expected-metadata.json)","tokens":300,"sizeBytes":272},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json","title":"Wechat Skill","category":"anthropic-skill","format":"json","content":"# Wechat Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/wechat/expected-metadata.json)","tokens":300,"sizeBytes":269},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json","title":"Www.musingmind.org Skill","category":"anthropic-skill","format":"json","content":"# Www.musingmind.org Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.musingmind.org/expected-metadata.json)","tokens":300,"sizeBytes":305},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json","title":"Www.sahilbloom.com Skill","category":"anthropic-skill","format":"json","content":"# Www.sahilbloom.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/www.sahilbloom.com/expected-metadata.json)","tokens":300,"sizeBytes":305},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json","title":"Youtube-embed Skill","category":"anthropic-skill","format":"json","content":"# Youtube-embed Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/youtube-embed/expected-metadata.json)","tokens":300,"sizeBytes":290},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json","title":"Yuyue.com Skill","category":"anthropic-skill","format":"json","content":"# Yuyue.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/yuyue.com/expected-metadata.json)","tokens":300,"sizeBytes":278},{"name":"expected-metadata.json","path":"packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json","title":"Zhihu Skill","category":"anthropic-skill","format":"json","content":"# Zhihu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/zhihu/expected-metadata.json)","tokens":300,"sizeBytes":266},{"name":"mocha-config.json","path":"packages/content/text-to-speech/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/mocha-config.json","title":"Text-to-speech Skill","category":"anthropic-skill","format":"json","content":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/mocha-config.json)","tokens":300,"sizeBytes":223},{"name":"package.json","path":"packages/content/text-to-speech/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/package.json","title":"Text-to-speech Skill","category":"anthropic-skill","format":"json","content":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/package.json)","tokens":300,"sizeBytes":213},{"name":"tsconfig.json","path":"packages/content/text-to-speech/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/tsconfig.json","title":"Text-to-speech Skill","category":"anthropic-skill","format":"json","content":"# Text-to-speech Skill\n\nPath: `packages/content/text-to-speech/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/text-to-speech/tsconfig.json)","tokens":300,"sizeBytes":215},{"name":"index_settings.json","path":"packages/db/elastic_migrations/index_settings.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/elastic_migrations/index_settings.json","title":"Elastic_migrations Skill","category":"anthropic-skill","format":"json","content":"# Elastic_migrations Skill\n\nPath: `packages/db/elastic_migrations/index_settings.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/elastic_migrations/index_settings.json)","tokens":300,"sizeBytes":229},{"name":"package.json","path":"packages/db/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/package.json","title":"@omnivore/db","category":"anthropic-skill","format":"json","content":"{\n  \"name\": \"@omnivore/db\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"scripts\": {\n    \"migrate\": \"node ./build/migrate.js\",\n    \"build\": \"tsc\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"generate\": \"plop\"\n  },\n  \"author\": \"\",\n  \"license\": \"ISC\",\n  \"dependencies\": {\n    \"dotenv\": \"^8.2.3\",\n    \"pg\": \"^8.3.0\",\n    \"postgrator\": \"^4.1.1\",\n    \"bullmq\": \"6.3.15\",\n    \"ts-node\": \"^10.9.2\"\n  },\n  \"devDependencies\": {\n    \"plop\": \"^2.7.1\",\n    \"@types/pg\": \"8.23.1\",\n    \"@types/dotenv\": \"^8.2.3\"\n  }\n}\n","frontmatter":{"name":"@omnivore/db","version":"1.0.0","description":"","scripts":{"migrate":"node ./build/migrate.js","build":"tsc","test:typecheck":"tsc --noEmit","generate":"plop"},"author":"","license":"ISC","dependencies":{"dotenv":"^8.2.3","pg":"^8.3.0","postgrator":"^4.1.1","bullmq":"6.3.15","ts-node":"^10.9.2"},"devDependencies":{"plop":"^2.7.1","@types/pg":"8.23.1","@types/dotenv":"^8.2.3"}},"isInternal":false,"tokens":203,"sizeBytes":504},{"name":"tsconfig.json","path":"packages/db/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/tsconfig.json","title":"Db Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extends\": \"../../tsconfig.json\",\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"declaration\": true,\n    \"outDir\": \"build\"\n  }\n}\n","frontmatter":{"extends":"../../tsconfig.json","compilerOptions":{"rootDir":".","declaration":true,"outDir":"build"}},"isInternal":false,"tokens":40,"sizeBytes":134},{"name":"package.json","path":"packages/discover/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/discover/package.json","title":"@omnivore/discover","category":"anthropic-skill","format":"json","content":"{\n  \"name\": \"@omnivore/discover\",\n  \"version\": \"0.0.1\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --files src/index.ts\",\n    \"start\": \"node dist/src/index.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\"\n  },\n  \"dependencies\": {\n    \"aws4-axios\": \"^3.3.0\",\n    \"axios\": \"^1.19.0\",\n    \"dotenv\": \"^16.3.1\",\n    \"fast-xml-parser\": \"^4.3.2\",\n    \"html-to-text\": \"^9.0.5\",\n    \"linkedom\": \"^0.16.5\",\n    \"openai\": \"^4.11.1\",\n    \"pg\": \"^8.11.3\",\n    \"pg-format\": \"^1.0.4\",\n    \"pgvector\": \"^0.3.0\",\n    \"postgres\": \"^3.4.0\",\n    \"rxjs\": \"^7.8.1\",\n    \"uuid\": \"^9.0.1\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"bullmq\": \"6.3.15\",\n    \"mailparse\":\"2.2.2\",\n    \"ioredis\":\"6.0.0\",\n    \"lodash\": \"^4.17.21\",\n    \"jsdom\": \"^25.0.1\",\n    \"voca\": \"^1.4.1\"\n  },\n  \"devDependencies\": {\n    \"@types/jsdom\": \"^21.1.3\",\n    \"@types/pg-format\": \"^1.0.3\",\n    \"@types/html-to-text\": \"^9.0.2\",\n    \"@types/node\": \"^20.8.4\",\n    \"@types/lodash\": \"^4.17.13\",\n    \"@types/pg\": \"^8.10.5\",\n    \"@types/voca\": \"^1.4.3\",\n    \"ts-node\": \"^10.9.1\",\n    \"tslib\": \"^2.6.2\",\n    \"@types/uuid\": \"^9.0.1\",\n    \"@types/urlsafe-base64\": \"^1.0.28\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n","frontmatter":{"name":"@omnivore/discover","version":"0.0.1","scripts":{"build":"tsc","dev":"ts-node-dev --files src/index.ts","start":"node dist/src/index.js","lint":"eslint src --ext ts,js,tsx,jsx","lint:fix":"eslint src --fix --ext ts,js,tsx,jsx","test:typecheck":"tsc --noEmit"},"dependencies":{"aws4-axios":"^3.3.0","axios":"^1.19.0","dotenv":"^16.3.1","fast-xml-parser":"^4.3.2","html-to-text":"^9.0.5","linkedom":"^0.16.5","openai":"^4.11.1","pg":"^8.11.3","pg-format":"^1.0.4","pgvector":"^0.3.0","postgres":"^3.4.0","rxjs":"^7.8.1","uuid":"^9.0.1","urlsafe-base64":"^1.0.0","bullmq":"6.3.15","mailparse":"2.2.2","ioredis":"6.0.0","lodash":"^4.17.21","jsdom":"^25.0.1","voca":"^1.4.1"},"devDependencies":{"@types/jsdom":"^21.1.3","@types/pg-format":"^1.0.3","@types/html-to-text":"^9.0.2","@types/node":"^20.8.4","@types/lodash":"^4.17.13","@types/pg":"^8.10.5","@types/voca":"^1.4.3","ts-node":"^10.9.1","tslib":"^2.6.2","@types/uuid":"^9.0.1","@types/urlsafe-base64":"^1.0.28"},"volta":{"extends":"../../package.json"}},"isInternal":false,"tokens":529,"sizeBytes":1279},{"name":"tsconfig.json","path":"packages/discover/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/discover/tsconfig.json","title":"Discover Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extends\": \"./../../tsconfig.json\",\n  \"compileOnSave\": false,\n  \"include\": [\"./src/**/*\"],\n  \"compilerOptions\": {\n    \"rootDir\": \".\",\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"typeRoots\": [\n      \"./node_modules/@types\",\n      \"../node_modules/@types\",\n      \"./../../node_modules/types\",\n      \"./../../node_modules/pgvector/types\",\n      \"./../../node_modules/pgvector/types/pg\",\n      \"./../../node_modules/pgvector/types/pg/index.d.ts\"\n    ]\n  }\n}\n","frontmatter":{"extends":"./../../tsconfig.json","compileOnSave":false,"include":["./src/**/*"],"compilerOptions":{"rootDir":".","outDir":"dist","types":["node"],"typeRoots":["./node_modules/@types","../node_modules/@types","./../../node_modules/types","./../../node_modules/pgvector/types","./../../node_modules/pgvector/types/pg","./../../node_modules/pgvector/types/pg/index.d.ts"]}},"isInternal":false,"tokens":122,"sizeBytes":464},{"name":"tslint.json","path":"packages/discover/tslint.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/discover/tslint.json","title":"Discover Skill","category":"anthropic-skill","format":"json","content":"{\n  \"extends\": \"tslint:recommended\",\n  \"rulesDirectory\": [\"codelyzer\"],\n  \"rules\": {\n    \"array-type\": false,\n    \"arrow-parens\": false,\n    \"deprecation\": {\n      \"severity\": \"warn\"\n    },\n    \"import-blacklist\": [true, \"rxjs/Rx\"],\n    \"interface-name\": false,\n    \"max-classes-per-file\": false,\n    \"max-line-length\": [true, 140],\n    \"member-access\": false,\n    \"member-ordering\": [\n      true,\n      {\n        \"order\": [\n          \"static-field\",\n          \"instance-field\",\n          \"static-method\",\n          \"instance-method\"\n        ]\n      }\n    ],\n    \"no-consecutive-blank-lines\": false,\n    \"no-console\": [true, \"debug\", \"info\", \"time\", \"timeEnd\", \"trace\"],\n    \"no-empty\": false,\n    \"no-inferrable-types\": [true, \"ignore-params\"],\n    \"no-non-null-assertion\": true,\n    \"no-redundant-jsdoc\": true,\n    \"no-switch-case-fall-through\": true,\n    \"no-use-before-declare\": true,\n    \"no-var-requires\": false,\n    \"object-literal-key-quotes\": [true, \"as-needed\"],\n    \"object-literal-sort-keys\": false,\n    \"ordered-imports\": false,\n    \"quotemark\": [true, \"single\"],\n    \"trailing-comma\": false,\n    \"no-output-on-prefix\": true,\n    \"no-inputs-metadata-property\": true,\n    \"no-outputs-metadata-property\": true,\n    \"no-host-metadata-property\": true,\n    \"no-input-rename\": true,\n    \"no-output-rename\": true,\n    \"use-life-cycle-interface\": true,\n    \"use-pipe-transform-interface\": true,\n    \"component-class-suffix\": true,\n    \"directive-class-suffix\": true\n  }\n}\n","frontmatter":{"extends":"tslint:recommended","rulesDirectory":["codelyzer"],"rules":{"array-type":false,"arrow-parens":false,"deprecation":{"severity":"warn"},"import-blacklist":[true,"rxjs/Rx"],"interface-name":false,"max-classes-per-file":false,"max-line-length":[true,140],"member-access":false,"member-ordering":[true,{"order":["static-field","instance-field","static-method","instance-method"]}],"no-consecutive-blank-lines":false,"no-console":[true,"debug","info","time","timeEnd","trace"],"no-empty":false,"no-inferrable-types":[true,"ignore-params"],"no-non-null-assertion":true,"no-redundant-jsdoc":true,"no-switch-case-fall-through":true,"no-use-before-declare":true,"no-var-requires":false,"object-literal-key-quotes":[true,"as-needed"],"object-literal-sort-keys":false,"ordered-imports":false,"quotemark":[true,"single"],"trailing-comma":false,"no-output-on-prefix":true,"no-inputs-metadata-property":true,"no-outputs-metadata-property":true,"no-host-metadata-property":true,"no-input-rename":true,"no-output-rename":true,"use-life-cycle-interface":true,"use-pipe-transform-interface":true,"component-class-suffix":true,"directive-class-suffix":true}},"isInternal":false,"tokens":412,"sizeBytes":1477},{"name":"package.json","path":"packages/mail/imap-mail-watcher/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/package.json","title":"Imap-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/package.json)","tokens":300,"sizeBytes":216},{"name":"tsconfig.json","path":"packages/mail/imap-mail-watcher/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tsconfig.json","title":"Imap-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tsconfig.json)","tokens":300,"sizeBytes":218},{"name":"tslint.json","path":"packages/mail/imap-mail-watcher/tslint.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tslint.json","title":"Imap-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Imap-mail-watcher Skill\n\nPath: `packages/mail/imap-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/imap-mail-watcher/tslint.json)","tokens":300,"sizeBytes":214},{"name":"package.json","path":"packages/mail/local-mail-watcher/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/package.json","title":"Local-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/package.json)","tokens":300,"sizeBytes":219},{"name":"tsconfig.json","path":"packages/mail/local-mail-watcher/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tsconfig.json","title":"Local-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tsconfig.json)","tokens":300,"sizeBytes":221},{"name":"tslint.json","path":"packages/mail/local-mail-watcher/tslint.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tslint.json","title":"Local-mail-watcher Skill","category":"anthropic-skill","format":"json","content":"# Local-mail-watcher Skill\n\nPath: `packages/mail/local-mail-watcher/tslint.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/mail/local-mail-watcher/tslint.json)","tokens":300,"sizeBytes":217},{"name":"mocha-config.json","path":"packages/utils/mocha-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/mocha-config.json","title":"Utils Skill","category":"anthropic-skill","format":"json","content":"{\n    \"extension\": [\"ts\"],\n    \"spec\": \"test/**/*.test.ts\",\n    \"timeout\": 10000\n  }\n","frontmatter":{"extension":["ts"],"spec":"test/**/*.test.ts","timeout":10000},"isInternal":false,"tokens":28,"sizeBytes":85},{"name":"package.json","path":"packages/utils/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/package.json","title":"Utils Skill","category":"anthropic-skill","format":"json","content":"# Utils Skill\n\nPath: `packages/utils/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/package.json)","tokens":300,"sizeBytes":170},{"name":"tsconfig.json","path":"packages/utils/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/tsconfig.json","title":"Utils Skill","category":"anthropic-skill","format":"json","content":"# Utils Skill\n\nPath: `packages/utils/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/utils/tsconfig.json)","tokens":300,"sizeBytes":172},{"name":"articleScratchNotes.md","path":"packages/web/docs/articleScratchNotes.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/docs/articleScratchNotes.md","title":"Docs Skill","category":"anthropic-skill","format":"markdown","content":"# Docs Skill\n\nPath: `packages/web/docs/articleScratchNotes.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/docs/articleScratchNotes.md)","tokens":300,"sizeBytes":195},{"name":"i18n.json","path":"packages/web/i18n.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/i18n.json","title":"Web Skill","category":"anthropic-skill","format":"json","content":"# Web Skill\n\nPath: `packages/web/i18n.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/i18n.json)","tokens":300,"sizeBytes":158},{"name":"package.json","path":"packages/web/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/package.json","title":"Web Skill","category":"anthropic-skill","format":"json","content":"# Web Skill\n\nPath: `packages/web/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/package.json)","tokens":300,"sizeBytes":164},{"name":"GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","title":"Aot Skill","category":"anthropic-skill","format":"json","content":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","tokens":300,"sizeBytes":328},{"name":"mono-config.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json","title":"Aot Skill","category":"anthropic-skill","format":"json","content":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/mono-config.json)","tokens":300,"sizeBytes":258},{"name":"package.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json","title":"Aot Skill","category":"anthropic-skill","format":"json","content":"# Aot Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/package.json)","tokens":300,"sizeBytes":250},{"name":"list.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json","title":"Resources Skill","category":"anthropic-skill","format":"json","content":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/aot/resources/list.json)","tokens":300,"sizeBytes":270},{"name":"GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json","title":"Jit Skill","category":"anthropic-skill","format":"json","content":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/GdPicture.NET.PSPDFKit.Wasm.NET7.runtimeconfig.json)","tokens":300,"sizeBytes":328},{"name":"mono-config.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json","title":"Jit Skill","category":"anthropic-skill","format":"json","content":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/mono-config.json)","tokens":300,"sizeBytes":258},{"name":"package.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json","title":"Jit Skill","category":"anthropic-skill","format":"json","content":"# Jit Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/package.json)","tokens":300,"sizeBytes":250},{"name":"list.json","path":"packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json","title":"Resources Skill","category":"anthropic-skill","format":"json","content":"# Resources Skill\n\nPath: `packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/public/pspdfkit-lib/gdpicture-fddd9bc6/jit/resources/list.json)","tokens":300,"sizeBytes":270},{"name":"tsconfig.json","path":"packages/web/tsconfig.json","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/tsconfig.json","title":"Web Skill","category":"anthropic-skill","format":"json","content":"# Web Skill\n\nPath: `packages/web/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/tsconfig.json)","tokens":300,"sizeBytes":166},{"name":"README.md","path":"packages/api/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/README.md","title":"api Documentation","category":"plugin-manifest","format":"markdown","content":"# Backend\n\nThis workspace is dedicated to API server that uses Apollo GraphQL server and Knex query builder to provide the app with data operations.\n\n## GraphQL schema\n\nGraphQL schema is located in `schema.ts`. In order to use new types, queries or mutations you need to declare them there and then run `yarn gql-typegen` from the application root to create the necessary typings in order to write GQL queries from the app.\n\n## Apollo resolvers and data sources\n\nWe make use of Apollo resolvers and data sources. Resolvers typically contain business logic and handling of user domain errors, while data sources are ideally simple atomic database operations.\n\n## Interacting with the database\n\nAll operations on the database must be wrapped in Knex transaction on a resolver layer. This ensures data integrity and safety with no side effects on a failed operations.\n\nBecause we make use of Row Level Security in the database, - all operations typically begin with assuming the role for which policies exist via `omnivore.set_claims` database function.\n\n## ElasticSearch\n\nWe use ElasticSearch to store page data in a distributed manner. This is a great way to store data that is not easily searchable.\nAll the page data is stored in a single index `pages`. This index is then queried by the app to display the data.\nYou need to make sure you have an elasticsearch instance running locally (or just use docker compose).\nES url is specified by `ES_URL` environment variable (username `ES_USERNAME` and password `ES_PASSWORD` can be random strings in local environment).\n\nWhen you're running elastic for the very first time, you need to create indices and ingest existing data. This can be done by running `python elastic_migrate.py`.\nThis operation is idempotent, so you can always run `python elastic_migrate.py` again to re-ingest all the data.\n\nYou can run ElasticSearch separately by using `docker compose -f docker-compose.yml up -d elastic`.\n\n## Image Proxy (optional for local dev)\n\nBackend API server returns article image links using image proxy\n(/imageproxy). You will need to set the env with var IMAGE_PROXY_URL to point\nto a running instance of image proxy along with env var IMAGE_PROXY_SECRET. The\nsame secret env var ought to be passed as config to the running image proxy\nservice. You can also use the docker-compose-dev.yml file to bring up just the\nimage proxy service alone (w/ env var for secret specified in the compose file)\nby running: `docker compose -f docker-compose-dev.yml up -d imageproxy`.\n\nWhen running locally, use the .env.local file to set up the env variables in your environment.\n\n### Set up the database\n\nRefer the [using locally](../db/README.md#using-locally) section from db README.\n\n### Copy .env.example file to .env file:\n\n    cp .env.example .env\n\n### Run the app\n\n    yarn dev\n","isInternal":false,"tokens":598,"sizeBytes":2819},{"name":"README.md","path":"packages/api/src/routers/svc/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/src/routers/svc/README.md","title":"svc Documentation","category":"plugin-manifest","format":"markdown","content":"# svc Documentation\n\nPath: `packages/api/src/routers/svc/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/api/src/routers/svc/README.md)","tokens":300,"sizeBytes":198},{"name":"README.md","path":"packages/content/content-fetch/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/README.md","title":"content-fetch Documentation","category":"plugin-manifest","format":"markdown","content":"# content-fetch Documentation\n\nPath: `packages/content/content-fetch/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/README.md)","tokens":300,"sizeBytes":212},{"name":"README.md","path":"packages/content/liqe/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/README.md","title":"liqe Documentation","category":"plugin-manifest","format":"markdown","content":"# liqe Documentation\n\nPath: `packages/content/liqe/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/README.md)","tokens":300,"sizeBytes":185},{"name":"README.md","path":"packages/content/puppeteer-parse/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/README.md","title":"puppeteer-parse Documentation","category":"plugin-manifest","format":"markdown","content":"# puppeteer-parse Documentation\n\nPath: `packages/content/puppeteer-parse/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/README.md)","tokens":300,"sizeBytes":218},{"name":"README.md","path":"packages/content/readabilityjs/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/README.md","title":"readabilityjs Documentation","category":"plugin-manifest","format":"markdown","content":"# readabilityjs Documentation\n\nPath: `packages/content/readabilityjs/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/README.md)","tokens":300,"sizeBytes":212},{"name":"README.md","path":"packages/db/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/db/README.md","title":"db Documentation","category":"plugin-manifest","format":"markdown","content":"# Database management\n\nThis workspace is used for database schema definitions and migrations.\n\nProject currently uses PostgreSQL 11. Make sure you use the correct version.\n\n## Migrations usage\n\n:exclamation: It is important to understand that migrations that had already been performed are _locked_ and are not a subject to change. Therefore for every alteration of schema you need to generate a new migration and perform alterations there.\n\nNever commit changed files for migrations that already had been performed elsewhere, - it will break the migrations. \n\nTo migrate to latest version: `yarn migrate`\n\nTo migrate up/down to specific version: `yarn migrate <version>`\n\nTo migrate down to empty state: `yarn migrate 0000`\n\nTo generate new migration: `yarn generate`\n\n_* At the moment, version numbers expect to be padded to 4 digits_\n\n\n## Policies and roles\n\nWe use Row Level Security when accessing the database from the application. In order to create a correct schema for new tables please study migration files for the schemas of previous tables (including possible later changes).\n\nIn order to use Row Level Security every transaction with the database must set the correct role via `omnivore.set_claims` function.\n\n### Current roles\n\n`omnivore_user` - a user role that is intended for a regular user to access the data. Currently, this is the primary user of the database. \n\n## Database users on GCP\n\n`postgres` - administrator of the database, used for migrations.\n\n`app_user` - a user that the app uses to login to database.\n   \n:exclamation: Do not issue any extra grants to `app_user` other than that are needed to assume a certain internal role, i.e. `GRANT omnivore_user TO app_user`\n\n## Installing and Using locally\n\n- Install and run the _postgresql_ service on your machine.\n\n### Configure access to the database\n\n_On some systems, Postgres will only allow the local postgres user to connect to the database. One way around this is to\nset the authentication method in your pg_hba.conf file_. The `trust` method allows any user who can connect to\ndatabase to make changes. The default is `peer` which means the user must be logged into the system as the `postgres`\nuser. Another option is `md5` or `password` which allows access to the postgres user with a password instead of\nneeding to be logged in locally as `postgres`. For simplicity, set the method to `trust`. **You\n  will need to restart the postgresql service after making this change.**\n\n- Verify you can connect to postgres `psql -U postgres`.\n\n- Quit psql (command is `\\q`)\n\n- Create database using handy CLI tool (which needs the `-U <user>` flag for now):\n  ```bash\n  $ createdb -U postgres omnivore\n  ```\n- Copy .env.example file to .env file: `cp .env.example .env`\n- Modify `.env` and set `PG_USER` to `postgres`\n\n- Run migration: `yarn migrate`\n\n## Accessing the database locally\n\nInstead of using the superuser to access, create a user with the `omnivore_user` role. You can choose your local\nusername instead of `app_user` here to avoid needing the `-U app_user` flag in the `psql` command below.\n\n- Create a user named `app_user` in Postgres\n- Allow `app_user` to assume the roles necessary for the application. **Do not manually grant any other role to\n`app_user`**\n\n`$ psql -U postgres`\n```sql\n# CREATE USER app_user WITH ENCRYPTED PASSWORD 'app_pass';\n# GRANT omnivore_user to app_user;\n```\n\n- Update the `PG_USER` and `PG_PASSWORD` values in `.env` files (packages/db, pkg/api) to `app_user` and `app_pass`,\nrespectively\n\n- You can now use psql to login to your database: `psql -U app_user -d omnivore`\n\n## Gotchas\nPostgres Row-Level Security can at times catch us off guard: there are policies limiting select/update operations on\ntables based on active user role/ID in a transaction block. So at times, when working on the local database, one must\nmake sure to login via `postgres` user to view all rows in the tables or perform updates.\n","isInternal":false,"tokens":915,"sizeBytes":3932},{"name":"README.md","path":"packages/discover/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/discover/README.md","title":"discover Documentation","category":"plugin-manifest","format":"markdown","content":"# omnivore-discover\n\n\n## What is this?  \n \nOne of my bi ggest problems is actually discoverability of articles. I have my five sites, and my link aggregators like Reddit. This is a bubble, and I miss a lot this way.\n\nSo I wanted to see if I could create something that would enable discoverability from Omnivore.\n\nI had a few goals when creating Omnivore Discover.\n\n![Example Screen](./docs/example.png)\n\n## Features\n\n### Automatic Categorisation\n\nA while ago I worked a proof of concept for automatically adding user tags to an article. I ultimately still need to work on that further, but the basics for it worked well.\n\nI wanted to take the learnings from this and use it to add automatic categorisation of stories.\n\nI created a few topics, and added some descriptions to them. I generate an Embedding from this using OpenAIs embedding. These can be seen below.\n\n![Topics](./docs/topic-tab.png)\n\nWhen ingesting articles (see Ingesting Articles) we use their title and small description to create an Embedding. We can then use Cosine Similarity to identify which category this story should be a part of.\n\nThis is of course not 100% accurate, but it does a good enough job at categorising articles.\n\n### Social Features\n#### Discord Integration.\n\nI created Omnivore Discover, and added it to the Omnivore WebApp.\n\nI wanted to also add some social features to this. We have a fantastic community within the Omnivore Discord. I have found a lot of interesting reads in the #recommendations channel.\n\nI wanted to be able to take these recommendations, and expose them to the Omnivore Community.\n\nWe do this using a Discord Bot. In order to moderate these recommendations a moderator must add an emoji (🦥) to the story.\n\nThis then gets ingested in the same way as the other stories. Meaning that it is also categorised. It also gets added to the Community Picks tab.\n\n![Tomnivore Slack](./docs/tomnivore.png)\n\n![community tab](./docs/community.png)\n\n#### Popularity\n\nThere is also a popularity feed. This provides a score based on recent saves, weighting more heavily for newer articles. This allows us to have a popular tab, which shows in order the most popular stories on Omnivore Right now according to the community\n\n![Popular Items](./docs/popular.png)\n\n### Ingesting Articles\n\nI ensured that articles could come from multiple locations. This is why I chose an RXJS Poller.\n\nThis project also started from the automatic labelling project. So that too was an important part of the decision to enable ingestion from multiple plages. Including a PubSub queue.\n\nI wanted one of the main sources of the articles to be RSS Feeds.\n\nI did this because I thought that some of this functionality might, in the future, be extendable to other RSS Feeds.\n\nI have chose 3 article sources for now, Wired, ArsTechnica, and The Atlantic.\n\n## Technologies\n\nBelow is a list of the technologies that were used to design this feature. This repository represents the RXJS side.\n\n* RxJS \n* Typescript \n* Axios \n* PGVector\n* Discord Bot\n* PubSub\n\n## Running\n\nCreation of the PubSub Topic and Subscription is external to this app.\n","isInternal":false,"tokens":693,"sizeBytes":3112},{"name":"README.md","path":"packages/web/README.md","rawUrl":"https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/README.md","title":"web Documentation","category":"plugin-manifest","format":"markdown","content":"# web Documentation\n\nPath: `packages/web/README.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/web/README.md)","tokens":300,"sizeBytes":166}],"systemPromptSnippet":"<yakaai_skills repo=\"omnivore-app/omnivore\">\n<!-- File: packages/api/mocha-config.json (Tokens: ~63 | Category: anthropic-skill) -->\n{\n  \"extension\": [\"ts\"],\n  \"spec\": \"test/**/*.test.ts\",\n  \"reporter\": \"mocha-unfunk-reporter\",\n  \"require\": [\"test/global-setup.ts\", \"test/global-teardown.ts\", \"test/hooks.ts\"],\n  \"timeout\": 10000\n}\n\n<!-- File: packages/api/package.json (Tokens: ~2452 | Category: anthropic-skill) -->\n{\n  \"name\": \"@omnivore/api\",\n  \"version\": \"1.0.0\",\n  \"license\": \"UNLICENSED\",\n  \"scripts\": {\n    \"build\": \"tsc\",\n    \"dev\": \"ts-node-dev --respawn --transpile-only src/server.ts\",\n    \"dev_qp\": \"ts-node-dev --respawn --transpile-only src/queue-processor.ts\",\n    \"dev_ep\": \"ts-node-dev --respawn --transpile-only src/export-processor.ts\",\n    \"start\": \"node dist/src/server.js\",\n    \"start_queue_processor\": \"node dist/src/queue-processor.js\",\n    \"start_export_processor\": \"node dist/src/export-processor.js\",\n    \"lint\": \"eslint src --ext ts,js,tsx,jsx\",\n    \"lint:fix\": \"eslint src --fix --ext ts,js,tsx,jsx\",\n    \"test:typecheck\": \"tsc --noEmit\",\n    \"test\": \"nyc mocha -r ts-node/register --config mocha-config.json\"\n  },\n  \"dependencies\": {\n    \"@aws-sdk/client-s3\": \"^3.679.0\",\n    \"@aws-sdk/lib-storage\": \"^3.679.0\",\n    \"@aws-sdk/s3-request-presigner\": \"^3.679.0\",\n    \"@bmatei/apollo-prometheus-exporter\": \"^3.0.0\",\n    \"@cospired/i18n-iso-languages\": \"^4.2.0\",\n    \"@google-cloud/logging-winston\": \"^6.0.0\",\n    \"@google-cloud/monitoring\": \"^4.0.0\",\n    \"@google-cloud/opentelemetry-cloud-trace-exporter\": \"^2.0.0\",\n    \"@google-cloud/pubsub\": \"^4.0.0\",\n    \"@google-cloud/storage\": \"^7.0.1\",\n    \"@google-cloud/tasks\": \"^6.2.0\",\n    \"@graphql-tools/utils\": \"^13.2.0\",\n    \"@langchain/anthropic\": \"^1.5.6\",\n    \"@langchain/openai\": \"^1.5.8\",\n    \"@langchain/core\": \"^1.2.8\",\n    \"@notionhq/client\": \"^2.2.14\",\n    \"@omnivore/content-handler\": \"1.0.0\",\n    \"@omnivore/liqe\": \"1.0.0\",\n    \"@omnivore/readability\": \"1.0.0\",\n    \"@omnivore/text-to-speech-handler\": \"1.0.0\",\n    \"@opentelemetry/api\": \"^1.0.1\",\n    \"@opentelemetry/core\": \"^2.10.0\",\n    \"@opentelemetry/exporter-jaeger\": \"^1.0.1\",\n    \"@opentelemetry/instrumentation-dns\": \"^0.31.2\",\n    \"@opentelemetry/instrumentation-express\": \"^0.28.0\",\n    \"@opentelemetry/instrumentation-graphql\": \"^0.29.0\",\n    \"@opentelemetry/instrumentation-grpc\": \"^0.37.0\",\n    \"@opentelemetry/instrumentation-http\": \"^0.27.0\",\n    \"@opentelemetry/instrumentation-pg\": \"^0.73.0\",\n    \"@opentelemetry/node\": \"^0.24.0\",\n    \"@opentelemetry/resources\": \"^1.17.0\",\n    \"@opentelemetry/semantic-conventions\": \"^1.0.1\",\n    \"@opentelemetry/tracing\": \"^0.24.0\",\n    \"@sendgrid/mail\": \"^7.6.0\",\n    \"@sentry/integrations\": \"^7.10.0\",\n    \"@sentry/node\": \"^5.26.0\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"addressparser\": \"^1.0.1\",\n    \"alfaaz\": \"^1.1.0\",\n    \"@apollo/server\": \"^5.5.1\",\n    \"@graphql-tools/schema\": \"^10.1.0\",\n    \"graphql\": \"^17.0.2\",\n    \"graphql-tag\": \"^2.12.7\",\n    \"@as-integrations/express5\": \"^1.1.2\",\n    \"archiver\": \"^7.0.1\",\n    \"axios\": \"^1.19.0\",\n    \"bcryptjs\": \"^2.4.3\",\n    \"bullmq\": \"6.3.15\",\n    \"compression\": \"^1.7.4\",\n    \"cookie\": \"^2.0.1\",\n    \"cookie-parser\": \"^1.4.5\",\n    \"csv-stringify\": \"^6.4.0\",\n    \"dataloader\": \"^2.2.2\",\n    \"diff-match-patch\": \"^1.0.5\",\n    \"dompurify\": \"^3.4.14\",\n    \"dot-case\": \"^3.0.4\",\n    \"dotenv\": \"^8.2.0\",\n    \"express\": \"^5.2.1\",\n    \"cors\": \"^2.8.6\",\n    \"express-http-context2\": \"^1.0.0\",\n    \"express-prom-bundle\": \"^8.0.0\",\n    \"express-rate-limit\": \"^8.6.2\",\n    \"fast-safe-stringify\": \"^2.1.1\",\n    \"fingerprint-generator\": \"^2.1.52\",\n    \"firebase-admin\": \"^14.2.0\",\n    \"googleapis\": \"^125.0.0\",\n    \"graphql-fields\": \"^2.0.3\",\n    \"graphql-middleware\": \"^6.1.35\",\n    \"graphql-shield\": \"^7.6.5\",\n    \"highlightjs\": \"^9.16.2\",\n    \"html-entities\": \"^2.3.2\",\n    \"image-size\": \"^2.0.3\",\n    \"intercom-client\": \"^7.0.3\",\n    \"ioredis\": \"^6.0.0\",\n    \"jsonwebtoken\": \"^9.0.3\",\n    \"jwks-rsa\": \"^2.0.3\",\n    \"@langchain/classic\": \"^1.0.43\",\n    \"linkedom\": \"^0.14.9\",\n    \"lodash\": \"^4.17.21\",\n    \"luxon\": \"^3.2.1\",\n    \"nanoid\": \"^6.0.1\",\n    \"node-html-markdown\": \"^1.3.0\",\n    \"node-mailjet\": \"^6.0.5\",\n    \"nodemailer\": \"^10.0.2\",\n    \"normalize-url\": \"^6.1.0\",\n    \"oauth\": \"^0.10.0\",\n    \"pg\": \"^8.3.3\",\n    \"postgrator\": \"^4.2.0\",\n    \"posthog-node\": \"^3.6.3\",\n    \"private-ip\": \"2.3.3\",\n    \"mailparser\":\"3.9.40\",\n    \"prom-client\": \"^15.1.0\",\n    \"rate-limit-redis\": \"^4.2.0\",\n    \"redis\": \"^4.6.13\",\n    \"reflect-metadata\": \"0.2.2\",\n    \"rss-parser\": \"^3.13.0\",\n    \"sanitize-html\": \"^2.3.2\",\n    \"sax\": \"^1.3.0\",\n    \"search-query-parser\": \"^1.6.0\",\n    \"showdown\": \"^2.1.0\",\n    \"snake-case\": \"^4.0.0\",\n    \"supertest\": \"^6.2.2\",\n    \"ts-loader\": \"^9.3.0\",\n    \"typeorm\": \"^0.3.4\",\n    \"typeorm-naming-strategies\": \"^4.1.0\",\n    \"underscore\": \"^1.13.6\",\n    \"url-pattern\": \"^1.0.3\",\n    \"urlsafe-base64\": \"^1.0.0\",\n    \"uuid\": \"^8.3.1\",\n    \"voca\": \"^1.4.0\",\n    \"winston\": \"^3.3.3\",\n    \"yaml\": \"^2.4.1\",\n    \"youtubei\": \"^1.5.4\"\n  },\n  \"devDependencies\": {\n    \"@istanbuljs/nyc-config-typescript\": \"^1.0.2\",\n    \"@types/addressparser\": \"^1.0.1\",\n    \"@types/analytics-node\": \"^3.1.7\",\n    \"@types/archiver\": \"^6.0.2\",\n    \"@types/bcryptjs\": \"^2.4.2\",\n    \"@types/chai\": \"^4.2.18\",\n    \"@types/cors\": \"^2.8.19\",\n    \"@types/chai-as-promised\": \"^7.1.5\",\n    \"@types/chai-string\": \"^1.4.2\",\n    \"@types/compression\": \"^1.7.5\",\n    \"@types/cookie\": \"^0.4.0\",\n    \"@types/mailparser\": \"3.9.0\",\n    \"@types/cookie-parser\": \"^1.4.7\",\n    \"@types/csv-stringify\": \"^3.1.0\",\n    \"@types/diff-match-patch\": \"^1.0.32\",\n    \"@types/dompurify\": \"^2.0.4\",\n    \"@types/express\": \"^5.0.6\",\n    \"@types/graphql-fields\": \"^1.3.4\",\n    \"@types/highlightjs\": \"^9.12.2\",\n    \"@types/intercom-client\": \"^2.11.8\",\n    \"@types/jsonwebtoken\": \"^8.5.0\",\n    \"@types/lodash\": \"^4.17.14\",\n    \"@types/luxon\": \"^1.25.0\",\n    \"@types/mocha\": \"^8.2.2\",\n    \"@types/nanoid\": \"^3.0.0\",\n    \"@types/node\": \"24.1.0\",\n    \"@types/nodemailer\": \"^6.4.4\",\n    \"@types/oauth\": \"^0.9.1\",\n    \"@types/private-ip\": \"^1.0.0\",\n    \"@types/sanitize-html\": \"^1.27.1\",\n    \"@types/sax\": \"^1.2.7\",\n    \"@types/showdown\": \"^2.0.6\",\n    \"@types/sinon\": \"^10.0.13\",\n    \"@types/sinon-chai\": \"^3.2.8\",\n    \"@types/supertest\": \"^2.0.11\",\n    \"@types/urlsafe-base64\": \"^1.0.28\",\n    \"@types/uuid\": \"^8.3.0\",\n    \"@types/voca\": \"^1.4.0\",\n    \"chai\": \"^4.3.4\",\n    \"chai-as-promised\": \"^7.1.1\",\n    \"chai-string\": \"^1.5.0\",\n    \"circular-dependency-plugin\": \"^5.2.0\",\n    \"mocha\": \"^9.0.1\",\n    \"mocha-unfunk-reporter\": \"^0.4.0\",\n    \"nock\": \"^13.2.4\",\n    \"nyc\": \"^15.1.0\",\n    \"postgrator\": \"^4.2.0\",\n    \"sinon\": \"^14.0.0\",\n    \"sinon-chai\": \"^3.7.0\",\n    \"ts-node-dev\": \"^1.1.8\"\n  },\n  \"volta\": {\n    \"extends\": \"../../package.json\"\n  }\n}\n\n<!-- File: packages/api/tsconfig.json (Tokens: ~87 | Category: anthropic-skill) -->\n{\n  \"extends\": \"./../../tsconfig.json\",\n  \"ts-node\": {\n    \"files\": true\n  },\n  \"compilerOptions\": {\n    \"rootDirs\": [\".\"],\n    \"outDir\": \"dist\",\n    \"types\": [\"node\"],\n    \"esModuleInterop\": true\n  },\n  \"include\": [\"src/**/*.ts\", \"test/**/*.ts\"],\n  \"exclude\": [\"./src/generated\"]\n}\n\n<!-- File: packages/content/content-fetch/mocha-config.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-fetch Skill\n\nPath: `packages/content/content-fetch/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/mocha-config.json)\n\n<!-- File: packages/content/content-fetch/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-fetch Skill\n\nPath: `packages/content/content-fetch/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/package.json)\n\n<!-- File: packages/content/content-fetch/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-fetch Skill\n\nPath: `packages/content/content-fetch/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-fetch/tsconfig.json)\n\n<!-- File: packages/content/content-handler/mocha-config.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-handler Skill\n\nPath: `packages/content/content-handler/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/mocha-config.json)\n\n<!-- File: packages/content/content-handler/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-handler Skill\n\nPath: `packages/content/content-handler/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/package.json)\n\n<!-- File: packages/content/content-handler/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Content-handler Skill\n\nPath: `packages/content/content-handler/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/content-handler/tsconfig.json)\n\n<!-- File: packages/content/imageproxy/imageproxy-service-demo.yaml (Tokens: ~300 | Category: anthropic-skill) -->\n# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-demo.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-demo.yaml)\n\n<!-- File: packages/content/imageproxy/imageproxy-service-production.yaml (Tokens: ~300 | Category: anthropic-skill) -->\n# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-production.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-production.yaml)\n\n<!-- File: packages/content/imageproxy/imageproxy-service-qa.yaml (Tokens: ~300 | Category: anthropic-skill) -->\n# Imageproxy Skill\n\nPath: `packages/content/imageproxy/imageproxy-service-qa.yaml`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/imageproxy/imageproxy-service-qa.yaml)\n\n<!-- File: packages/content/liqe/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Liqe Skill\n\nPath: `packages/content/liqe/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/package.json)\n\n<!-- File: packages/content/liqe/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Liqe Skill\n\nPath: `packages/content/liqe/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/liqe/tsconfig.json)\n\n<!-- File: packages/content/puppeteer-parse/mocha-config.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/mocha-config.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/mocha-config.json)\n\n<!-- File: packages/content/puppeteer-parse/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/package.json)\n\n<!-- File: packages/content/puppeteer-parse/tsconfig.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Puppeteer-parse Skill\n\nPath: `packages/content/puppeteer-parse/tsconfig.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/puppeteer-parse/tsconfig.json)\n\n<!-- File: packages/content/readabilityjs/CODE_OF_CONDUCT.md (Tokens: ~300 | Category: anthropic-skill) -->\n# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/CODE_OF_CONDUCT.md`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/CODE_OF_CONDUCT.md)\n\n<!-- File: packages/content/readabilityjs/package.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Readabilityjs Skill\n\nPath: `packages/content/readabilityjs/package.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/package.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Aboveavalon Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/aboveavalon/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Ahhhhfs.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/ahhhhfs.com/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Bbc-arabic Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bbc-arabic/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Berthub-2 Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub-2/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Berthub Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/berthub/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Biospace Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/biospace/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Bitfieldconsulting Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bitfieldconsulting/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Blog.jetbrains.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/blog.jetbrains.com/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Bookofhook.blogspot.com Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/bookofhook.blogspot.com/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Brookings.edu Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/brookings.edu/expected-metadata.json)\n\n<!-- File: packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json (Tokens: ~300 | Category: anthropic-skill) -->\n# Caixin Skill\n\nPath: `packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/omnivore-app/omnivore/HEAD/packages/content/readabilityjs/test/test-pages/caixin/expected-metadata.json)\n\n<!-- ... +128 more modular skills available via /api/skills/omnivore-app/omnivore?path={path} -->\n</yakaai_skills>"}