You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@maccesar/titools

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@maccesar/titools

Titanium SDK skills and agents for AI coding assistants (Claude Code, Gemini CLI, Codex CLI)

Source
npmnpm
Version
2.2.0
Version published
Weekly downloads
42
16.67%
Maintainers
1
Weekly downloads
 
Created
Source

titools - Titanium CLI for AI Coding Assistants

A comprehensive CLI that transforms your coding assistant into a Titanium SDK expert. Install skills, agents, and documentation for Titanium SDK, Alloy MVC, and PurgeTSS development.

Compatible Platforms

PlatformStatusInstallation Path
Claude Code✅ Fully Compatible~/.claude/skills/
Gemini CLI✅ Fully Compatible~/.gemini/skills/
Codex CLI✅ Fully Compatible~/.codex/skills/

All three platforms use the same Agent Skills open standard: a SKILL.md file with YAML frontmatter.

Quick Install

npm install -g @maccesar/titools

This installs the titools CLI command globally:

# Install knowledge packages and platform links
titools install

# Sync knowledge index files in your project
titools sync

# Update knowledge packages and agent (and refresh existing knowledge index files)
titools update

# Show version
titools --version

What it installs:

  • ✅ All 7 titanium-* skills
  • ✅ ti-pro agent
  • ✅ Automatic documentation generation

Why use NPM?

  • ✅ Cross-platform support (macOS, Linux, Windows)
  • ✅ No sudo required
  • ✅ Easy version management
  • ✅ Simple updates with titools update

Usage

titools install

Installs Titanium knowledge packages and platform links.

titools install [options]

Options:

OptionDescription
-l, --localInstall skills locally in the current project (./.agents/skills/)
-a, --allInstall to all detected platforms without prompting
--path <path>Install to a custom path (skips symlink setup)

What it does:

  • ✅ Installs all 7 titanium-* skills (global or local)
  • ✅ Installs ti-pro agent for Claude Code
  • ✅ Creates symlinks from platform directories to central skills
  • ✅ Detects installed AI platforms and lets you choose which to link
  • ✅ Cleans up legacy artifacts (alloy-expert skill, ti-researcher agent)
  • ✅ If run inside a Titanium project, prompts to sync knowledge index files
  • ✅ Warns Gemini users if local skills override existing global Gemini skills

Run inside a Titanium project to install locally or globally from anywhere.

Start in a Titanium project so the instruction files can be created/updated:

# 1) Create a Titanium project
ti create

# 2) Enter the project
cd /path/to/your/project

# 3) Install knowledge packages (global or local)
titools install

# 4) Sync knowledge index files (AGENTS.md/CLAUDE.md/GEMINI.md)
titools sync

titools sync

Updates the Titanium knowledge index inside your project's instruction files.

titools sync [path] [options]

Arguments:

ArgumentDescription
[path]Project path (defaults to current directory)

Options:

OptionDescription
-f, --forceOverwrite existing files without prompting
-v, --verboseShow detailed diagnostics

What it does:

  • Detects Titanium SDK version from tiapp.xml
  • Prompts you to select which files to sync: AGENTS.md, CLAUDE.md, GEMINI.md
  • Inserts or updates a compressed knowledge index block in selected files
  • Removes knowledge blocks from unselected files
  • Creates files if they don't exist
  • Only works inside a Titanium project (requires tiapp.xml)

titools update

Updates installed knowledge packages and agent to the latest version.

titools update [options]

Options:

OptionDescription
-l, --localUpdate local skills in the current project

What it does:

  • Checks GitHub for the latest version
  • Downloads and installs updated skills and agents
  • Updates platform symlinks for all detected platforms
  • Cleans up legacy artifacts (alloy-expert skill, ti-researcher agent)
  • Auto-syncs knowledge index files in Titanium projects
  • If only local or global skills exist, updates that location automatically
  • If both exist, prompts you to choose

