Tapestry - 基于 Agent Skill Bundle 的轻量级书签知识库
SaferSkills independently audited Tapestry (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
AI-Native Web Intelligence Workflow
Tapestry is a complete workflow for turning scattered web content into organized, searchable knowledge. It handles everything from crawling to synthesis across multiple platforms.
Use this skill when the user:
Tapestry has eight internal sub-skills that work together:
init-deps-install/SKILL.md) - Auto-triggered dependency installation (Phase 0: setup)ingest/SKILL.md) - Crawl and capture URLs (Phase 1: deterministic)synthesis/SKILL.md) - Analyze and organize into knowledge base (Phase 2: AI-driven)feed/SKILL.md) - Generate structured, source-aware feedsdisplay/SKILL.md) - Visualize the knowledge base as a websitevisual-card/SKILL.md) - Generate visual note cards from KB contentsubscriptions/SKILL.md) - Manage RSS/Atom sources and refresh them into the knowledge baseexport/SKILL.md) - Export KB content to PDF, Markdown, or HTML files saved under _data/exports/Tapestry uses a two-phase design with automatic dependency setup:
Phase 0 (Init): Auto-triggered dependency installation when first launched or dependencies missing Phase 1 (Ingest): Deterministic extraction → _data/notes/YYYY/MM/ (date-organized) Phase 2 (Synthesis): AI-driven analysis → _data/books/{topic}/{chapter}/ (book-organized)
By default, synthesis runs automatically after each ingest (synthesis.mode: "auto" in tapestry.config.json). You can configure this to "manual" or "batch" mode.
Analyze what the user wants:
Read and follow the instructions in the relevant sub-skill SKILL.md files:
#### For Dependency Installation (Auto-Triggered)
Read the file init-deps-install/SKILL.md to understand the detection and installation workflow. All installation steps require explicit user confirmation before execution.
#### For URL Ingestion
Read the file ingest/SKILL.md, then follow the workflow described there.
#### For Structured Feeds
Read the file feed/SKILL.md, then follow the workflow described there.
#### For Synthesis & Knowledge Base
Read the file synthesis/SKILL.md, then follow the workflow described there.
#### For Visualization
Read the file display/SKILL.md, then follow the workflow described there.
#### For Visual Cards
Read the file visual-card/SKILL.md, then follow the workflow described there.
#### For Subscription Management & Feed Refresh
Read the file subscriptions/SKILL.md, then follow the workflow described there.
The sub-skills reference each other. When one sub-skill says to "route to" another, read that sub-skill's SKILL.md and follow its instructions.
tapestry/
├── SKILL.md (this file) # Main orchestrator
├── init-deps-install/SKILL.md # Dependency installation sub-skill
├── ingest/SKILL.md # URL crawling sub-skill
├── feed/SKILL.md # Feed generation sub-skill
├── synthesis/SKILL.md # Analysis & KB sub-skill
├── display/SKILL.md # Visualization sub-skill
├── visual-card/SKILL.md # Visual card generation sub-skill
├── subscriptions/SKILL.md # RSS/Atom subscription management sub-skill
├── _src/ # Shared code (crawlers, parsers, storage)
└── _tests/ # Unit testsUser: "Ingest this Zhihu answer: https://www.zhihu.com/question/123/answer/456"
Action:
1. Read ingest/SKILL.md
2. Follow its workflow to capture the URL
3. Report the created artifactsUser: "Give me a structured feed of this Reddit thread"
Action:
1. Read ingest/SKILL.md and capture the URL
2. Read feed/SKILL.md and generate the structured feed
3. Present the feed to the userUser: "Analyze this HN discussion and add it to my knowledge base"
Action:
1. Read ingest/SKILL.md and capture the URL
2. Synthesis runs automatically (default "auto" mode)
3. Report where the content was organized in the KBUser: "Just capture these URLs for now, I'll organize them later"
Action:
1. Set synthesis mode to "manual" in tapestry.config.json
2. Read ingest/SKILL.md and capture the URLs
3. User can later run synthesis on selected URLsUser: "Ingest these 5 URLs and organize them"
Action:
1. Read ingest/SKILL.md and batch process all URLs
2. With "auto" mode, synthesis runs for each URL automatically
3. Summarize the resultsUser: "Refresh all my subscribed feeds"
Action:
1. Read subscriptions/SKILL.md
2. Run: python subscriptions/_scripts/run.py fetch
3. Collect the printed URLs
4. Pass them to $tapestry-ingest for ingestion
5. Let the synthesis pipeline run per configUser: "Export the entire knowledge base as PDF"
Action:
1. Read export/SKILL.md
2. Run: python export/_scripts/export.py --format pdf --scope kb
3. Report the output paths from _data/exports/pdf/_data/captures/, _data/feeds/, _data/notes/, _data/books/, and _data/exports/_src/: Shared Python code for crawlers, parsers, and storage_tests/: Unit tests for the shared code_scripts/, _specs/, or _kb_rules/ directoriesRemember: This main skill is an orchestrator. The real work happens in the sub-skills. Read their SKILL.md files and follow their instructions.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.