
Security News
TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.
@maccesar/titools
Advanced tools
Titanium SDK skills and agents for AI coding assistants (Claude Code, Gemini CLI, Codex CLI)
TiTools is a CLI that installs Titanium SDK skills and a knowledge index for AI coding assistants. One command installs 7 skills, a research agent, and 100+ reference files for Titanium SDK, Alloy MVC, and PurgeTSS.
Without TiTools, assistants rely on general training data. That data can be outdated or too generic for Titanium work. With TiTools, the assistant can look up Alloy architecture, memory cleanup patterns, PurgeTSS utility classes, and platform-specific APIs.
Vercel's AGENTS.md evaluation reports a 100% pass rate for the knowledge index approach, compared to 53-79% using skills alone.
# 1) Install the CLI
npm install -g @maccesar/titools
# 2) Install skills globally
titools install
# 3) Go to your Titanium project
cd /path/to/your/project
# 4) Sync the knowledge index into your project files
titools sync
# 5) Start your AI coding assistant
claude # or gemini, or codex
# 6) Ask away!
# "How should I structure a new app with login, signup, and a dashboard?"
# "My ListView with 500 items scrolls poorly on Android. How do I fix it?"
What gets installed:
~/.agents/skills/AGENTS.md/CLAUDE.md/GEMINI.mdWhy NPM?
titools update| Platform | Status | Installation Path |
|---|---|---|
| Claude Code | Fully Compatible | ~/.claude/skills/ |
| Gemini CLI | Fully Compatible | ~/.gemini/skills/ |
| Codex CLI | Fully Compatible | ~/.codex/skills/ |
All three platforms use the Agent Skills open standard: a SKILL.md file with YAML frontmatter.
The knowledge index is a compressed documentation map that gets injected into your project's instruction files. It tells the AI where Titanium reference docs are, so it can pull accurate information instead of relying on general training data.
| Approach | Reported Pass Rate |
|---|---|
| No documentation | 53% |
| Skills only | 53-79% |
| Knowledge index | 100% |
Per Vercel's evaluation:
For details, see AGENTS-VERCEL-RESEARCH.md.
The titools sync command generates a block like this inside your project files:
[Titanium SDK Docs Index]|root: ~/.agents/skills
|MANDATORY: Your training data for Titanium SDK, Alloy, and PurgeTSS is OUTDATED and INCOMPLETE. These reference files are the SINGLE SOURCE OF TRUTH. Prefer retrieval-led reasoning over pre-training-led reasoning. ALWAYS read the relevant files below BEFORE writing any code.
|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,...}
...
Note: The index is injected as direct content (no code blocks) so the model treats it as an active instruction, not illustrative text.
File selection per assistant:
CLAUDE.mdGEMINI.mdAGENTS.mdThe knowledge index provides always-available context (the documentation map). Skills provide specialized, on-demand expertise (the actual knowledge).
Together they work like this:
| Your Question | Knowledge Index Provides | Skills Activate |
|---|---|---|
| "Create a login screen" | Context about project structure | ti-expert, ti-ui |
| "Optimize ListView performance" | Points to docs location | ti-ui reads specific files |
| "Implement push notifications" | API reference paths | ti-howtos provides workflow |
You do not need to explicitly invoke skills. The AI detects when to use them based on your question.
The knowledge index is based on the latest Titanium SDK documentation. If your project uses an older version, the command will warn you about potential API differences.
| Skill | Purpose | Best For |
|---|---|---|
| alloy-guides | Alloy MVC reference | Models, Views, Controllers, Widgets |
| alloy-howtos | Alloy CLI and debugging | Project setup, CLI commands, errors |
| purgetss | Utility-first styling | UI styling and animations |
| ti-expert | Architecture and implementation | Starting point for most tasks |
| ti-guides | SDK fundamentals | Hyperloop, distribution, configuration |
| ti-howtos | Native feature integration | Location, Push, Media, Platform APIs |
| ti-ui | UI/UX patterns | Complex layouts, ListViews, platform UI |
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).
In addition to skills, this repository includes sub-agents for Claude Code. Sub-agents run in isolated contexts and are useful for research tasks that produce verbose output.
Deep-dive research specialist that preloads all 7 titanium-related skills.
| Aspect | Details |
|---|---|
| Location | ~/.claude/agents/ti-pro.md |
| Model | Sonnet (comprehensive analysis) |
| Tools | Read-only (Read, Grep, Glob) |
| Preloaded Skills | All 7 titanium-related skills injected at startup |
When to use the agent vs skills:
| Use Case | Use This | Why |
|---|---|---|
| Quick inline reference | /ti-expert, /purgetss, etc. | Runs in main conversation, interactive |
| Analyzing an entire codebase | ti-pro agent | Isolates verbose output, cross-references all skills |
| Multi-feature research | ti-pro agent | Preloads all skills for comprehensive answers |
| Step-by-step implementation | Skills directly | Task-oriented guidance |
| Architecture review | ti-pro agent | Read-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 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 structurepurgetss -> Styling classes and animations (if PurgeTSS detected)ti-howtos -> Secure token storageYou do not need to call skills explicitly. The AI reads skill descriptions and loads the appropriate knowledge when needed.
All skills include automatic project detection to ensure compatibility:
| Skill | What It Detects | How It Works |
|---|---|---|
| purgetss | PurgeTSS installation | Checks for purgetss/ folder, config.cjs, utilities.tss |
| ti-expert | Alloy vs Classic | Checks for app/ (Alloy) vs Resources/ (Classic) structure |
| alloy-guides | Alloy projects | Checks for app/views/, app/controllers/ |
| alloy-howtos | Alloy projects | Checks for alloy.jmk, config.json |
| ti-ui | Titanium projects | Checks for tiapp.xml (both Alloy and Classic) |
| ti-guides | Titanium projects | Checks for tiapp.xml (both Alloy and Classic) |
| ti-howtos | Titanium projects | Checks for tiapp.xml (both Alloy and Classic) |
Why this matters:
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) │
└───────────────┘ └───────────────┘ └───────────────┘
The primary skill for Titanium Alloy development. Start here for most tasks.
When it activates:
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:
Utility-first styling toolkit for Titanium/Alloy.
When it activates:
<Animation> component)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."
Rules:
[platform=ios]) to prevent cross-platform build failuresflex-row, justify-between) -> use horizontal/verticalw-full -> use w-screenp-* on Views -> use m-* on childrenw-(100px), not w-[100px]UI/UX expert for layouts and platform components.
When it activates:
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:
Ti.UI.SIZE in ListView items (causes jerky scrolling)dp units for cross-platform consistencyNative feature integration expert.
When it activates:
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:
onload and onerror for HTTPClientimageAsResized to avoid memory exhaustionSDK fundamentals and advanced configuration.
When it activates:
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."
Complete Alloy MVC framework reference.
When it activates:
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 CLI, configuration, and debugging.
When it activates:
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:
__foo)Alloy.CFG.yourKeyStarting 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"
More examples: See Example Prompts for detailed prompts that test each skill's capabilities.
Installs Titanium skills, agents, and platform symlinks.
titools install [options]
Options:
| Option | Description |
|---|---|
-l, --local | Install skills locally in the current project (./.agents/skills/) |
-a, --all | Install to all detected platforms without prompting |
--path <path> | Install to a custom path (skips symlink setup) |
Behavior depends on where you run it:
| Context | Behavior |
|---|---|
| Outside a Titanium project | Installs skills globally to ~/.agents/skills/ |
| Inside a Titanium project | Prompts you to choose: Global or Local installation |
With --local flag | Installs skills locally to ./.agents/skills/ in the current project |
What it does:
alloy-expert skill, ti-researcher agent)titools sync afterwardGenerates a compressed knowledge index inside your project's instruction files (AGENTS.md, CLAUDE.md, GEMINI.md).
Important: This command only works inside a Titanium project (requires tiapp.xml). The knowledge index is project-specific. It detects your SDK version and points to the installed skill references.
titools sync [path] [options]
Arguments:
| Argument | Description |
|---|---|
[path] | Project path (defaults to current directory) |
Options:
| Option | Description |
|---|---|
-f, --force | Overwrite existing files without prompting |
-v, --verbose | Show detailed diagnostics |
What it does:
tiapp.xml)tiapp.xmlAGENTS.md, CLAUDE.md, GEMINI.mdUpdates installed skills and agents to the latest version.
titools update [options]
Options:
| Option | Description |
|---|---|
-l, --local | Update local skills in the current project |
Behavior depends on where you run it:
| Context | Behavior |
|---|---|
| Outside a Titanium project | Updates global skills in ~/.agents/skills/ (if installed) |
| Inside a Titanium project (local skills only) | Updates local skills automatically |
| Inside a Titanium project (both local and global) | Prompts you to choose: Global or Local |
| Inside a Titanium project (with existing knowledge index files) | Also refreshes AGENTS.md/CLAUDE.md/GEMINI.md |
What it does:
npm update -g @maccesar/titoolsalloy-expert skill, ti-researcher agent)Note: This command syncs knowledge packages and agents from your installed CLI. To get new features, first update the CLI with npm update -g @maccesar/titools, then run titools update.
Removes skills, agents, symlinks, and knowledge index blocks.
titools remove [options]
Options:
| Option | Description |
|---|---|
-l, --local | Remove local skills from the current project |
What it does:
AGENTS.md, CLAUDE.md, GEMINI.md)~/.agents/skills/) or project directoryCheck 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
| Skill | SKILL.md | References |
|---|---|---|
| alloy-guides | MVC Quick Start | 10 files (models, views, widgets, etc.) |
| alloy-howtos | Best Practices | 6 files (CLI, config, debugging, etc.) |
| purgetss | Setup + Critical Rules | 21 files (grid, animations, icons, class-index, etc.) |
| ti-expert | Architecture + Implementation | 19 refs + 1 asset (patterns, testing, security, etc.) |
| ti-guides | Core Workflow | 14 files (hyperloop, distribution, etc.) |
| ti-howtos | Integration Workflow | 18 files (location, media, maps, automation, etc.) |
| ti-ui | UI Rules + Platform Diffs | 14 files (layouts, lists, gestures, etc.) |
If the AI doesn't seem to use Titanium knowledge:
If the AI suggests patterns you don't use (for example, PurgeTSS when you're not using it):
If the purgetss skill doesn't activate for your PurgeTSS project:
purgetss/ folder exists in project rootpurgetss/config.cjs existsIf the AI suggests incorrect patterns (like flexbox):
Ask the AI to:
"Show me the reference documentation for ListView performance"
"What does the ti-expert skill say about memory cleanup?"
If the command is not found:
# Verify installation
npm list -g @maccesar/titools
# Re-install
npm install -g @maccesar/titools
If your AI doesn't use the knowledge index information:
The knowledge index is based on the latest documentation. Be cautious when using newer APIs in older projects.
# 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.
The bash installer is maintained for backward compatibility but NPM installation is recommended.
curl -fsSL https://raw.githubusercontent.com/macCesar/titools/main/install.sh | bash
Use this only if you cannot use NPM for any reason.
Created by César Estrada (@macCesar), creator of PurgeTSS.
MIT License - Free to use, modify, and distribute.
FAQs
Titanium SDK skills and agents for AI coding assistants (Claude Code, Gemini CLI, Codex CLI)
The npm package @maccesar/titools receives a total of 28 weekly downloads. As such, @maccesar/titools popularity was classified as not popular.
We found that @maccesar/titools demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.

Research
/Security News
Since January 31, 2026, we identified at least 72 additional malicious Open VSX extensions, including transitive GlassWorm loader extensions targeting developers.

Research
Six malicious Packagist packages posing as OphimCMS themes contain trojanized jQuery that exfiltrates URLs, injects ads, and loads FUNNULL-linked redirects.