# Send OpenTangl to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "opentangl",
    "name": "OpenTangl",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/8co/opentangl",
    "canonicalUrl": "https://clawhub.ai/8co/opentangl",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/opentangl",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opentangl",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "opentangl",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T23:36:54.113Z",
      "expiresAt": "2026-05-09T23:36:54.113Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opentangl",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opentangl",
        "contentDisposition": "attachment; filename=\"opentangl-0.1.10.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "opentangl"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/opentangl"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/opentangl",
    "downloadUrl": "https://openagent3.xyz/downloads/opentangl",
    "agentUrl": "https://openagent3.xyz/skills/opentangl/agent",
    "manifestUrl": "https://openagent3.xyz/skills/opentangl/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/opentangl/agent.md"
  }
}
```
## Documentation

### OpenTangl

Configure a self-driving development loop for any JavaScript/TypeScript project. This skill detects your project setup, generates configuration files, and prepares OpenTangl to run autonomously.

Follow these steps in order. Complete each step fully before moving to the next. Wait for user confirmation at every gate before proceeding. Do not skip steps or combine them — the user needs to complete actions on their end between steps.

### Prerequisites

The user must have OpenTangl cloned and installed before using this skill. If they haven't, provide these commands for them to run:

git clone https://github.com/8co/opentangl.git
cd opentangl
npm install

Do not run these commands on the user's behalf. Wait for confirmation that OpenTangl is installed.

Once confirmed, verify the required tools are present. Run each check and report the results:

Node.js ≥ 18 — run node --version and show the output
git — run git --version and show the output
GitHub CLI — run gh auth status and show the output (needed for PR creation and merging)

Report all results to the user. If anything is missing, tell them exactly how to install it and stop until resolved.

### Step 1 — Determine the Target Project

Ask the user:

Are you improving (a) an existing project, or (b) starting from scratch?

### Path A: Existing Project

Ask: "Where is your project?" Accept a path. If they say "this directory," use cwd.
Tell the user you'll read config files in their project directory to detect the setup. Only inspect files in the directory the user provided — do not scan outside it. Check:

Type: tsconfig.json → TypeScript, vite.config.ts → Vite, next.config.* → Next.js, serverless.yml → Serverless
Package manager: package-lock.json → npm, yarn.lock → yarn, pnpm-lock.yaml → pnpm
Build/test commands: Read package.json scripts for build, test, lint, typecheck
Source dirs: Default to src/ if it exists
Target branch: Check git symbolic-ref refs/remotes/origin/HEAD or look for main vs master


Show everything you detected and confirm with the user before proceeding.
Ask: "Are there other repos that are part of this same product?" If yes, repeat detection for each.

### Path B: New Project

Tell the user to scaffold and initialize their project before continuing. Suggest the appropriate tool based on what they want to build:

React + Vite: npm create vite@latest {name} -- --template react-ts
Next.js: npx create-next-app@latest {name} --typescript
Express: create package.json + src/index.ts manually

They should also initialize git and create a GitHub repo:

cd {name}
git init && git add . && git commit -m "Initial scaffold"
gh repo create {name} --public --source . --push

Do not run these commands on the user's behalf. Once they confirm the project exists with a GitHub remote, continue.

### Step 2 — Generate projects.yaml

Create projects.yaml in the OpenTangl root directory. Each project entry needs:

projects:
  - id: my-app                          # Short kebab-case ID (used in CLI flags)
    name: my-app                        # Human-readable name
    path: ../my-app                     # Relative path from OpenTangl root to the project
    type: react-vite                    # Project type (see below)
    description: React dashboard app    # One-line description
    scan_dirs:
      - src                             # Directories containing source code
    skip_patterns:
      - node_modules
      - dist
      - "*.test.*"
    verify:                             # Commands that must pass before committing
      - command: npm
        args: [run, build]
    package_manager: npm                # npm | yarn | pnpm
    merge:
      target_branch: main               # Branch PRs merge into

Supported types: typescript-node, serverless-js, serverless-ts, react-vite, react-next, express (or any descriptive string).

For multi-project setups, add an environment field to group related projects under a shared vision:

- id: my-api
    environment: my-product
    # ...
  - id: my-frontend
    environment: my-product
    # ...

### Step 3 — Create the Vision Doc

Create docs/environments/{environment}/product-vision.md (use the project id as environment name for single projects, or the environment field for multi-project).

The vision doc has two sections:

### Origin & Direction (human-authored, never modified by OpenTangl)

Ask the user to describe:

What This Is — 2-3 sentences about the project
Where It's Going — long-term direction, 6-12 months out
What Matters Most — 3-5 principles guiding decisions

### Current Priorities (maintained by OpenTangl after each run)

Ask: "What are the first 3-5 things you want built or improved?"

Write them as Active Initiatives:

### Active Initiatives

1. **{Priority}** — {What and why}
   - Status: not started

If the user isn't sure, offer to read the codebase and suggest priorities.

### Step 4 — Configure the LLM

The user needs to create a .env file in the OpenTangl root with their API key. Do not accept or handle API keys directly — provide the template and let the user create the file themselves.

First, verify that .env appears in the project's .gitignore by reading the file. If it does not, add it and tell the user.

Then provide the appropriate template for the user to fill in:

For OpenAI:

OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-4o
DEFAULT_AGENT=openai

For Anthropic (Claude):

ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-sonnet-4-20250514
DEFAULT_AGENT=anthropic

Tell the user: "Create a .env file in the OpenTangl root and paste one of the templates above with your key. This file is gitignored and will never be committed."

Wait for confirmation before continuing.

### Step 5 — Prepare the First Run

Initialize an empty task queue:

mkdir -p tasks
echo "tasks: []" > tasks/queue.yaml

Then provide the user with the command to start the autopilot. Do not run this command on the user's behalf — show it and let them execute it:

For a single project:

npx tsx src/cli.ts autopilot --projects {project-id} --cycles 1 --feature-ratio 0.8

For multi-project:

npx tsx src/cli.ts autopilot --projects {api-id},{ui-id} --cycles 1 --feature-ratio 0.8

What happens during a cycle:

OpenTangl reads the vision doc and scans the codebase
It proposes tasks aligned with the vision
It executes each task — writes code, runs verification
It creates PRs, reviews them with the LLM, merges if clean
It updates the vision doc with progress

Tell the user to review the results after the first run — check the generated PRs and the updated vision doc.

### Troubleshooting

"No pending tasks" — The queue is empty. Run autopilot to have the LLM propose tasks, or add more specific priorities to the vision doc.
Build failures — OpenTangl retries up to 3 times with error feedback. If all attempts fail, the task is marked failed and skipped.
Escalated PRs — The LLM reviewer flagged critical concerns. Check the GitHub issue it created for details.
"OPENAI_API_KEY is required" — Create .env and add your key (see Step 4).
Merge conflicts — OpenTangl has a built-in conflict resolver. If it can't resolve automatically, the PR is escalated for human review.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: 8co
- Version: 0.1.10
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-02T23:36:54.113Z
- Expires at: 2026-05-09T23:36:54.113Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/opentangl)
- [Send to Agent page](https://openagent3.xyz/skills/opentangl/agent)
- [JSON manifest](https://openagent3.xyz/skills/opentangl/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/opentangl/agent.md)
- [Download page](https://openagent3.xyz/downloads/opentangl)