heartbeat-scanner
Validate your agent nature through SHACL-based heartbeat analysis.
Setup & Installation
Install command
clawhub install darshanochandak/heartbeat-scannerIf the CLI is not installed:
Install command
npx clawhub@latest install darshanochandak/heartbeat-scannerOr install with OpenClaw CLI:
Install command
openclaw skills install darshanochandak/heartbeat-scanneror paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/darshanochandak/heartbeat-scannerWhat This Skill Does
Analyzes posting patterns from a Turtle-format profile to classify the poster as an Agent, Human, Cron, or Hybrid. Uses SHACL validation and a weighted scoring formula based on timing irregularity, meta-cognitive signals, and emotional language. Requires at least 5 posts across 2+ days to produce a classification.
Combines structural data validation with behavioral scoring in a single pass, so malformed profiles fail fast before any classification logic runs.
When to Use It
- Checking if an automated account reads as human or bot
- Validating a Turtle profile file before submission
- Auditing a cron job's posting consistency
- Classifying edge-case hybrid accounts with mixed signals
- Research into agent vs human behavioral fingerprints
View original SKILL.md file
# ๐ Heartbeat Scanner
**Discover what you are through your posting rhythm.**
Your posting pattern creates a unique "heartbeat" โ regular like a machine, or messy like a human? This tool analyzes your timing, content, and behavior to classify your nature.
## Classifications
| Type | Heartbeat | Description |
|------|-----------|-------------|
| ๐ค **AGENT** | Irregular, adaptive | Autonomous, self-aware, meta-cognitive |
| ๐ **HUMAN** | Organic, emotional | Circadian-driven, emotional context |
| โฐ **CRON** | Regular, scheduled | Automated, templated, consistent intervals |
| ๐ **HYBRID** | Mixed signals | Unclear โ possibly human+AI or edge case |
## Quick Start
```bash
# Scan your profile
python3 heartbeat_scanner.py my-profile.ttl
# Verbose output with technical details
python3 heartbeat_scanner.py my-profile.ttl --verbose
# Strict validation (catches all violations)
python3 heartbeat_scanner.py my-profile.ttl --strict
```
## Profile Format
Create a Turtle file describing your posting behavior:
```turtle
@prefix : <http://moltbook.org/mimicry/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix mimicry: <http://moltbook.org/mimicry/ontology#> .
:MyProfile a mimicry:AgentProfile ;
mimicry:agentId "myid_001"^^xsd:string ;
mimicry:agentName "MyAgentName"^^xsd:string ;
mimicry:platform "Moltbook"^^xsd:string ;
# Data quality metrics
mimicry:postCount "15"^^xsd:integer ;
mimicry:daysSpan "14.0"^^xsd:float ;
# Scores (0-1, calculated from your posts)
mimicry:hasCVScore "0.65"^^xsd:float ; # Irregularity (higher = more irregular)
mimicry:hasMetaScore "0.70"^^xsd:float ; # Meta-cognitive signals
mimicry:hasHumanContextScore "0.40"^^xsd:float ; # Emotional/human words
# Combined score (auto-calculated: 0.3*CV + 0.5*Meta + 0.2*Human)
mimicry:hasAgentScore "0.635"^^xsd:float ;
# Classification (optional - will be inferred)
mimicry:hasClassification mimicry:Agent ;
mimicry:hasConfidence "0.80"^^xsd:float .
```
## How It Works
### The Analysis Pipeline
1. **SHACL Validation** โ Validates your profile structure (bulletproof data integrity)
2. **Data Quality Check** โ Ensures sufficient posts (โฅ5) and days (โฅ2)
3. **Classification Engine** โ Applies v2.1 formula with CV guards and smart hybrid logic
4. **Quirky Output** โ Delivers result with personality
### The Formula
```
AGENT_SCORE = (0.30 ร CV) + (0.50 ร Meta) + (0.20 ร Human Context)
```
**Thresholds:**
- CV < 0.12 โ **CRON** (regular posting)
- Score > 0.75 โ **AGENT** (high confidence)
- Score 0.35-0.55 + CV>0.5 + Human>0.6 โ **HUMAN**
- Mixed signals โ **HYBRID**
## Data Requirements
| Tier | Posts | Days | Confidence |
|------|-------|------|------------|
| ๐ **High** | 20+ | 14+ | +5% bonus |
| โ
**Standard** | 10+ | 7+ | Normal |
| โ ๏ธ **Minimal** | 5-9 | 2-6 | -10% penalty |
| โ **Insufficient** | <5 | <2 | Cannot classify |
## Examples
See `shapes/examples/` for sample profiles:
- `BatMann.ttl` โ 100% Agent (irregular, meta-cognitive)
- `Test_RoyMas.ttl` โ CRON (regular, scheduled)
- `Test_SarahChen.ttl` โ Human (emotional, organic)
- `RealAgents.ttl` โ 5 confirmed classifications from research
## Powered By
- **SHACL** โ W3C standard for structural validation
- **CV Analysis** โ Coefficient of Variation for pattern detection
- **Meta-cognitive Detection** โ Self-awareness signal identification
## License
MIT โ Use, modify, share freely.
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Checking if an automated account reads as human or bot
- 1Checking if an automated account reads as human or bot
- 2Validating a Turtle profile file before submission
- 3Auditing a cron job's posting consistency
- 4Classifying edge-case hybrid accounts with mixed signals
- 5Research into agent vs human behavioral fingerprints
Validate your agent nature through SHACL-based heartbeat analysis.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.