Note: This updates knowledge packages/agent and refreshes existing knowledge index files, not the CLI binary itself. To update the CLI, use npm update -g @maccesar/titools.

titools remove

Removes knowledge packages, agents, symlinks, and knowledge index blocks.

titools remove [options]

Options:

OptionDescription
-l, --localRemove local skills from the current project

What it does:

  • Detects all installed components (skills, agents, symlinks, knowledge blocks)
  • Prompts you to select what to remove:
    • ti-pro agent for Claude Code
    • Knowledge index blocks from instruction files (AGENTS.md, CLAUDE.md, GEMINI.md)
    • Skills from global (~/.agents/skills/) or project directory
    • Platform symlinks from global or project directory
  • Removes both current and legacy artifacts

Verify Installation

Check titools version:

titools --version

Check central location (global install):

ls ~/.agents/skills/
# Should show: ti-expert, purgetss, ti-ui, ti-howtos, ti-guides, alloy-guides, alloy-howtos

Claude Code (skills):

ls -la ~/.claude/skills/
# Should show symlinks pointing to ~/.agents/skills/

Claude Code (agents):

ls -la ~/.claude/agents/
# Should show: ti-pro.md

Gemini CLI:

gemini skills list

Codex CLI:

# Type /skills in Codex or use $ to mention a skill

Knowledge Index: Boost AI Performance

File selection per assistant:

  • Claude Code → CLAUDE.md
  • Gemini CLI → GEMINI.md
  • Codex CLI / others → AGENTS.md

Run this inside your Titanium project:

cd /path/to/your/titanium/project
titools sync

How the Knowledge Index Works

ApproachReported Pass Rate
No documentation53%
Skills only53-79%
Knowledge index100%

Why it works (per Vercel’s evaluation):

  • No decision point - Information is always present, no need to invoke skills
  • Consistent availability - Available in every turn, not async-loaded
  • No ordering issues - No "read docs first vs explore project first" dilemma

For details, see AGENTS-VERCEL-RESEARCH.md.

How to Sync the Knowledge Index

The titools sync command will:

  • Verify this is a Titanium project (checks for tiapp.xml)
  • Detect your Titanium SDK version
  • Update AGENTS.md/CLAUDE.md/GEMINI.md with a compressed knowledge index
  • Intelligently merge if file already exists (removes old block, adds new one)

Selection behavior: The command lets you choose which instruction files to sync and preselects any files that already contain a knowledge block.

What the Knowledge Index Contains

[Titanium SDK Docs Index]|root: ~/.agents/skills
|ti-expert/references:{alloy-structure.md,anti-patterns.md,...}
|purgetss/references:{animation-system.md,class-index.md,...}
|ti-ui/references:{layouts-and-positioning.md,listviews-and-performance.md,...}
...

The index points to all reference documentation, so your AI assistant can quickly retrieve accurate information without relying on potentially outdated training data.

Version Notice

The knowledge index is based on the latest Titanium SDK documentation. If your project uses an older version, the command will detect and warn you about potential API differences.

How to Use the Knowledge Index

Once installed, the AI assistant automatically reads the documentation index in every conversation. Just ask natural questions about Titanium development:

Example Prompts

General Architecture:

"How should I structure a new Alloy app with authentication?"
"What’s a solid pattern for navigation between screens?"

PurgeTSS Styling:

"Can you create a product card with PurgeTSS (image, title, price, buy button)?"
"How do I use the 12‑column grid system in PurgeTSS?"
"Explain why my build fails with platform‑specific properties."

UI Components:

"How do I build a high‑performance ListView with custom templates?"
"Implement pull‑to‑refresh on a ScrollView."

Native Features:

"How do I implement push notifications for iOS and Android?"
"Handle GPS location in the background."

Debugging:

"Why is my ListView scrolling poorly?"
"Fix “Alloy is not defined” in my lib file."

How Skills Work with the Knowledge Index

The knowledge index provides always-available context (the documentation index). Skills provide specialized, on-demand expertise.

Together they work seamlessly:

