[!] This project is provided as-is, without warranties or guarantees of any kind, and has not been validated in a production environment unless explicitly stated otherwise. You are solely responsible for evaluating, testing, securing, and operating it safely in your environment and for verifying compliance with any legal, regulatory, or contractual requirements. By using this project, you accept all risk, and the authors and contributors assume no liability for any loss, damage, outage, misuse, or other consequences arising from its use. [!]
This repo is a practical prompt kit for running engineering work with better judgment, tighter QA, and less avoidable mess.
Current prompt-kit version: 2026.04.06.1.
The goal is not to load everything at once. The goal is to load the minimum set of prompts that gives a coding agent the right operating rules for the task in front of it.
The full legal disclaimer is in DISCLAIMER.md.
- This repo is not a general-purpose coding standard for every team.
- This repo is not a legal, compliance, or security certification.
- This repo does not replace project-specific validation in downstream repos.
- Python 3 for prompt sync and lint scripts.
- Bash for
check.sh. gitleaksfor staged and optional history-aware secret scanning.- Optional Markdown, shell, and dependency-audit tools when strict local checks are enabled.
- Downstream repos will pin or record the prompt-kit version or commit they used.
- Generated docs stay synchronized through
scripts/sync_prompt_docs.py. - The canonical legal disclaimer in
prompt_catalog.jsonis reused verbatim unless a repo-specific exception is explicitly approved.
python -m venv .venv
source .venv/bin/activate
python -m pip install -U pip pytest
git config core.hooksPath .githooks- Select the smallest prompt bundle that matches the task.
- Read
01-prompt-index.mdwhen you need a file-based entry point. - Use
repo-compliance-prompt.mdwhen applying the prompt kit to another repository. - Run
./check.shbefore committing prompt-kit changes.
- Updated generated docs after
python scripts/sync_prompt_docs.py. - Prompt lint results from
python scripts/lint_prompts.py. - Local quality-gate output from
./check.sh.
For baseline repo work, use this core pack:
04-general-session-policy-prompt.md05-project-governance-prompt.md06-coding-standards-prompt.md07-github-workflow-prompt.md08-credentials-and-secrets-prompt.md09-test-strategy-prompt.md10-tooling-and-lint-prompt.md- Add
11to15when risk, compatibility, or release readiness matter - Add one task prompt from
16to22
If you want a file-based entry point, start with 01-prompt-index.md.
The leading numbers indicate recommended load order and relative importance:
01to03: navigation and session-start helpers04to10: baseline operating rules11to15: risk-focused overlays for stronger review depth16to22: task-specific prompts23to24: process and environment constraints25to29: documentation and presentation prompts
| Range | Role | Default |
|---|---|---|
01-03 |
Navigation helpers | Optional |
04-10 |
Baseline operating rules | Default for most repo work |
11-15 |
Risk overlays | Add for higher-risk or shippable work |
16-22 |
Task prompts | Choose one per objective |
23-24 |
Constraints | Add only when directly relevant |
25-29 |
Documentation and presentation | Add only when docs or presentation are in scope |
01-prompt-index.mdUse when you need the fastest file-based entry point into the prompt kit.02-session-start-cheatsheet.mdUse when you need a quick decision aid for choosing a task prompt or deciding whether to start a new session.03-master-session-template.mdUse when you want a structured handoff or repeatable session start template.04-general-session-policy-prompt.mdUse when you need the default engineering behavior for most coding sessions.05-project-governance-prompt.mdUse when you want stronger senior-engineer ownership and release-safety behavior.06-coding-standards-prompt.mdUse when you need local-pattern-preserving implementation standards.07-github-workflow-prompt.mdUse when you want default Git, PR, and review workflow expectations.08-credentials-and-secrets-prompt.mdUse when the work touches secrets, credentials, tokens, keys, or sensitive configs.09-test-strategy-prompt.mdUse when you need explicit test-scope reasoning and layered validation choices.10-tooling-and-lint-prompt.mdUse when you need validation-order discipline and project-tool alignment.11-adversarial-testing-prompt.mdUse when you want break-it thinking for risky or exposed changes.12-reliability-and-recovery-prompt.mdUse when restart safety, retries, rollback, or partial failure matter.13-security-review-prompt.mdUse when trust boundaries, auth, secrets, or exposure risk are central.14-ship-readiness-prompt.mdUse when you need an evidence-based go/no-go judgment.15-compatibility-and-migration-prompt.mdUse when interfaces, configs, schemas, or workflows might break consumers.
Use the task prompt that matches the current objective:
16-project-setup-prompt.md17-project-setup-prompt-short.md18-bug-fix-prompt.md19-feature-work-prompt.md20-code-review-prompt.md21-refactor-prompt.md22-debugging-handoff-prompt.md
Then add only the relevant supporting prompts for standards, workflow, secrets, environment constraints, docs, or repo style.
- Small bug fix:
04,06,09,10,18 - Security-sensitive feature:
04,05,08,09,10,11,13,19 - Ship-readiness pass:
04,05,09,10,12,14,15,20 - Documentation refresh:
04,25,26,27
- Loading every prompt by default instead of choosing a scoped bundle
- Using multiple task prompts for one objective instead of picking one work mode
- Treating overlays as baseline requirements for trivial changes
- Rewriting the canonical legal disclaimer instead of reusing it verbatim
- Renaming numbered files without updating the catalog, index, README, and changelog together
- Edit
prompt_catalog.jsonfirst. - Run
python scripts/sync_prompt_docs.py. - Run
python scripts/lint_prompts.py. - Run
./check.sh. - Review
git diff --cached. - Record policy-level changes in
CHANGELOG.md.
active: current and recommendeddeprecated: still present for compatibility, but not preferred for new usagearchived: retained for history only
See PROMPT_POLICY.md for numbering, deprecation, breaking-change, and
downstream-sync rules.
This repo includes .gitleaks.toml and .githooks/pre-commit so staged
changes can be scanned consistently.
One-time setup:
git config core.hooksPath .githookscheck.sh also uses gitleaks for staged and optional history-aware secret
scanning. This repo does not rely on git-secrets.
This repo assumes:
- working software comes first
- minimal context loading
- small safe changes
- longer tasks include concise bulleted progress updates every 60 seconds
- progress updates use short, concrete
Now:,Done:,Found:,Blocker:, andNext:lines when relevant - progress updates explicitly say
Blocker: nonewhen there is no blocker - QA-first execution
- non-destructive Git usage
- no secrets committed, ever
- no false passes on broken or skipped validation
- usability and operator clarity matter, not just raw correctness
- assumptions, regressions, and what was not verified must be surfaced
- rollback, recovery, compatibility, and observability matter for real releases
- Record the prompt-kit version or commit you are using.
- Reuse the canonical disclaimer text from
27-legal-disclaimer-prompt.mdverbatim. - Keep numbered filenames intact when referencing prompt files.
- Treat local prompt changes as explicit deviations.
- Re-run downstream validation after sync.
check.sh is the repo's all-around QA gate. It is meant to be a practical
single entry point, not a narrow lint wrapper.
Its purpose is to support shipping code that actually works, not to create a false sense of quality from clean syntax or green lint alone.
It currently covers:
- staged Git hygiene and patch quality checks
- formatting and linting
- static security scanning
- secret scanning
- dependency auditing
- shell-script linting when available
- Markdown style and relative-link checks when available
- prompt-catalog generation and lint checks
- test-layer reporting for unit, integration, system, acceptance, regression, performance/load, usability, and security concerns
- Git hygiene checks around staged diffs, secret exposure, and file modes
- staged-diff heuristics for merge markers, debug prints, task-note markers, suspicious local paths, secret-like additions, and accidental artifacts
- config syntax validation for JSON, YAML, and TOML
- case-collision detection for case-insensitive filesystem safety
- executable-file sanity checks for shebangs and suspicious executable files
- optional strict-mode behavior that can fail when key doc or shell tools are missing
<PROMPT_HOME> is a neutral placeholder for the local directory where these
prompt files live. Use it in docs and examples instead of machine-specific
user paths.
The repo includes tests/check_sh_selftest.sh plus fixture files under
tests/fixtures/check-sh/ so check.sh can be regression-tested, not just
syntax-checked.
Policy-level changes to the prompt kit are tracked in CHANGELOG.md.
Use QA_FAILURE_MODES.md as the consolidated reference for the bug
classes, failure modes, and review blind spots this kit is meant to
cover.
This repo is for making agent-driven engineering work sharper, safer, and more reviewable without turning every task into process theater.
- If generated docs drift, update
prompt_catalog.jsonfirst and rerunpython scripts/sync_prompt_docs.py. - If
gitleaksis unavailable, install it before treating a commit as ready. - If optional strict checks fail because tools are missing, either install the missing tools or report the validation gap explicitly.
- Revert prompt body changes with normal Git review if downstream behavior would change unintentionally.
- Treat renumbering, renaming, or changing the canonical legal disclaimer as a
breaking change and record it in
CHANGELOG.md.
- The prompt kit improves review discipline but cannot prove downstream code is correct.
- Some checks depend on optional local tools and may be warnings outside strict mode.
- Downstream repositories still need their own tests, threat review, and environment-specific validation.