integrate
Skill1 starsChanged 3 months agoMITView on GitHub
Execute the Integration Test Requirements from a blueprint. Start the app, run end-to-end commands (HTTP, SQL, file checks), fix any failures, and regress all commands until green. Use after /tdd completes, or whenever you want to verify the running system against the blueprint.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- synaptiai/agent-capability-standardtheir own version, first seen Nov 1, 2026
- BANKSapi/claude-plugintheir own version, first seen Nov 1, 2026
- masseater/skillstheir own version, first seen Oct 25, 2026
- modeled-information-format/mnemonictheir own version, first seen Oct 13, 2026
- VoTruongDanh/Skills-Agenttheir own version, first seen Oct 13, 2026
- DanMcInerney/architect-looptheir own version, first seen Oct 8, 2026
Used with
Projects with it also use discover, plan and 2 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
anombyte93Skilldiscover
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.
Also in 3 projects that use this
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 4 projects that use this
OpenAISkillaudit
Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.
Also in 3 projects that use this
SentrySkillreview
Fixture review skill.
Also in 3 projects that use this
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- suboss87/FDEOps★ 940same name
- DanMcInerney/architect-loop★ 626same name
- yha9806/academic-writing-toolkit★ 54same name
- Dan-Cleary/fdestack★ 40same name
- dfrysinger/qrspi-plus★ 37same name
- modeled-information-format/mnemonic★ 23same name
- synaptiai/agent-capability-standard★ 6same name
- VoTruongDanh/Skills-Agent★ 4same name
- masseater/skills★ 2same name
- BANKSapi/claude-plugin★ 1same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- blueprintSkill
- codebase-designSkill
- diagnoseSkill
- grill-with-docsSkill
- improve-codebase-architectureSkill
- quickSkill
- setup-runtimeSkill
- setupSkill
- setup-styleSkill
- tddSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
24 rules. 0 are common, 14 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 10 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
If the user named a blueprint file, use that file.
- Very specific: line 11
If no blueprint exists, tell the user to run /blueprint first.
- Very specific: line 13
Read the ## Integration Test Requirements section from the selected blueprint (produced by /blueprint).
- Distinctive: line 17
Every IT is executed on every run, even if its checkbox is already ticked — regress-all is the rule.
- Distinctive: line 27
Do not attempt CLI fallback.
- Very specific: line 29
If MCP is available and the blueprint includes a ## Data Setup & Cleanup section, run it before Integration Verification and clean up …
- Very specific: line 33
Before executing any INSERT/UPDATE/DELETE via the database write tool:
- Distinctive: line 35
UPDATE/DELETE must have a WHERE clause: If missing, stop and report.
- Distinctive: line 38
If any check fails, stop and report.
- Distinctive: line 43
Read the setup description from the blueprint.
- Very specific: line 50
Read the cleanup description from the blueprint and substitute the same RUN_ID into every cleanup statement.
- Distinctive: line 52
If count matches expectation (exactly 1 for a PK-based delete): run DELETE normally.
- Distinctive: line 54
If count is 0: log a warning (nothing to clean up), skip.
- Distinctive: line 55
If count is > expectation: log a warning (unexpected data), but still run DELETE — the WHERE condition is precise enough.
- Very specific: line 86
Check if the target port is already occupied: Use netstat -ano | findstr :<port> (Windows) or lsof -i :<port> / ss -tlnp | grep <port> …
- Very specific: line 87
If occupied, kill the existing process: before starting. Track down the PID and kill it (taskkill /PID <pid> /F on Windows, kill <pid> …
- Very specific: line 101
Verify the port is free: before reporting. If still occupied, kill the process tree explicitly (taskkill /PID <pid> /F /T on Windows, kill …
- Distinctive: line 102
If the PID was lost (e.g. process crashed mid-verification), fall back to killing by port.
- Very specific: line 104
The start-stop bracket: every /integrate run starts a fresh app and kills it at the end.
- Distinctive: line 110
Run every integration command from the blueprint, in order.
- Distinctive: line 115
If same failure persists after 3 attempts, or a fix causes new failures: stop the app, run cleanup, then report and let the user decide.
- Distinctive: line 119
Only after the app is stopped and cleanup is complete:
- Distinctive: line 134
Only after verification is complete AND the app is stopped (and cleanup done, if applicable), tell the user:
- Very specific: line 136
All passed: "Integration verification complete.
“Common” is measured: kept by at least 6 in 10 of the 10 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Select the blueprint
- If the user named a blueprint file, use that file.
- Otherwise, if this same conversation just finished a
/tddrun and the TDD handoff named the blueprint it completed, reuse that file. - Otherwise ask the user which blueprint to verify, listing what is in
docs/plans/. Never guess —/integratetakes exactly one blueprint. - If no blueprint exists, tell the user to run
/blueprintfirst.
Read the ## Integration Test Requirements section from the selected blueprint (produced by /blueprint).
Integration passed checkboxes
- Every IT is executed on every run, even if its checkbox is already ticked — regress-all is the rule.
- Tick the
Integration passedcheckboxes only after a complete run in which every IT passes. If any IT fails, leave all checkboxes unchanged. - On a code-logic failure, stop the app, run cleanup, report the actual vs expected difference, and do not tick any checkbox. Do not choose the next step for the user.
Data Setup & Cleanup
Pre-condition: Data Setup & Cleanup requires MCP database tools (describe_table, query, write). If the blueprint includes this section but MCP tools are unavailable, stop and report:
"Blueprint includes Data Setup & Cleanup but database MCP tools are unavailable. The blueprint cannot be verified in this environment. Either configure MCP or regenerate the blueprint without Data Setup (& Cleanup)."
Do not attempt CLI fallback. Do not skip silently.
If MCP is available and the blueprint includes a ## Data Setup & Cleanup section, run it before Integration Verification and clean up after, regardless of verification outcome (try-finally semantics).
Safety (SQL self-check)
Before executing any INSERT/UPDATE/DELETE via the database write tool:
- UPDATE/DELETE must have a WHERE clause. If missing, stop and report.
- The WHERE condition must filter by a unique key (PK or unique constraint). If the condition is not unique-guaranteed, stop and report.
- INSERT must not reference a value that could change — no
LIMIT 1subqueries, noORDER BY RAND(), noSELECT ... LIMIT 1. - If any check fails, stop and report. Do not attempt execution.
Setup (before application starts)
- Generate a run-scoped
RUN_ID(e.g.IT-YYYYMMDD-<sequence>or a UUID) and keep it for the whole run. - Read the setup description from the blueprint.
- For each table declared in Setup, run
describe_tableto discover column names and data types. - Generate INSERT SQL that matches the description + the live schema, substituting
{RUN_ID}with the generated value. - Execute via the database write MCP tool. If the data set exceeds the tool's per-statement row limit (e.g. 10 rows), split into multiple statements.
- On failure: attempt cleanup for this
RUN_ID(only rows this run may have inserted), then stop and report the error, the SQL attempted, and the actual DB error. Do not retry — let the user decide.
Cleanup (after all Integration Verification — always runs)
- Read the cleanup description from the blueprint and substitute the same
RUN_IDinto every cleanup statement. - For each DELETE, pre-check with
SELECT COUNT(*)first:- If count matches expectation (exactly 1 for a PK-based delete): run DELETE normally.
- If count is 0: log a warning (nothing to clean up), skip.
- If count is > expectation: log a warning (unexpected data), but still run DELETE — the WHERE condition is precise enough.
- Execute DELETE SQL in FK-safe order via the database write tool. If the statement exceeds the tool's per-statement row limit (e.g. 10 rows), split into multiple statements.
- On failure: report what wasn't cleaned up but do not block. The residue
data is identifiable by the
RUN_IDand can be cleaned up manually.
Execution
Lifecycle (strict ordering)
1. [Setup] — if plan has Data Setup & Cleanup section, insert test data
2. Start app — fresh start (kill existing first, see App lifecycle)
3. Verify — run every integration command, record pass/fail
4. [Cleanup] — if Setup was run, DELETE test data (regardless of verify outcome)
5. Stop app — MANDATORY, regardless of verify outcome
6. Report — pass/fail + cleanup status + app shutdown confirmed
7. Update blueprint — tick `Integration passed` checkboxes only if every IT passed; otherwise leave them unchangedStep 5 is non-negotiable. It runs even if verification fails, even if the app fails to start. The only reason to skip it: the app was never started. Cleanup (step 4) runs whenever Setup (step 1) was executed — it is part of the same bracket. If there was no Data Setup section in the blueprint, skip both.
App lifecycle
Start (always fresh):
- Check if the target port is already occupied. Use
netstat -ano | findstr :<port>(Windows) orlsof -i :<port>/ss -tlnp | grep <port>(Linux/Mac). - If occupied, kill the existing process before starting. Track down the PID and kill it (
taskkill /PID <pid> /Fon Windows,kill <pid>elsewhere). If the process does not look like a previous run of this project (unknown name, unrelated service), report it and ask before killing. - Resolve the start command, in this order:
- Verified facts from
/setup-runtime: readdocs/agents/runtime.md(the source of truth — if it exists, use its start command and profile). - Otherwise, discover from build files:
pom.xml(Maven),build.gradle/build.gradle.kts(Gradle),docker-compose.yml(Docker),Makefile,package.json, etc.- Maven:
mvn spring-boot:run(Windows pwsh:.\mvnw.cmd spring-boot:run) - Gradle:
gradle bootRun(Windows pwsh:.\gradlew.bat bootRun) - Docker:
docker-compose up -d - Others: infer from the project's build files
- Maven:
- Verified facts from
- Record the process handle immediately after start. For JVM apps use
jps -l; otherwise use the platform equivalent (Get-Processon Windows pwsh,pgrepon Unix) or the agent's background-job handle. Store it — you will need it to stop the app precisely. In DSH, prefer the background-job id and stop the app through the jobs API, with the PID as fallback. - Wait for the app to be ready. Poll the health endpoint or the first expected API until it responds. Use a default timeout of 300 seconds (5 minutes), overridable by
READY_TIMEOUTindocs/agents/runtime.md. On timeout: stop the app and report "app not ready within N seconds". Do not proceed to verification until the app is reachable.
Stop (always, regardless of verification outcome):
- Kill the process using the recorded handle: the background-job id in DSH, or the PID elsewhere.
- Verify the port is free before reporting. If still occupied, kill the process tree explicitly (
taskkill /PID <pid> /F /Ton Windows,kill -9 <pid>elsewhere). - If the PID was lost (e.g. process crashed mid-verification), fall back to killing by port.
The start-stop bracket: every /integrate run starts a fresh app and kills it at the end. Never re-use a running instance — this ensures isolation between integration runs.
Verify loop
Redact secrets from all output: auth headers, tokens, passwords, PII. Show only the signal needed to diagnose.
- Run every integration command from the blueprint, in order.
- For each: assert actual result against expected result. Record pass/fail.
- If any fail:
- Diagnose: environment/config → fix directly. Code logic → stop and report the cause; do not change code.
- Regress: re-run ALL commands, not just the failed one.
- If same failure persists after 3 attempts, or a fix causes new failures: stop the app, run cleanup, then report and let the user decide.
Report
Only after the app is stopped and cleanup is complete:
| Item | Content |
| Integration commands | N passed, M failed (list failures with actual vs expected) |
| Cleanup status | Cleaned / residue left (list what remains) |
| App shutdown | Confirmed (port free, process gone) |
Scope
/integratereads the blueprint's## Integration Test Requirementssection and may only edit theIntegration passedcheckboxes in that section. It does not edit slices or IT commands. It does not run module-level tests (those belong to/tdd).- Modifications are limited to configuration, environment, and wiring (port, profile, classpath, dependency). If a logic change is needed to make an integration command pass, stop and report the cause; do not change code.
Handoff
Only after verification is complete AND the app is stopped (and cleanup done, if applicable), tell the user:
- All passed: "Integration verification complete. All commands pass. All
Integration passedcheckboxes ticked in the blueprint. Ready for PR." - Some failed: "Integration verification failed: N/M commands passed. Failed: IT-x — expected ..., actual ... App stopped.
Integration passedcheckboxes unchanged."
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

