AGENTS.md · git:20260807.a77f9ce · 2026-08-07 · sha256 ab39e0c84764a646
AGENTS.md git:20260807.a77f9ceA
Immutable. This exact content is served forever at /api/v1/blob/ab39e0c84764a646.
# give-me-job Repository Instructions Use this repository as a Korea-only job-application package generator, not as an automatic application submitter. ## Default Workflow When the user asks to run the full workflow, says "give me job", or wants a complete company-specific application package for the Korean hiring market: 1. Read `agent.md` first. 2. Use the application workflow skills under `skills/` as the domain workflow steps. 3. Create or update one package under `applications/<company-role>/`. 4. Keep all strong cover-letter claims grounded in `resume.md`. 5. Stop when evidence is missing, HR review finds a blocker, or the next action would submit, send, log in, bypass CAPTCHA, or transmit personal information. 6. Treat non-Korean hiring workflows as out of scope unless the user explicitly asks to adapt the repository later. ## Skill Routing - Use `skills/resume-intake/SKILL.md` when `resume.md` is missing or weak. - Use `skills/jd-analyzer/SKILL.md` for JD or hiring-post analysis. - Use `skills/company-values-analyzer/SKILL.md` only when company values, culture, mission, or talent-profile material is provided. - Use `skills/cover-letter-writer/SKILL.md` for Korean cover-letter drafts and evidence maps. - Use `skills/hr-reviewer/SKILL.md` before any final text is prepared. - Use `skills/interview-prep/SKILL.md` after draft/final text exists to prepare evidence-grounded interview defense. - Use `skills/application-packager/SKILL.md` to assemble the final package and manual submission checklist. ## Working On This Repository The sections above describe using this repository to produce an application package. This section describes changing the repository itself. ### Development Loop 1. **Explore.** Read the affected files and their callers before editing. Docs in this repository have drifted from the code before, so confirm that a script or path a document mentions actually exists. 2. **Plan.** Identify every file the change touches, including validators and packaging lists. Keep each commit atomic. 3. **Edit.** Make the smallest diff that does the job. Do not reformat untouched lines, delete comments you were not asked to remove, or rename things opportunistically. 4. **Verify.** Run the checks below and fix failures before committing. If a check fails, read the actual error before changing the approach. When a guideline in any document conflicts with the repository's real state, trust the terminal output and fix the document. ### Commands This repository has no lint step and no build step. Do not invent one. ```bash npm test # full suite; the default gate for any change npm run test:skills # skill contracts, packaging lists, and release files only npm run test:jobs # schedule and ranking fixtures only npm run test:install # installer: install, upgrade, conflict, force, uninstall npm run test:release # npm test + test:install; what publishing runs ``` Run `npm run test:install` whenever you touch `tools/install-*.mjs`, `tools/skill-registry.mjs`, `tools/give-me-job-cli.mjs`, or the `files` list in `package.json`. `npm test` alone does not cover the installer. ### Repository-Specific Constraints These are enforced by validators and will fail the suite: - `SKILL.md` frontmatter accepts only `name` and `description`. Any other field is rejected. Install-time additions such as `allowed-tools` are injected by `tools/install-adapters.mjs`, not written into the source file. - A skill's `description` must be at least 120 characters. - Validation scripts must not live in `tools/`. Public checks go in `support/validate/`, release-only checks in `tests/validate/`. - A new workflow tool's flag allowlist in `tools/install-adapters.mjs` must match the generated OpenCode tool policy exactly. - Adding a file to the support bundle means updating `supportFiles` in `tools/install-layout.mjs` and `files` in `package.json` together. - No API key, access token, or other issued credential. `.env.example` and `tools/env.mjs` are blocked from returning. ### Do Not Edit - `applications/`, `data/`, and `.tmp-*` directories. These are generated and git-ignored. - `.github/workflows/publish.yml` release triggers without saying so. Pushing a `v*.*.*` tag publishes to npm, and a published version cannot be reused. ## Release Discipline Before publishing or pushing release changes, run: ```bash npm test ``` Equivalent manual checks: ```bash node tests/validate/validate-skills.mjs node tools/init-application.mjs --company demo --role backend --out .tmp-release-check --force node support/validate/validate-application.mjs .tmp-release-check/demo-backend node support/validate/validate-job-schedule.mjs node support/validate/validate-job-ranking.mjs ``` Do not commit generated user application packages under `applications/`.