build-project
Skill172 starsChanged 2 months agoApache-2.0View on GitHub
Build a target project into an opentaint project model. Use whenever a fresh opentaint project model needed
4 other projects use a version of this.
Adopted by
Most recently taken up by
- rohitg00/ai-engineering-from-scratchtheir own version, first seen Nov 3, 2026
- fancyboi999/ai-engineering-from-scratch-zhtheir own version, first seen Oct 25, 2026
- Shri-Phnx/claude-skillstheir own version, first seen Oct 13, 2026
- mikheilkuzmidi/build-projecttheir own version, first seen Aug 22, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- rohitg00/ai-engineering-from-scratch★ 78ksame name
- fancyboi999/ai-engineering-from-scratch-zh★ 1.3ksame name
- Shri-Phnx/claude-skills★ 2same name
- mikheilkuzmidi/build-project★ 0same name
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 repository15 other files it gives its agents.
- analyze-external-methodsSkill
- analyze-findingsSkill
- appsec-agentSkill
- assemble-lib-rulesSkill
- create-dataflow-modelSkill
- create-pass-through-modelSkill
- create-ruleSkill
- create-test-projectSkill
- debug-ruleSkill
- discover-attack-surfaceSkill
- generate-pocSkill
- orchestrate-stageSkill
- report-analyzer-issueSkill
- run-scanSkill
- triage-dependenciesSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 2 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Delete any existing .opentaint/project first, so files from an old model can't bleed into the new one
- Distinctive: line 55
When the build won't converge after ~3 fixes → report non-convergence and leave the build stage pending, for the orchestrator to intervene.
- Distinctive: line 71
if the build did not converge: that it is left pending, with the blocking error and your fix attempts
- Very specific: line 75
Write only the project model under .opentaint/project, don't produce any other files.
“Common” is measured: kept by at least 6 in 10 of the 3 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
Skill: Build Project
Turn a target project into an opentaint project model: run the project's build, resolve its dependencies if needed. The build tool, toolchain, and scope flags are language-specific — detect the target language from the project's build files, then read the matching references/<language>.md and follow its numbered steps, which key to the ones below.
Inputs
Provided by the caller, fall back to the default value when omitted. Ask back only when a required input is missing and has no sensible default
project-root(optional) — root of the target project. Opentaint keeps all analysis artifacts under the fixed<project-root>/.opentaint/directory, so every.opentaint/...path below resolves there. Default: current directorybuild-hints(optional) — anything known about how this project builds: required toolchain version, modules/profiles to enable, project-specific build approach and so on
Workflow
1. Reset the output
Delete any existing .opentaint/project first, so files from an old model can't bleed into the new one
2. Identify the build
Determine how the project builds — its build tool, or whether it ships pre-compiled artifacts
3. Enable all modules
Re-enable every module the project disables so their code lands in the model, then build with them included. Enabling a disabled module is a config edit, not a source change, so the model still represents the current commit. If a specific module cannot be made to compile after reasonable effort, exclude only that one. Report which modules were enabled and which (if any) were excluded.
4. Autobuilder — the primary path
opentaint compile <project-root> -o .opentaint/projectopentaint compile runs the project's real build, so it resolves the full dependency graph and the actual module reactor automatically — no hand-listing of dependencies or scope. Set the build toolchain the project needs first. Use this path almost always.
Feedback loop: a failure here is almost always a fixable build problem, not grounds to leave this path — and the autobuilder's wrapper message is terse, so don't judge fixability from it. Reproduce the project's own build directly to surface the real error, fix it, then re-run opentaint compile.
5. Manual build + opentaint project — last resort
Only when the project's own build cannot be made to pass at all, build the artifacts by hand, then create the model from them with opentaint project, restricting analysis to project code. It's required to show the analyzer which code belongs to the project and which to third-party packages. Take the scope roots from what the code actually declares, not the build config or the folder layout. Verify final list of methods carefully, it's very important to list ALL third-party packages.
6. Verify
.opentaint/project/project.yaml exists, non-empty, and its module/scope entries cover every root the project's own code declares. For a multi-module project, confirm the expected module count is present. Make sure, that dependencies at .opentaint/project/dependencies resolved and downloaded correctly.
7. Escalate
When the build won't converge after ~3 fixes → report non-convergence and leave the build stage pending, for the orchestrator to intervene.
Output
Short and concise report of what was done
Artifacts:
.opentaint/project/— the opentaint project model
Summary:
- model path and (for a multi-module project) the module count it covers
- the language-specific build fields defined by the selected reference, with the values used by the successful build
- how the model was built (autobuilder or manual), and any build config the skill changed to make it build (e.g. re-enabled modules)
- exact build command and arguments if
opentaint projectwas used - if the build did not converge: that it is left pending, with the blocking error and your fix attempts
Constraints
- Write only the project model under
.opentaint/project, don't produce any other files. This skill does not write any tracking state, only return info per Output - The model is generated by
opentaint, never hand-editproject.yamlor anything under the model dir. To change what's analyzed, fix the command and rebuild
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

