jack-project
"scroll-into-view-if-needed": "^3.1.0", "server-only": "^0.0.1", "shiki": "^4.0.2", "lint-staged": "^16.4.0", "next-devtools-mcp": "^0.3.10", "next-validate-link": "^1.6.6",
Install / Use
claude mcp add pohlai88 -- npx -y github:pohlai88/jack-projectIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of jack-project
jack-project scores 49/100 on our quality scale, 4271st of 4,611 Development & Engineering skills we index.
Its MCP Server is 12 KB long, written without headings and no code examples: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- Our last check on 2026-10-19 found the source still online.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
jack-project compared with similar skills
All 4 of these similar skills score higher than jack-project; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| jack-project (this skill)by pohlai88 | 49 | 0 | — | MCP Server |
| taste-skillby Leonxlnx | 100 | 110.6k | 1d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 109.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.9k | today | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 69.8k | today | CLAUDE.md |
Frequently asked questions
- How do I install jack-project?
- Run
claude mcp add pohlai88 -- npx -y github:pohlai88/jack-project. The install tabs above show the steps for each supported agent. - Which AI agents does jack-project work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is jack-project safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is jack-project still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHub{ "name": "afenda", "scripts": { "env:sync": "node scripts/sync-env-config.mjs", "dev": "node scripts/with-env-config.mjs next dev --turbopack --hostname 0.0.0.0 --port 3000", "build": "node scripts/next-build.mjs", "build:profile": "node scripts/next-build.mjs --experimental-cpu-prof", "build:debug-prerender": "node scripts/next-build.mjs --debug-prerender", "start": "node scripts/with-env-config.mjs next start", "format": "prettier --ignore-path .gitignore --write .", "lint": "eslint .", "lint:fix": "eslint . --fix", "lint:a11y": "eslint . --report-unused-disable-directives --max-warnings 0", "verify-landing-design-system": "tsx scripts/verify-landing-design-system.ts", "verify-marketing-audience": "tsx scripts/verify-marketing-audience.ts", "verify-data-rights-doctrine": "tsx scripts/verify-data-rights-doctrine.ts", "landing:audit": "pnpm verify-landing-design-system", "repo:guard": "node scripts/repo-guard.mjs", "type-check": "fumadocs-mdx && tsc --noEmit", "doctrine:check": "node scripts/check-doctrine.mjs", "i18n:extract": "node scripts/i18n-extract.mjs", "i18n:compile": "node scripts/i18n-compile.mjs", "i18n:validate": "node scripts/i18n-validate.mjs", "i18n:coverage": "node scripts/i18n-coverage.mjs", "i18n:sync": "node scripts/i18n-sync.mjs", "i18n:fallback-check": "node scripts/i18n-fallback-check.mjs", "i18n:check": "pnpm i18n:validate", "i18n:inventory:check": "node scripts/i18n-inventory-check.mjs", "i18n:readiness:report": "node scripts/i18n-readiness-report.mjs", "i18n:tolgee:spike-check": "node scripts/tolgee-spike-check.mjs", "i18n:tolgee:pull": "node scripts/with-env-config.mjs node scripts/tolgee-export-pull.mjs", "i18n:tolgee:cli": "node scripts/tolgee-cli.mjs", "i18n:tolgee:cli:pull": "node scripts/tolgee-cli.mjs pull", "i18n:tolgee:discover": "node scripts/tolgee-discover.mjs", "i18n:tolgee:cli:push-spike": "node scripts/tolgee-cli.mjs push --force-mode KEEP", "i18n:tolgee:normalize": "node scripts/tolgee-normalize.mjs", "i18n:tolgee:ci": "node scripts/tolgee-ci.mjs", "docs:contract": "tsx scripts/docs-evidence-pipeline.ts contract", "docs:inventory": "tsx scripts/docs-evidence-pipeline.ts inventory", "docs:generate": "tsx scripts/docs-evidence-pipeline.ts generate", "docs:source": "fumadocs-mdx", "fumadocs": "pnpm exec fumadocs", "fumadocs:add": "pnpm exec fumadocs add", "fumadocs:customize": "pnpm exec fumadocs customise", "fumadocs:tree": "pnpm exec fumadocs tree", "docs:links": "tsx scripts/docs-validate-links.ts", "docs:llms": "pnpm docs:source && tsx scripts/docs-evidence-pipeline.ts llms", "docs:pdf:setup": "node scripts/with-env-config.mjs puppeteer browsers install chrome", "docs:pdf": "pnpm docs:source && node scripts/with-env-config.mjs tsx scripts/export-pdf.mts", "docs:search": "tsx scripts/docs-evidence-pipeline.ts search-site && pagefind --site .artifacts/docs-search-site --output-path public/_pagefind && tsx scripts/docs-evidence-pipeline.ts search-check", "docs:check": "tsx scripts/docs-evidence-pipeline.ts check", "docs:ci": "pnpm docs:contract && pnpm docs:inventory -- --check && pnpm docs:generate -- --check && pnpm docs:source && pnpm docs:links && pnpm docs:llms && pnpm docs:check && pnpm type-check && pnpm test && pnpm build && pnpm docs:search", "prepare": "husky", "test": "node scripts/with-env-config.mjs vitest run --passWithNoTests", "test:watch": "node scripts/with-env-config.mjs vitest --passWithNoTests", "test:coverage": "node scripts/with-env-config.mjs vitest run --coverage --passWithNoTests", "test:unit:stable": "node scripts/with-env-config.mjs vitest run --passWithNoTests --pool=forks --maxWorkers=1", "test:workspace": "pnpm repo:guard && pnpm type-check && pnpm lint && pnpm test:unit:stable && pnpm test:e2e:smoke", "test:quality": "pnpm env:sync && pnpm repo:guard && pnpm doctrine:check && pnpm i18n:validate && pnpm docs:check && pnpm type-check && pnpm lint && pnpm test:unit:stable && pnpm test:e2e:smoke && pnpm build", "test:release": "pnpm test:quality && pnpm test:lighthouse", "test:e2e": "node scripts/with-env-config.mjs playwright test", "test:e2e:ui": "node scripts/with-env-config.mjs playwright test --ui", "test:e2e:auth": "node scripts/with-env-config.mjs playwright test --grep @auth", "test:e2e:smoke": "node scripts/with-env-config.mjs playwright test --grep @smoke", "test:e2e:oauth-live": "node scripts/with-env-config.mjs playwright test --grep @oauth-live", "test:lighthouse": "pnpm build && node scripts/with-env-config.mjs lhci autorun --config=lighthouserc.cjs", "db:generate": "node scripts/with-env-config.mjs drizzle-kit generate", "db:migrate": "node scripts/with-env-config.mjs drizzle-kit migrate", "db:push": "echo "db:push is not reliable with this non-public schema setup; running db:migrate instead." && pnpm db:migrate", "db:push:unsafe": "node scripts/with-env-config.mjs drizzle-kit push --force", "db:studio": "node scripts/with-env-config.mjs drizzle-kit studio", "db:seed": "node scripts/with-env-config.mjs tsx scripts/seed-demo.ts", "db:reset": "node scripts/with-env-config.mjs tsx scripts/db-reset.ts", "db:fresh": "pnpm db:reset --force && pnpm db:seed", "embeddings:generate": "node scripts/with-env-config.mjs tsx scripts/generate-embeddings.ts", "embeddings:recreate": "node scripts/with-env-config.mjs tsx scripts/generate-embeddings.ts --recreate", "storybook": "node scripts/with-env-config.mjs storybook dev -p 6006", "build-storybook": "node scripts/with-env-config.mjs storybook build", "deploy:vercel:production": "pnpm run build && pnpm exec vercel deploy --prod --yes --scope jacks-projects-7b3cfe94", "vercel:link": "vercel link --yes --scope jacks-projects-7b3cfe94 --project afenda-node", "vercel:project": "vercel project inspect afenda-node --scope jacks-projects-7b3cfe94", "vercel:env:production": "vercel env ls production --scope jacks-projects-7b3cfe94", "vercel:env:push-production": "node scripts/push-vercel-production-env.mjs", "vercel:env:report": "node scripts/show-production-env-status.mjs", "vercel:domain:remove-apex": "node scripts/remove-vercel-apex-domain.mjs", "vercel:deployments": "vercel ls --scope jacks-projects-7b3cfe94" }, "dependencies": { "@ai-sdk/openai": "^3.0.53", "@ai-sdk/react": "^3.0.170", "@auth/drizzle-adapter": "^1.11.2", "@aws-sdk/client-s3": "^3.1037.0", "@aws-sdk/s3-request-presigner": "^3.1037.0", "@fumadocs/story": "^0.0.14", "@heroicons/react": "^2.2.0", "@hookform/resolvers": "^5.2.2", "@monaco-editor/react": "^4.7.0", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-avatar": "^1.1.11", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-collapsible": "^1.1.12", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-hover-card": "^1.1.15", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-presence": "^1.1.5", "@radix-ui/react-progress": "^1.1.8", "@radix-ui/react-radio-group": "^1.3.8", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slider": "^1.3.6", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tabs": "^1.1.13", "@radix-ui/react-toast": "^1.2.15", "@radix-ui/react-tooltip": "^1.2.8", "@react-pdf/renderer": "^4.5.1", "@t3-oss/env-nextjs": "^0.13.11", "@tailwindcss/postcss": "^4.2.4", "@tiptap/core": "^3.22.4", "@tiptap/extension-image": "^3.22.4", "@tiptap/extension-link": "^3.22.4", "@tiptap/extension-placeholder": "^3.22.4", "@tiptap/pm": "^3.22.4", "@tiptap/react": "^3.22.4", "@tiptap/starter-kit": "^3.22.4", "@types/mdx": "^2.0.13", "@vercel/sdk": "^1.19.40", "@xyflow/react": "^12.10.2", "ai": "^6.0.168", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "d3-force": "^3.0.0", "date-fns": "^4.1.0", "dompurify": "^3.4.1", "driver.js": "^1.4.0", "drizzle-orm": "^0.45.2", "feed": "^5.2.1", "fumadocs-core": "^16.8.4", "fumadocs-mdx": "^14.3.1", "fumadocs-openapi": "^10.8.1", "fumadocs-typescript": "^5.2.6", "fumadocs-ui": "^16.8.4", "fuse.js": "^7.3.0", "gray-matter": "^4.0.3", "lightningcss": "^1.32.0", "lucide-react": "^0.562.0", "mermaid": "^11.14.0", "nanoid": "^5.1.9", "next": "^16.2.4", "next-auth": "5.0.0-beta.30", "next-intl": "^4.9.1", "next-themes": "^0.4.6", "octokit": "^5.0.5", "openai": "^6.34.0", "papaparse": "^5.5.3", "pdf-parse": "^2.4.5", "pino": "^10.3.1", "pino-pretty": "^13.1.3", "postgres": "^3.4.9", "react": "^19.2.5", "react-dom": "^19.2.5", "react-force-graph-2d": "^1.29.1", "react-hook-form": "^7.74.0", "react-markdown": "^10.1.0", "react-medium-image-zoom": "^5.4.3", "react-organizational-chart": "^2.2.1", "recharts": "^3.8.1", "remark-gfm": "^4.0.1", "scroll-into-view-if-needed": "^3.1.0", "server-only": "^0.0.1", "shiki": "^4.0.2", "sonner": "^2.0.7", "tailwind-merge": "^3.5.0", "tailwindcss-animate": "^1.0.7", "uuid": "^13.0.0", "zod": "^4.3.6" }, "devDependencies": { "@aws-sdk/client-secrets-manager": "^3.1037.0", "@aws-sdk/client-ssm": "^3.1037.0", "@commitlint/cli": "^20.5.2", "@commitlint/config-conventional": "^20.5.0", "@formatjs/icu-messageformat-parser": "^3.5.5", "@fumadocs/cli": "^1.3.9", "@lhci/cli": "^0.15.1", "@next/eslint-plugin-next": "^16.2.4", "@playwright/test": "^1.59.1", "@storybook/nextjs": "^10.3.5", "@storybook/nextjs-vite": "^10.3.5", "@storybook/react": "^10.3.5", "@tailwindcss/typography": "^0.5.19", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@tolgee/cli": "^2.16.1", "@types/d3-force": "^3.0.10", "@types/node": "^22.19.17", "@types/papaparse": "^5.5.2", "@types/pdf-parse": "^1.1.5", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@typescript-eslint/eslint-plugin": "^8.59.0", "@vitest/coverage-v8": "^4.1.5", "autoprefixer": "^10.5.0", "buffer": "^6.0.3", "dotenv": "^17.4.2", "drizzle-kit": "^0.31.10", "eslint": "^9.39.4", "eslint-config-next": "^16.2.4", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-import": "^2.32.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-tailwindcss": "^3.18.3", "fast-glob": "^3.3.3", "husky": "^9.1.7", "jsdom": "^29.0.2", "lint-staged": "^16.4.0", "next-devtools-mcp": "^0.3.10", "next-validate-link": "^1.6.6", "pagefind": "^1.5.2", "postcss": "^8.5.10", "prettier": "^3.8.3", "puppeteer": "^24.42.0", "storybook": "^10.3.5", "tailwindcss": "^4.2.4", "ts-morph": "^28.0.0", "tsx": "^4.21.0", "typescript": "^5.9.3", "typescript-eslint": "^8.59.0", "vercel": "^52.0.0", "vitest": "^4.1.5", "wcag-contrast": "^3.0.0" }, "packageManager": "pnpm@10.28.1+sha512.7d7dbbca9e99447b7c3bf7a73286afaaf6be99251eb9498baefa7d406892f67b879adb3a1d7e687fc4ccc1a388c7175fbaae567a26ab44d1067b54fcb0d6a316", "puppeteer": { "cacheDirectory": ".artifacts/puppeteer" }, "engines": { "node": ">=22.0.0", "pnpm": ">=10.0.0" } }
Related Skills
taste-skill
110.6kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
109.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
69.8kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
