← Back to Skills Marketplace
aipoch-ai

Lipinski Rule Filter

by AIpoch · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
130
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install lipinski-rule-filter
Description
Filter compound libraries based on Lipinski's Rule of Five for drug-likeness.
README (SKILL.md)

\r

Lipinski Rule Filter\r

\r Filter small molecule compound libraries based on Lipinski's Rule of Five to identify compounds with poor absorption.\r \r

When to Use\r

\r

  • Use this skill when the task needs Filter compound libraries based on Lipinski's Rule of Five for drug-likeness.\r
  • Use this skill for data analysis tasks that require explicit assumptions, bounded scope, and a reproducible output format.\r
  • Use this skill when you need a documented fallback path for missing inputs, execution errors, or partial evidence.\r \r

Key Features\r

\r

  • Scope-focused workflow aligned to: Filter compound libraries based on Lipinski's Rule of Five for drug-likeness.\r
  • Packaged executable path(s): scripts/main.py.\r
  • Reference material available in references/ for task-specific guidance.\r
  • Structured execution path designed to keep outputs consistent and reviewable.\r \r

Dependencies\r

\r See ## Prerequisites above for related details.\r \r

  • Python: 3.10+. Repository baseline for current packaged skills.\r
  • rdkit-pypi: unspecified. Declared in requirements.txt.\r \r

Example Usage\r

\r See ## Usage above for related details.\r \r

cd "20260318/scientific-skills/Data Analytics/lipinski-rule-filter"\r
python -m py_compile scripts/main.py\r
python scripts/main.py --help\r
```\r
\r
Example run plan:\r
1. Confirm the user input, output path, and any required config values.\r
2. Edit the in-file `CONFIG` block or documented parameters if the script uses fixed settings.\r
3. Run `python scripts/main.py` with the validated inputs.\r
4. Review the generated output and return the final artifact with any assumptions called out.\r
\r
## Implementation Details\r
\r
See `## Workflow` above for related details.\r
\r
- Execution model: validate the request, choose the packaged workflow, and produce a bounded deliverable.\r
- Input controls: confirm the source files, scope limits, output format, and acceptance criteria before running any script.\r
- Primary implementation surface: `scripts/main.py`.\r
- Reference guidance: `references/` contains supporting rules, prompts, or checklists.\r
- Parameters to clarify first: input path, output path, scope filters, thresholds, and any domain-specific constraints.\r
- Output discipline: keep results reproducible, identify assumptions explicitly, and avoid undocumented side effects.\r
\r
## Quick Check\r
\r
Use this command to verify that the packaged script entry point can be parsed before deeper execution.\r
\r
```bash\r
python -m py_compile scripts/main.py\r
```\r
\r
## Audit-Ready Commands\r
\r
Use these concrete commands for validation. They are intentionally self-contained and avoid placeholder paths.\r
\r
```bash\r
python -m py_compile scripts/main.py\r
python scripts/main.py --help\r
python scripts/main.py --input "Audit validation sample with explicit symptoms, history, assessment, and next-step plan."\r
```\r
\r
## Workflow\r
\r
1. Confirm the user objective, required inputs, and non-negotiable constraints before doing detailed work.\r
2. Validate that the request matches the documented scope and stop early if the task would require unsupported assumptions.\r
3. Use the packaged script path or the documented reasoning path with only the inputs that are actually available.\r
4. Return a structured result that separates assumptions, deliverables, risks, and unresolved items.\r
5. If execution fails or inputs are incomplete, switch to the fallback path and state exactly what blocked full completion.\r
\r
## Usage\r
\r
```text\r
python scripts/main.py --input compounds.smi --output filtered.smi\r
python scripts/main.py --smiles "CC(=O)Oc1ccccc1C(=O)O" --check\r
```\r
\r
## Parameters\r
\r
| Parameter | Type | Required | Default | Description |\r
|-----------|------|----------|---------|-------------|\r
| `--input` | str | No | - | Input SMILES/SDF file path |\r
| `--smiles` | str | No | - | Single SMILES string to check |\r
| `--output` | str | No | - | Output file path for passing compounds |\r
| `--violations` | int | No | 1 | Maximum allowed Lipinski rule violations |\r
\r
## Lipinski's Rules\r
\r
- MW \x3C 500 Da\r
- LogP \x3C 5\r
- H-bond donors \x3C 5\r
- H-bond acceptors \x3C 10\r
\r
## Output\r
\r
- Filtered compound list\r
- Rule violation report\r
- Drug-likeness score\r
\r
## Risk Assessment\r
\r
| Risk Indicator | Assessment | Level |\r
|----------------|------------|-------|\r
| Code Execution | Python/R scripts executed locally | Medium |\r
| Network Access | No external API calls | Low |\r
| File System Access | Read input files, write output files | Medium |\r
| Instruction Tampering | Standard prompt guidelines | Low |\r
| Data Exposure | Output files saved to workspace | Low |\r
\r
## Security Checklist\r
\r
- [ ] No hardcoded credentials or API keys\r
- [ ] No unauthorized file system access (../)\r
- [ ] Output does not expose sensitive information\r
- [ ] Prompt injection protections in place\r
- [ ] Input file paths validated (no ../ traversal)\r
- [ ] Output directory restricted to workspace\r
- [ ] Script execution in sandboxed environment\r
- [ ] Error messages sanitized (no stack traces exposed)\r
- [ ] Dependencies audited\r
\r
## Prerequisites\r
\r
No additional Python packages required.\r
\r
## Evaluation Criteria\r
\r
### Success Metrics\r
- [ ] Successfully executes main functionality\r
- [ ] Output meets quality standards\r
- [ ] Handles edge cases gracefully\r
- [ ] Performance is acceptable\r
\r
### Test Cases\r
1. **Basic Functionality**: Standard input → Expected output\r
2. **Edge Case**: Invalid input → Graceful error handling\r
3. **Performance**: Large dataset → Acceptable processing time\r
\r
## Lifecycle Status\r
\r
- **Current Stage**: Draft\r
- **Next Review Date**: 2026-03-06\r
- **Known Issues**: None\r
- **Planned Improvements**: \r
  - Performance optimization\r
  - Additional feature support\r
