Skip to content
Back to skills

Source Manifest

ASecurity

Build or validate the source manifest for the source-tutorial pipeline from user-provided URLs/files.

  • 512 stars
  • 0 votes
  • 1 copy
  • 3 views
  • Added May 27, 2026
developmentpythongoc#

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 20, 2026

npx -y skills add WILLOSCAR/research-units-pipeline-skills --skill source-manifest --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source Manifest?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source Manifest
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/willoscar-source-manifest/badge)](https://www.skillsdirectory.com/skills/willoscar-source-manifest)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: source-manifest
description: "Build or validate the source manifest for the source-tutorial pipeline from user-provided URLs/files."
---

# Source Manifest

## Triggers & routing

- **Trigger**: source manifest, sources list, tutorial sources, url list, 资料清单, 教程来源.
- **Use when**: `source-tutorial` 的 C1,需要把多源输入落成统一的 `sources/manifest.yml`,并在内容不完整时显式阻塞。
- **Skip if**: 已经有完整且经过确认的 `sources/manifest.yml`。
- **Network**: none.
- **Guardrail**: 不要伪造来源;manifest 不完整时应返回 BLOCKED,而不是假装完成。


Goal: collect the source candidates for `source-tutorial` into one explicit manifest before ingest starts.

## Inputs

- `GOAL.md`
- `DECISIONS.md`

## Outputs

- `sources/manifest.yml`

## Workflow

1. Read `GOAL.md` and any existing `DECISIONS.md` notes to understand what kinds of sources the tutorial is expected to use.
2. If `sources/manifest.yml` does not exist, scaffold it with a minimal example.
2. Validate that each source has:
   - `source_id`
   - `kind`
   - `locator`
   - `label`
   - for `kind: video`, prefer `transcript_locator` unless the platform exposes public subtitles
3. Reject placeholder/example-only manifests.
4. Return success only when at least one real source exists.

## Accepted `kind`

- `webpage`
- `pdf`
- `markdown`
- `repo`
- `docs_site`
- `video`

For `video`:
- preferred: add `transcript_locator`
- Bilibili may succeed from public subtitles when available
- YouTube should currently be paired with `transcript_locator`

## Script

### Quick Start

- `uv run python .codex/skills/source-manifest/scripts/run.py --workspace <workspace>`

### All Options

- `--workspace <dir>` (required)
- `--unit-id <U###>`
- `--inputs <semicolon-separated>`
- `--outputs <semicolon-separated>`
- `--checkpoint <C#>`

### Examples

- Scaffold or validate the manifest:
  - `uv run python .codex/skills/source-manifest/scripts/run.py --workspace <workspace>`

## Troubleshooting

### Issue: the unit keeps blocking after scaffold

**Cause**:
- The manifest still contains example placeholders.

**Fix**:
- Replace the scaffold entry with real URLs or local file paths, then rerun the unit.

Files in this skill

  • SKILL.md2.2 KB
  • scripts/run.py4.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.