github JavaScript analyzed 48c37bf

Agent-Pattern-Labs/JobForge

github

AI-powered job search automation — evaluate offers, generate ATS-optimized CVs, scan portals, negotiate, and track applications. One config drives OpenCode, Cursor, Claude Code, and Codex. Free end-to-end via OpenCode + Geometra MCP.

maintainer
Agent-Pattern-Labs
licence
MIT
first seen
2026-06-04
last seen
2026-07-29
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 48c37bf · analyzer v33 · 3w ago

skills & prompt files 2

code evidence vv2.14.82 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 117

filesystem 86

  • fs Agent-Pattern-Labs-JobForge-48c37bf/bin/create-job-forge.mjs :25 import { existsSync, mkdirSync, writeFileSync, copyFileSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/bin/geometra-mcp-launcher.mjs :4 import { appendFileSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/bin/job-forge.mjs :52 import { existsSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/bin/sync.mjs :23 import { existsSync, lstatSync, readlinkSync, symlinkSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/cv-sync-check.mjs :18 import { readFileSync, existsSync, statSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/dedup-tracker.mjs :16 import { readFileSync, writeFileSync, copyFileSync, existsSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/generate-pdf.mjs :16 import { existsSync, mkdirSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/archive-claims.mjs :1 import { constants, copyFileSync, existsSync, unlinkSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/batch-artifact.mjs :1 import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/batch-lock.mjs :2 import { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/canonical-states.mjs :19 import { readFileSync, existsSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-cache.mjs :1 import { existsSync } from 'fs';
show 28 more
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-canon.mjs :1 import { readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-capabilities.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-context.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-contracts.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-facts.mjs :1 import { existsSync, readFileSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-index.mjs :1 import { existsSync, readFileSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-ledger.mjs :1 import { existsSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-lineage.mjs :1 import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-migrate.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-observability.mjs :2 import { existsSync, mkdtempSync, readdirSync, rmSync, statSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-postflight.mjs :1 import { readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-preflight.mjs :1 import { readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-prioritize.mjs :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-redact.mjs :1 import { existsSync, readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-score.mjs :1 import { readFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-timeline.mjs :1 import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/pdf-font-assets.mjs :1 import { readFile, realpath, stat } from 'node:fs/promises';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/portal-diversity.mjs :1 import { existsSync, readFileSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/lib/report-number.mjs :1 import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/merge-tracker.mjs :27 } from 'fs';
  • fs Agent-Pattern-Labs-JobForge-48c37bf/normalize-statuses.mjs :18 import { readFileSync, writeFileSync, copyFileSync, existsSync } from 'fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/add-tags.mjs :16 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/apply-queue.mjs :12 import { createWriteStream, existsSync } from 'node:fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/apply-worker-guard.mjs :14 } from 'node:fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/apply-worker-mcp.mjs :8 } from 'node:fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/balance-scan-results.mjs :13 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/batch-orchestrator.mjs :16 import { existsSync } from 'node:fs';
  • fs (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/build-client-skills.mjs :3 import { mkdir, readFile, writeFile } from 'node:fs/promises';

46 more not shown — this panel samples each group; the count above is the real total.

shell / exec 23

  • shell Agent-Pattern-Labs-JobForge-48c37bf/bin/geometra-mcp-launcher.mjs :3 import { spawn } from 'node:child_process';
  • shell Agent-Pattern-Labs-JobForge-48c37bf/bin/job-forge.mjs :49 import { spawnSync } from 'child_process';
  • shell Agent-Pattern-Labs-JobForge-48c37bf/lib/jobforge-observability.mjs :1 import { spawnSync } from 'node:child_process';
  • shell Agent-Pattern-Labs-JobForge-48c37bf/merge-tracker.mjs :496 const { execSync } = await import('child_process');
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/apply-queue.mjs :10 import { spawn, spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/apply-worker-mcp.mjs :3 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/batch-orchestrator.mjs :14 import { spawn, spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/receipts.mjs :3 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/session-report.mjs :21 import { execSync } from 'child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/token-usage-report.mjs :16 import { execSync } from 'child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/trace.mjs :3 import { spawnSync } from 'child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/apply-queue.test.mjs :2 import { spawn, spawnSync } from 'node:child_process';
show 11 more
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/apply-worker-guard.test.mjs :2 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/apply-worker-mcp.test.mjs :2 import { spawn, spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/batch-report-number.test.mjs :13 import { spawn, spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/client-skills.test.mjs :6 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/diversity-cli.test.mjs :6 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/geometra-release-chain.test.mjs :2 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/merge-tracker-number-collision.test.mjs :5 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/next-num.test.mjs :5 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/portal-diversity.test.mjs :5 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/tracker-pipe-roundtrip.test.mjs :6 import { spawnSync } from 'node:child_process';
  • shell (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/tracker-role-identity.test.mjs :5 import { spawnSync } from 'node:child_process';

network 5

  • net (weak) Agent-Pattern-Labs-JobForge-48c37bf/scripts/verify-greenhouse-urls.mjs :69 const res = await fetch(entry.url, {
  • net (weak) Agent-Pattern-Labs-JobForge-48c37bf/test-support/fixtures/loopback-mcp.mjs :6 import { createServer } from 'node:net';
  • net (weak) Agent-Pattern-Labs-JobForge-48c37bf/test-support/fixtures/responses-jobforge-read-mock.mjs :6 import { createServer } from 'node:http';
  • net (weak) Agent-Pattern-Labs-JobForge-48c37bf/test-support/fixtures/responses-mock.mjs :6 import { createServer } from 'node:http';
  • net (weak) Agent-Pattern-Labs-JobForge-48c37bf/test/apply-worker-guard.test.mjs :275 'node -e "fetch(\'https://jobs.example.test/1\')"',

install hooks 2

  • prepack Agent-Pattern-Labs-JobForge-48c37bf/package.json :135 npm run build:config
  • postinstall Agent-Pattern-Labs-JobForge-48c37bf/package.json :137 node bin/sync.mjs

declared dependencies 52

  • @modelcontextprotocol/sdk@1.29.0
  • @agent-pattern-labs/iso-cache@^0.1.2
  • @agent-pattern-labs/iso-canon@^0.1.1
  • @agent-pattern-labs/iso-capabilities@^0.1.1
  • @agent-pattern-labs/iso-context@^0.1.2
  • @agent-pattern-labs/iso-contract@^0.1.2
  • @agent-pattern-labs/iso-facts@^0.1.2
  • @agent-pattern-labs/iso-guard@^0.1.2
  • @agent-pattern-labs/iso-index@^0.1.2
  • @agent-pattern-labs/iso-ledger@^0.1.1
  • @agent-pattern-labs/iso-lineage@^0.1.2
  • @agent-pattern-labs/iso-migrate@^0.1.2
show 28 more
  • @agent-pattern-labs/iso-orchestrator@^0.2.2
  • @agent-pattern-labs/iso-postflight@^0.1.2
  • @agent-pattern-labs/iso-preflight@^0.1.2
  • @agent-pattern-labs/iso-prioritize@^0.1.2
  • @agent-pattern-labs/iso-receipts@^0.1.1
  • @agent-pattern-labs/iso-redact@^0.1.1
  • @agent-pattern-labs/iso-score@^0.1.2
  • @agent-pattern-labs/iso-timeline@^0.1.2
  • @agent-pattern-labs/iso-trace@^0.5.2
  • @geometra/mcp@1.65.8
  • @razroo/gmail-mcp@1.8.1
  • playwright@1.61.1
  • zod@4.4.3
  • @agent-pattern-labs/agentmd@^0.3.2
  • @agent-pattern-labs/iso@^0.3.2
  • @agent-pattern-labs/iso-eval@^0.4.2
  • @agent-pattern-labs/iso-harness@^0.8.2
  • @agent-pattern-labs/iso-route@^0.6.2
  • github.com/charmbracelet/bubbletea@v1.3.10
  • github.com/charmbracelet/lipgloss@v1.1.0
  • github.com/aymanbagabas/go-osc52/v2@v2.0.1
  • github.com/charmbracelet/colorprofile@v0.4.1
  • github.com/charmbracelet/x/ansi@v0.11.5
  • github.com/charmbracelet/x/cellbuf@v0.0.15
  • github.com/charmbracelet/x/term@v0.2.2
  • github.com/clipperhouse/displaywidth@v0.9.0
  • github.com/clipperhouse/stringish@v0.1.1
  • github.com/clipperhouse/uax29/v2@v2.5.0

12 more not shown — this panel samples each group; the count above is the real total.