Your QuestionKnowledge Index ProvidesSkills Activate
"Create a login screen"Context about project structureti-expert, ti-ui
"Optimize ListView performance"Points to docs locationti-ui reads specific files
"Implement push notifications"API reference pathsti-howtos provides workflow

You don't need to explicitly invoke skills - the AI detects when to use them based on your question.

Skills Overview

SkillPurposeBest For
ti-expertArchitecture + ImplementationStarting point for most tasks
purgetssUtility-first stylingUI styling and animations
ti-uiUI/UX patternsComplex layouts, ListViews, platform UI
ti-howtosNative feature integrationLocation, Push, Media, Platform APIs
ti-guidesSDK fundamentalsHyperloop, distribution, configuration
alloy-guidesAlloy MVC referenceModels, Views, Controllers, Widgets
alloy-howtosAlloy CLI & debuggingProject setup, CLI commands, errors

Note: ti-guides, ti-howtos, ti-ui, alloy-guides, and alloy-howtos are based on official Titanium SDK and Alloy documentation. ti-expert and purgetss are opinionated and reflect personal coding conventions (biased toward PurgeTSS).

Agents (Claude Code Only)

In addition to skills, this repository includes sub-agents for Claude Code. Sub-agents run in isolated contexts and are ideal for research tasks that produce verbose output.

ti-pro

Deep-dive research specialist that preloads all 7 titanium-* skills.

AspectDetails
Location~/.claude/agents/ti-pro.md
ModelSonnet (comprehensive analysis)
ToolsRead-only (Read, Grep, Glob)
Preloaded SkillsAll 7 titanium-* skills injected at startup

When to use the agent vs skills:

Use CaseUse ThisWhy
Quick inline reference/ti-expert, /purgetss, etc.Runs in main conversation, interactive
Analyzing an entire codebaseti-pro agentIsolates verbose output, cross-references all skills
Multi-feature researchti-pro agentPreloads all skills for comprehensive answers
Step-by-step implementationSkills directlyTask-oriented guidance
Architecture reviewti-pro agentRead-only analysis across all documentation

Example prompts for the agent:

"Can you use the ti-pro agent to analyze this Alloy codebase’s architecture?"
"Can you research how to combine location, push, and background sync in Titanium?"
"Can you compare ListView vs TableView performance for my use case?"
"Review this Titanium mobile app and identify anti‑patterns."

Tip: For automatic activation, include words like "Titanium", "Alloy", or "mobile app" in your prompt to ensure the specialized agent is used instead of generic code analysis.

Key difference:

  • Skills = Interactive help during development (inline, conversational)
  • Agents = Isolated research tasks (returns summary, keeps verbose output separate)

How Skills Work

Skills are automatically activated based on your questions. Just ask naturally:

"Can you create a login screen with email validation and animations?"

The AI will automatically use:

  • ti-expert → Architecture and controller structure
  • purgetss → Styling classes and animations (if PurgeTSS detected)
  • ti-howtos → Secure token storage

You don't need to call skills explicitly - the AI reads skill descriptions and loads the appropriate knowledge when needed.

Project Detection

All skills now include automatic project detection to ensure compatibility:

SkillWhat It DetectsHow It Works
purgetssPurgeTSS installationChecks for purgetss/ folder, config.cjs, utilities.tss
ti-expertAlloy vs ClassicChecks for app/ (Alloy) vs Resources/ (Classic) structure
alloy-guidesAlloy projectsChecks for app/views/, app/controllers/
alloy-howtosAlloy projectsChecks for alloy.jmk, config.json
ti-uiTitanium projectsChecks for tiapp.xml (both Alloy & Classic)
ti-guidesTitanium projectsChecks for tiapp.xml (both Alloy & Classic)
ti-howtosTitanium projectsChecks for tiapp.xml (both Alloy & Classic)

