@fbraza/pi-zenodo
Pi extension with Zenodo draft tools for journal article deposits.
Package details
Install @fbraza/pi-zenodo from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@fbraza/pi-zenodo- Package
@fbraza/pi-zenodo- Version
0.3.0- Published
- Jun 23, 2026
- Downloads
- not available
- Author
- fbraza
- License
- MIT
- Types
- extension, skill
- Size
- 61.9 KB
- Dependencies
- 1 dependency · 3 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@fbraza/pi-zenodo
A Pi extension providing Zenodo draft tools for journal article deposits via the Zenodo REST API.
Current scope: create Zenodo drafts, retrieve/list depositions, list licenses, upload article PDFs/files to draft buckets, update validated journal article metadata, delete unpublished drafts, and optionally publish after exact confirmation and preflight validation.
Draft-only does not mean sandbox-only. Sandbox is the default test environment; production can be selected explicitly, but records remain unpublished drafts.
Layout
pi-zenodo/
├── src/ # Extension entry point + Zenodo tool modules
│ └── tools/ # One registerXxxTool(pi) per Zenodo action
├── skills/zenodo/ # Bundled skill instructions + references
├── package.json # pi-package manifest (extensions + skills)
└── tsconfig.json # Editor / type-check support (runtime uses jiti)
Bundled skill
The zenodo skill guides the agent through draft-only journal article deposits:
- read article PDFs,
- extract candidate metadata,
- confirm ambiguous or policy-sensitive fields,
- create/update/upload to a Zenodo draft,
- retrieve the draft and stop before publish.
Publishing is a separate opt-in step requiring an exact confirmation phrase such
as publish sandbox deposition 123 or publish production deposition 123.
Environments
- Sandbox:
https://sandbox.zenodo.org/api/(default during development) - Production:
https://zenodo.org/api/(opt-in only)
Install
pi install npm:@fbraza/pi-zenodo
# or
pi install git:github.com/fbraza/pi-zenodo
Develop
npm install
npm test
npm run pack:check
Environment variables
| Variable | Purpose |
|---|---|
ZENODO_SANDBOX_TOKEN |
Sandbox access token (default environment) |
ZENODO_TOKEN |
Production access token |