\r
## Output Requirements\r
\r
Every final response should make these items explicit when they are relevant:\r
\r
- Objective or requested deliverable\r
- Inputs used and assumptions introduced\r
- Workflow or decision path\r
- Core result, recommendation, or artifact\r
- Constraints, risks, caveats, or validation needs\r
- Unresolved items and next-step checks\r
\r
## Error Handling\r
\r
- If required inputs are missing, state exactly which fields are missing and request only the minimum additional information.\r
- If the task goes outside the documented scope, stop instead of guessing or silently widening the assignment.\r
- If `scripts/main.py` fails, report the failure point, summarize what still can be completed safely, and provide a manual fallback.\r
- Do not fabricate files, citations, data, search results, or execution outcomes.\r
\r
## Input Validation\r
\r
This skill accepts requests that match the documented purpose of `lipinski-rule-filter` and include enough context to complete the workflow safely.\r
\r
Do not continue the workflow when the request is out of scope, missing a critical input, or would require unsupported assumptions. Instead respond:\r
\r
> `lipinski-rule-filter` only handles its documented workflow. Please provide the missing required inputs or switch to a more suitable skill.\r
\r
## Response Template\r
\r
Use the following fixed structure for non-trivial requests:\r
\r
1. Objective\r
2. Inputs Received\r
3. Assumptions\r
4. Workflow\r
5. Deliverable\r
6. Risks and Limits\r
7. Next Checks\r
\r
If the request is simple, you may compress the structure, but still keep assumptions and limits explicit when they affect correctness.\r
Usage Guidance
This package appears coherent and implements a Lipinski Rule of Five filter. Before installing or running: (1) Install RDKit (requirements.txt lists rdkit-pypi); the script will be mostly nonfunctional without it. (2) Review input/output paths you provide — the script will read arbitrary filesystem paths the invoking user can access and will write output files in the same directory; the script does basic existence checks but does not enforce path sandboxing. (3) For large libraries, test performance on a small sample first. (4) The SKILL.md contains a small authoring inconsistency (it claims no prerequisites) — do not rely on that; assume RDKit is required. (5) Run the included audit/test commands (python -m py_compile scripts/main.py; python scripts/main.py --help) in a sandboxed environment if you have any doubt.
Capability Assessment
Purpose & Capability
The name, description, code (scripts/main.py), and reference material all align: this is a Lipinski Rule of Five filtering tool that uses RDKit. Minor mismatch: SKILL.md's 'Prerequisites' section states 'No additional Python packages required' but requirements.txt lists rdkit-pypi and the script clearly depends on RDKit (the script warns when RDKit is missing). This is likely an authoring omission rather than malicious.
Instruction Scope
SKILL.md instructs the agent to run the packaged script and validate inputs; the script operates only on local input files and writes local outputs. The instructions and implementation stay within the described scope. Note: SKILL.md mentions editing an in-file CONFIG block and strong path validation guidance, but the packaged script does not expose a CONFIG block and performs only basic Path.exists checks (no explicit ../ sanitization), so callers should validate paths themselves.
Install Mechanism
There is no install spec (instruction-only), which minimizes install risk. The package includes requirements.txt listing rdkit-pypi, and the script requires RDKit to be useful. The skill does not attempt to download or execute remote installers; you will need to install RDKit locally (pip install rdkit-pypi or use a platform-appropriate RDKit package).
Credentials
The skill requests no environment variables, credentials, or config paths. That is proportional to its purpose. The only external dependency is RDKit (a normal cheminformatics library).
Persistence & Privilege
The skill does not request permanent/always-on presence (always: false) and does not modify other skills or global agent settings. It runs as a self-contained script that reads/writes files in the workspace when invoked.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install lipinski-rule-filter
  3. After installation, invoke the skill by name or use /lipinski-rule-filter
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the lipinski-rule-filter skill. - Filters compound libraries based on Lipinski's Rule of Five to assess drug-likeness. - Provides command-line interface for both file-based and single SMILES input processing. - Outputs filtered compound lists, rule violation reports, and drug-likeness scores. - Includes documented parameters, usage examples, and a security checklist. - Emphasizes reproducible workflows, explicit assumptions, and structured error handling.
Metadata
Slug lipinski-rule-filter
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Lipinski Rule Filter?

Filter compound libraries based on Lipinski's Rule of Five for drug-likeness. It is an AI Agent Skill for Claude Code / OpenClaw, with 130 downloads so far.

How do I install Lipinski Rule Filter?

Run "/install lipinski-rule-filter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Lipinski Rule Filter free?

Yes, Lipinski Rule Filter is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Lipinski Rule Filter support?

Lipinski Rule Filter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Lipinski Rule Filter?

It is built and maintained by AIpoch (@aipoch-ai); the current version is v1.0.0.

💬 Comments