Why this matters:

  • PurgeTSS suggestions are only provided if PurgeTSS is installed
  • Alloy-specific patterns are only suggested for Alloy projects
  • Classic Titanium projects won't receive inappropriate Alloy advice

Skill Hierarchy

ti-expert acts as the orchestrator, delegating to specialized skills when needed:

                    ┌─────────────────┐
                    │  ti-expert      │
                    │  (Start Here)   │
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        │                    │                    │
        ▼                    ▼                    ▼
┌───────────────┐   ┌───────────────┐   ┌───────────────┐
│   purgetss    │   │    ti-ui      │   │   ti-howtos   │
│   (Styling)   │   │   (UI/UX)     │   │   (Native)    │
└───────────────┘   └───────────────┘   └───────────────┘
        │                    │                    │
        └────────────────────┼────────────────────┘
                             │
        ┌────────────────────┼────────────────────┐
        │                    │                    │
        ▼                    ▼                    ▼
┌───────────────┐   ┌───────────────┐   ┌───────────────┐
│  ti-guides    │   │ alloy-guides  │   │ alloy-howtos  │
│    (SDK)      │   │    (MVC)      │   │    (CLI)      │
└───────────────┘   └───────────────┘   └───────────────┘

Skill Details

ti-expert

The primary skill for Titanium Alloy development. Start here for most tasks.

When it activates:

  • Designing project structure
  • Implementing controllers, views, services
  • Choosing data strategies (Models vs Collections)
  • Writing clean ES6+ code
  • Memory management and cleanup patterns
  • Performance optimization
  • Security patterns
  • Migrating legacy apps

Example prompts:

"How should I structure a new Titanium Alloy app with authentication?"
"Create a user service that fetches data from an API."
"What’s the best pattern for navigation between screens?"
"Prevent memory leaks in my controllers."
"Migrate classic Titanium code to modern Alloy patterns."
"What’s a clean way to organize services in an Alloy app?"

Key features:

  • Quick decision matrix for common questions
  • 18 reference guides for deep dives
  • Delegates to specialized skills when needed

purgetss

Utility-first styling toolkit for Titanium/Alloy.

When it activates:

  • Setting up PurgeTSS in a project
  • Complex layouts (Grid system)
  • Declarative animations (<Animation> component)
  • Icon fonts (Font Awesome, Material Icons)
  • Custom color palettes
  • Platform-specific styling
  • config.cjs configuration

Example prompts:

"How do I set up PurgeTSS in my existing Alloy project?"
"Create a responsive 12‑column grid layout."
"Add a fade‑in animation when my view appears."
"How do I configure custom colors in config.cjs?"
"How do I use Font Awesome 7 icons?"
"Style this button differently on iOS vs Android."

Critical rules:

  • Platform-specific properties REQUIRE modifiers (e.g., [platform=ios]) to prevent cross-platform build failures
  • NO flexbox (flex-row, justify-between) → use horizontal/vertical
  • NO w-full → use w-screen
  • NO p-* on Views → use m-* on children
  • Arbitrary values use parentheses: w-(100px), NOT w-[100px]

ti-ui

UI/UX expert for layouts and platform components.

When it activates:

  • Layout systems (composite, vertical, horizontal)
  • ListView/TableView optimization
  • Event handling and bubbling
  • Animations and transforms
  • Gestures (swipe, pinch, longpress)
  • Orientation handling
  • App icons and splash screens
  • Android Action Bar / iOS Navigation patterns
  • Accessibility (VoiceOver, TalkBack)

Example prompts:

"How do I create a high‑performance ListView with custom templates?"
"Handle swipe gestures on table rows."
"Set up app icons for all iOS and Android densities."
"Implement pull‑to‑refresh on a ScrollView."
"How do I make my app accessible for VoiceOver users?"
"How do I configure the Android Action Bar with custom menu items?"

Key rules:

  • NO Ti.UI.SIZE in ListView items (causes jerky scrolling)
  • Prefer ListView over TableView for large datasets
  • Use dp units for cross-platform consistency
  • Remove global listeners on pause

