Source profileQuality 92/100Review permissions

jimezsa/opencolab/projects/SKILLS/pageindex-grounded/SKILL.md

pageindex-grounded

Local-first grounded follow-up QA over already-downloaded papers. Build and cache per-paper PageIndex trees, keep paper selection bounded, and answer with exact paper or page references when the evidence supports it.

Source repository stars
11
Declared platforms
0
Static risk flags
3
Last source update
2026-08-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Use this skill when the user needs precise, grounded follow-up answers from papers that already exist locally under the current project.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/jimezsa/opencolab --skill "projects/SKILLS/pageindex-grounded"
    Safe inspection promptEditorial

    Inspect the Agent Skill "pageindex-grounded" from https://github.com/jimezsa/opencolab/blob/f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09/projects/SKILLS/pageindex-grounded/SKILL.md at commit f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Workflow

      Use the question plus whatever local artifacts already exist:

      research/INDEX.md/RUN.md/meta/.json
    2. 02

      Mission

      Given a precise question over already-downloaded local papers:

      Select a bounded local paper set that is likely to contain the answer.Generate or reuse cached PageIndex tree artifacts for those papers.Use the tree structure to retrieve the most relevant sections.
    3. 03

      Prerequisites

      If the local PageIndex checkout is missing, only install it when the user explicitly asks for installation or setup work.

      Local PDFs already exist under an active research run folder, normally research/-/pdf/, or under the legacy flat research/pdf/ layout.Optional metadata exists under /meta/ or legacy research/meta/.Optional paper summaries exist under /pdf/.md or legacy research/pdf/.md.
    4. 04

      Hard Requirements

      Operate only on already-downloaded local PDFs. Do not use this skill to search for new papers.

      Operate only on already-downloaded local PDFs. Do not use this skill to search for new papers.Prefer selecting the active research run folder from research/INDEX.md when it exists. If there is no index, infer the best run folder from the user's topic and existing research//RUN.md files; fall back to legacy resea…Keep paper selection bounded before retrieval. Default to:
    5. 05

      OpenColab Progress Helper

      OpenColab exposes this progress channel by default during provider runs. When OPENCOLABPROGRESSFILE is available, use this helper:

      selected paper set knowncached trees reusedtree generation started or completed

    Permission review

    Static risk signals and limitations

    Reads files

    low · line 35

    The documentation asks the agent to read local files, directories, or repositories.

    A local checkout of the open-source PageIndex repo exists. Recommended path: `tools/PageIndex`.

    Network access

    medium · line 43

    The documentation includes network, browsing, or remote request actions.

    git clone https://github.com/VectifyAI/PageIndex.git tools/PageIndex

    Runs scripts

    medium · line 43

    The documentation asks the agent to run terminal commands or scripts.

    git clone https://github.com/VectifyAI/PageIndex.git tools/PageIndex

    Runs scripts

    medium · line 44

    The documentation asks the agent to run terminal commands or scripts.

    python3 -m pip install -r tools/PageIndex/requirements.txt

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score92/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars11SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    jimezsa/opencolab
    Skill path
    projects/SKILLS/pageindex-grounded/SKILL.md
    Commit
    f647b8e4c37a18b4bd3443bd4a8f5470ea1b9d09
    License
    MIT
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    PageIndex Grounded Skill

    Use this skill when the user needs precise, grounded follow-up answers from papers that already exist locally under the current project.

    Typical use cases:

    • exact claim verification from one downloaded paper
    • "where does this paper say X?" questions
    • page-level follow-up after fast-research, pro-research, or deep-research
    • bounded cross-paper comparison across a small local paper set
    • checking whether a prior synthesis overclaimed or missed a qualification

    Do not use this skill for paper discovery. Use fast-research, pro-research, or deep-research first when the papers are not already local. Do not use this skill as a replacement for paper-summary. paper-summary remains the canonical per-paper summary workflow. When the user wants the figure image itself instead of only a grounded answer, hand off to the shared pdf-figure-extract skill after you identify the likely paper and page range.

    Mission

    Given a precise question over already-downloaded local papers:

    1. Select a bounded local paper set that is likely to contain the answer.
    2. Generate or reuse cached PageIndex tree artifacts for those papers.
    3. Use the tree structure to retrieve the most relevant sections.
    4. Verify the answer against the tree output, the local PDF, and existing paper summaries when needed.
    5. Return a concise grounded answer with exact paper or page references and explicit limitations.
    6. Persist reusable artifacts under the active research run folder, normally <RUN_ROOT>/pageindex/.

    Prerequisites

    • Local PDFs already exist under an active research run folder, normally research/<YYYY-MM-DD>-<topic-slug>/pdf/, or under the legacy flat research/pdf/ layout.
    • Optional metadata exists under <RUN_ROOT>/meta/ or legacy research/meta/.
    • Optional paper summaries exist under <RUN_ROOT>/pdf/*.md or legacy research/pdf/*.md.
    • python3 is installed and available in PATH.
    • A local checkout of the open-source PageIndex repo exists. Recommended path: tools/PageIndex.
    • GEMINI_API_KEY is available for the local PageIndex runner.

    If the local PageIndex checkout is missing, only install it when the user explicitly asks for installation or setup work.

    Recommended local setup when the user explicitly wants installation:

    git clone https://github.com/VectifyAI/PageIndex.git tools/PageIndex
    python3 -m pip install -r tools/PageIndex/requirements.txt
    

    Hard Requirements

    • Operate only on already-downloaded local PDFs. Do not use this skill to search for new papers.

    • Prefer selecting the active research run folder from research/INDEX.md when it exists. If there is no index, infer the best run folder from the user's topic and existing research/*/RUN.md files; fall back to legacy research/pdf/ only for older projects.

    • Keep paper selection bounded before retrieval. Default to:

      • 1 paper for a single-paper question
      • 2-5 papers for a cross-paper question
    • Persist PageIndex artifacts under <RUN_ROOT>/pageindex/, not in the default results/ directory.

    • Maintain <RUN_ROOT>/pageindex/manifest.json so later runs can reuse existing tree artifacts.

    • Prefer reusing an existing tree when the source PDF has not changed.

    • The local PageIndex runner must have GEMINI_API_KEY available in the environment.

    • Final answers must include exact paper or page references for non-trivial claims whenever the local evidence supports that level of grounding.

    • If evidence is partial, summary-only, metadata-only, or not fully verified against the current PDF, say so explicitly.

    • Default to the local open-source PageIndex workflow. Do not switch to hosted PageIndex MCP or hosted Chat API unless the user explicitly asks for that external-service path.

    • OpenColab normally provides OPENCOLAB_PROGRESS_FILE during provider runs. When it is set and the task is long enough to justify updates, emit bounded JSON progress events for selection, indexing, retrieval, verification, degraded coverage, and final delivery.

    OpenColab Progress Helper

    OpenColab exposes this progress channel by default during provider runs. When OPENCOLAB_PROGRESS_FILE is available, use this helper:

    emit_progress() {
      if [ -z "${OPENCOLAB_PROGRESS_FILE:-}" ]; then
        return 0
      fi
      printf '%s\n' "$1" >> "$OPENCOLAB_PROGRESS_FILE"
    }
    

    Write one-line JSON events. Allowed kind values are started, progress, milestone, warning, needs_input, and completed.

    Example:

    emit_progress '{"kind":"milestone","stage":"pageindex","slot":"grounding","message":"Selected 3 local papers for grounded retrieval."}'
    

    Useful update categories for this skill:

    • selected paper set known
    • cached trees reused
    • tree generation started or completed
    • retrieval and verification started
    • degraded run because a PDF, tree, or local PageIndex checkout is missing
    • final grounded answer written

    Workflow

    1. Select a bounded local paper set

    Use the question plus whatever local artifacts already exist:

    • research/INDEX.md
    • <RUN_ROOT>/RUN.md
    • <RUN_ROOT>/meta/*.json
    • <RUN_ROOT>/pdf/*.md
    • prior <RUN_ROOT>/findings.md
    • prior <RUN_ROOT>/pageindex/answers/*.md

    Selection guidance:

    • single-paper exact lookup: 1 paper
    • "compare these two papers": 2 papers
    • broader but still bounded comparison: 3-5 papers

    Record the selected papers in <RUN_ROOT>/pageindex/manifest.json.

    2. Prepare the PageIndex workspace

    RUN_ROOT="research/<YYYY-MM-DD>-<topic-slug>"
    mkdir -p "$RUN_ROOT/pageindex"/{trees,answers}
    

    Recommended manifest shape:

    {
      "generated_at": "2026-03-22T12:34:56Z",
      "papers": [
        {
          "safe_id": "arxiv__2501.01234",
          "paper_id": "arXiv:2501.01234",
          "title": "Example Paper",
          "pdf_path": "research/2026-03-22-example-topic/pdf/arxiv__2501.01234.pdf",
          "summary_path": "research/2026-03-22-example-topic/pdf/arxiv__2501.01234.md",
          "tree_path": "research/2026-03-22-example-topic/pageindex/trees/arxiv__2501.01234.json",
          "status": "indexed"
        }
      ]
    }
    

    3. Generate or refresh per-paper trees

    First confirm GEMINI_API_KEY is available. If it is missing, stop and report the missing prerequisite instead of pretending the run is grounded.

    For each selected paper:

    python3 tools/PageIndex/run_pageindex.py \
      --pdf_path "$RUN_ROOT/pdf/<safe_id>.pdf" \
      --model gemini/gemini-3.1-flash-lite-preview \
      --if-add-node-id yes \
      --if-add-node-summary yes \
      --if-add-node-text yes
    

    Then move or copy the generated artifact into the canonical cache path:

    • from: results/<safe_id>_structure.json
    • to: $RUN_ROOT/pageindex/trees/<safe_id>.json

    If a cached tree already exists and the source PDF has not changed, reuse it.

    4. Retrieve relevant sections with the tree

    For each selected paper:

    1. Read $RUN_ROOT/pageindex/trees/<safe_id>.json.
    2. Use node titles, node summaries, node ids, and page ranges to shortlist relevant sections.
    3. Use node text when available to narrow the answer.
    4. If the question depends on exact wording, a figure, a table, or an equation, verify the relevant page or anchor against the local PDF or the existing paper-summary output. If the user wants the figure artifact returned, pass the likely page(s) to pdf-figure-extract instead of trying to answer with text alone.

    For cross-paper questions, do this per paper first, then synthesize. Do not merge trees into one blob and guess.

    5. Write an optional grounded answer note

    When the question is non-trivial, write:

    • $RUN_ROOT/pageindex/answers/<date>-<topic-slug>.md

    Recommended structure:

    # Grounded Answer: <topic>
    
    ## Question
    
    ...
    
    ## Selected Local Papers
    
    - `<safe_id>` ...
    
    ## Answer
    
    ...
    
    ## Evidence
    
    - `[Paper: <safe_id>, pp. 4-5]` ...
    
    ## Limitations
    
    ...
    

    6. Return the final answer

    The user-facing reply should:

    • answer the question directly
    • name the searched local paper count when it materially affects confidence
    • include exact paper or page references inline or immediately after the supported claim
    • surface missing PDFs, stale trees, summary-only evidence, or other limitations that materially affect confidence
    • point to the saved grounded answer note when one was written

    Output Contract

    • <RUN_ROOT>/pageindex/manifest.json
    • <RUN_ROOT>/pageindex/trees/<safe_id>.json for each indexed paper
    • optional <RUN_ROOT>/pageindex/answers/<date>-<topic-slug>.md
    • a concise grounded final reply with exact paper or page references when supported by the local evidence

    Canonical Assets

    • Skill doc: projects/SKILLS/pageindex-grounded/SKILL.md
    • Expected upstream local runner: tools/PageIndex/run_pageindex.py

    Alternatives

    Compare before choosing

    Computed 10023,781

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

    Computed 10014,225

    wanshuiyin/Auto-claude-code-research-in-sleep

    citation-audit

    Use it for operations and research tasks; the detail page covers purpose, installation, and practical steps.

    Computed 1004,922

    dotnet/skills

    migrate-vstest-to-mtp

    Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

    Computed 1002,504

    aaron-he-zhu/aaron-marketing-skills

    social-selling-planner

    Use when the user asks to "set up my founder social-selling routine", "build a daily engagement block for target accounts", or "turn funding / hiring signals into selling plays"; produces the founder/seller daily operating block — a time-boxed engagement-block spec (substantive value-add comments on target-account posts, never a pitch), warm-touch-before-ask cadence rules, trigger-response plays consuming the social-pulse-monitor B2B trigger watchlist (funding / hiring / launch signals), and a q