agentleFS
skycivskyciv/skyciv-ai-skills/foundation-api/SKILL.md

foundation-api

Skill11 starsChanged 32 days agoMITView on GitHub

Use when designing or checking a reinforced concrete pile through the SkyCiv API with standalone.foundation.start and standalone.foundation.check, for ACI 318-14, AS 3600-2018 and EN 1992 (Eurocode). Covers the pile object (settings.type, settings.code, settings.units), load case keys per code (DL/LL/W/E/LR/RL/SL, G/Q/Wu/Eu/Su, G/Ql/Qw/Qe/Qs/Qt), custom factored/service loads, geometry, pile_details, materials, long_rebar, shear_rebar, soils, layers and parameters. Also use for questions like 'design a pile', 'check this pile for these column loads', 'can the API design a pad or combined footing' (not at the moment) or 'why does my foundation API call hang'.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    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
  1. Very specific:

    Use the input format of the samples in [assets/](assets/): Don't add settings.version, and don't send a file exported from the current …

    line 32
  2. Very specific:

    Start from the sample for your code and change values.

    line 74

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Foundation Design API (piles)

Design and check reinforced concrete piles with the SkyCiv Foundation module via the standalone.foundation API.

Prerequisite: start the session with standalone.foundation.start, not S3D.session.start. See the skyciv-api-v3 skill for auth, options and the request/response envelope. If you also need an S3D model (e.g. to get column reactions), run that in a separate session.

Only piles are supported through the API at the moment. Pad footings (isolated_foundation) and combined footings (combined_foundation) are not: don't send them; tell the user instead.

Request

{
  "auth": { "username": "...", "key": "..." },
  "options": { "validate_input": true },
  "functions": [
    { "function": "standalone.foundation.start", "arguments": { "keep_open": false } },
    { "function": "standalone.foundation.check", "arguments": { "1": { "settings": { "...": "..." } } } }
  ]
}

arguments holds the foundations keyed by ID ("1", "2", ...).

Use the input format of the samples in assets/. Don't add settings.version, and don't send a file exported from the current Foundation Designer as it is: those calls time out or never return.

Set options.validate_input: true so bad keys and values come back as clear error messages before the design runs.

Supported piles

settings.typesettings.codesettings.units
piles_foundationACI_318_2014metric, imperial
AS_3600_2018, ENmetric

Loads

loads is keyed by column ID ("1"). It holds the load cases for the code, each with axial, shear_x, shear_z (kN / kip) and moment_x, moment_z (kN-m / kip-ft):

CodeLoad case keys
ACIDL, LL, W, E, LR, RL, SL
AS 3600G, Q, Wu, Eu, Su
ENG, Ql, Qw, Qe, Qs, Qt

Custom loads

To give factored and service loads directly, set parameters.others.custom_load: true and use:

"loads": {
  "factored": { "P": 600, "Vx": 20, "Vz": 10, "Mx": 40, "Mz": 20 },
  "service": { "P": 420, "Vx": 14, "Vz": 7, "Mx": 28, "Mz": 14 }
}

Units

settings.units (metric or imperial) sets the unit system for every value in the pile. The units of each field are in references/fields.md where they're confirmed, e.g. pile length in m / ft, pile size and cover in mm / in, strengths in MPa / psi. Don't mix systems inside one pile.

Building a pile

Start from the sample for your code and change values; don't build the object from scratch. Every sample has been run successfully against the live API. Every key is described in references/fields.md; load it when you need the allowed values for a field.

SampleCodeUnits
aci-318-14-pile-imperial.jsonACI 318-14imperial
as-3600-pile-metric.jsonAS 3600-2018metric
en-pile-metric.jsonENmetric

Gotchas

  • Piles use their own top-level keys: materials (not material), pile_details, long_rebar, shear_rebar, soils, layer. long_rebar lists every bar, one entry each.
  • AS and EN pile parameters go in parameters.AS and parameters.EN; ACI piles have neither.
  • A call that "times out" or never returns is almost always an unsupported input (a pad or combined footing, settings.version, or a v4 export), not a slow design. Supported calls finish in about 10 seconds.

Related skills

  • skyciv-api-v3: auth, sessions, request envelope.
  • s3d-api and analysis-results: get column reactions to use as pile loads.
  • run-quick-design: other foundation calculators.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.