ti-howtos

Native feature integration expert.

When it activates:

  • Location services and Maps
  • Push notifications (APNs/FCM)
  • Local notifications
  • Camera and Gallery
  • Audio/Video playback
  • File system operations
  • SQLite databases
  • HTTPClient networking
  • WebView integration
  • Android Intents and Services
  • iOS Background Services, iCloud, Keychain
  • Core Motion, WatchKit

Example prompts:

"How do I implement battery‑efficient GPS tracking?"
"How do I set up push notifications for iOS and Android?"
"How do I capture and resize photos from the camera?"
"Download files with a progress indicator."
"How should I store sensitive data in iOS Keychain?"
"Create an Android background service."
"Integrate with Apple Watch using WatchKit."
"Handle background location updates on iOS."

Key rules:

  • Always handle both onload and onerror for HTTPClient
  • Always close database handles and result sets
  • Use imageAsResized to avoid memory exhaustion
  • Configure proper permissions in tiapp.xml

ti-guides

SDK fundamentals and advanced configuration.

When it activates:

  • Hyperloop native access
  • Native module development
  • App distribution (Play Store, App Store)
  • tiapp.xml configuration
  • CLI commands and options
  • Memory and bridge optimization
  • CommonJS module patterns
  • Coding best practices

Example prompts:

"How do I access native iOS APIs using Hyperloop?"
"Configure tiapp.xml for a production build."
"What do I need for Google Play submission?"
"How do I create a native Android module?"
"Optimize bridge crossings for better performance."
"List reserved words I should avoid."

alloy-guides

Complete Alloy MVC framework reference.

When it activates:

  • MVC architecture concepts
  • Backbone.js models and collections
  • Data binding patterns
  • XML markup elements
  • TSS styling syntax
  • Widget development
  • Sync adapters (sql, properties)
  • Migrations

Example prompts:

"Explain how Alloy data binding works."
"How do I create a model with the SQLite adapter?"
"Bind a collection to a TableView."
"How do I build a reusable widget?"
"Show the TSS syntax for platform‑specific styles."
"How does the Alloy compilation process work?"

alloy-howtos

Alloy CLI, configuration, and debugging.

When it activates:

  • Alloy CLI commands (new, generate, compile)
  • Configuration files (alloy.jmk, config.json)
  • Debugging compilation errors
  • Conditional views
  • Custom XML tags
  • Best practices and naming conventions
  • Backbone.Events patterns

Example prompts:

"How do I generate a new model with the CLI?"
"Configure alloy.jmk build hooks."
"How do I fix “No app.js found”?"
"Create conditional views based on user state."
"How do I build a custom XML tag without widgets?"
"Set up Backbone.Events for global communication."

Key rules:

  • Use Backbone.Events instead of Ti.App.fireEvent
  • Never use double underscore prefixes (__foo)
  • Access config at runtime with Alloy.CFG.yourKey

Usage Examples

Starting a New Project

"I'm starting a new Titanium Alloy app for a food delivery service.
Can you help me set up the project structure?"

UI Development

"Can you create a product listing screen with:
- Pull-to-refresh
- Infinite scroll pagination
- Image caching
- Swipe-to-delete"

API Integration

"Can you build a complete authentication flow with:
- Login/Register screens
- JWT token management
- Secure storage
- Auto-refresh tokens"

Performance Optimization

"My app is slow — the ListView scrolls poorly and memory usage is high. How do I optimize it?"

Migration

"I have a legacy Titanium classic app from 2015. Can you help me migrate it to modern Alloy?"

Platform-Specific Features

"How do I implement Apple Sign‑In for iOS and Google Sign‑In for Android?"

Debugging

"How do I fix “Alloy is not defined” in my lib file?"

Codebase Analysis (Using Agent)

"Use the ti-pro agent to analyze this project and:
- review the overall architecture
- identify memory leak patterns
- check for common anti‑patterns
- suggest improvements"

Best Practices

