From folio
Normalize, classify, and route materials. Runs the prep pipeline (classify -> route -> validate) and presents Human Checkpoint 1 + routing checkpoint.
npx claudepluginhub athan-dial/skills --plugin folioThis skill uses the workspace's default tool permissions.
Normalize, classify, and route materials through the prep pipeline, then present Human Checkpoint 1 and the routing checkpoint.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Normalize, classify, and route materials through the prep pipeline, then present Human Checkpoint 1 and the routing checkpoint.
intent.json exists at workspace root.Validate entry by checking these files exist. If missing, direct user to run folio:init first.
Scan inputs/raw_materials/ and synthesize structured versions:
inputs/idea.md — Core contribution, research questions, key claims, novelty framing.inputs/experimental_log.md — Experiments, parameters, results. For white paper mode, this may be minimal — still create the file; use <!-- GAP --> where appropriate.inputs/materials_manifest.json — Per-file inventory: path, type, description, relevance, gaps.inputs/venue_profile.md — Venue, page limits, format, audience, evaluation criteria.inputs/figures_manifest.json — Existing and planned figures/tables: paths, descriptions, regeneration needs.For incomplete synthesis, mark gaps with <!-- GAP: description -->. Only ask the user for gaps that block the next gate.
Execute in order:
python ../../scripts/prep_materials.py workspace/
python ../../scripts/classify_materials.py workspace/
python ../../scripts/route_mode.py workspace/
python ../../scripts/validate_inputs.py workspace/
prep_materials.py — Refreshes inventory signals.classify_materials.py — Writes inputs/materials_passport.json. See ../../templates/manifests/materials_passport.schema.json.route_mode.py — Writes route.json: selected_mode, confidence, reasons, optional user_override. See ../../templates/manifests/route.schema.json.validate_inputs.py — Gate A. Errors block; warnings are acceptable.Present to the user:
Wait for explicit approval before the routing checkpoint.
After Checkpoint 1 approval:
route.json and present: Recommended mode: <mode> (confidence: X.XX). Reasons: [bullets].user_override in route.json.logs/checkpoints.md.inputs/.materials_passport.json and route.json updated.validate_inputs.py exits 0.Proceed to folio:plan.