.claude/skills/buoyancy-acceleration-calculation/SKILL.md
Calculate buoyancy forces and acceleration for fluid mechanics and hydrodynamics analysis.
npx skillsauth add SpectrAI-Initiative/InnoClaw buoyancy-acceleration-calculationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
import asyncio
import json
from contextlib import AsyncExitStack
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
class FluidClient:
def __init__(self, server_url: str, api_key: str):
self.server_url = server_url
self.api_key = api_key
self.session = None
async def connect(self):
try:
self.transport = streamablehttp_client(url=self.server_url, headers={"SCP-HUB-API-KEY": self.api_key})
self._stack = AsyncExitStack()
await self._stack.__aenter__()
self.read, self.write, self.get_session_id = await self._stack.enter_async_context(self.transport)
self.session_ctx = ClientSession(self.read, self.write)
self.session = await self._stack.enter_async_context(self.session_ctx)
await self.session.initialize()
return True
except:
return False
async def disconnect(self):
"""Disconnect from server"""
try:
if hasattr(self, '_stack'):
await self._stack.aclose()
print("✓ already disconnect")
except Exception as e:
print(f"✗ disconnect error: {e}")
def parse_result(self, result):
try:
if hasattr(result, 'content') and result.content:
return json.loads(result.content[0].text)
return str(result)
except:
return {"error": "parse error"}
## Initialize and use
client = FluidClient("https://scp.intern-ai.org.cn/api/v1/mcp/22/Thermal _Fluid_Dynamics", "<your-api-key>")
await client.connect()
# Calculate buoyancy force
rho_fluid = 1000 # kg/m³ (water)
g = 9.81 # m/s²
volume = 0.001 # m³
buoyancy_force = rho_fluid * g * volume
print(f"Buoyancy force: {buoyancy_force:.2f} N")
# Calculate acceleration
mass = 0.5 # kg
net_force = buoyancy_force - (mass * g)
acceleration = net_force / mass
print(f"Acceleration: {acceleration:.2f} m/s²")
await client.disconnect()
tools
Use the local InnoClaw CLI to run app workflows and Deep Research sessions from the terminal. Trigger when the user wants command-line control over this repository instead of only using the web UI.
tools
SNP Functional Impact Analysis - Analyze SNP function: VEP prediction, variation details, phenotype association, and literature evidence. Use this skill for functional genomics tasks involving get vep id get variation get phenotype accession pubmed search. Combines 4 tools from 2 SCP server(s).
tools
SMILES Comprehensive Analysis - Comprehensive SMILES analysis: validate, convert name, compute all molecular descriptors, and predict ADMET. Use this skill for cheminformatics tasks involving is valid smiles ChemicalStructureAnalyzer calculate mol basic info pred molecule admet. Combines 4 tools from 3 SCP server(s).
tools
Convert SMILES strings to CAS registry numbers using material informatics tools to identify chemical substances.