cordova

Apache Cordova hybrid mobile framework. Use for hybrid apps.

7 stars

Best use case

cordova is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Apache Cordova hybrid mobile framework. Use for hybrid apps.

Teams using cordova should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cordova/SKILL.md --create-dirs "https://raw.githubusercontent.com/G1Joshi/Agent-Skills/main/skills/mobile/cordova/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cordova/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cordova Compares

Feature / AgentcordovaStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Apache Cordova hybrid mobile framework. Use for hybrid apps.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Cordova

Apache Cordova (formerly PhoneGap) wraps HTML/CSS/JS apps in a native WebView container. While largely superseded by Capacitor and React Native, it remains active (CLI 13.x) for specific legacy use cases.

## When to Use

- Maintaining long-standing legacy hybrid applications.
- Need an extremely thin wrapper around a pure web app with minimal native plugin interaction.
- **Recommendation**: New projects should use **Capacitor** (which is backward compatible with many Cordova plugins).

## Quick Start

```bash
npm install -g cordova
cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android
cordova platform add ios
cordova run android
```

## Core Concepts

### Deviceready Event

The most critical event. You cannot call any native plugins until this fires.

```javascript
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  console.log("Running cordova-" + cordova.platformId);
}
```

### config.xml

The central configuration file for build settings, permissions, and plugin declarations.

### Plugins

Interfaces to native code.

- `cordova-plugin-camera`, `cordova-plugin-device`, etc.

## Common Patterns

### Migration to Capacitor

Many teams use Capacitor as a drop-in replacement runner for Cordova apps to modernize the buildstack while keeping the frontend code.

```bash
npm install @capacitor/cli @capacitor/core
npx cap init
# Capacitor automatically reads config.xml and supports most Cordova plugins
```

## Best Practices

**Do**:

- Use **Capacitor** if possible, even for Cordova projects.
- Keep the `www` folder stateless (build artifacts).
- Use `Content-Security-Policy` meta tags strictly to prevent XSS.

**Don't**:

- Don't edit `platforms/` directory directly (it gets overwritten).
- Don't assume WebView performance matches native; optimize DOM manipulation.

## Troubleshooting

| Error                    | Cause                                        | Solution                                                      |
| :----------------------- | :------------------------------------------- | :------------------------------------------------------------ |
| `deviceready not firing` | JS error before event or missing cordova.js. | Check console; ensure `cordova.js` is included in index.html. |
| `White Screen`           | CSP blocking scripts or syntax error.        | Check `Content-Security-Policy` and remote debugging.         |
| `Gradle build failed`    | Java/Gradle version mismatch.                | Check `cordova requirements android` output.                  |

## References

- [Apache Cordova Docs](https://cordova.apache.org/docs/en/latest/)
- [Migrating from Cordova to Capacitor](https://capacitorjs.com/docs/cordova/migrating)