1. Be Specific

Instead of: "Make a list" Try: "Can you create a ListView with user avatars, names, and swipe actions?"

2. Provide Context

Instead of: "How do I fix this error?" Try: "I'm getting this error when compiling: [error message]. Here's my code: [code]"

3. Ask for Architecture First

For complex features, start with: "How should I architect a real-time chat feature?" Then follow up with implementation details.

4. Mention Constraints

"Build a settings screen. Must work offline and sync when connected."

5. Reference Existing Code

"Here's my current controller. How can I improve memory management?"

More examples: See Example Prompts for detailed prompts that test each skill's capabilities.

Skill Contents Summary

SkillSKILL.mdReferences
ti-expertArchitecture + Implementation19 refs + 1 asset (patterns, testing, security, etc.)
purgetssSetup + Critical Rules21 files (grid, animations, icons, class-index, etc.)
ti-uiUI Rules + Platform Diffs14 files (layouts, lists, gestures, etc.)
ti-howtosIntegration Workflow18 files (location, media, maps, automation, etc.)
ti-guidesCore Workflow14 files (hyperloop, distribution, etc.)
alloy-guidesMVC Quick Start10 files (models, views, widgets, etc.)
alloy-howtosBest Practices6 files (CLI, config, debugging, etc.)

Troubleshooting

Skill Not Activating?

If the AI doesn't seem to use Titanium knowledge:

  • Mention "Titanium" or "Alloy" explicitly in your prompt
  • Be more specific about what you're building
  • Reference the technology stack
  • Try explicit invocation: "Use the purgetss skill for styling questions"

Getting Wrong Suggestions?

If the AI suggests patterns you don't use (e.g., PurgeTSS when you're not using it):

  • The skill may not have detected your project type correctly
  • Explicitly mention your stack: "I'm using Classic Titanium, not Alloy"
  • Be more specific about what you're building

PurgeTSS Not Detected?

If the purgetss skill doesn't activate for your PurgeTSS project:

  • Verify purgetss/ folder exists in project root
  • Check that purgetss/config.cjs exists
  • Mention "PurgeTSS" explicitly in your prompt

Wrong Advice?

If the AI suggests incorrect patterns (like flexbox):

  • Remind it you're using PurgeTSS
  • Reference the correct pattern from memory
  • Ask to check the PurgeTSS rules

Need More Detail?

Ask the AI to:

"Show me the reference documentation for ListView performance"
"What does the ti-expert skill say about memory cleanup?"

titools command not found?

If the command is not found:

# Verify installation
npm list -g @maccesar/titools

# Re-install
npm install -g @maccesar/titools

Knowledge index not working?

If your AI doesn't use the knowledge index information:

  • Verify AGENTS.md/CLAUDE.md/GEMINI.md exists in your project root
  • Check that your AI supports these files
  • Try explicitly referencing: "Check the AGENTS.md documentation"

Version mismatch warning?

The knowledge index is based on the latest documentation. Be cautious when using newer APIs in older projects.

Uninstall

# Remove the CLI
npm uninstall -g @maccesar/titools

# Remove knowledge packages and agent
titools remove

Note: titools remove can remove the knowledge index blocks from your project files, but it does not delete the files themselves.

Contributing

  • Fork the repository
  • Improve SKILL.md or reference files
  • Test with your preferred AI coding assistant
  • Submit a pull request

Guidelines

  • Keep SKILL.md concise (<500 lines)
  • Use progressive disclosure (details in references)
  • Include concrete examples
  • Test with real sessions

The bash installer is maintained for backward compatibility but NPM installation is strongly recommended.

curl -fsSL https://raw.githubusercontent.com/macCesar/titools/main/install.sh | bash

Use this only if you cannot use NPM for any reason.

Credits

Created by César Estrada (@macCesar), creator of PurgeTSS.

License

MIT License - Free to use, modify, and distribute.

Resources

Keywords

titanium

FAQs

Package last updated on 02 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts