project-lint
Runs the real package-local verification commands needed to ensure agent changes are type-safe, buildable, and lint-clean where those checks are actually defined.
| Name | project-lint |
|---|---|
| Path | project-lint |
| Version | 1.1.0 |
| Origin | local |
| Source | SkillHub |
| Author | seekthought |
| Project | citado |
| Tags | lint code-quality verification citado |
| License | MIT |
Install
skillctl install -r skillhub project-lint
Description:
Use the real commands declared in each package's package.json. The goal is to verify that agent changes have no type errors, can compile successfully, and pass lint checks without inventing unsupported commands.
Allowed Directories:
packages/fe (Frontend)
packages/viewer-core (Viewer shared core)
packages/viewer-image (Image viewer plugin)
packages/viewer-pdf (PDF viewer plugin)
packages/viewer-gds (GDS viewer plugin)
packages/svc (Service/Backend)
Constraints:
- Directory safety:
- Do not run these commands in the project root or any directory outside the allowed package directories.
- cd into the target package directory before running its commands.
- Command source of truth:
- Run the exact
pnpm run ...script declared in that package's package.json when this skill names it. - Do not substitute
pnpm exec ...or any other equivalent command unless this skill explicitly instructs you to do so.
- Verification scope:
- Run checks only for packages modified by the task.
- Determine the modified packages from the files changed for the task; if that is unclear, confirm with
git diff --name-onlybefore running checks. - If changes span multiple packages, validate each affected package separately.
- If affected packages depend on each other, validate them in dependency order, starting with shared libraries before the applications or services that consume them.
Workflow & Commands:
packages/fe
- Full Gate:
pnpm run check
packages/fe/package.json defines check as the package-local gate and it currently runs lint, Prettier compatibility, and the production build (which already includes typecheck and declaration build).
packages/viewer-core
- Full Gate:
pnpm run check
packages/viewer-core/package.json defines check as lint + build, where build is the package's tsc --noEmit compile/type gate.
packages/viewer-image
- Full Gate:
pnpm run check
packages/viewer-image/package.json defines check as lint + build, where build is the package's tsc --noEmit compile/type gate.
packages/viewer-pdf
- Full Gate:
pnpm run check
packages/viewer-pdf/package.json defines check as lint + build, where build is the package's tsc --noEmit compile/type gate.
packages/viewer-gds
- Full Gate:
pnpm run check
packages/viewer-gds/package.json now defines check as lint + build, where build is the package's tsc --noEmit compile/type gate.
packages/svc
- Full Gate:
pnpm run check
packages/svc/package.json now defines check as lint + build:ts, where build:ts remains the package-local TypeScript compile gate.
Success Criteria:
- Zero Exit Code: Every command that this skill instructs the agent to run must return
exit code 0. - Frontend App Gate: For changes in
packages/fe, the work is not complete untilpnpm run checkpasses. - Viewer Package Gate: For changes in
packages/viewer-core,packages/viewer-image,packages/viewer-pdf, orpackages/viewer-gds, the work is not complete until each touched package'spnpm run checkpasses in its own directory. - Backend Gate: For changes in
packages/svc, the work is not complete untilpnpm run checkpasses. - No Root Shortcut: Do not replace these package-local checks with root-level aggregate scripts when verifying a task for this skill.
- Self-Healing: If any command fails:
- Capture the full error log.
- Locate the source file and line number causing the issue.
- Analyze and apply a fix.
- Re-run the specific failed command until it passes.