Skip to content
Back to skills

Reporting

ASecurity

"Create and troubleshoot paperai 2.6.0 YAML reports in Markdown,

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
ai-agentspythonsqlapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill reporting --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reporting?

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

Security grade badge for Reporting
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-reporting-arex-skill/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-reporting-arex-skill)

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: reporting
description: "Create and troubleshoot paperai 2.6.0 YAML reports in Markdown,
  CSV, or optional PDF annotation format, including generated columns and safe
  configuration validation."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Reporting

Use this route to turn an existing paperai corpus/index into a bounded report.
Start with [configuration](references/configuration.md) for YAML and column
semantics, [workflows](references/workflows.md) for staged runs,
[api-reference](references/api-reference.md) for Python calls, and
[cli-reference](references/cli-reference.md) for the positional module CLI.
Use [troubleshooting](references/troubleshooting.md) before changing a model,
corpus, or report definition.

## Scope and routing

- **Owns:** `Task.load`, `Task.queries`, one-level `Task.flatten`, report YAML,
  standard/constant/generated columns, `Execute.options`/`create`/`run`,
  Markdown (`md`), CSV (`csv`), optional PDF annotation (`ant`), output naming,
  `topn`, `threshold`, `indir`, `allsections`, `section`, `surround`,
  `matches`, `snippet`, and column conversion helpers.
- **Requires:** a model directory containing `articles.sqlite` and a compatible
  saved txtai embeddings index. Use [indexing](../indexing/SKILL.md) for corpus
  schema, index construction, vector configuration, and compatibility.
- **Delegates:** search syntax, score filtering, grouping, and highlight
  internals to [querying](../querying/SKILL.md). Do not use this route to repair
  SQLite, build embeddings, or ingest source PDFs.

## Safe route

1. Copy the minimal, standard-column YAML in [configuration](references/configuration.md)
   and replace every placeholder. Run the bundled
   [the safe validator](scripts/validate_report_config.py) before loading a
   model; it parses YAML and checks shape only, without importing paperai,
   opening SQLite, or touching models.
2. Confirm the model directory and database/index prerequisites. For `ant`,
   also confirm a readable source directory and exact source basenames.
3. Run one narrow query with explicit `topn` and `md`. Add one generated field,
   then `dtype`/context controls, then switch to CSV or annotation.
4. Inspect output files with a Markdown/CSV parser and plan a fresh output
   directory or unique names: paperai opens outputs in write mode and does not
   prompt before replacement.

## Fast facts

- Renderer values are exactly `md`, `csv`, and `ant`; missing render resolves
  to Markdown, while another value raises `ValueError`.
- A task path writes beside the YAML. Its root `name` is the Markdown/master
  output stem. Markdown is `<name>.md`; CSV creates one `<query-name>.csv` per
  top-level query and removes its temporary `<name>.csv`; annotation writes
  `annotations/<Source>` and removes its temporary `<name>.ant`.
- Standard columns are `Id`, `Date`, `Study`, `Study Link`, `Journal`, `Source`,
  `Entry`, and `Matches`. A `constant` column performs no model call. A
  generated column has `query` and optional `question`/controls.
- `query: "*"` enumerates all articles and can make `topn` ineffective. The
  query layer uses a default threshold of 0.25 when threshold is absent.
  Pass `topn` explicitly: in 2.6.0 `Execute.options` stores a missing value as
  `None`, which can defeat the nominal `Report.build` fallback of 50.
- `section: true` expands a match to the full same-named subsection; positive
  `surround: N` expands to nearby stored section rows. `section` wins if both
  are set. `matches` controls context snippets per generated field, not article
  count.
- `qa` is an `Execute`/CLI parameter but verified 2.6.0 filters it before RAG
  construction; set YAML `options.llm` for the effective RAG model selector.
  `ant` additionally requires `txtmarker`, PDFs, and matching `Source` names.

Keep long schemas, renderer details, workflows, and failure matrices in the
linked references rather than expanding this router.

Files in this skill

  • SKILL.md3.9 KB
  • references/api-reference.md4.6 KB
  • references/cli-reference.md3 KB
  • references/configuration.md7.5 KB
  • references/troubleshooting.md7.2 KB
  • references/workflows.md5.7 KB
  • scripts/validate_report_config.py6.8 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.