bizzfactory-document-downloader
Download all of a client's documents from the Bizz Factory portal (portal.bizzfactory.se) into a local folder tree that mirrors the page, without converting…
Skill by viktor-ferenczi
Chalk Labs
Need help deploying bizzfactory-document-downloader?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/viktor-ferenczi-bizzfactory-document-downloader
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bizzfactory-document-downloader
What's inside
- Skill name
bizzfactory-document-downloader- Description
- Download all of a client's documents from the Bizz Factory portal (portal.bizzfactory.se) into a local folder tree that mirrors the page, without converting files or causing any side effects. Use when the user wants to back up, archive, or bulk-download documents from their BizzFactory / Bizz Factory portal account, or mentions a portal.bizzfactory.se/documents/<uuid> URL.
- License
- MIT
- Instructions
- 124 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (2)
- SKILL.md
- download.py · scripts/
SKILL.md (first lines)
# BizzFactory Document Downloader
Downloads every document for a client from the Bizz Factory accounting portal into a
local directory tree that mirrors the folder structure shown on the page. Files (PDFs,
SIE `.se` exports, etc.) are saved **as-is — no conversion**.
## Read-only guarantee (no side effects)
The bundled script issues **only HTTP GET** requests against two endpoints:
- `GET /api/v1/documents/{clientUuid}` — the folder tree as JSON
- `GET /api/v1/documents/{clientUuid}/documents/{fileUuid}/download` — one file's bytes
It never touches any mutating endpoint (mark-as-read, mark-as-handled, upload, move,
delete, restore, empty-trash). **Downloading does not change a file's unread status** —
"read" is set by a separate directory-level endpoint the script deliberately avoids. The
only unavoidable server-side traces are the session keep-alive timestamp and any
download-audit entry inherent to fetching a file.
## Step 1 — Get the portal URL
Navigate to the client's documents page in your browser. The URL looks like:
```
https://portal.bizzfactory.se/documents/<clientUuid>
```
`<clientUuid>` is a UUID identifying the client (company). The script extracts it from
the URL automatically; you can also pass the bare UUID.
## Step 2 — Copy the two session cookies
You need two cookies for the `portal.bizzfactory.se` domain:
| Cookie | What it is |
| --- | --- |
| `Agency` | Agency/tenant id (a UUID) |
| `PLAY_SESSION` | The signed Play Framework session (a long JWT-like string) |
These expire and the session is rolling, so copy them from a **freshly loaded** portal
page just before running.
### Chrome / Edge / Brave (Chromium)
1. Open the portal page, press **F12** → **Application** tab.
2. Left sidebar → **Storage** → **Cookies** → `https://portal.bizzfactory.se`.
3. Copy the **Value** column for the `Agency` and `PLAY_SESSION` rows.
### Firefox
1. Open the portal page, press **F12** → **Storage** tab (enable it in the `»` overflow
menu if hidden).
2. **Cookies** → `https://portal.bizzfactory.se`.
3. Copy the **Value** of `Agency` and `PLAY_SESSION`.
### Safari
1. Enable the Develop menu: **Safari → Settings → Advanced → "Show features for web
developers"**.
2. On the portal page: **Develop → Show Web Inspector** (or ⌥⌘I) → **Storage** tab.
3. **Cookies** → `portal.bizzfactory.se` → copy `Agency` and `PLAY_SESSION` values.
### Shortcut (any browser): Copy as cURL
In **DevTools → Network**, reload the page, right-click any request to
`portal.bizzfactory.se` → **Copy → Copy as cURL**. The `Cookie:` header in the result
contains both `Agency=...` and `PLAY_SESSION=...`.
## Step 3 — Run the downloader
The script writes into a subdirectory of the **current working directory** (your project
folder). Default subdir name: **`BizzFactoryDocs`**.
```bash
python3 scripts/download.py \
--url "https://portal.bizzfactory.se/documents/<clientUuid>" \
--agency "<Agency cookie value>" \
--session "<PLAY_SESSION cookie value>" \
--outdir BizzFactoryDocs
```
Credentials can also come from the environment instead of flags (safer — keeps secrets
out of shell history):
```bash
export BIZZ_AGENCY="<Agency cookie value>"
export BIZZ_SESSION="<PLAY_SESSION cookie value>"
python3 scripts/download.py --url "https://portal.bizzfactory.se/documents/<clientUuid>"
```
Requires Python 3.11+ (standard library only — no `pip install`).
## Output
```
BizzFactoryDocs/
├─ _manifest.json # path, uuid, byte size, mimeType for every file
└─ <Root folder>/... # full tree, including empty folders, mirroring the page
```
The run prints each downloaded file and a final summary
(`Directories created`, `Files downloaded`, total bytes). Existing files are
overwritten; the run is idempotent and safe to re-run.
## Verifying the result
```bash
cd BizzFactoryDocs
find . -type f ! -name _manifest.json -size 0 # should print nothing
grep -rlI '<!DOCTYPE html' . 2>/dev/null # no HTML error pages
find . -type f ! -name _manifest.json | wc -l # file count
```
## Troubleshooting
- **HTTP 401/403** — the session expired or the cookies are wrong. Reload the portal
page and re-copy `Agency` and `PLAY_SESSION`.
- **Empty / partial tree** — confirm the client UUID in the URL matches the client whose
documents you intend to download (the portal can hold several clients).
- **Garbled filenames** — names are taken verbatim from the portal and only `/` and `\`
are replaced with `_`; Swedish characters (å ä ö) are preserved.
## ScriptFrom viktor-ferenczi/skills, MIT.
More from viktor-ferenczi/skills
- 0.582score
pr-description-concise-markdown
viktor-ferenczi
Writes a concise, high-level PR description in Markdown for the changes in the current branch.
SkillAFreshness: A★ 1Claude Code +9 - 0.539score
pr-review-comment-fix
viktor-ferenczi
Fixes an issue pointed out by a comment in a PR review.
SkillBFreshness: B★ 1Claude Code +9 - 0.499score
recursive-language-model
viktor-ferenczi
Recursive Language Model workflow for processing documents that exceed context window limits.
SkillCFreshness: C★ 1Claude Code +9 - 0.498score
sdl3-wiki
viktor-ferenczi
Complete offline copy of the SDL3 (Simple DirectMedia Layer 3) wiki in CommonMark format.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
gcp-batch-inference
viktor-ferenczi
Run Gemini batch inference on Google Cloud Vertex AI.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
consistency-check
viktor-ferenczi
Finds and fixes internal inconsistencies in a software project — code vs configuration vs documentation drift, plus linter findings.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
structured-documentation
viktor-ferenczi
Generate a verified, modular handbook from a large source-code or document tree, then keep it cheap to refresh as the inputs change.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
stabilization-loop
viktor-ferenczi
Iterates on a locally runnable project (typically a server with a test suite) until it builds, runs, and passes all tests cleanly, fixing failures between runs.
SkillCFreshness: C★ 1Claude Code +9 - 0.494score
python-guidelines
viktor-ferenczi
Guiding principles for writing clear, concise, human readable and maintainable Python code.
SkillCFreshness: C★ 1Claude Code +9 - 0.493score
godot-documentation
viktor-ferenczi
Installs and serves an offline copy of the official Godot Engine documentation (getting started guides, tutorials, API class reference, engine details).
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
swdev-best-practices
viktor-ferenczi
Best practices to follow and principles to adhere to during software development.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
token-saving-techniques
viktor-ferenczi
A list of techniques for reducing token usage while working on complex tasks.
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jun 25, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/viktor-ferenczi/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from viktor-ferenczi
- 0.582score
pr-description-concise-markdown
viktor-ferenczi
Writes a concise, high-level PR description in Markdown for the changes in the current branch.
SkillAFreshness: A★ 1Claude Code +9 - 0.539score
pr-review-comment-fix
viktor-ferenczi
Fixes an issue pointed out by a comment in a PR review.
SkillBFreshness: B★ 1Claude Code +9 - 0.499score
recursive-language-model
viktor-ferenczi
Recursive Language Model workflow for processing documents that exceed context window limits.
SkillCFreshness: C★ 1Claude Code +9 - 0.498score
sdl3-wiki
viktor-ferenczi
Complete offline copy of the SDL3 (Simple DirectMedia Layer 3) wiki in CommonMark format.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
gcp-batch-inference
viktor-ferenczi
Run Gemini batch inference on Google Cloud Vertex AI.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
consistency-check
viktor-ferenczi
Finds and fixes internal inconsistencies in a software project — code vs configuration vs documentation drift, plus linter findings.
SkillCFreshness: C★ 1Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get bizzfactory-document-downloader running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
bizzfactory-document-downloader skill. Agent Mart. https://agentmart.dev/skills/viktor-ferenczi-bizzfactory-document-downloader (last updated 2026-10-24)